@font-face{font-family:Anton;src:url('/fonts/Anton-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:SpaceGrotesk;src:url('/fonts/SpaceGrotesk-Variable.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:SpaceMono;src:url('/fonts/SpaceMono-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#f0eee8;--ink:#171717;--black:#111112;--acid:#dfff4d;--line:#a9a69f;--display:Anton,Impact,'Arial Narrow',sans-serif;--sans:SpaceGrotesk,Arial,sans-serif;--mono:SpaceMono,monospace;--ease:cubic-bezier(.16,1,.3,1);--gutter:clamp(20px,3.4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:clip}body.menu-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:var(--acid);color:var(--black)}:focus-visible{outline:3px solid var(--acid);outline-offset:5px}.skip-link{position:fixed;top:8px;left:8px;z-index:500;background:var(--acid);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow,.section-index,.page-hero-top>span,.hero-topline>span,.scroll-cue,.project-card-meta,.work-entry-heading>span,.work-entry-bottom,.case-kicker,.case-status,.case-frame figcaption,.provenance,.footer-bottom,.service-feature-top,.service-slab>span,.studio-principle>span,.services-manifesto>span,.method article>span,.form-note{font:12px/1.5 var(--mono);letter-spacing:.035em;text-transform:uppercase}.punctuation{color:var(--acid)}.section-pad{padding:clamp(90px,12vw,220px) var(--gutter)}.arrow-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0 10px;font-weight:600;transition:gap .25s var(--ease),color .25s}.arrow-link:hover{gap:60px;color:#777}.arrow-link span{font-size:1.3em;line-height:1}.dark-stage{background:var(--black);color:var(--paper)}em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px currentColor}.dark-stage em{color:transparent}

/* Navigation stays small and precise against the large editorial typography. */
.site-header{height:78px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;background:var(--paper);border-bottom:1px solid var(--ink);position:relative;z-index:100}.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;text-decoration:none}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;background:var(--ink);color:var(--paper);font:29px/.8 var(--display);letter-spacing:-.04em}.brand-symbol span{color:var(--acid);position:relative;left:2px}.brand-name{font-size:24px;font-weight:700;letter-spacing:-.085em;line-height:.8}.brand-name small{display:block;margin-top:6px;font:9px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.header-nav{display:flex;gap:clamp(24px,3vw,55px)}.header-nav a,.header-contact{font-size:14px;font-weight:600;text-decoration:none}.header-nav a{position:relative}.header-nav a::after{content:"";height:2px;background:var(--ink);position:absolute;left:0;right:100%;bottom:-7px;transition:right .3s var(--ease)}.header-nav a:hover::after,.header-nav a[aria-current=page]::after{right:0}.header-contact{justify-self:end;background:var(--ink);color:var(--paper);padding:12px 17px;border-radius:30px;transition:background .2s,color .2s}.header-contact:hover{background:var(--acid);color:var(--ink)}.header-contact span{margin-left:28px}.menu-button,.mobile-menu{display:none}

/* Home: one large typographic field interrupted by a real project frame. */
.home-hero{position:relative;min-height:min(930px,calc(100svh - 78px));background:var(--black);color:var(--paper);padding:30px var(--gutter) 34px;overflow:hidden;display:flex;flex-direction:column}.home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#fff1 50%,transparent 50.1%),linear-gradient(transparent 49.9%,#fff1 50%,transparent 50.1%);pointer-events:none}.hero-topline,.page-hero-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:20px}.hero-topline>span:last-child{text-align:right}.home-hero h1{position:relative;z-index:3;margin:auto 0 10px;font:clamp(112px,16vw,310px)/.77 var(--display);letter-spacing:-.045em}.home-hero h1>span{display:block}.hero-line-two{margin-left:28%;}.home-hero h1>span:last-child{margin-left:3%}.hero-image-panel{position:absolute;z-index:2;width:35%;height:47%;right:9%;top:24%;transform:rotate(7deg) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);border:8px solid var(--paper);box-shadow:16px 20px 0 #0007;overflow:hidden;transition:transform .45s var(--ease)}.hero-image-panel img{width:100%;height:100%;object-fit:cover}.hero-image-panel>span{position:absolute;left:12px;bottom:12px;background:var(--paper);color:var(--ink);padding:6px 10px;font:10px var(--mono)}.hero-bottom{position:relative;z-index:4;display:grid;grid-template-columns:minmax(280px,1fr) auto 1fr;align-items:end;gap:30px;margin-top:38px}.hero-bottom p{font-size:clamp(17px,1.55vw,24px);line-height:1.25;max-width:31ch}.hero-bottom .arrow-link{white-space:nowrap;min-width:180px}.scroll-cue{justify-self:end}.marquee{background:var(--acid);color:var(--ink);white-space:nowrap;overflow:hidden;padding:13px 0;border-block:1px solid var(--ink);font:17px/1 var(--mono)}.marquee div{width:max-content;animation:ticker 28s linear infinite}.marquee span{padding:0 28px}@keyframes ticker{to{transform:translateX(-50%)}}
.home-intro{min-height:760px;display:grid;grid-template-columns:1fr 3fr;align-content:center;gap:45px 20px}.home-intro>div{display:flex;flex-direction:column;justify-content:space-between}.home-intro h2,.section-heading h2,.home-services h2,.method h2{font:clamp(76px,9.5vw,180px)/.88 var(--display);letter-spacing:-.035em}.home-intro h2{grid-column:2}.home-intro h2 em,.home-services h2 em,.method h2 em{color:transparent;-webkit-text-stroke:2px var(--ink)}.home-intro>p{grid-column:2;font-size:clamp(19px,2vw,28px);max-width:36ch;margin-left:auto;line-height:1.35}.section-heading{padding:0 var(--gutter);display:grid;grid-template-columns:1fr 3fr;align-items:end;gap:20px}.section-heading h2{grid-column:2}.section-heading>p{grid-column:2;max-width:45ch;margin-top:15px;font-size:17px}.featured{padding:125px 0}.featured-rail{display:flex;gap:clamp(20px,4vw,65px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:85px var(--gutter) 70px}.project-card--featured{scroll-snap-align:center;flex:0 0 min(77vw,1160px)}.project-card--featured:nth-child(even){margin-top:120px}.project-image{display:block;position:relative;overflow:hidden;height:clamp(420px,53vw,720px);background:#2c2c2c}.project-image img,.work-entry-image img{height:100%;width:100%;object-fit:cover;transform:scale(1.04);transition:transform .8s var(--ease),filter .8s}.project-image:hover img,.project-image:focus-visible img,.work-entry-image:hover img,.work-entry-image:focus-visible img{transform:scale(1.1)}.image-arrow{position:absolute;top:22px;right:22px;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--acid);color:var(--ink);font-size:30px;line-height:1;transform:rotate(-45deg);transition:transform .4s var(--ease)}a:hover>.image-arrow{transform:rotate(0)}.project-card-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:start;border-top:1px solid currentColor;margin-top:21px;padding-top:13px}.project-card-meta .arrow-link{font:12px var(--mono);padding:0}.section-cta{margin:0 var(--gutter) 0 auto;display:flex;width:max-content;max-width:calc(100% - var(--gutter)*2)}.statement-band{background:var(--acid);padding:clamp(60px,8vw,120px) var(--gutter);min-height:540px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}.statement-band span{font:13px var(--mono)}.statement-band strong{font:clamp(90px,13vw,230px)/.85 var(--display);letter-spacing:-.04em;max-width:12ch}.statement-band span:last-child{align-self:flex-end}.home-services{display:grid;grid-template-columns:1fr 1fr;gap:45px 34px}.home-services .section-heading{padding:0;grid-column:1/-1;display:grid;grid-template-columns:1fr 3fr}.service-slab{border-top:2px solid var(--ink);padding-top:18px;display:grid;grid-template-columns:1fr 2fr;gap:16px;min-height:440px}.service-slab h3{grid-column:2;font:clamp(52px,5.8vw,112px)/.9 var(--display);letter-spacing:-.025em}.service-slab p,.service-slab .arrow-link{grid-column:2}.service-slab p{font-size:20px;max-width:35ch}.service-slab .arrow-link{align-self:end;justify-self:start}

/* Work archive: each project gets its own full-width stage. */
.page-hero{position:relative;padding:30px var(--gutter) 85px;min-height:650px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.page-hero h1{font:clamp(110px,16vw,295px)/.78 var(--display);letter-spacing:-.04em;margin:95px 0 40px}.page-hero h1 em{color:transparent;-webkit-text-stroke:2px currentColor}.page-hero>p{font-size:clamp(20px,2.4vw,36px);line-height:1.2;max-width:26ch;margin-left:auto}.work-hero{background:var(--acid)}.work-hero h1 em{color:transparent;-webkit-text-stroke:2px var(--ink)}.work-index{background:var(--black);color:var(--paper);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-bottom:1px solid #555}.work-index a{padding:18px var(--gutter);text-decoration:none;border-right:1px solid #555;display:flex;justify-content:space-between;gap:15px;font-size:13px}.work-index a:hover{background:var(--acid);color:var(--black)}.work-index span{font-family:var(--mono)}.work-entry{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;min-height:820px;padding:clamp(75px,8vw,130px) var(--gutter);border-bottom:1px solid var(--ink);position:relative}.work-entry:nth-child(even){background:#dcdad2}.work-entry-heading{grid-column:1/5;display:flex;flex-direction:column;gap:20px;z-index:2}.work-entry-heading h2{font:clamp(55px,6vw,115px)/.91 var(--display);letter-spacing:-.03em;overflow-wrap:anywhere}.work-entry-heading p{font-size:20px;max-width:24ch}.work-entry-image{grid-column:5/13;position:relative;display:block;height:clamp(500px,54vw,750px);background:#777;overflow:hidden}.work-entry:nth-child(even) .work-entry-heading{grid-column:9/13;grid-row:1}.work-entry:nth-child(even) .work-entry-image{grid-column:1/9;grid-row:1}.work-entry--band .work-entry-image,.work-entry--panorama .work-entry-image,.work-entry--bleed .work-entry-image{grid-column:3/13}.work-entry--band .work-entry-heading,.work-entry--panorama .work-entry-heading,.work-entry--bleed .work-entry-heading{grid-column:1/4}.work-entry--portrait-pair .work-entry-image,.work-entry--stack .work-entry-image,.work-entry--duo .work-entry-image{grid-column:6/11}.work-entry--portrait-pair .work-entry-heading,.work-entry--stack .work-entry-heading,.work-entry--duo .work-entry-heading{grid-column:1/6}.work-entry:nth-child(even).work-entry--portrait-pair .work-entry-image,.work-entry:nth-child(even).work-entry--stack .work-entry-image,.work-entry:nth-child(even).work-entry--duo .work-entry-image{grid-column:2/7}.work-entry:nth-child(even).work-entry--portrait-pair .work-entry-heading,.work-entry:nth-child(even).work-entry--stack .work-entry-heading,.work-entry:nth-child(even).work-entry--duo .work-entry-heading{grid-column:8/13}.work-entry-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:30px}.work-entry-bottom .arrow-link{font:12px var(--mono)}

/* Project pages use the same identity, with different media compositions. */
.case-hero{padding:35px var(--gutter) 0;background:var(--black);color:var(--paper)}.case-kicker{display:flex;justify-content:space-between}.case-kicker a{text-decoration:none}.case-hero h1{font:clamp(85px,12vw,220px)/.85 var(--display);letter-spacing:-.04em;overflow-wrap:anywhere;margin:110px 0 15px}.case-hero>p{font-size:clamp(20px,2.3vw,32px);margin-bottom:70px;max-width:45ch}.case-hero-image{height:min(65vw,850px);margin:0 calc(var(--gutter)*-1);overflow:hidden}.case-hero-image img{width:100%;height:100%;object-fit:cover}.case-context{display:grid;grid-template-columns:1fr 2fr;gap:50px}.case-context>div:first-child{display:flex;flex-direction:column;justify-content:space-between}.case-context h2{font:clamp(72px,8vw,140px)/.88 var(--display);letter-spacing:-.03em}.case-context>div:nth-child(2)>p{font-size:clamp(19px,1.8vw,27px);max-width:38ch;margin:45px 0 65px}.case-context dl{border-top:1px solid var(--ink);margin:0}.case-context dl div{display:grid;grid-template-columns:1fr 2fr;gap:20px;border-bottom:1px solid var(--line);padding:17px 0}.case-context dt{font:12px var(--mono);text-transform:uppercase}.case-context dd{margin:0;font-size:17px}.case-gallery{padding:clamp(25px,5vw,90px) var(--gutter) clamp(100px,12vw,190px);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(25px,5vw,90px) 18px;background:#d9d6cf}.case-frame{min-width:0;grid-column:1/9}.case-frame img{width:100%;height:auto}.case-frame figcaption{margin-top:12px}.case-frame--2{grid-column:8/13;margin-top:120px}.case-frame--3{grid-column:2/10}.case-frame--4{grid-column:9/13;margin-top:140px}.case-gallery--split .case-frame--1,.case-gallery--band .case-frame--1,.case-gallery--panorama .case-frame--1,.case-gallery--bleed .case-frame--1{grid-column:1/-1}.case-gallery--portrait-pair .case-frame--1,.case-gallery--stack .case-frame--1,.case-gallery--duo .case-frame--1{grid-column:2/7}.case-gallery--portrait-pair .case-frame--2,.case-gallery--stack .case-frame--2,.case-gallery--duo .case-frame--2{grid-column:8/13;margin-top:180px}.case-gallery--mosaic .case-frame--3,.case-gallery--editorial .case-frame--3,.case-gallery--poster .case-frame--3{grid-column:5/13}.provenance{padding:55px var(--gutter);display:grid;grid-template-columns:1fr 2fr 2fr auto;gap:30px;border-top:1px solid var(--ink);background:var(--paper);font-size:11px;text-transform:none}.provenance p{font:12px/1.6 var(--sans);max-width:45ch}.provenance a{white-space:nowrap}.next-case{padding:90px var(--gutter);background:var(--acid)}.next-case>a{display:flex;justify-content:space-between;align-items:end;text-decoration:none;font:clamp(72px,11vw,180px)/.9 var(--display);letter-spacing:-.035em;overflow-wrap:anywhere}.next-case>a span{font:80px/1 var(--sans)}

/* Services, studio and contact each have their own pace. */
.services-hero{background:var(--black);color:var(--paper);min-height:850px}.services-hero h1{font-size:clamp(95px,12vw,240px)}.services-hero h1 em,.studio-hero h1 em,.contact-hero h1 em,.detail-hero h1 em{color:transparent;-webkit-text-stroke:2px currentColor}.services-list{background:var(--paper)}.service-feature{min-height:680px;padding:40px var(--gutter) 65px;border-bottom:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.service-feature:nth-child(even){background:var(--acid)}.service-feature-top{display:flex;justify-content:space-between}.service-feature h2{font:clamp(85px,10vw,190px)/.86 var(--display);letter-spacing:-.035em;max-width:12ch}.service-feature>div:last-child{display:flex;justify-content:space-between;align-items:end;gap:30px}.service-feature>div:last-child p{font-size:22px;max-width:35ch}.services-manifesto{background:var(--black);color:var(--paper);min-height:580px;padding:70px var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.services-manifesto p{font:clamp(60px,7vw,128px)/.9 var(--display)}.services-manifesto em{color:var(--acid);-webkit-text-stroke:0}.method{display:grid;grid-template-columns:1fr 3fr;gap:35px}.method h2{grid-column:2}.method>div{grid-column:2;border-top:1px solid var(--ink)}.method article{display:grid;grid-template-columns:45px 1fr 1fr;gap:20px;padding:33px 0;border-bottom:1px solid var(--line)}.method article h3{font-size:27px;line-height:1.1}.method article p{font-size:17px;max-width:36ch}.detail-hero{background:var(--acid)}.detail-hero h1{max-width:13ch;overflow-wrap:anywhere}.service-detail-content{display:grid;grid-template-columns:1fr 3fr;gap:40px}.service-detail-content>div{grid-column:2}.service-detail-content article{display:grid;grid-template-columns:45px 1fr 1fr;gap:25px;padding:40px 0;border-top:1px solid var(--ink)}.service-detail-content article span{font:12px var(--mono)}.service-detail-content h2{font-size:clamp(28px,3vw,52px);line-height:1}.service-detail-content p{font-size:19px}.service-bridge{background:var(--black);color:var(--paper);padding:100px var(--gutter);display:flex;justify-content:space-between;align-items:end;gap:20px}.service-bridge p{font:clamp(70px,8vw,150px)/.88 var(--display)}.studio-hero{background:var(--acid);min-height:850px}.studio-principle{min-height:550px;background:var(--black);color:var(--paper);padding:70px var(--gutter);display:grid;grid-template-columns:1fr 3fr;gap:20px}.studio-principle p{font:clamp(39px,5.3vw,85px)/1.04 var(--sans);letter-spacing:-.05em;max-width:19ch}.studio-note{background:#dad7d0;display:grid;grid-template-columns:1fr 2fr;gap:30px}.studio-note p{font-size:clamp(30px,3vw,52px);line-height:1.1;max-width:30ch}.studio-note a{grid-column:2;justify-self:start}.contact-hero{background:var(--black);color:var(--paper);min-height:720px}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:9vw}.contact-email{display:block;font:clamp(24px,2.3vw,42px)/1.2 var(--sans);margin:45px 0 20px;word-break:break-all}.contact-grid>div p{max-width:35ch}.contact-grid form{display:flex;flex-direction:column;gap:20px}.contact-grid form>.eyebrow{margin-bottom:28px}.contact-grid label{display:flex;flex-direction:column;gap:10px;font:12px var(--mono);text-transform:uppercase}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid input,.contact-grid textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:14px 0;font:18px var(--sans);outline-offset:0;resize:vertical}.contact-grid input:focus,.contact-grid textarea:focus{border-bottom:3px solid var(--ink)}.contact-grid form button{border:0;background:var(--black);color:var(--paper);padding:17px 22px;display:flex;justify-content:space-between;font-weight:700}.contact-grid form button:hover{background:var(--acid);color:var(--black)}#form-status{min-height:1.5em}#draft{border-top:1px solid var(--ink);padding-top:20px}#draft a{display:inline-block;margin-top:20px}

/* Footer is a final editorial beat, not a utility strip. */
.site-footer{background:var(--black);color:var(--paper);padding:75px var(--gutter) 26px}.footer-top{min-height:600px;display:flex;flex-direction:column;justify-content:space-between}.footer-top p{font:clamp(100px,14vw,270px)/.8 var(--display);letter-spacing:-.04em}.footer-cta{align-self:flex-end;display:flex;gap:100px;padding:16px 22px;background:var(--acid);color:var(--black);text-decoration:none;font-size:20px;font-weight:700;border-radius:60px}.footer-cta:hover{transform:translateY(-4px)}.footer-bottom{display:grid;grid-template-columns:2fr 2fr 1fr auto;align-items:end;gap:20px;border-top:1px solid #777;padding-top:25px;margin-top:90px}.footer-brand{font:64px/.8 var(--display);text-decoration:none}.footer-brand span{font:14px var(--mono);vertical-align:top}.footer-bottom>div{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}.footer-bottom small{font-size:11px}

/* Motion is progressive; every element is visible without JavaScript. */
@media(prefers-reduced-motion:no-preference){[data-reveal].reveal-ready{opacity:0;transform:translateY(50px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].reveal-ready.is-visible{opacity:1;transform:none}.project-image img,.work-entry-image img,.case-hero-image img{translate:0 var(--parallax-y,0px)}.hero-image-panel{will-change:transform}}
@media(max-width:1180px){.home-hero h1{font-size:clamp(110px,16.4vw,230px)}.work-entry{min-height:700px}.work-entry-heading h2{font-size:clamp(48px,6vw,85px)}.work-entry-image{height:550px}.provenance{grid-template-columns:1fr 2fr}.provenance a{grid-column:2}.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom small{justify-self:end}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.header-nav,.header-contact{display:none}.menu-button{display:flex;width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:7px;z-index:102}.menu-button span{width:20px;height:2px;background:var(--ink);transition:transform .3s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:fixed;inset:78px 0 0;background:var(--acid);z-index:99;padding:8vh var(--gutter);flex-direction:column;gap:6px;overflow:auto}.mobile-menu a{font:clamp(65px,11vw,110px)/1 var(--display);text-decoration:none}.home-hero{min-height:780px}.home-hero h1{font-size:clamp(105px,16vw,160px)}.hero-image-panel{width:45%;height:38%;right:7%;top:27%}.home-intro{grid-template-columns:1fr;min-height:650px}.home-intro h2,.home-intro>p{grid-column:1}.home-intro>p{margin-left:0}.section-heading{grid-template-columns:1fr}.section-heading h2,.section-heading>p{grid-column:1}.home-services .section-heading{grid-template-columns:1fr}.home-services .section-heading h2{grid-column:1}.work-entry{min-height:640px}.work-entry-heading{grid-column:1/5!important}.work-entry-image{grid-column:5/13!important;grid-row:1!important}.work-entry:nth-child(even) .work-entry-heading{grid-column:9/13!important}.work-entry:nth-child(even) .work-entry-image{grid-column:1/9!important}.work-entry-heading h2{font-size:54px}.work-entry-image{height:500px}.method,.service-detail-content{grid-template-columns:1fr}.method h2,.method>div,.service-detail-content>div{grid-column:1}.studio-principle{grid-template-columns:1fr}.studio-note{grid-template-columns:1fr}.studio-note a{grid-column:1}}
@media(max-width:700px){:root{--gutter:20px}.site-header{height:68px}.mobile-menu:not([hidden]){top:68px}.home-hero{min-height:calc(100svh - 68px);padding-top:20px;padding-bottom:20px}.home-hero h1{font-size:clamp(85px,21vw,148px);margin:auto 0 35px}.hero-line-two{margin-left:18%}.home-hero h1>span:last-child{margin-left:0}.hero-image-panel{top:27%;right:7%;width:56%;height:34%;border-width:5px}.hero-topline>span:last-child{font-size:9px}.hero-bottom{grid-template-columns:1fr auto;gap:25px}.hero-bottom p{grid-column:1/-1;font-size:17px;max-width:30ch}.hero-bottom .arrow-link{min-width:0;gap:20px}.scroll-cue{font-size:9px}.marquee{font-size:12px}.section-pad{padding:90px var(--gutter)}.home-intro{min-height:550px;gap:30px}.home-intro h2,.section-heading h2,.home-services h2,.method h2{font-size:clamp(61px,13.5vw,105px)}.home-intro>p{font-size:18px}.featured{padding:90px 0}.featured-rail{padding:55px var(--gutter);gap:18px}.project-card--featured{flex-basis:88vw}.project-card--featured:nth-child(even){margin-top:40px}.project-image{height:53vh;min-height:380px}.project-card-meta{grid-template-columns:1fr 1fr;gap:8px;font-size:10px}.project-card-meta .arrow-link{grid-column:1/-1;margin-top:12px}.statement-band{min-height:400px}.statement-band strong{font-size:clamp(65px,15vw,110px)}.statement-band span{font-size:10px}.home-services{display:block}.home-services .section-heading{margin-bottom:55px}.service-slab{min-height:380px;margin-top:45px}.service-slab h3{font-size:clamp(49px,11vw,74px)}.service-slab p{font-size:16px}.page-hero{min-height:610px;padding:22px var(--gutter) 55px}.page-hero h1{font-size:clamp(84px,18vw,150px);margin:80px 0 30px}.page-hero>p{font-size:22px;margin-left:0}.page-hero-top>span{font-size:9px}.work-index{grid-template-columns:1fr 1fr}.work-index a{padding:14px 12px;font-size:10px}.work-entry{display:block;min-height:0;padding:70px var(--gutter)}.work-entry-heading{min-height:0;gap:12px;margin-bottom:30px}.work-entry-heading h2{font-size:clamp(70px,14vw,110px)}.work-entry-heading p{font-size:16px}.work-entry-image{height:clamp(390px,65vh,650px)}.work-entry-bottom{margin-top:20px;font-size:9px}.work-entry-bottom .arrow-link{font-size:10px;gap:9px}.image-arrow{width:50px;height:50px;font-size:24px}.case-hero{padding:22px var(--gutter) 0}.case-hero h1{font-size:clamp(79px,16vw,150px);margin:90px 0 20px}.case-hero>p{font-size:20px;margin-bottom:45px}.case-hero-image{height:70vh;min-height:410px}.case-context{grid-template-columns:1fr;gap:50px}.case-context h2{font-size:clamp(68px,14vw,110px)}.case-context>div:nth-child(2)>p{font-size:18px;margin:35px 0}.case-context dl div{grid-template-columns:1fr 2fr}.case-context dd{font-size:15px}.case-gallery{display:block;padding:60px var(--gutter) 100px}.case-frame{margin:0 0 55px!important}.case-frame img{height:auto}.provenance{display:block;padding:45px var(--gutter)}.provenance>*{display:block;margin-bottom:18px}.next-case{padding:60px var(--gutter)}.next-case>a{font-size:clamp(62px,13vw,100px)}.next-case>a span{font-size:40px}.services-hero,.studio-hero{min-height:700px}.services-hero h1{font-size:clamp(70px,14vw,110px)}.service-feature{min-height:570px;padding:30px var(--gutter) 50px}.service-feature h2{font-size:clamp(73px,14vw,115px)}.service-feature>div:last-child{display:block}.service-feature>div:last-child p{font-size:17px;margin-bottom:24px}.services-manifesto{min-height:450px}.services-manifesto p{font-size:clamp(58px,10vw,90px)}.method article,.service-detail-content article{display:grid;grid-template-columns:45px 1fr;gap:12px}.method article p,.service-detail-content article p{grid-column:2;font-size:16px}.method article h3{font-size:23px}.detail-hero h1{font-size:clamp(70px,15vw,120px)}.studio-principle{min-height:440px}.studio-principle p{font-size:clamp(33px,7vw,57px)}.studio-note p{font-size:30px}.contact-grid{display:block}.contact-grid>div{margin-bottom:70px}.field-pair{grid-template-columns:1fr}.contact-hero{min-height:570px}.site-footer{padding:60px var(--gutter) 25px}.footer-top{min-height:440px}.footer-top p{font-size:clamp(81px,18vw,150px)}.footer-cta{align-self:start;font-size:15px;gap:40px}.footer-bottom{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{font-size:46px}.footer-bottom>div{display:block}.footer-bottom>div a{display:block;margin-bottom:5px}.footer-bottom small{justify-self:start}.footer-bottom>a:last-child{justify-self:end}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-image img,.work-entry-image img,.case-hero-image img{translate:none!important;transform:none!important}.hero-image-panel{transform:rotate(7deg)!important}}
.project-image img,.work-entry-image img{transform:scale(1.12)}
.project-image:hover img,.project-image:focus-visible img,.work-entry-image:hover img,.work-entry-image:focus-visible img{transform:scale(1.18)}
.case-hero-image img{transform:scale(1.08)}
.services-hero h1 em,.contact-hero h1 em{color:transparent;-webkit-text-stroke:2px var(--paper)}
.studio-hero h1 em,.detail-hero h1 em{color:transparent;-webkit-text-stroke:2px var(--ink)}
@media(prefers-reduced-motion:reduce){.project-image img,.work-entry-image img,.case-hero-image img{transform:none!important}}
@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:fade-out .3s ease both}::view-transition-new(root){animation:fade-in .4s ease both}@keyframes fade-out{to{opacity:0;transform:translateY(-15px)}}@keyframes fade-in{from{opacity:0;transform:translateY(15px)}}}
.image-arrow,a:hover>.image-arrow{transform:none}
.page-hero h1{line-height:.96}
.work-hero h1{font-size:clamp(110px,12vw,230px)}
.services-hero h1{font-size:clamp(85px,9.4vw,185px)}
.studio-hero h1{font-size:clamp(85px,9.6vw,190px)}
.contact-hero h1{font-size:clamp(95px,12vw,230px)}
.work-entry-heading h2{font-size:clamp(46px,4.1vw,76px)}
@media(max-width:700px){.page-hero h1{font-size:clamp(76px,14vw,120px);line-height:.92}.services-hero h1,.studio-hero h1{font-size:clamp(67px,12vw,100px)}.work-entry-heading h2{font-size:clamp(57px,11vw,82px)}}
.rail-controls{display:flex;justify-content:flex-end;gap:8px;padding:25px var(--gutter) 0}.rail-controls button{height:58px;width:58px;border:1px solid var(--paper);border-radius:50%;background:transparent;color:var(--paper);font-size:25px}.rail-controls button:hover{background:var(--acid);color:var(--black);border-color:var(--acid)}.rail-controls+.featured-rail{padding-top:35px}
@media(max-width:700px){.rail-controls button{height:48px;width:48px;font-size:20px}}

/* Featured work is an editorial sequence. Preserve each website capture's full ratio. */
.featured-list{margin:78px var(--gutter) 54px}
.project-card--featured{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(28px,5vw,90px);padding:clamp(48px,6vw,105px) 0;border-top:1px solid rgba(255,255,255,.38)}
.project-card--featured:last-child{border-bottom:1px solid rgba(255,255,255,.38)}
.project-card--featured .project-image{grid-column:span 8;align-self:center;height:max-content;min-height:0;background:#e7e6e1;box-shadow:0 24px 64px rgba(0,0,0,.25)}
.project-card--featured .project-image img{width:100%;height:auto;object-fit:contain;transform:none!important;translate:none!important}
.project-card--featured .project-image:hover img,.project-card--featured .project-image:focus-visible img{transform:none!important}
.project-card--featured .project-card-meta{grid-column:span 4;display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0;margin:0;padding:0;border:0;text-transform:none}
.project-card--featured .project-card-meta>span{font:12px/1.4 var(--mono);letter-spacing:.06em}
.project-card--featured .project-card-meta h3{font:clamp(48px,5.7vw,108px)/.9 var(--display);letter-spacing:-.025em;overflow-wrap:anywhere}
.project-card--featured .project-card-meta p{font:clamp(16px,1.4vw,21px)/1.35 var(--sans);max-width:24ch}
.project-card--featured .project-card-meta .arrow-link{font:600 15px/1.3 var(--sans);margin-top:20px;padding:8px 0 12px}
.project-card--featured:nth-child(even) .project-image{order:2}
.project-card--featured:nth-child(even) .project-card-meta{order:1}
.project-card--featured:nth-child(3) .project-image{grid-column:span 7;max-width:660px;justify-self:center}
.project-card--featured:nth-child(3) .project-card-meta{grid-column:span 5}
@media(max-width:900px){.featured-list{margin:48px var(--gutter)}.project-card--featured{gap:24px;padding:55px 0}.project-card--featured .project-image,.project-card--featured:nth-child(3) .project-image{grid-column:span 7}.project-card--featured .project-card-meta,.project-card--featured:nth-child(3) .project-card-meta{grid-column:span 5}.project-card--featured .project-card-meta h3{font-size:clamp(44px,6vw,75px)}}
@media(max-width:700px){.featured-list{margin:20px var(--gutter) 45px}.project-card--featured{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:44px 0}.project-card--featured .project-image,.project-card--featured:nth-child(3) .project-image{order:1;width:100%;max-width:none}.project-card--featured .project-card-meta,.project-card--featured:nth-child(even) .project-card-meta{order:2;gap:13px}.project-card--featured .project-card-meta h3{font-size:clamp(50px,12vw,78px)}.project-card--featured .project-card-meta p{font-size:16px}.project-card--featured .project-card-meta .arrow-link{margin-top:8px}.project-card--featured .image-arrow{top:12px;right:12px}}

/* The simpler content has no number column. Let the remaining copy use the space. */
.project-card--featured:nth-child(even){margin-top:0}
.home-intro{grid-template-columns:1fr}.home-intro>div{display:none}.home-intro h2,.home-intro>p{grid-column:1}
.section-heading,.home-services .section-heading{grid-template-columns:1fr}.section-heading h2,.section-heading>p{grid-column:1}
.hero-bottom{grid-template-columns:1fr auto}.scroll-cue{display:none}
.service-slab{display:flex;flex-direction:column;min-height:330px}.service-slab h3,.service-slab p,.service-slab .arrow-link{grid-column:auto}.service-slab h3{font-size:clamp(55px,6vw,110px)}
.work-entry-bottom{justify-content:flex-end}
.case-context{display:block}.case-context>div:first-child{display:none}.case-context>div:nth-child(2){max-width:900px;margin:auto}
.provenance{grid-template-columns:1fr 1fr auto}
.method article,.service-detail-content article{grid-template-columns:1fr 2fr}
.studio-principle{display:block}.studio-principle p{max-width:25ch}
.studio-note{display:block}.studio-note p{margin-bottom:32px}
.contact-email{margin-top:0}
@media(max-width:700px){.home-intro h2,.section-heading h2{font-size:clamp(60px,13vw,100px)}.service-slab{min-height:300px}.method article,.service-detail-content article{grid-template-columns:1fr}.method article p,.service-detail-content article p{grid-column:1}.provenance{display:block}.provenance>*{display:block;margin-bottom:18px}}

.work-entry{min-height:0;align-items:start;padding:clamp(55px,6vw,90px) var(--gutter)}
.work-entry-image{height:max-content;min-height:0;align-self:start;background:transparent}
.work-entry-image img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important;translate:none!important}
.work-entry-image:hover img,.work-entry-image:focus-visible img{transform:none!important}
.work-entry-heading{gap:0}
.case-hero h1{margin-bottom:65px}
@media(max-width:700px){.work-entry{padding:58px var(--gutter)}.work-entry-image{height:max-content;min-height:0}}

@media(min-width:701px){.home-intro{min-height:600px}.featured{padding:90px 0}.services-hero,.studio-hero{min-height:640px}.contact-hero{min-height:620px}.page-hero h1{margin:70px 0 25px}.studio-principle{min-height:400px}.service-feature{min-height:500px}.footer-top{min-height:440px}}
.case-hero-image--contained{max-width:1100px;height:auto;margin:0 auto}.case-hero-image--contained img{height:auto;object-fit:contain}

/* Keep the Patalab and Adie Perkins website captures at their full ratio and native sharpness. */
.case-hero-image--website{width:min(100%,1567px);height:auto;min-height:0;margin:0 auto;overflow:visible}
.case-hero-image--website img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important;translate:none!important}

@media(max-width:700px){.home-hero h1{font-size:clamp(65px,18vw,120px)}.home-intro h2{font-size:clamp(50px,11vw,95px)}}

/* Deep links land immediately; in-page project links animate through app.js. */
html{scroll-behavior:auto}
.contact-grid input:focus-visible,.contact-grid textarea:focus-visible{outline:none;border-bottom:3px solid var(--ink)}
.home-hero h1{line-height:.92}
