@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --paper:#f7f7f2;
  --white:#fff;
  --ink:#101010;
  --muted:#66645f;
  --line:#cbc9c2;
  --orange:#ff6615;
  --pad:clamp(22px,4vw,64px);
  --header:84px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
  background:var(--paper);color:var(--ink);
  font-family:Inter,Arial,sans-serif;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img,video{max-width:100%;display:block}
::selection{background:var(--orange);color:#fff}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.section-pad{padding:clamp(86px,11vw,170px) var(--pad)}
.section-index{display:flex;align-items:center;gap:12px;max-width:420px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.section-index::before{content:attr(data-step);display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid currentColor;border-radius:50%;color:var(--ink);font-size:9px;letter-spacing:0}
.section-index::after{content:"";width:clamp(34px,8vw,120px);height:1px;background:currentColor;opacity:.45}

/* Header */
.site-header{
  height:var(--header);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:50;background:rgba(247,247,242,.94);border-bottom:1px solid var(--line);width:100vw;max-width:100vw;
}
.brand{width:78px;position:relative;z-index:52}
.brand img{width:100%;height:auto}
.desktop-nav{display:flex;gap:clamp(22px,3vw,50px);align-items:center}
.desktop-nav a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;position:relative}
.desktop-nav a::after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-8px;background:var(--orange);transition:right .35s var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{right:0}
.menu-toggle{display:none;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--ink);border-radius:50%;background:transparent;position:relative;z-index:52;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--ink);position:absolute;left:13px;transition:.3s var(--ease)}
.menu-toggle span:first-child{top:19px}.menu-toggle span:last-child{top:25px}
.menu-toggle.is-open span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle.is-open span:last-child{transform:translateY(-3px) rotate(-45deg)}
.menu-panel{position:fixed;inset:0;background:var(--orange);padding:120px var(--pad) 40px;z-index:51;display:flex;flex-direction:column;justify-content:center;transform:translateY(-105%);transition:transform .65s var(--ease)}
.menu-panel.is-open{transform:none}
.menu-panel a{font-size:clamp(42px,12vw,100px);font-weight:900;letter-spacing:-.07em;line-height:.95;border-bottom:1px solid rgba(16,16,16,.35);display:flex;justify-content:space-between;padding:10px 0}
.menu-panel small{font-size:11px;letter-spacing:.1em;margin-top:10px}

/* Motion */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal-media{opacity:0;transform:scale(.96);clip-path:inset(8% 0 8% 0);transition:opacity 1s var(--ease),transform 1.2s var(--ease),clip-path 1.2s var(--ease)}
.reveal-media.in-view{opacity:1;transform:none;clip-path:inset(0)}
.line{display:block;overflow:hidden}
.line>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease)}
body.is-ready .line>span{transform:none}
.line:nth-child(2)>span{transition-delay:.08s}.line:nth-child(3)>span{transition-delay:.16s}

