/* Final editorial scale and accessible interaction rules. */
:root{--section-space:clamp(80px,9vw,144px);--body-size:clamp(15px,1.15vw,17px)}
html{scroll-padding-top:100px}
body{cursor:auto}
main,section,.project>*,.section-head>*,.case-grid>*,.standard-section>*,.director>*{min-width:0}
button,a{touch-action:manipulation}button{cursor:pointer}
:focus-visible{outline:3px solid currentColor;outline-offset:6px}
.nav{align-items:center;padding-top:14px;padding-bottom:14px}
.nav.scrolled{background:var(--nav-bg)}
.nav nav a,.wordmark{min-height:44px;display:flex;align-items:center}
.wordmark{align-items:baseline;padding-top:10px}
.menu{width:44px;height:44px;position:relative;z-index:2}
.meta,.eyebrow,.project-info span,.case>span,.case>strong,.contact-meta span,.contact-section footer,.duration{font-size:11px;line-height:1.5}
.hero-meta{gap:24px;right:var(--pad)}
.kinetic{font-size:clamp(78px,14vw,204px);line-height:.84;letter-spacing:-.065em;width:min(100%,1040px)}
.line-c{transform:none;padding-right:1%}
.hero-note{font-size:14px}
.scroll-cue{min-height:44px;font-size:10px}
.reel-section,.standard-section,.cases-section,.vision-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.reel-copy h2{line-height:.98;letter-spacing:-.06em}
.reel-copy>p:last-child,.studio-grid p,.case p,.director>div:last-child>p:last-child,.standard-list p{font-size:var(--body-size);line-height:1.65}
.reel-copy>p:last-child,.director>div:last-child>p:last-child{color:#b8b8b8}
.section-head h2{line-height:.98;letter-spacing:-.06em}
.section-head{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}
.section-head.compact{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.project{grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-bottom:clamp(56px,7vw,112px)}
.project:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.project-media{width:100%;display:block}
.project-info h3{line-height:1;letter-spacing:-.05em}
.project-info p{font-size:14px;line-height:1.6}
.project-recognition{font-size:clamp(17px,1.5vw,22px);line-height:1.55;letter-spacing:-.015em;max-width:70ch;margin:0 0 clamp(64px,8vw,120px) auto}
.project-recognition em{font-family:inherit}
.studio-section{min-height:0;padding-top:var(--section-space);padding-bottom:var(--section-space)}
.studio-grid .lead{font-size:clamp(24px,3vw,42px);line-height:1.25}
.services span{font-size:12px;line-height:1.5;padding-right:20px}
.standard-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw}
.standard-list li{grid-template-columns:32px minmax(0,1fr);gap:24px;min-height:0;padding:32px 0}
.standard-list h3{font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.04em}
.standard-list p,.standard-intro>p:last-child{color:#aaa}
.standard-list li>span{color:var(--white)}
.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case{min-width:0;container-type:inline-size;padding:clamp(24px,2.5vw,40px);min-height:490px}
.case h3{font-size:clamp(30px,13cqi,64px);line-height:1.04;letter-spacing:-.055em;margin:64px 0 28px}
.case>span,.case>strong{letter-spacing:.08em}
.case p{margin-top:auto;margin-bottom:28px}
.vision-section blockquote{line-height:1.08;margin:clamp(48px,7vw,112px) 0 clamp(72px,10vw,144px);text-wrap:pretty}
.director{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.director h2{line-height:.98;margin:28px 0;letter-spacing:-.055em}
.contact-cta{font-size:clamp(56px,13vw,190px);line-height:.88;letter-spacing:-.07em}
.contact-meta a{font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.contact-section footer a{min-height:44px;display:flex;align-items:center}
.video-modal::backdrop{background:#7923E8}
.video-modal{max-height:92svh;overflow:auto}
.close-modal{min-height:48px;padding:12px 20px;font-size:12px}
.cursor{display:none}
@media(hover:hover) and (pointer:fine){.cursor{display:grid;width:24px;height:24px}.cursor span{display:none}.cursor.active{width:48px;height:48px;background:transparent}.nav nav a:focus-visible:after{transform:scaleX(1)}}
@media(max-width:800px){
 .cursor{display:none}
 html{scroll-padding-top:80px}
 .nav nav{height:100dvh;overflow:auto;z-index:1}.nav.menu-open .wordmark{z-index:2}.nav.menu-open{color:#fff}
 .hero{min-height:max(680px,100svh);padding-top:160px;padding-bottom:210px}
 .hero-meta{flex-wrap:wrap;gap:8px 20px;font-size:10px}
 .kinetic{font-size:clamp(68px,20vw,145px);margin:0;line-height:.87;letter-spacing:-.065em}
 .kinetic .line-a,.kinetic .line-b,.kinetic .line-c{padding:0}
 .hero-note{bottom:115px}.hero-index{bottom:28px;font-size:10px}.scroll-cue{bottom:60px}
 .section-head,.section-head.compact,.project,.project:nth-child(even),.standard-section,.director{grid-template-columns:minmax(0,1fr)}
 .section-head{gap:24px;padding-bottom:48px}
 .section-head h2{font-size:clamp(40px,8.5vw,64px)}
 .project:nth-child(even) .project-media{order:0}
 .project-info{padding-top:8px}.project-info h3{font-size:clamp(36px,7vw,54px)}
 .project-recognition{margin-top:0;line-height:1.6}
 .case-grid{grid-template-columns:minmax(0,1fr)}.case{min-height:410px}
 .standard-list li{gap:16px}.standard-section{gap:48px}
 .director{gap:32px}.director h2{font-size:clamp(48px,9vw,72px)}
 .contact-section{min-height:0;padding-top:80px}.contact-cta{font-size:clamp(54px,12.5vw,100px);margin:56px 0}
 .contact-meta{gap:20px;padding-bottom:32px}.contact-meta div{gap:4px}
 .contact-section footer{align-items:center;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.kinetic span{transform:none!important}.cursor{display:none}}
