@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.17jn9btb_52pq.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--paper:#fff;--ink:#0a0a0a;--ink-2:#404040;--muted:#737373;--line:#e5e5e5;--band:#0a0a0a;--band-ink:#fff;--band-ink-2:#a3a3a3;--band-line:#262626;--font-sans:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--step--1:clamp(.78rem, .75rem + .15vw, .86rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .5vw, 1.6rem);--step-2:clamp(1.6rem, 1.3rem + 1.4vw, 2.6rem);--step-3:clamp(2.2rem, 1.6rem + 3vw, 4rem);--display:clamp(3.2rem, 1rem + 12vw, 13rem);--gutter:clamp(1.25rem, .8rem + 2.5vw, 3.5rem);--section-y:clamp(4.5rem, 3rem + 8vw, 9rem);--maxw:1440px;--radius:14px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior:none;background:#141515}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0;line-height:1.55;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.03em;margin:0;font-weight:600;line-height:1.02}a{color:inherit;text-decoration:none}p{margin:0}img{max-width:100%;display:block}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.eyebrow:before{content:"/ "}.eyebrow--plain:before{content:none}.rule{background:var(--line);border:0;width:100%;height:1px}.band{background:var(--band);color:var(--band-ink)}.band .eyebrow{color:var(--band-ink-2)}.band .rule{background:var(--band-line)}.btn{font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:.01em;border:1px solid var(--ink);cursor:pointer;background:var(--ink);color:var(--paper);transition:transform .3s var(--ease), opacity .3s var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.85rem 1.6rem;font-weight:600;display:inline-flex}.btn:hover{opacity:.85;transform:translateY(-2px)}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:var(--paper);opacity:1}.band .btn{background:var(--band-ink);border-color:var(--band-ink);color:var(--band)}.band .btn--ghost{color:var(--band-ink);background:0 0}.band .btn--ghost:hover{background:var(--band-ink);color:var(--band)}.marquee{-webkit-user-select:none;user-select:none;gap:0;width:100%;display:flex;overflow:hidden}.marquee__track{flex-shrink:0;align-items:center;min-width:100%;animation:38s linear infinite marquee-x;display:flex}.marquee--reverse .marquee__track{animation-direction:reverse}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee-x{0%{transform:translate(0)}to{transform:translate(-100%)}}.text-stroke{color:#0000;-webkit-text-stroke:1.4px currentColor}
.section{padding-block:var(--section-y)}#scroll-progress{background:var(--ink);transform-origin:0;z-index:100;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.section__head{margin-bottom:clamp(2rem,1rem + 4vw,4rem)}.section__head .section__title{max-width:16ch}.section__title{font-size:var(--step-3);margin-top:.8rem}.section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.site-header{z-index:50;transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease), padding .4s var(--ease);border-bottom:1px solid #0000;padding-block:1rem;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);border-bottom-color:var(--line);background:#ffffffd9;padding-block:.6rem}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{letter-spacing:-.02em;font-weight:600;font-size:var(--step-0);white-space:nowrap}.wordmark__c{color:var(--muted);font-weight:400}.site-nav{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;text-transform:uppercase;gap:1.6rem;display:flex}.site-nav a{color:var(--ink-2);padding-block:.2rem;transition:color .3s;position:relative}.site-nav a:hover{color:var(--ink)}.site-nav a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:0;left:0}.site-nav a:hover:after{width:100%}.header-cta{padding:.55rem 1.2rem}.hero{min-height:100svh;padding-top:clamp(6rem,10vh,9rem);padding-bottom:var(--section-y);flex-direction:column;justify-content:center;display:flex}.hero__eyebrow{margin-bottom:clamp(1.5rem,4vw,3rem)}.hero__display{font-size:var(--display);letter-spacing:-.045em;text-transform:uppercase;flex-direction:column;font-weight:640;line-height:.88;display:flex}.hero__first{display:block}.hero__last{text-align:right;display:block}.hero__char{display:inline-block}.hero__divider{align-items:center;gap:1.25rem;margin-block:clamp(.6rem,1.5vw,1.4rem);display:flex}.hero__divider-label{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-weight:500}.hero__divider-rule{background:var(--line);flex:1;height:1px}.hero__foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2.5rem,5vw,4rem);display:flex}.hero__meta{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero__intro{max-width:42ch;font-size:var(--step-1);color:var(--ink-2)}.hero__cta{flex-wrap:wrap;gap:.75rem;display:flex}.services__list{grid-template-columns:repeat(2,1fr);column-gap:clamp(2rem,4vw,4rem);margin:0;padding:0;list-style:none;display:grid}.service{border-top:1px solid var(--line);transition:padding-left .4s var(--ease);padding-block:clamp(1.2rem,2vw,1.8rem)}.service:hover{padding-left:.75rem}.service__tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.service__title{font-size:var(--step-2);margin-top:.35rem}.service__num{color:var(--muted);font-weight:400}.about__grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(2rem,5vw,5rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.about__portrait{border-radius:var(--radius);aspect-ratio:1;background:#161616;overflow:hidden}.about__portrait img{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%;transition:filter .6s var(--ease), transform .8s var(--ease)}.about__portrait:hover img{filter:grayscale(0);transform:scale(1.03)}.about__statement{font-size:var(--step-2);letter-spacing:-.025em;margin:0 0 1.4rem;line-height:1.12}.about__body{color:var(--band-ink-2);max-width:54ch}.stats{grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none;display:grid}.stat{border-top:1px solid var(--band-line);padding-top:1rem}.stat__value{font-size:var(--step-3);letter-spacing:-.03em;font-weight:640;display:block}.stat__label{color:var(--band-ink-2);font-size:var(--step--1);display:block}.recog__list{margin:0;padding:0;list-style:none}.recog__row{border-top:1px solid var(--line);transition:padding-left .4s var(--ease);grid-template-columns:1.6fr 1fr auto;align-items:baseline;gap:1.5rem;padding-block:clamp(1rem,1.8vw,1.5rem);display:grid}.recog__row:last-child{border-bottom:1px solid var(--line)}.recog__row:hover{padding-left:.75rem}.recog__title{font-size:var(--step-1);font-weight:600}.recog__context{color:var(--muted);font-size:var(--step--1);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.recog__year{color:var(--muted);font-size:var(--step--1);font-family:var(--font-mono)}.work__note{color:var(--muted);font-size:var(--step-0)}.work__note strong{color:var(--ink)}.work__list{grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}.work__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);height:100%;transition:transform .5s var(--ease), border-color .4s var(--ease), box-shadow .5s var(--ease);flex-direction:column;display:flex;overflow:hidden}.work__card:hover{border-color:var(--ink);transform:translateY(-6px);box-shadow:0 24px 48px -32px #0a0a0a59}.work__media{aspect-ratio:16/11;border-bottom:1px solid var(--line);background:#f4f4f5;justify-content:center;align-items:center;padding:clamp(1.25rem,3vw,2.25rem);display:flex;position:relative;overflow:hidden}.work__media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .7s var(--ease)}.work__card:hover .work__media img{transform:scale(1.04)}.work__index{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;border-radius:999px;padding:.15rem .5rem;position:absolute;top:.9rem;left:1rem}.work__body{flex-direction:column;flex:1;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.work__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.work__year{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted)}.work__name{font-size:var(--step-2)}.work__cat{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:.3rem 0 1rem}.work__blurb{color:var(--ink-2);margin-bottom:1.25rem}.work__metric{font-family:var(--font-mono);font-size:var(--step--1);border-top:1px solid var(--line);margin-top:auto;padding:.6rem 0}.work__tags{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.work__tags li{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font-size:.7rem}.xp__list{margin:0;padding:0;list-style:none}.xp__row{border-top:1px solid var(--band-line);transition:padding-left .4s var(--ease);grid-template-columns:1.6fr 1fr auto;align-items:baseline;gap:1.5rem;padding-block:clamp(1.1rem,2vw,1.7rem);display:grid}.xp__row:last-child{border-bottom:1px solid var(--band-line)}.xp__row:hover{padding-left:.75rem}.xp__role{font-size:var(--step-2);font-weight:600}.xp__company{color:var(--band-ink-2);font-size:var(--step-0)}.xp__period{color:var(--band-ink-2);font-size:var(--step--1);font-family:var(--font-mono)}.quote{max-width:60ch;margin:0}.quote__text{font-size:var(--step-2);letter-spacing:-.02em;margin:0 0 1.75rem;font-weight:500;line-height:1.25}.quote__by{gap:.15rem;display:grid}.quote__by span{color:var(--muted);font-size:var(--step--1)}.faq__grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.faq__head{margin-bottom:0}.faq__list{display:grid}.faq__item{border-top:1px solid var(--line)}.faq__item:last-child{border-bottom:1px solid var(--line)}.faq__q{font-size:var(--step-1);letter-spacing:-.02em;cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;font-weight:600;list-style:none;display:flex}.faq__q::-webkit-details-marker{display:none}.faq__mark{color:var(--muted);transition:transform .3s var(--ease);font-weight:400}.faq__item[open] .faq__mark{transform:rotate(45deg)}.faq__a{color:var(--ink-2);max-width:60ch;padding-bottom:1.5rem}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.contact__sub{color:var(--band-ink-2);max-width:40ch;margin:1.2rem 0 2rem}.contact__email{font-size:var(--step-1);border-bottom:1px solid var(--band-line);padding-bottom:.3rem;transition:border-color .3s}.contact__email:hover{border-color:var(--band-ink)}.contact__socials{font-family:var(--font-mono);font-size:var(--step--1);gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.contact__socials a{color:var(--band-ink-2);transition:color .3s}.contact__socials a:hover{color:var(--band-ink)}.contact__form{gap:1.25rem;display:grid}.field{gap:.5rem;display:grid}.field label{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;text-transform:uppercase;color:var(--band-ink-2)}.field input,.field textarea{font:inherit;color:var(--band-ink);border:1px solid var(--band-line);transition:border-color .3s var(--ease);background:0 0;border-radius:10px;padding:.85rem 1rem}.field input::placeholder,.field textarea::placeholder{color:var(--band-ink-2);opacity:.6}.field input:focus,.field textarea:focus{border-color:var(--band-ink);outline:none}.field textarea{resize:vertical}.contact__form .btn{justify-self:start}.form-status{min-height:1.2em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--band-ink-2)}.footer{border-top:1px solid var(--band-line)}.footer__cta-marquee{border-bottom:1px solid var(--band-line);font-size:var(--step-1);letter-spacing:-.02em;padding-block:1rem;font-weight:500}.footer__cta-marquee .marquee__item{padding-inline:1.2rem}.footer__cta-marquee .marquee__sep{color:var(--band-ink-2)}.footer__cols{grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(1.5rem,4vw,3rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.footer__col{font-size:var(--step--1);align-content:start;gap:.55rem;display:grid}.footer__col a{color:var(--band-ink-2);transition:color .3s}.footer__col a:hover{color:var(--band-ink)}.footer__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--band-ink-2);margin-bottom:.4rem;font-size:.72rem}.footer__wordmark{font-weight:600;font-size:var(--step-1)}.footer__tag{color:var(--band-ink-2);max-width:34ch}.footer__marquee{font-size:var(--display);text-transform:uppercase;letter-spacing:-.04em;padding-block:clamp(1rem,3vw,2rem) 0;font-weight:640;line-height:1}.footer__marquee .marquee__item{padding-inline:.5rem}.footer__marquee .marquee__sep{color:var(--band-ink)}.footer__marquee .marquee__track{color:#0000;-webkit-text-stroke:1.4px var(--band-ink-2)}.footer__inner{font-family:var(--font-mono);font-size:var(--step--1);color:var(--band-ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem 2.5rem;display:flex}.footer__top{color:var(--band-ink-2);transition:color .3s}.footer__top:hover{color:var(--band-ink)}.works__note{color:var(--muted);font-size:var(--step-0)}.works__note span{font-family:var(--font-mono);color:var(--ink)}.works__note strong{color:var(--ink)}.works-stack{position:relative}.wp{background:var(--paper);border-top:1px solid var(--line);align-items:center;min-height:100vh;display:flex;position:sticky;top:0}.wp__inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,5rem);width:100%;padding-block:clamp(2rem,6vh,5rem);display:grid}.wp__media{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius);background:#f4f4f5;justify-content:center;align-items:center;padding:clamp(1.25rem,3vw,2.5rem);display:flex;overflow:hidden}.wp__media img{object-fit:contain;will-change:transform;width:auto;max-width:100%;max-height:100%}.wp__info{max-width:46ch}.wp__top{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;display:flex}.wp__name{font-size:var(--step-3);margin-bottom:.5rem;line-height:.95}.wp__cat{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1.25rem}.wp__blurb{color:var(--ink-2);margin-bottom:1.5rem}.wp__tags{flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.wp__tags li{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font-size:.7rem}.wp__metric{font-family:var(--font-mono);font-size:var(--step--1);border-top:1px solid var(--line);margin-bottom:1.5rem;padding:.75rem 0}.wp__link{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--ink);transition:gap .3s var(--ease);align-items:center;gap:.5rem;padding-bottom:.25rem;display:inline-flex}.wp__link:hover{gap:.9rem}.case{padding-top:clamp(6rem,10vh,8rem);padding-bottom:var(--section-y)}.cs-back{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);margin-bottom:clamp(2rem,4vw,3.5rem);transition:color .3s;display:inline-block}.cs-back:hover{color:var(--ink)}.cs-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3.5rem)}.cs-title{font-size:var(--display);letter-spacing:-.04em;margin:.6rem 0 1.25rem;line-height:.9}.cs-meta{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:1.5rem;display:flex}.cs-metric{color:var(--ink)}.cs-tags{flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.cs-tags li{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font-size:.7rem}.cs-hero{border:1px solid var(--line);border-radius:var(--radius);background:#f4f4f5;justify-content:center;margin-bottom:clamp(2.5rem,5vw,4.5rem);padding:clamp(1.5rem,4vw,3.5rem);display:flex}.cs-hero img{object-fit:contain;width:auto;max-width:100%;max-height:560px}.cs-overview{max-width:62ch;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.cs-lead{font-size:var(--step-2);letter-spacing:-.02em;margin-top:.8rem;line-height:1.18}.cs-cols{grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem) clamp(2rem,5vw,5rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.cs-block__title{font-size:var(--step-1);margin-bottom:1rem}.cs-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.cs-list li{color:var(--ink-2);border-top:1px solid var(--line);padding-top:.85rem;padding-left:1.5rem;position:relative}.cs-list li:before{content:"→";color:var(--ink);position:absolute;top:.85rem;left:0}.cs-gallery{grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.cs-shot{border:1px solid var(--line);border-radius:var(--radius);background:#f4f4f5;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);display:flex}.cs-shot img{object-fit:contain;width:auto;max-width:100%;max-height:420px}.cs-next{border-top:1px solid var(--ink);transition:padding-left .4s var(--ease);flex-direction:column;gap:.4rem;padding-top:1.5rem;display:flex}.cs-next:hover{padding-left:.75rem}.cs-next__name{font-size:var(--step-2);letter-spacing:-.03em;font-weight:600}@media (max-width:900px){.about__grid,.contact__grid,.faq__grid{grid-template-columns:1fr}.about__portrait{aspect-ratio:4/3;max-height:420px}.stats{grid-template-columns:repeat(2,1fr)}.work__list,.services__list,.cs-cols,.cs-gallery{grid-template-columns:1fr}.wp{min-height:auto;padding-block:2.5rem;position:relative}.wp__inner{grid-template-columns:1fr}.wp__name{font-size:var(--step-2)}.site-nav{display:none}.recog__row,.xp__row{grid-template-columns:1fr auto}.recog__context,.xp__company{order:3;grid-column:1/-1}.footer__cols{grid-template-columns:1fr 1fr}}@media (max-width:560px){.hero__foot{flex-direction:column;align-items:flex-start}.hero__divider-label{white-space:normal}.footer__cols{grid-template-columns:1fr}}