/* Home hero */
.home-header{position:absolute;left:0;top:0;background:linear-gradient(rgba(0,0,0,.45),transparent);border-bottom-color:rgba(255,255,255,.28);color:#fff}
.home-header .desktop-nav a::after{background:var(--orange)}
.home-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#111;color:#fff;padding:0}
.video-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.03) 38%,rgba(0,0,0,.72) 100%)}
.video-hero-top{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:calc(var(--header) + 34px);display:flex;justify-content:space-between;align-items:center}
.hero-status{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;display:flex;gap:10px;align-items:center}
.hero-status span{width:8px;height:8px;background:var(--orange);border-radius:50%;animation:pulse 1.8s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(255,102,21,0)}0%,100%{box-shadow:0 0 0 0 rgba(255,102,21,.5)}}
.video-hero-copy{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:48px}
.eyebrow{display:grid;grid-template-columns:auto minmax(44px,140px);align-items:center;gap:16px;width:max-content;max-width:100%;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow::after{content:"";height:1px;background:currentColor;opacity:.65}
.hero-title,.page-title h1{font-size:clamp(54px,10.2vw,164px);font-weight:900;letter-spacing:-.075em;line-height:.76;text-transform:uppercase;min-width:0}
.hero-title .accent-line,.page-title .accent-line{color:var(--orange)}
.video-hero .hero-title{font-size:clamp(64px,11.4vw,176px);max-width:92%;text-shadow:0 2px 28px rgba(0,0,0,.12)}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px;border-top:1px solid rgba(255,255,255,.5);padding-top:18px}
.hero-meta p{font-size:clamp(14px,1.4vw,20px);line-height:1.4}
.circle-link{width:58px;height:58px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:.3s}
.circle-link:hover{background:var(--orange);border-color:var(--orange);transform:rotate(-45deg)}
.hero-film video,.about-film video,.services-hero-film video,.project-media video,.chapter-media video,.proof-video video{width:100%;height:100%;object-fit:cover}
.film-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sound-toggle{position:absolute;right:18px;top:18px;border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(0,0,0,.22);backdrop-filter:blur(8px);border-radius:999px;padding:10px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;z-index:3}
.video-hero>.sound-toggle{top:calc(var(--header) + 82px);right:var(--pad)}
.hero-reel-index{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:50%;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;pointer-events:none}
.ticker{overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0}
.ticker-orange{background:var(--orange)}
.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}
.ticker-track span{font-size:clamp(15px,1.8vw,28px);font-weight:800;white-space:nowrap}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Statements */
.statement{background:var(--white)}
.statement-grid{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(240px,.65fr);gap:8vw;margin-top:clamp(50px,7vw,105px);align-items:end}
.display-copy{font-size:clamp(42px,7.4vw,118px);font-weight:900;letter-spacing:-.07em;line-height:.85;text-transform:uppercase}
.display-copy span{color:var(--orange)}
.statement-note{font-size:clamp(14px,1.35vw,18px);line-height:1.55}
.statement-note p{margin-bottom:34px}
.text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:8px}
.text-link span{transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}

/* Selected work */
.selected-work{background:var(--paper)}
.section-intro{display:grid;grid-template-columns:1fr 2fr auto;gap:40px;align-items:end;margin-bottom:clamp(50px,7vw,100px)}
.section-intro h2{font-size:clamp(42px,6.5vw,100px);font-weight:900;letter-spacing:-.065em;line-height:.86}
.case-stream{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(12px,2vw,28px)}
.case-card{position:relative;overflow:hidden;background:#ddd;min-height:500px}
.case-card video{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.case-card:hover video{transform:scale(1.045)}
.case-wide{grid-row:span 2;height:clamp(680px,85vw,1040px)}
.case-tall{height:clamp(460px,50vw,650px)}
.case-square{height:clamp(420px,43vw,560px)}
.case-label{position:absolute;inset:auto 0 0;padding:24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));display:grid;grid-template-columns:1fr auto;gap:5px 20px}
.case-label span,.case-label em{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-style:normal}
.case-label strong{grid-row:2;font-size:clamp(20px,2.4vw,38px);letter-spacing:-.04em;text-transform:uppercase}
.case-label em{grid-row:2;align-self:end}

/* Philosophy */
.philosophy-preview{background:var(--white)}
.philosophy-word{margin-top:60px;border-top:1px solid var(--ink)}
.philosophy-row{display:grid;grid-template-columns:10vw 1.2fr 1fr auto;align-items:center;gap:30px;padding:18px 8px;border-bottom:1px solid var(--ink);transition:background .35s,color .35s}
.philosophy-row .letter{font-size:clamp(70px,12vw,190px);font-weight:900;line-height:.72;letter-spacing:-.08em;color:var(--orange)}
.philosophy-row .word{font-size:clamp(34px,6vw,90px);font-weight:900;letter-spacing:-.06em}
.philosophy-row .meaning{font-size:clamp(13px,1.3vw,18px);line-height:1.45;max-width:360px}
.philosophy-row .arrow{font-size:30px}
.philosophy-row:hover{background:var(--orange)}.philosophy-row:hover .letter{color:var(--ink)}

/* Services preview */
.services-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--orange)}
.services-heading h2{font-size:clamp(70px,12vw,180px);font-weight:900;letter-spacing:-.09em;line-height:.67;margin-top:70px}
.services-heading h2 span{color:#fff}
.services-wheel{border-top:1px solid var(--ink);align-self:end}
.services-wheel a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);padding:22px 4px;font-size:clamp(18px,2vw,30px);font-weight:700;letter-spacing:-.03em;transition:padding .3s,background .3s}
.services-wheel a span{font-size:10px;letter-spacing:.1em}
.services-wheel a:hover{padding-left:16px;background:rgba(255,255,255,.35)}

