:root{--black:#080706;--white:#f3f0eb;--orange:#f05a00;--muted:#aaa49d;--line:rgba(243,240,235,.2);--x:max(clamp(1.25rem,4.6vw,5.25rem),env(safe-area-inset-left),env(safe-area-inset-right));--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;color:var(--black);background:var(--white);font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.5;overflow-x:hidden}body.lock{overflow:hidden}::selection{color:var(--white);background:var(--orange)}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:999;top:.75rem;left:.75rem;padding:.7rem 1rem;color:var(--white);background:var(--orange);transform:translateY(-160%)}.skip:focus{transform:none}
.header{position:fixed;z-index:100;top:0;left:0;display:flex;width:100%;min-height:6rem;align-items:center;justify-content:space-between;padding:1rem var(--x);color:var(--white);border-bottom:1px solid transparent;transition:.3s var(--ease)}.header.scrolled{min-height:4.5rem;background:rgba(8,7,6,.9);border-color:var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:.65rem}.brand img{width:3.4rem;height:2.65rem;object-fit:cover;border-radius:1px}.brand>span{display:grid;font-weight:900;line-height:.77;letter-spacing:-.045em}.brand b{color:var(--orange);font-size:.88rem}.brand strong{color:var(--white);font-size:.88rem}.brand small{margin-top:.22rem;color:var(--muted);font-size:.48rem;letter-spacing:.19em}.nav{display:flex;align-items:center;gap:clamp(1.2rem,2.8vw,3rem);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nav>a:not(.nav-button){padding:.5rem 0;border-bottom:1px solid transparent}.nav>a:not(.nav-button):hover{border-color:var(--orange)}.nav-button{display:flex;min-height:2.8rem;align-items:center;gap:1.4rem;padding:.7rem 1rem;color:var(--white);background:var(--orange);border:1px solid var(--orange)}.nav-button:hover{background:transparent}.menu{display:none}
.hero{position:relative;display:grid;min-height:100svh;color:var(--white);background:var(--black);isolation:isolate;overflow:hidden}.hero-art,.hero-shade,.hero-grid{position:absolute;inset:0;width:100%;height:100%}.hero-art{z-index:-3;object-fit:cover;object-position:62% center;scale:1.04;transition:scale 1.2s var(--ease)}.hero.ready .hero-art{scale:1}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(5,4,3,.98) 0%,rgba(5,4,3,.84) 34%,rgba(5,4,3,.15) 70%,rgba(5,4,3,.5) 100%),linear-gradient(0deg,rgba(5,4,3,.8),transparent 40%)}.hero-grid{z-index:-1;left:var(--x);right:var(--x);width:auto;border-inline:1px solid rgba(255,255,255,.07);background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.07) 50%,transparent 50.1%)}.hero-content{display:grid;align-self:end;padding:10rem var(--x) clamp(2.5rem,5vw,5rem)}.kicker{display:flex;align-items:center;gap:.7rem;margin:0 0 1.4rem;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.kicker i{width:2.2rem;height:2px;background:var(--orange)}.hero-kicker,.hero h1 span{opacity:0;transform:translateY(2rem);transition:.8s var(--ease)}.hero.ready .hero-kicker,.hero.ready h1 span{opacity:1;transform:none}.hero h1{max-width:12ch;margin:0;font-size:clamp(4.2rem,10.5vw,10.8rem);font-weight:1000;line-height:.78;letter-spacing:-.085em;text-transform:uppercase}.hero h1 span{display:block}.hero h1 span+span{transition-delay:.1s}.hero h1 em{color:var(--orange);font-style:normal}.hero-foot{display:flex;width:min(100%,70rem);align-items:end;justify-content:space-between;gap:2rem;margin-top:clamp(2rem,4vw,4rem);padding-top:1.3rem;border-top:1px solid var(--line)}.hero-foot>p{max-width:31rem;margin:0;color:#d8d4cf;font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.35}.hero-foot>a{display:flex;align-items:center;gap:1.2rem;padding-bottom:.3rem;border-bottom:1px solid;font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero-foot>a span{color:var(--orange)}.vertical{position:absolute;right:calc(var(--x)*.25);bottom:3rem;margin:0;color:rgba(255,255,255,.5);font-size:.6rem;letter-spacing:.17em;writing-mode:vertical-rl}
.ticker{display:flex;min-height:4.2rem;align-items:center;color:var(--white);background:var(--orange);overflow:hidden}.ticker>div{display:flex;width:max-content;align-items:center;gap:1.7rem;padding-inline:1.7rem;font-size:.78rem;font-weight:900;letter-spacing:.12em;white-space:nowrap;animation:move 24s linear infinite}.ticker b{color:var(--black)}@keyframes move{to{transform:translateX(-50%)}}
.section{display:grid;grid-template-columns:minmax(7rem,.22fr) minmax(0,1fr);gap:clamp(2rem,5vw,7rem);padding:clamp(6rem,11vw,10rem) var(--x)}.side-label{display:flex;gap:.8rem;align-items:flex-start;color:#6d6862;font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.side-label span{color:var(--orange)}.side-label p{margin:0}.section-main,.manifest-main{min-width:0}.display{margin:0;font-size:clamp(3rem,6.8vw,7.6rem);font-weight:1000;line-height:.87;letter-spacing:-.07em;text-transform:uppercase}.display em{color:transparent;font-style:normal;-webkit-text-stroke:2px currentColor}
.manifest{position:relative;grid-template-rows:auto auto}.manifest-main{grid-column:2}.manifest-bottom{display:grid;grid-template-columns:minmax(17rem,35rem) minmax(11rem,17rem);gap:clamp(2rem,7vw,8rem);align-items:end;margin-top:clamp(3rem,7vw,7rem);padding-top:1.5rem;border-top:1px solid rgba(8,7,6,.22)}.manifest-bottom>p{margin:0;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.45}.manifest blockquote{margin:0;padding:1.35rem;color:var(--white);background:var(--orange);font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg)}.logo-feature{display:grid;grid-column:2;grid-template-columns:minmax(12rem,27rem) 1fr;gap:1.4rem;align-items:end;margin:clamp(5rem,9vw,9rem) 0 0}.logo-feature img{display:block;width:100%;height:auto}.logo-feature figcaption{padding-bottom:.2rem;color:#6d6862;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}
.dark{color:var(--white);background:var(--black)}.dark .side-label{color:var(--muted)}.dark .display em{color:var(--orange);-webkit-text-stroke:0}.service-list{margin-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--line)}.service{position:relative;display:grid;grid-template-columns:4rem 1fr auto;gap:2rem;padding:clamp(2rem,4vw,3.25rem) 0;border-bottom:1px solid var(--line);transition:.3s var(--ease)}.service:before{position:absolute;inset:0 calc(var(--x)*-.3);background:var(--orange);content:"";opacity:0;transition:.3s}.service>*{position:relative}.service>span{padding-top:.35rem;color:var(--muted);font-size:.7rem;letter-spacing:.1em}.service h3{margin:0;font-size:clamp(2rem,4vw,4.5rem);line-height:.95;letter-spacing:-.05em}.service p{max-width:35rem;margin:1rem 0 0;color:var(--muted)}.service>b{font-size:1.8rem;transition:.3s}.service:hover{color:var(--white);padding-inline:1.1rem}.service:hover:before{opacity:1}.service:hover p,.service:hover>span{color:var(--white)}.service:hover>b{transform:rotate(45deg)}
.work{padding:clamp(6rem,11vw,10rem) 0 clamp(5rem,8vw,8rem);color:var(--black);background:var(--white);overflow:hidden}.work-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,24rem);gap:clamp(2rem,7vw,8rem);align-items:end;padding:0 var(--x) clamp(3rem,6vw,6rem)}.work .display{font-size:clamp(3.2rem,7.8vw,8.5rem)}.work .display em{color:var(--orange);-webkit-text-stroke:0}.work-intro{display:grid;gap:2rem}.work-intro>p{margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.45}.work-controls{display:flex;gap:.6rem}.work-controls button{display:grid;width:3.4rem;height:3.4rem;place-items:center;color:var(--black);background:transparent;border:1px solid rgba(8,7,6,.35);cursor:pointer;font-size:1.2rem;transition:.25s var(--ease)}.work-controls button:hover,.work-controls button:focus-visible{color:var(--white);background:var(--orange);border-color:var(--orange);transform:translateY(-.2rem)}.work-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(27rem,42vw);gap:1rem;padding:0 var(--x) 1.5rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:var(--x);scroll-snap-type:inline mandatory;scrollbar-color:var(--orange) rgba(8,7,6,.12);scrollbar-width:thin}.case{position:relative;display:flex;min-height:34rem;flex-direction:column;padding:clamp(1.7rem,3.3vw,3rem);border:1px solid rgba(8,7,6,.2);scroll-snap-align:start;isolation:isolate;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}.case:hover{transform:translateY(-.55rem);box-shadow:0 1.2rem 2.4rem rgba(8,7,6,.14)}.case:before{position:absolute;z-index:-1;right:-11%;bottom:-22%;width:55%;height:70%;background:currentColor;content:"";opacity:.08;transform:skewX(-34deg)}.case-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid currentColor;font-size:.69rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.case-client{margin:1.6rem 0 .8rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.case h3{max-width:10ch;margin:0;font-size:clamp(2.7rem,4.6vw,5.1rem);font-weight:1000;line-height:.82;letter-spacing:-.075em}.case-copy{max-width:30rem;margin:auto 0 1.5rem;font-size:1rem;line-height:1.42}.case ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.case li{padding:.45rem .7rem;border:1px solid currentColor;border-radius:999px;font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.case-mark{position:absolute;z-index:-1;right:-.06em;top:.16em;font-size:clamp(8rem,18vw,18rem);font-weight:1000;line-height:1;letter-spacing:-.1em;opacity:.075}.case-orange{color:var(--white);background:var(--orange)}.case-black{color:var(--white);background:var(--black)}.case-paper{color:var(--black);background:var(--white)}.work-hint{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin:1.5rem var(--x) 0;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.work-hint span{color:var(--orange);font-size:1.2rem}
.orange{color:var(--white);background:var(--orange)}.orange .side-label{color:rgba(255,255,255,.65)}.orange .side-label span{color:var(--black)}.orange .kicker i{background:var(--black)}.orange .display em{-webkit-text-stroke-color:var(--white)}.steps{display:grid;grid-template-columns:repeat(2,1fr);margin:clamp(4rem,8vw,8rem) 0 0;padding:0;border-top:1px solid rgba(8,7,6,.38);border-left:1px solid rgba(8,7,6,.38);list-style:none}.steps li{min-height:20rem;padding:clamp(1.6rem,4vw,3rem);border-right:1px solid rgba(8,7,6,.38);border-bottom:1px solid rgba(8,7,6,.38)}.steps li>span{display:block;margin-bottom:clamp(3rem,5vw,6rem);color:var(--black);font-size:.68rem;font-weight:900;letter-spacing:.1em}.steps h3{max-width:16ch;margin:0;font-size:clamp(1.7rem,3vw,3rem);line-height:1;letter-spacing:-.045em}.steps p{max-width:29rem;margin:1.1rem 0 0;color:rgba(255,255,255,.78)}
.statement{display:grid;min-height:82svh;align-content:center;padding:8rem var(--x);color:var(--white);background:radial-gradient(circle at 85% 15%,rgba(240,90,0,.23),transparent 30%),var(--black)}.statement p{margin:0 0 2rem;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.14em}.statement h2{max-width:13ch;margin:0;font-size:clamp(4rem,10.8vw,11.5rem);font-weight:1000;line-height:.78;letter-spacing:-.085em}.statement h2 em{color:var(--orange);font-style:normal}.contact{min-height:52rem}.contact-row{display:flex;align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(3rem,6vw,6rem);padding-top:1.5rem;border-top:1px solid rgba(8,7,6,.23)}.contact-button{display:flex;width:min(100%,23rem);min-height:5.2rem;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;color:var(--white);background:var(--orange);border:1px solid var(--black);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.contact-button span{font-size:1.5rem;transition:transform .25s var(--ease)}.contact-button:hover{background:var(--black)}.contact-button:hover span{transform:translate(.2rem,-.2rem)}.contact-row>p{max-width:18rem;margin:0;color:#6d6862;font-size:.9rem}
footer{display:grid;grid-template-columns:1fr auto auto auto;gap:2rem;align-items:end;padding:3rem var(--x);color:var(--white);background:var(--black);border-top:1px solid var(--line)}footer img{width:7.5rem;height:7.5rem;object-fit:cover}footer p,.footer-social{margin:0;color:var(--muted);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.footer-social{padding-bottom:.2rem;border-bottom:1px solid var(--orange)}.footer-social:hover{color:var(--white)}
dialog{width:min(90vw,48rem);padding:clamp(2rem,6vw,5rem);color:var(--white);background:var(--black);border:1px solid var(--orange);border-radius:0}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}dialog h2{margin:0;font-size:clamp(2.5rem,6vw,5.3rem);font-weight:1000;line-height:.85;letter-spacing:-.065em}dialog h2 em{color:var(--orange);font-style:normal}dialog>p:not(.kicker){max-width:35rem;margin:2rem 0;color:var(--muted);font-size:1.05rem}.close{position:absolute;top:1rem;right:1rem;width:2.7rem;height:2.7rem;color:var(--white);background:transparent;border:1px solid var(--line);cursor:pointer;font-size:1.8rem}.dialog-button{padding:.9rem 1.1rem;color:var(--white);background:var(--orange);border:0;cursor:pointer;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(2.5rem);transition:opacity .7s,transform .85s var(--ease)}.reveal.visible{opacity:1;transform:none}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media(max-width:900px){.menu{z-index:102;display:grid;grid-template-columns:auto 1.6rem;align-items:center;gap:.6rem;padding:.7rem 0;color:var(--white);background:0;border:0;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.menu i{grid-column:2;display:block;width:1.6rem;height:2px;background:currentColor}.menu i+ i{margin-top:-.45rem}.menu[aria-expanded=true] i{transform:translateY(.23rem) rotate(45deg)}.menu[aria-expanded=true] i+ i{transform:translateY(-.23rem) rotate(-45deg)}.nav{position:fixed;z-index:101;inset:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:7rem var(--x) 3rem;background:var(--black);opacity:0;pointer-events:none;transform:translateY(-1rem);transition:.28s var(--ease)}.nav.open{opacity:1;pointer-events:auto;transform:none}.nav>a{width:100%;padding:1rem 0!important;border-bottom:1px solid var(--line)!important;font-size:clamp(2.2rem,8vw,4rem);line-height:1;letter-spacing:-.05em}.nav .nav-button{min-height:0;margin-top:1rem;color:var(--orange);background:transparent;border:0!important}.section{grid-template-columns:1fr}.manifest-main,.logo-feature{grid-column:1}.section-main{grid-column:1}.vertical{display:none}.hero-art{object-position:67% center}.hero-shade{background:linear-gradient(90deg,rgba(5,4,3,.97),rgba(5,4,3,.72) 55%,rgba(5,4,3,.28)),linear-gradient(0deg,rgba(5,4,3,.88),transparent 48%)}}
@media(max-width:640px){.header{min-height:5rem}.brand img{width:2.9rem;height:2.2rem}.brand b,.brand strong{font-size:.74rem}.hero-content{padding-top:8.5rem;padding-bottom:2.2rem}.hero h1{font-size:clamp(4rem,20vw,6.2rem)}.hero h1 span+span{max-width:5ch}.hero-foot{display:grid}.hero-grid{background:none}.display{font-size:clamp(2.75rem,13vw,4.5rem)}.manifest-bottom{grid-template-columns:1fr}.manifest blockquote{max-width:19rem}.logo-feature{grid-template-columns:1fr}.service{grid-template-columns:2rem 1fr auto;gap:.8rem}.service h3{font-size:2.05rem}.steps{grid-template-columns:1fr}.steps li{min-height:17rem}.statement{min-height:70svh}.statement h2{font-size:clamp(4rem,20vw,6.4rem)}.contact-row{display:grid}.contact-button{width:100%}footer{grid-template-columns:1fr;gap:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.work-head{grid-template-columns:1fr}.work-intro{grid-template-columns:1fr auto;align-items:end}.work-track{grid-auto-columns:minmax(24rem,72vw)}}
@media(max-width:640px){.work-head{padding-bottom:2.5rem}.work-intro{grid-template-columns:1fr}.work-track{grid-auto-columns:86vw;gap:.75rem}.case{min-height:31rem}.case h3{font-size:clamp(2.65rem,13vw,4.3rem)}.work-hint{justify-content:flex-start}}

/* Keep transformed and scrolling elements inside the mobile canvas. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
img,svg,video,canvas{max-width:100%}

.sound-toggle{position:fixed;z-index:95;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:flex;min-height:3rem;align-items:center;gap:.8rem;padding:.65rem .85rem;color:var(--white);background:rgba(8,7,6,.92);border:1px solid rgba(243,240,235,.35);box-shadow:0 .8rem 2.5rem rgba(8,7,6,.22);backdrop-filter:blur(12px);cursor:pointer;font-size:.75rem;font-weight:900;letter-spacing:.1em;transition:.25s var(--ease)}
.sound-toggle:hover,.sound-toggle:focus-visible,.sound-toggle.playing{background:var(--orange);border-color:var(--orange)}
.sound-toggle:disabled{cursor:not-allowed;opacity:.65}
.sound-bars{display:flex;height:1.1rem;align-items:center;gap:3px}
.sound-bars i{display:block;width:2px;height:.32rem;background:currentColor;transform-origin:center}
.sound-toggle.playing .sound-bars i{animation:sound-bar .68s ease-in-out infinite alternate}
.sound-toggle.playing .sound-bars i:nth-child(2){animation-delay:-.24s}
.sound-toggle.playing .sound-bars i:nth-child(3){animation-delay:-.46s}
.sound-toggle.playing .sound-bars i:nth-child(4){animation-delay:-.14s}
@keyframes sound-bar{to{height:1rem}}
@media(max-width:640px){.sound-toggle{min-height:2.75rem;padding:.6rem .72rem;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.sound-toggle.playing .sound-bars i{animation:none;height:.7rem}}

/* Compact portfolio grid: four cards on desktop, two on tablet, one on mobile. */
.work-track{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(24rem,auto);align-items:stretch;gap:.8rem;padding:0 var(--x);overflow:visible;scroll-snap-type:none}
.case{height:24rem;min-height:24rem;padding:1.35rem;scroll-snap-align:none}
.case-top{padding-bottom:.75rem;font-size:.62rem}
.case-client{margin:1.15rem 0 .65rem;font-size:.65rem}
.case h3{font-size:clamp(1.75rem,2.4vw,3rem);line-height:.85}
.case-copy{margin:auto 0 1rem;font-size:.88rem;line-height:1.38}
.case li{padding:.35rem .55rem;font-size:.57rem}
.case-mark{top:.42em;font-size:clamp(5rem,9vw,9rem)}
.case-link{position:relative;z-index:3;cursor:pointer}
.case-view{display:flex;min-height:2.75rem;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid currentColor;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.case-view b{font-size:1rem;transition:transform .25s var(--ease)}
.case-link:hover b,.case-link:focus-visible b{transform:translate(.2rem,-.2rem)}
.case-media{position:relative;z-index:3;display:block;width:100%;aspect-ratio:16/9;margin:0 0 1rem;background:var(--black);border:1px solid rgba(255,255,255,.45);object-fit:cover}
.case-media:focus-visible{outline-color:var(--white)}
.case-photo{height:24rem;min-height:24rem}
.case-photo .case-client{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-photo .case-copy,.case-photo ul{display:none}
.case-photo h3{position:relative;z-index:1;max-width:13ch;margin:auto 0;font-size:clamp(1.75rem,2.25vw,2.65rem);line-height:.86;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.case-photo .case-view{margin-top:.75rem}
.case-photo-bg:after{position:absolute;z-index:-2;inset:3.2rem .75rem 3.6rem;background-image:var(--case-bg);background-position:center;background-repeat:no-repeat;background-size:contain;content:"";opacity:.48}
.case-photo-bg:before{z-index:-1;inset:0;width:auto;height:auto;background:linear-gradient(180deg,rgba(8,7,6,.16),rgba(8,7,6,.34));opacity:1;transform:none}
.case-paper.case-photo-bg:after{opacity:.34}
.case-paper.case-photo-bg:before{background:linear-gradient(180deg,rgba(243,240,235,.18),rgba(243,240,235,.62))}
.case-video .case-copy,.case-video ul{display:none}
.case-video .case-media{height:7.75rem;aspect-ratio:auto;margin-bottom:.7rem;object-fit:contain}
.case-video h3{max-width:100%;margin-bottom:auto;font-size:clamp(1.45rem,1.85vw,2.2rem);line-height:.9}
.case-video .case-view{margin-top:.7rem}

@media(max-width:1100px){.work-track{grid-template-columns:repeat(2,minmax(0,1fr))}.case{height:25rem;min-height:25rem}.case h3{font-size:clamp(2.2rem,5vw,3.8rem)}}
@media(max-width:640px){.work-track{grid-template-columns:1fr;gap:.75rem}.case{height:28rem;min-height:28rem}.case h3{font-size:clamp(2.55rem,12vw,4rem)}}

@media(max-width:1100px){.case-photo{height:25rem;min-height:25rem}.case-photo h3{font-size:clamp(1.9rem,4.4vw,2.8rem)}.case-video .case-media{height:8.5rem}.case-video h3{font-size:clamp(1.75rem,3.6vw,2.35rem)}}
@media(max-width:640px){.case-photo{height:28rem;min-height:28rem}.case-photo h3{font-size:clamp(2rem,8vw,2.8rem)}.case-photo-bg:after{inset:3.4rem 1rem 3.8rem}.case-video .case-media{height:10rem}.case-video h3{font-size:clamp(1.9rem,7vw,2.45rem)}}

/* Mobile canvas: keep editorial type inside the viewport and make the menu a true full-screen layer. */
@media(max-width:900px){
  .header.menu-open{
    z-index:200;
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100svh;
    align-items:flex-start;
    overflow-y:auto;
    background:var(--black);
    backdrop-filter:none;
  }
  .header.menu-open .brand,
  .header.menu-open .menu{position:relative;z-index:2}
  .nav{
    width:100%;
    height:100dvh;
    min-height:100svh;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#080706;
  }
}

@media(max-width:640px){
  :root{--x:max(1.25rem,env(safe-area-inset-left),env(safe-area-inset-right))}
  .section,.work-head,.statement{max-width:100%}
  .display,
  .work .display,
  .statement h2{
    max-width:100%;
    font-size:clamp(2.65rem,11.4vw,3.35rem);
    line-height:.9;
    letter-spacing:-.06em;
    overflow-wrap:anywhere;
  }
  .manifest-main,.section-main,.work-head>div{width:100%;max-width:100%;min-width:0}
  .manifest .display{font-size:clamp(2.35rem,10vw,3rem)}
  .statement{min-height:62svh;padding-block:6rem}
  .statement p{max-width:100%;line-height:1.4}
  .nav{padding:7rem var(--x) max(3rem,env(safe-area-inset-bottom))}
  .nav>a{font-size:clamp(2.35rem,12vw,3.3rem)}
}

/* Agency signature and founder pages */
@font-face{font-family:OriginalSignature;src:url('signature-script.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;flex-shrink:0}.brand-core{display:flex;align-items:center;gap:.65rem}.brand-core>span{display:grid;font-weight:900;line-height:.77;letter-spacing:-.045em}.original-signature{display:flex;align-items:baseline;gap:.4rem;white-space:nowrap}.signature-label{font-family:Arial,sans-serif;font-size:.75rem;font-weight:400;line-height:1.3;letter-spacing:.025em;text-transform:none;color:var(--muted)}.signature-name{display:inline-block;font-family:OriginalSignature,cursive;font-size:1.65rem;font-weight:400;line-height:1.1;letter-spacing:0;text-transform:none;color:var(--white)}.brand-lockup .signature-name{font-size:1.35rem}.brand-lockup .original-signature{line-height:1.2}.footer-brand{display:grid;gap:.6rem}.footer-signature{width:max-content}.footer-links{display:grid;gap:.6rem}.footer-links a{font-size:.875rem;color:var(--muted)}.footer-links a:hover{color:var(--orange)}.inner-page .header{background:var(--black);border-bottom:1px solid var(--line)}.inner-page{background:var(--black);color:var(--white)}.career-hero{padding:11rem var(--x) 5rem;background:radial-gradient(circle at 85% 30%,rgba(240,90,0,.16),transparent 45%)}.career-hero h1{margin:2rem 0;font-size:clamp(4.5rem,11vw,11rem);line-height:.87;letter-spacing:-.065em;font-weight:900}.career-hero h1 span{color:var(--orange)}.career-role{color:var(--muted);font-size:1rem;line-height:1.8}.career-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.career-intro p:first-child{font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;margin:0;max-width:22ch}.career-intro p+p{margin:0;color:var(--muted);font-size:1.1rem;max-width:48ch}.career-story{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem var(--x);background:var(--orange)}.career-story h2,.career-history h2,.career-teaching h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.05;letter-spacing:-.045em;margin:1.5rem 0}.career-story p{font-size:1.1rem}.career-history,.career-teaching{padding:5rem var(--x)}.career-history ol{padding:0;list-style:none}.career-history li{display:grid;grid-template-columns:15rem 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}.career-history li>span,.teaching-grid article>span{font-size:.875rem;color:var(--orange)}.career-history h3,.teaching-grid h3{margin:0 0 .6rem;font-size:1.65rem;line-height:1.2}.career-history li p{margin:.3rem 0;color:var(--muted);max-width:55ch}.career-teaching{color:var(--black);background:var(--white)}.teaching-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.teaching-grid article{border-top:1px solid #bbb;padding-top:1.5rem}.teaching-grid h3{margin:1rem 0}.career-close{padding:5rem var(--x);text-align:center}.career-close .signature-name{font-size:3.5rem}.career-close p{color:var(--muted);font-size:.875rem}.career-close a{display:inline-block;border-bottom:1px solid var(--orange);padding:.5rem 0;font-size:1rem}.legal-page{max-width:58rem;margin:auto;padding:11rem var(--x) 5rem}.legal-page h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1;letter-spacing:-.04em}.legal-page h2{margin-top:2.5rem;font-size:1.4rem}.legal-page p{line-height:1.8;color:var(--muted)}.legal-page strong{color:var(--white)}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-date{font-size:.875rem}
@media(max-width:1100px) and (min-width:901px){.nav{gap:1rem;font-size:.68rem}.header{padding-inline:2rem}}
@media(max-width:900px){.career-intro,.career-story{grid-template-columns:1fr;gap:2rem}.career-history li{grid-template-columns:1fr;gap:.6rem}.teaching-grid{grid-template-columns:1fr}.header{min-height:7rem}.header.scrolled{min-height:6rem}.nav{padding-top:9rem}.career-hero,.legal-page{padding-top:10rem}}
@media(max-width:640px){.brand-core img{width:2.9rem;height:2.2rem}.brand-lockup .signature-name{font-size:1.25rem}.brand-lockup .signature-label{font-size:.75rem}.brand-lockup .original-signature{gap:.3rem}.career-hero h1{font-size:clamp(3.7rem,16vw,6rem)}.career-hero,.career-history,.career-teaching,.career-story,.career-close{padding-bottom:3.5rem}.career-history,.career-teaching,.career-story{padding-top:3.5rem}.hero-content{padding-top:10rem}.header .menu{font-size:.75rem}.nav>a{font-size:clamp(1.8rem,8vw,3rem)}}
.brand-lockup>.brand-core{display:flex;line-height:normal;letter-spacing:0}.brand-lockup>.original-signature{display:flex;letter-spacing:0;font-weight:400}
/* Smaller editorial signature */
@font-face{font-family:OriginalEditorialSignature;src:url('signature-editorial.otf') format('opentype');font-style:italic;font-weight:400;font-display:swap}
.signature-name{font-family:OriginalEditorialSignature,Georgia,serif;font-style:italic;font-size:1.2rem;line-height:1.25;letter-spacing:.005em}.brand-lockup .signature-name{font-size:1rem}.footer-signature .signature-name{font-size:1.15rem}.career-close .signature-name{font-size:2.75rem}
@media(max-width:640px){.brand-lockup .signature-name{font-size:1rem}}
/* Uniform agency credit, with the name in bold */
.original-signature .signature-label,.original-signature .signature-name{font-family:Arial,sans-serif;font-size:.75rem;font-style:normal;line-height:1.3;letter-spacing:.025em;color:var(--muted)}
.original-signature .signature-label{font-weight:400}.original-signature .signature-name{font-weight:700}

/* Founder portrait in the career introduction */
.career-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,6rem)}
.career-heading-copy{min-width:0}.career-heading h1{font-size:clamp(3.7rem,7.6vw,8.5rem)}
.career-portrait{margin:0;width:100%;max-width:30rem;justify-self:end}
.career-portrait img{display:block;width:100%;height:auto;border-bottom:3px solid var(--orange)}
@media(max-width:700px){.career-heading{grid-template-columns:1fr;gap:2rem}.career-heading h1{font-size:clamp(3.7rem,16vw,6rem)}.career-portrait{max-width:28rem;justify-self:center}.career-intro{margin-top:3rem}}

/* Visual client gallery */
.work-track.client-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:2.5rem 1.25rem;align-items:start}
.client-card{min-width:0;color:var(--black)}
.client-art{position:relative;aspect-ratio:4/5;overflow:hidden;background:#111;color:#fff;isolation:isolate}
.client-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.client-card:hover .client-art>img{transform:scale(1.035)}
.client-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 35%,transparent 65%,rgba(0,0,0,.55));z-index:1}
.client-index{position:absolute;top:1.2rem;left:1.2rem;z-index:2;font-size:.875rem;font-weight:600}
.client-category{position:absolute;left:1.2rem;bottom:1.2rem;right:1.2rem;z-index:2;font-size:.875rem;font-weight:600;letter-spacing:.02em}
.client-wordmark{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;font-size:clamp(2rem,4vw,5.5rem);font-weight:900;line-height:1.02;letter-spacing:-.06em;overflow-wrap:anywhere}
.client-wordmark em{font-family:Georgia,serif;font-weight:400}
.client-ember .client-art{background:var(--orange)}
.client-paper .client-art{background:#dedbd5;color:#111}
.client-paper .client-art:has(.client-wordmark):after{background:none}
.wordmark-12{font-family:Georgia,serif;font-weight:400;letter-spacing:.025em}
.wordmark-13{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}
.client-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111;z-index:3}
.client-art:has(video) .client-category,.client-art:has(video) .client-index{display:none}
.client-caption{padding:1.1rem 0 0;border-bottom:1px solid #c7c5bf}
.client-caption h3{margin:0 0 .65rem;font-size:clamp(1.2rem,1.7vw,1.65rem);line-height:1.2;font-weight:700;letter-spacing:-.035em}
.client-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.3rem 0 1rem;font-size:.875rem;min-height:44px;color:#555}
.client-details summary::-webkit-details-marker{display:none}.client-details summary:after{content:'+';font-size:1.4rem;color:var(--orange)}
.client-details[open] summary:after{content:'−'}
.client-description{padding:0 0 1.4rem}.client-description h4{font-size:1rem;line-height:1.3;margin:.1rem 0 .7rem}.client-description p{font-size:1rem;line-height:1.6;margin:0 0 1rem}.client-description .client-tags{font-size:.875rem;color:#595959}
.client-visit{display:inline-block;padding:.6rem 0;border-bottom:1px solid var(--orange);font-size:.875rem;font-weight:700}
.client-details summary:focus-visible,.client-visit:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media(max-width:1000px){.work-track.client-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.client-wordmark{font-size:clamp(2.4rem,6vw,4.5rem)}}
@media(max-width:600px){.work-track.client-gallery{grid-template-columns:1fr;gap:2rem}.client-art{aspect-ratio:1/1}.client-wordmark{font-size:clamp(2.5rem,11vw,4.5rem)}.client-caption h3{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.client-art>img{transition:none}.client-card:hover .client-art>img{transform:none}}
