:root{color-scheme:light;--paper: #fff;--ink: #111111;--ink-soft: #3b3733;--signal-red: #e2493a;--red-deep: #c8321f;--wash: #f6f4f1;--rule: #e6e1dc;--muted: #625c57;--halftone: rgb(17 17 17 / 16%);--font-display: "Gloock", Georgia, serif;--font-text: "Geist", system-ui, sans-serif;--font-utility: "Geist Mono", ui-monospace, monospace;--text-body: clamp(1.0625rem, 1.3vw, 1.25rem);--text-lead: clamp(1.5rem, 2vw, 1.75rem);--text-label: .75rem;--text-name: clamp(5.25rem, 15vw, 13.5rem);--text-page: clamp(3.5rem, 8.6vw, 7.75rem);--text-section: clamp(2.75rem, 6.1vw, 5.5rem);--text-card: 2.5rem;--leading-name: .84;--leading-display: .94;--leading-body: 1.5;--leading-lead: 1.3;--tracking-display: -.02em;--tracking-label: .08em;--space-half: .25rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--space-18: 9rem;--content-width: 80rem;--grid-columns: 12;--grid-gap: 1.5rem;--page-gutter: clamp(1rem, 5.556vw, 5rem);--section-gap: 6rem;--focus-width: 2px;--focus-offset: 4px;--ink-draw-duration: .28s;--ink-draw-ease: cubic-bezier(.2, .7, .2, 1);--count-up-duration: .9s;--reduced-duration: .2s}@media(max-width:900px){:root{--section-gap: 4rem}}@media(max-width:600px){:root{--page-gutter: 1rem;--section-gap: 2.5rem}}*{box-sizing:border-box}html{scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-body)/var(--leading-body) var(--font-text);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit;text-underline-offset:.2em}button,input{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:var(--focus-width) solid var(--ink);outline-offset:var(--focus-offset)}main:focus{outline:none}.container{width:min(var(--content-width),calc(100% - var(--page-gutter) * 2));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;background:var(--paper);padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.display{font-family:var(--font-display);font-weight:400;line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.label{font:400 var(--text-label)/1.5 var(--font-utility);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.lead{font-size:var(--text-lead);line-height:var(--leading-lead);letter-spacing:-.01em;max-width:36rem}.ink-link{position:relative;display:inline-block;text-decoration:none;padding-block:.25rem}.ink-link:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:currentColor;transform-origin:left;transition:transform var(--ink-draw-duration) var(--ink-draw-ease)}@media(hover:hover)and (pointer:fine){.ink-link:hover{color:var(--red-deep)}.ink-link:hover:after{transform:scaleX(0);transform-origin:right}}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.375rem;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:999px;text-decoration:none;font-size:1rem;font-weight:500;transition:transform .1s cubic-bezier(.23,1,.32,1)}.button:active{transform:scale(.97);transition-duration:.16s}.button:focus-visible:active{transform:none}.button-secondary{background:var(--paper);color:var(--ink)}.text-button{padding:0;border:0;background:none;color:var(--ink);text-decoration:underline}.halftone{background-image:radial-gradient(var(--halftone) 1.1px,transparent 1.4px);background-size:7px 7px}.site-header{position:sticky;top:0;z-index:20;background:#ffffffe5;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--rule)}.nav{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:80px;padding-block:1rem}.wordmark{font:400 1.5rem/1 var(--font-display);text-decoration:none;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:1.75rem;font-size:1rem}.nav-links [aria-current=page]{color:var(--red-deep)}.nav-contact{min-height:44px;padding:.5rem 1.125rem}.hero{padding-block:4.5rem var(--section-gap)}.hero-kicker{margin-bottom:3rem}.hero-name{color:var(--signal-red);font-size:var(--text-name);line-height:var(--leading-name);letter-spacing:-.01em;text-transform:uppercase}.hero-intro{margin-top:3rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.75rem}.work-band{background:var(--wash);border-block:1px solid var(--rule)}.section-space{padding-block:var(--section-gap)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;margin-bottom:3rem}.section-title{font-size:var(--text-section)}.project-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;padding:0;margin:0;list-style:none}.project-index li{min-width:0;border-top:1px solid var(--rule)}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;padding-block:1.75rem;text-decoration:none}.project-name{font:400 clamp(1.75rem,2.3vw,2.5rem)/1.1 var(--font-display);letter-spacing:-.015em}.project-company{grid-column:1}.project-arrow{grid-column:2;grid-row:1;font-size:1.5rem}.project-row:hover .project-name{color:var(--red-deep)}.page-shell{min-height:60vh;padding-block:var(--section-gap)}.page-shell>.label{margin-bottom:1.5rem}.page-title{font-size:var(--text-page);margin-bottom:3rem;max-width:64rem;overflow-wrap:anywhere}.page-shell>p:not(.label){margin-bottom:2rem}.shell-description{max-width:36rem}.content-notice{margin-block:1rem;padding:1rem;border:1px solid var(--rule);font-size:1rem}.site-footer{border-top:1px solid var(--rule)}.footer-main{padding-block:var(--section-gap) 3rem}.footer-main>.label{margin-bottom:2rem}.footer-title{color:var(--signal-red);text-transform:uppercase;font-size:clamp(4.5rem,11vw,10.5rem);line-height:.9}.contact-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:1.25rem 2rem;margin-top:2.25rem;font-size:1rem}.email{font-size:inherit}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;border-top:1px solid var(--rule);padding-block:1.5rem 2.5rem;color:var(--muted);font-size:.875rem}@media(min-width:1100px){.hero-kicker,.hero-name,.hero-intro{margin-left:25%}}@media(max-width:700px){.nav{flex-wrap:wrap;gap:.75rem;padding-block:.75rem}.nav-links{gap:1rem;font-size:.9375rem;flex:1;justify-content:flex-end}.nav-links .ink-link{display:inline-flex;align-items:center;min-height:44px}.nav-contact{display:none}.wordmark{font-size:1.3125rem}.hero{padding-top:2.5rem}.hero-kicker{font-size:.6875rem;margin-bottom:2rem}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions>:first-child{grid-column:1 / -1}.hero-actions>.ink-link{justify-self:center}.project-index{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;margin-bottom:2rem}.footer-bottom{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:opacity var(--reduced-duration) linear!important}.button:active,.ink-link:hover:after{transform:none}}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:2rem;align-items:end}.footer-copy>.label{margin-bottom:2rem}.wave-character{position:relative;width:200px;height:auto;justify-self:end}.wave-character>img{width:100%;height:auto}.wave-character>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.wave-character[data-waving]>img{visibility:hidden}.wave-hand{transform-origin:520px 336px}@media(max-width:700px){.footer-main{grid-template-columns:1fr}.wave-character{width:120px}}::view-transition-group(*){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}@media(prefers-reduced-motion:reduce){[style*=view-transition-name]{view-transition-name:none!important}::view-transition-group(root){animation:none!important}::view-transition-old(root){animation:page-fade-out .2s linear both!important}::view-transition-new(root){animation:page-fade-in .2s linear both!important}}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.1s}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.site-header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.site-header{border-bottom-color:var(--ink)}}.work-list-link:active,.figure-open:active{background-color:#ece7e1}