/* People */
.people-teaser{background:var(--paper);overflow:hidden}
.people-copy{padding-bottom:70px}
.people-copy h2,.people-intro h2{font-size:clamp(54px,9vw,140px);font-weight:900;letter-spacing:-.08em;line-height:.78;margin:70px 0 50px}
.people-copy h2 span,.people-intro h2 span{color:var(--orange)}
.pill-link{display:inline-flex;align-items:center;gap:30px;border:1px solid var(--ink);border-radius:999px;padding:15px 22px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;transition:.3s}
.pill-link:hover{background:var(--ink);color:#fff}
.people-river{background:var(--orange);padding:28px 0;transform:rotate(-2.5deg) scale(1.04);margin:40px 0 80px}
.people-track{display:flex;width:max-content;gap:40px;animation:ticker 24s linear infinite}
.people-track.reverse{animation-direction:reverse;margin-top:12px}
.people-track span{font-size:clamp(38px,6vw,90px);font-weight:900;letter-spacing:-.05em;white-space:nowrap}
.people-track span::after{content:"✦";margin-left:40px;color:#fff}
.client-roll{background:var(--ink);color:#fff;overflow:hidden}
.client-heading{display:grid;grid-template-columns:.65fr 1.4fr .8fr;gap:clamp(24px,4vw,70px);align-items:end;padding-bottom:clamp(55px,7vw,95px)}
.client-heading>*{min-width:0}
.client-heading .section-index{color:#aaa}.client-heading .section-index::before{color:#fff}
.client-heading h2{font-size:clamp(58px,9vw,145px);font-weight:900;line-height:.76;letter-spacing:-.075em}
.client-heading h2 span{color:var(--orange)}
.client-heading>p:last-child{max-width:420px;font-size:15px;line-height:1.55;color:#aaa}
.brand-marquee{padding-bottom:clamp(80px,10vw,150px);display:grid;gap:1px}
.brand-track{display:flex;width:max-content;animation:brand-drift 48s linear infinite}
.brand-track-reverse{animation-direction:reverse;animation-duration:56s}
.brand-logo{width:clamp(170px,18vw,290px);height:clamp(105px,11vw,175px);display:grid;place-items:center;flex:0 0 auto;border:1px solid #343434;margin-left:-1px;background:#111;transition:background .35s var(--ease)}
.brand-logo img{width:88%;height:82%;object-fit:contain}
.brand-logo:hover{background:var(--orange)}
@keyframes brand-drift{to{transform:translateX(-50%)}}

/* Common page title */
.page-title{padding:clamp(70px,9vw,130px) var(--pad) clamp(70px,10vw,150px);display:grid;grid-template-columns:1fr 2.8fr;gap:30px}
.page-title h1{grid-column:2}
.page-lead{grid-column:2;max-width:760px;font-size:clamp(17px,2.1vw,30px);line-height:1.35;margin-top:40px}
.about-film,.services-hero-film{height:min(75vw,900px);position:relative;overflow:hidden;margin:0 var(--pad)}
.about-film-type{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;mix-blend-mode:difference}
.about-film-type span{font-size:clamp(62px,14vw,220px);font-weight:900;line-height:.68;letter-spacing:-.08em}

/* About */
.ideology-intro{background:var(--white)}
.ideology-chapters{border-top:1px solid var(--ink)}
.ideology-chapter{min-height:100vh;padding:var(--pad);display:grid;grid-template-columns:.6fr 1fr 1fr;gap:5vw;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--ink)}
.chapter-letter{font-size:clamp(260px,42vw,680px);font-weight:900;letter-spacing:-.14em;line-height:.6;color:var(--orange);position:absolute;left:-3vw;bottom:-4vw;opacity:.16}
.chapter-copy{position:relative;z-index:2;grid-column:2}
.chapter-copy h2{font-size:clamp(43px,6vw,92px);font-weight:900;line-height:.86;letter-spacing:-.065em;margin:30px 0}
.chapter-copy>p:not(.section-index){font-size:clamp(15px,1.5vw,20px);line-height:1.5;max-width:580px}
.chapter-copy ul{list-style:none;margin-top:35px;display:flex;flex-wrap:wrap;gap:8px}
.chapter-copy li{border:1px solid currentColor;border-radius:999px;padding:9px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.chapter-media{grid-column:3;height:min(66vh,700px);position:relative;z-index:2}
.orange-chapter{background:var(--orange)}.orange-chapter .chapter-letter{color:#fff}
.people-section{background:var(--white);overflow:hidden}
.people-section:target .reveal{opacity:1;transform:none}
.people-intro{display:grid;grid-template-columns:1.5fr .5fr;column-gap:8vw}
.people-intro .section-index,.people-intro h2{grid-column:1/-1}
.people-intro>p:last-child{grid-column:2;font-size:17px;line-height:1.55;margin-bottom:70px}
.team-experience{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(0,1.25fr);min-height:min(78vw,940px);border:1px solid var(--ink);margin-top:30px}
.team-concept{max-width:650px!important;margin-top:22px!important;padding-left:22px;border-left:4px solid var(--orange);font-weight:700}
.team-selector{display:flex;flex-direction:column;border-right:1px solid var(--ink);background:var(--paper)}
.team-tab{flex:1;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:22px;text-align:left;display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr auto;align-items:center;cursor:pointer;transition:background .35s var(--ease),padding .35s var(--ease)}
.team-tab:last-child{border-bottom:0}
.team-tab>span{font-size:10px;align-self:start}
.team-tab strong{font-size:clamp(28px,3.2vw,54px);font-weight:900;line-height:.88;letter-spacing:-.055em;text-transform:uppercase}
.team-tab em{grid-column:2;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.team-tab:hover,.team-tab.is-active{background:var(--orange);padding-left:34px}
.team-visual{position:relative;overflow:hidden;background:#e8e8e4;--mx:50%;--my:50%;cursor:crosshair}
.team-visual:focus-visible{outline:4px solid var(--orange);outline-offset:-4px}
.team-portrait{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.035);transition:opacity .6s var(--ease),transform 1s var(--ease),visibility 0s .6s}
.team-portrait.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.team-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.18) contrast(1.06)}
.team-portrait .portrait-alt{clip-path:circle(0 at var(--mx) var(--my));transition:clip-path .12s linear;filter:saturate(1.18) contrast(1.08)}
.team-visual.is-exploring .team-portrait.is-active .portrait-alt{clip-path:circle(clamp(115px,18vw,270px) at var(--mx) var(--my))}
.portrait-type{position:absolute;inset:auto 0 0;padding:28px;color:#fff;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,rgba(0,0,0,.7));z-index:3}
.portrait-type span{font-size:clamp(70px,10vw,150px);font-weight:900;line-height:.7;letter-spacing:-.08em;color:var(--orange)}
.portrait-type b{font-size:clamp(13px,1.3vw,19px);line-height:1.15;text-align:right}
.team-light{position:absolute;width:60px;height:60px;border:2px solid var(--orange);border-radius:50%;left:var(--mx);top:var(--my);transform:translate(-50%,-50%);z-index:4;pointer-events:none;opacity:0;transition:opacity .25s}
.team-visual.is-exploring .team-light{opacity:1}
.team-manifesto{overflow:hidden;background:var(--orange);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 0}
.team-manifesto-track{display:flex;width:max-content;animation:ticker 20s linear infinite}
.team-manifesto-track span{font-size:clamp(48px,8vw,120px);font-weight:900;letter-spacing:-.05em;white-space:nowrap}

/* Work */
.work-showcase{padding-top:0}
.project{margin-bottom:clamp(70px,11vw,160px)}
.project-feature{display:grid;grid-template-columns:1.65fr .75fr;gap:4vw;align-items:end}
.project-feature.project-reverse{grid-template-columns:.75fr 1.65fr}.project-reverse .project-media{grid-column:2}.project-reverse .project-copy{grid-row:1;grid-column:1}
.project-feature .project-media{height:min(72vw,900px)}
.project-copy{padding-top:18px}
.project-copy span,.project-copy em{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-style:normal}
.project-copy h2{font-size:clamp(38px,5vw,78px);line-height:.86;letter-spacing:-.06em;text-transform:uppercase;margin:18px 0}
.project-copy p{font-size:16px;line-height:1.5;margin-bottom:25px;max-width:470px}
.project-copy em{color:var(--muted)}
.project-duo{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(18px,3vw,48px);align-items:end}
.project-portrait .project-media{height:min(82vw,850px)}.project-landscape .project-media{height:min(52vw,620px)}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(35px,7vw,105px) clamp(18px,3vw,48px)}
.project-grid .project{margin-bottom:0}.project-grid .project:nth-child(3n+2){margin-top:120px}
.project-grid .project-media{aspect-ratio:9/13}
.project-grid .project:nth-child(3n) .project-media{aspect-ratio:4/3}
.project-media{overflow:hidden;background:#ddd}
.project-media video{transition:transform .9s var(--ease)}
.project:hover .project-media video{transform:scale(1.04)}
.archive-work{margin-top:clamp(130px,17vw,250px);padding-top:32px;border-top:1px solid var(--ink)}
.archive-heading{display:grid;grid-template-columns:.65fr 1.35fr .8fr;gap:clamp(24px,4vw,70px);align-items:end;margin-bottom:clamp(55px,7vw,100px)}
.archive-heading h2{font-size:clamp(48px,7vw,108px);font-weight:900;line-height:.82;letter-spacing:-.07em}
.archive-heading>p:last-child{font-size:15px;line-height:1.55}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(50px,7vw,100px) clamp(18px,3vw,44px)}
.archive-card:nth-child(even){margin-top:90px}
.archive-media{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:16/10;gap:4px;overflow:hidden;background:var(--ink)}
.archive-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}
.archive-media img:first-child{grid-row:1/3}
.archive-card:hover .archive-media img{transform:scale(1.035);filter:saturate(1.12)}
.archive-meta{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding-top:18px;border-top:4px solid var(--orange)}
.archive-meta span,.archive-meta p{font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.archive-meta h3{grid-row:2;font-size:clamp(26px,3vw,48px);line-height:.9;letter-spacing:-.045em}
.archive-meta p{grid-row:2;align-self:end;color:var(--muted)}
.work-finale{margin:clamp(130px,18vw,260px) 0 40px;border-top:1px solid;border-bottom:1px solid;padding:60px 0;display:flex;align-items:end;justify-content:space-between;gap:30px}
.work-finale p{font-size:clamp(45px,8vw,125px);font-weight:900;line-height:.8;letter-spacing:-.07em}
.work-finale a{background:var(--orange);border-radius:999px;padding:18px 25px;font-size:11px;font-weight:800;text-transform:uppercase;white-space:nowrap}

/* Services */
.services-hero-film{margin-bottom:0}
.services-hero-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2vw;flex-wrap:wrap;color:#fff}
.services-hero-overlay span{font-size:clamp(48px,10vw,155px);font-weight:900;letter-spacing:-.08em;mix-blend-mode:difference}
.capabilities{background:var(--white)}
.capabilities-intro{margin-bottom:clamp(80px,12vw,180px)}
.capabilities-intro .display-copy{margin-top:60px}
.capability{border-top:1px solid var(--ink)}
.capability:last-child{border-bottom:1px solid var(--ink)}
.capability>button{width:100%;border:0;background:none;padding:24px 6px;display:grid;grid-template-columns:9vw 1fr auto;align-items:center;text-align:left;cursor:pointer}
.cap-number{font-size:10px;font-weight:700;letter-spacing:.1em}
.capability h2{font-size:clamp(38px,6.5vw,105px);font-weight:900;letter-spacing:-.065em;line-height:.83;text-transform:uppercase}
.cap-plus{font-size:clamp(38px,5vw,75px);font-weight:300;transition:transform .45s var(--ease)}
.capability.is-open .cap-plus{transform:rotate(45deg)}
.cap-content{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;max-height:0;overflow:hidden;opacity:0;transition:max-height .7s var(--ease),opacity .45s,padding .7s var(--ease);padding:0 9vw}
.capability.is-open .cap-content{max-height:500px;opacity:1;padding:20px 9vw 55px}
.cap-content p{font-size:clamp(16px,1.6vw,22px);line-height:1.5}
.cap-content ul{list-style:none;columns:2;column-gap:25px}
.cap-content li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.06em;break-inside:avoid}
.service-proof{display:grid;grid-template-columns:1.4fr .8fr;min-height:90vh;background:var(--orange)}
.proof-video{min-height:600px}.proof-copy{padding:var(--pad);display:flex;flex-direction:column;justify-content:center}
.proof-copy h2{font-size:clamp(50px,7vw,110px);font-weight:900;letter-spacing:-.075em;line-height:.78;margin:50px 0}.proof-copy h2 span{color:#fff}
.proof-copy .pill-link{align-self:flex-start}

/* Contact + footer */
.contact-band{min-height:90vh;background:var(--orange);padding:clamp(90px,12vw,180px) var(--pad);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-top:1px solid var(--ink)}
.contact-orbit{position:absolute;font-size:clamp(190px,34vw,520px);font-weight:900;letter-spacing:-.1em;line-height:.7;opacity:.08;white-space:nowrap;left:-10vw;top:12%;transform:rotate(-8deg)}
.contact-band h2{position:relative;font-size:clamp(60px,12vw,190px);font-weight:900;letter-spacing:-.085em;line-height:.78;margin:55px 0}
.contact-band h2 span{-webkit-text-stroke:2px var(--ink);color:transparent}
.contact-mail{position:relative;align-self:flex-start;border-bottom:2px solid var(--ink);font-size:clamp(18px,2.5vw,38px);font-weight:700;padding-bottom:6px}
.site-footer{background:var(--paper);padding:80px var(--pad) 30px;border-top:1px solid var(--ink)}
.footer-brand img{width:min(380px,55vw)}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:90px 0}
.footer-links>div{display:flex;flex-direction:column;gap:9px}
.footer-links span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}
.footer-links a,.footer-links p{font-size:14px;line-height:1.5}.footer-links a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}

@media (max-width:900px){
  :root{--header:72px}
  .desktop-nav{display:none}.menu-toggle{display:flex!important;position:fixed;right:var(--pad);top:13px;transform:none}
  .home-header .menu-toggle{border-color:#fff}.home-header .menu-toggle span{background:#fff}
  .home-header .menu-toggle.is-open{border-color:var(--ink)}.home-header .menu-toggle.is-open span{background:var(--ink)}
  .hero-copy,.page-title{grid-template-columns:1fr}.hero-title,.hero-meta,.page-title h1,.page-lead{grid-column:1}
  .hero-title,.page-title h1{margin-top:35px}
  .section-intro{grid-template-columns:1fr}.section-intro .text-link{justify-self:start}
  .statement-grid,.services-preview,.people-intro,.project-feature,.project-feature.project-reverse,.service-proof{grid-template-columns:1fr}
  .project-reverse .project-media,.project-reverse .project-copy{grid-column:auto;grid-row:auto}
  .statement-note{max-width:520px}
  .case-stream{grid-template-columns:1fr}.case-wide,.case-tall,.case-square{height:auto;aspect-ratio:4/5;min-height:0;grid-row:auto}
  .philosophy-row{grid-template-columns:90px 1fr auto}.philosophy-row .meaning{grid-column:2;padding-bottom:15px}
  .services-heading h2{margin-bottom:70px}
  .ideology-chapter{grid-template-columns:1fr;min-height:auto;padding:100px var(--pad)}
  .chapter-copy,.chapter-media{grid-column:1}.chapter-media{height:65vh;margin-top:40px}
  .chapter-letter{font-size:70vw}
  .people-intro{display:block}.people-intro>p:last-child{margin-left:auto;max-width:430px}
  .team-experience{display:flex;flex-direction:column;min-height:0}
  .team-visual{order:1;height:min(120vw,820px)}
  .team-selector{order:2;display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));overflow-x:auto;border-right:0;border-top:1px solid var(--ink)}
  .team-tab{min-height:150px;border-right:1px solid var(--ink);border-bottom:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:15px}
  .team-tab strong{font-size:25px}.team-tab em{font-size:9px}.team-tab:hover,.team-tab.is-active{padding-left:22px}
  .project-feature .project-media{height:75vh}
  .project-duo{grid-template-columns:1fr}.project-portrait .project-media,.project-landscape .project-media{height:auto;aspect-ratio:4/5}
  .archive-heading{grid-template-columns:1fr 1fr}.archive-heading .section-index{grid-column:1/-1}.archive-heading>p:last-child{grid-column:2}
  .client-heading{grid-template-columns:1fr 1fr}.client-heading .section-index{grid-column:1/-1}.client-heading>p:last-child{grid-column:2}
  .service-proof{min-height:auto}.proof-video{height:70vh}
}

@media (max-width:620px){
  .home-hero{height:100svh;min-height:660px}
  .video-hero-media{object-position:56% center}
  .video-hero-top{top:calc(var(--header) + 20px);display:block}
  .hero-status{display:none}
  .video-hero-copy{bottom:26px}
  .video-hero .hero-title{font-size:13.2vw;letter-spacing:-.06em;max-width:100%;margin-top:0}
  .video-hero .hero-meta{margin-top:22px;padding-top:12px}
  .video-hero>.sound-toggle{top:calc(var(--header) + 62px)}
  .hero-reel-index{display:none}
  .hero-title,.page-title h1{font-size:12.7vw;letter-spacing:-.055em}
  .hero-meta{align-items:center}.hero-meta p{font-size:13px}
  .section-pad{padding-top:85px;padding-bottom:85px}
  .statement-grid{margin-top:45px}
  .display-copy{font-size:13vw}
  .case-label{grid-template-columns:1fr}.case-label em{grid-row:auto}
  .philosophy-row{grid-template-columns:66px 1fr auto;gap:12px}.philosophy-row .meaning{font-size:12px}
  .philosophy-row .letter{font-size:70px}.philosophy-row .word{font-size:34px}
  .people-copy h2,.people-intro h2{font-size:14.5vw}
  .page-title{padding-top:55px}.page-lead{font-size:17px}
  .about-film,.services-hero-film{height:78vh;margin:0}
  .about-film-type span{font-size:19vw}
  .ideology-chapter{padding-top:80px;padding-bottom:80px}
  .chapter-media{height:58vh}
  .team-visual{height:126vw;max-height:650px}
  .team-selector{grid-template-columns:repeat(4,72vw)}
  .team-tab{min-height:130px}
  .portrait-type{padding:18px}.portrait-type span{font-size:17vw}.portrait-type b{font-size:11px}
  .team-visual.is-exploring .team-portrait.is-active .portrait-alt{clip-path:circle(0 at 50% 50%)}
  .team-portrait.is-flipped .portrait-alt{clip-path:circle(150% at 50% 50%)!important;transition:clip-path .55s var(--ease)}
  .team-light{display:none}
  .project-feature .project-media{height:auto;aspect-ratio:4/5}
  .project-grid{grid-template-columns:1fr}.project-grid .project:nth-child(3n+2){margin-top:0}.project-grid .project-media,.project-grid .project:nth-child(3n) .project-media{aspect-ratio:4/5}
  .archive-heading{grid-template-columns:1fr}.archive-heading>p:last-child{grid-column:auto}.archive-grid{grid-template-columns:1fr}.archive-card:nth-child(even){margin-top:0}.archive-meta{grid-template-columns:1fr}.archive-meta p{grid-row:auto}
  .client-heading{grid-template-columns:1fr}.client-heading>p:last-child{grid-column:auto;width:100%;max-width:none;overflow-wrap:break-word}.brand-logo{width:155px;height:100px}
  .work-finale{align-items:flex-start;flex-direction:column}
  .capability>button{grid-template-columns:40px 1fr auto}
  .capability h2{font-size:10vw}
  .cap-content,.capability.is-open .cap-content{grid-template-columns:1fr;padding-left:40px;padding-right:10px}.cap-content ul{columns:1}
  .proof-video{height:65vh;min-height:0}
  .footer-links{grid-template-columns:1fr;margin:65px 0;gap:36px}.footer-bottom{flex-direction:column}
  .contact-band{min-height:75vh}.contact-band h2{font-size:15vw}.contact-band h2 span{-webkit-text-stroke:1px var(--ink)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal,.reveal-media{opacity:1;transform:none;clip-path:none}
  .brand-track{width:100%;display:grid;grid-template-columns:repeat(5,1fr);animation:none}.brand-logo{width:auto}
}
