@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-wdth-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-ext-wdth-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}

:root{
  color-scheme: dark;
  --night:#0F161C; --panel:#162029; --line:#26323C;
  --text:#EDEAE4; --muted:#9AA6AF;
  --paper:#F2EEE7; --paper-2:#E8E2D8; --ink:#141B21; --ink-muted:#555E66;
  --red:#E3231C; --red-soft:#FF6A5F; --red-ink:#B81A14;
  --gold:#C9A45C; --gold-ink:#7A5E22;
  --silver:#D5DBE0; --blue:#7FA8C9; --blue-ink:#2F5570;
  --display:'Archivo', 'Arial Narrow', Arial, sans-serif;
  --body:'Archivo', Arial, sans-serif;
  --mono:'IBM Plex Mono', 'Courier New', monospace;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;background:var(--night);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--red-soft);outline-offset:3px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.display{font-family:var(--display);font-stretch:125%;font-weight:800;letter-spacing:-0.01em;line-height:1.02;text-wrap:balance;margin:0}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:62ch;margin:0}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;padding:14px 22px;border:1.5px solid currentColor;transition:background .2s,color .2s}
.btn-red{background:var(--red);border-color:var(--red);color:#fff}
.btn-red:hover{background:var(--red-ink);border-color:var(--red-ink)}
.btn-ghost:hover{background:var(--text);color:var(--night)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(15,22,28,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.logo{display:block;width:132px;height:auto}
.nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;font-size:14px;font-weight:600}
.nav ul a{text-decoration:none;color:var(--muted)}
.nav ul a:hover{color:var(--text)}
.nav .btn{padding:10px 16px;font-size:13px}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--text);font:600 13px var(--body);padding:9px 12px}
@media (max-width:960px){
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--night);border-bottom:1px solid var(--line);padding:8px 16px 16px}
  .nav ul.open{display:flex}
  .nav ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav .cta-desk{display:none}
  .menu-btn{display:block}
}

/* hero */
.hero{padding-block:clamp(48px,8vw,96px) 0}
.hero .display{font-size:clamp(44px,8.2vw,112px)}
.hero .display em{font-style:normal;color:var(--red)}
.hero-top{display:grid;gap:28px}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.frame{margin-top:clamp(36px,5vw,56px);background:#000;padding-block:clamp(18px,3vw,36px);border-block:1px solid var(--line)}
.frame figure{margin:0;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.frame img{width:100%;height:auto;aspect-ratio:2.39/1;object-fit:cover;object-position:50% 40%}
.frame figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}

/* clients */
.clients{padding-block:36px;border-bottom:1px solid var(--line)}
.clients p{margin:0 0 14px;color:var(--muted)}
.clients ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 34px;font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(16px,1.6vw,20px);color:var(--silver)}

/* doors */
.doors{padding-block:clamp(56px,8vw,96px)}
.section-head{display:grid;gap:14px;margin-bottom:36px}
.section-head .display{font-size:clamp(32px,4.6vw,58px)}
.door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:860px){.door-grid{grid-template-columns:1fr}}
@media (max-width:560px){.door-grid{grid-template-columns:1fr}}
.door{display:flex;flex-direction:column;background:var(--panel);text-decoration:none;border-top:4px solid var(--c);transition:transform .2s}
.door:hover{transform:translateY(-4px)}
.door img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(.9)}
.door .body{display:flex;flex-direction:column;gap:8px;padding:20px 20px 24px;flex:1}
.door .eyebrow{color:var(--c)}
.door h3{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:24px;line-height:1.1;margin:0}
.door p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.5}
.door .go{margin-top:auto;padding-top:10px;font-weight:700;font-size:14px;color:var(--text)}

/* studio (light) */
.studio{background:var(--paper);color:var(--ink);padding-block:clamp(64px,9vw,112px)}
.studio .eyebrow{color:var(--red-ink)}
.studio .lead{color:var(--ink-muted)}
.lines{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border-top:2px solid var(--ink)}
@media (max-width:860px){.lines{grid-template-columns:1fr}}
.line{padding:28px 28px 32px 0;display:flex;flex-direction:column;gap:10px}
.line + .line{padding-left:28px;border-left:1px solid #CFC7BA}
@media (max-width:860px){.line + .line{padding-left:0;border-left:0;border-top:1px solid #CFC7BA}}
.line h3{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:26px;line-height:1.1;margin:0}
.line p{margin:0;color:var(--ink-muted);font-size:16px}
.line ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15.5px}
.line li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #BDB4A6;padding-bottom:6px}
.line li span:last-child{font-family:var(--mono);font-size:13.5px;white-space:nowrap;color:var(--ink)}
.cases{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
@media (max-width:1000px){.cases{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cases{grid-template-columns:1fr}}
.case{background:#fff;display:flex;flex-direction:column}
.case img{aspect-ratio:16/10;object-fit:cover;width:100%}
.case .b{padding:18px 18px 22px;display:grid;gap:6px}
.case .num{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:28px;line-height:1;color:var(--red-ink);font-variant-numeric:tabular-nums}
.case p{margin:0;font-size:15px;color:var(--ink-muted)}
.case h4{margin:0;font-size:15px;font-weight:700}
.reel{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:48px}
@media (max-width:760px){.reel{grid-template-columns:repeat(3,1fr)}}
.reel figure{margin:0;position:relative}
.reel img{aspect-ratio:16/10;object-fit:cover;width:100%}
.reel figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding-top:6px}

/* impact */
.impact{background:#0A0F13;padding-block:clamp(64px,9vw,112px)}
.impact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.impact-grid{grid-template-columns:1fr}}
.impact img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.impact .eyebrow{color:var(--red-soft)}
.impact .display{font-size:clamp(34px,4.8vw,62px);margin-top:14px}
.impact .lead{color:var(--muted);margin-top:18px}
.facts{display:grid;gap:0;margin:26px 0 30px;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.facts dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.facts dd{margin:0}
@media (max-width:480px){.facts div{grid-template-columns:1fr;gap:2px}}

.sm-imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sm-imgs img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* pictures */
.pictures{padding-block:clamp(64px,9vw,112px)}
.pictures .eyebrow{color:var(--silver)}
.pictures .lead{color:var(--muted)}
.slate{margin-top:40px;border-top:1px solid var(--line);overflow-x:auto}
.slate table{width:100%;border-collapse:collapse;min-width:640px}
.slate th{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:14px 12px 10px 0;border-bottom:1px solid var(--line)}
.slate td{padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:15.5px}
.slate td:first-child{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:19px}
.slate td.mono{font-family:var(--mono);font-size:13.5px;color:var(--muted);white-space:nowrap}
.pic-strip{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:40px}
@media (max-width:760px){.pic-strip{grid-template-columns:1fr}}
.pic-strip img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(1)}
.pic-strip img.premiere{object-position:61% 30%}
.us-note{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;color:var(--muted);font-size:15.5px}

/* distribution */
.distrib{background:#101B24;padding-block:clamp(64px,9vw,112px);border-top:4px solid var(--blue)}
.distrib .eyebrow{color:var(--blue)}
.distrib .lead{color:#A9B8C4}
.dist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
@media (max-width:1000px){.dist-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.dist-grid{grid-template-columns:1fr}}
.channel{background:#15242F;padding:24px;display:flex;flex-direction:column;gap:10px;border-top:3px solid var(--blue)}
.channel .who{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:0}
.channel h3{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:22px;margin:0;line-height:1.1}
.channel p{margin:0;color:#A9B8C4;font-size:15.5px}
.channel .proof{margin-top:auto;padding-top:12px;border-top:1px solid #2A3C4A;font-size:14px;color:#DCE6EE}
.dist-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;color:#A9B8C4;font-size:15.5px}
.dist-foot b{color:#DCE6EE;font-weight:600}
.btn-blue{background:var(--blue);border-color:var(--blue);color:#0C151C}
.btn-blue:hover{background:#9CC0DC;border-color:#9CC0DC}

/* team */
.team{padding-block:clamp(64px,9vw,112px)}
.team .eyebrow{color:var(--red-soft)}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line)}
@media (max-width:760px){.numbers{grid-template-columns:repeat(2,1fr)}}
.numbers div{padding:22px 16px 22px 0;border-bottom:1px solid var(--line)}
.numbers b{display:block;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(36px,4vw,52px);line-height:1;font-variant-numeric:tabular-nums}
.numbers span{color:var(--muted);font-size:15px}
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:48px}
@media (max-width:760px){.people{grid-template-columns:1fr}}
.person{display:grid;grid-template-columns:140px 1fr;gap:20px;background:var(--panel);padding:20px}
@media (max-width:420px){.person{grid-template-columns:1fr}}
.person img{width:140px;height:175px;object-fit:cover;object-position:50% 15%}
.person h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:22px}
.person .role{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--red-soft);margin:4px 0 10px}
.person p{margin:0;color:var(--muted);font-size:15.5px}
.founders{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
@media (max-width:960px){.founders{grid-template-columns:1fr}}
@media (max-width:460px){.founders{grid-template-columns:1fr}}
.founders article{background:var(--panel);padding:16px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto 1fr;column-gap:16px;row-gap:4px;align-content:start}
.founders img{grid-row:1 / span 3;width:110px;height:138px;object-fit:cover;object-position:50% 15%}
.founders h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:20px}
.founders .role{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red-soft);margin:0}
.founders p{margin:0;color:var(--muted);font-size:15px}
.crew{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border-top:1px solid var(--line)}
@media (max-width:760px){.crew{grid-template-columns:1fr}}
.crew div{padding:16px 16px 16px 0;border-bottom:1px solid var(--line)}
.crew b{display:block;font-size:16px}
.crew span{color:var(--muted);font-size:14.5px}

/* contact */
.contact{background:var(--paper);color:var(--ink);padding-block:clamp(64px,9vw,112px)}
.contact .eyebrow{color:var(--red-ink)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);margin-top:36px}
@media (max-width:860px){.ct-grid{grid-template-columns:1fr}}
form{display:grid;gap:14px}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input,select,textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #BDB4A6;background:#fff;color:var(--ink);border-radius:0;width:100%}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:14px;color:var(--ink-muted);margin:0}
.sent{background:#fff;border-left:4px solid var(--red);padding:14px 16px;font-size:15px}
.offices{display:grid;gap:0;border-top:2px solid var(--ink)}
.office{padding:18px 0;border-bottom:1px solid #CFC7BA;display:grid;gap:4px}
.office b{font-family:var(--display);font-stretch:112%;font-size:20px}
.office span{color:var(--ink-muted);font-size:15.5px;user-select:all}

/* know-how */
.knowhow{padding-block:clamp(64px,9vw,112px);background:#0A0F13;border-bottom:1px solid var(--line)}
.knowhow .eyebrow{color:var(--red-soft)}
.knowhow .lead{color:var(--muted)}
.kh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line)}
@media (max-width:1000px){.kh-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.kh-grid{grid-template-columns:1fr}}
.kh{padding:26px 24px 30px 0;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}
.kh + .kh{padding-left:24px;border-left:1px solid var(--line)}
@media (max-width:1000px){.kh:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:560px){.kh + .kh{padding-left:0;border-left:0}}
.kh .n{font-family:var(--mono);font-size:12.5px;color:var(--red-soft);letter-spacing:.1em}
.kh h3{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:23px;line-height:1.1;margin:0}
.kh p{margin:0;color:var(--muted);font-size:15.5px}
.quote-band{margin-top:48px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.quote-band i{display:block;width:56px;height:6px;background:var(--red)}
.quote-band p{margin:0;font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(20px,2.4vw,30px);line-height:1.25;max-width:40ch}
/* method */
.method{background:var(--paper-2);color:var(--ink);padding-block:clamp(64px,9vw,112px)}
.method .eyebrow{color:var(--red-ink)}
.method .lead{color:var(--ink-muted)}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;counter-reset:st}
@media (max-width:960px){.steps4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps4{grid-template-columns:1fr}}
.step{background:#fff;padding:24px;border-top:4px solid var(--red);display:flex;flex-direction:column;gap:8px}
.step b{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:44px;line-height:1;color:var(--red-ink)}
.step h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:21px}
.step p{margin:0;font-size:15.5px;color:var(--ink-muted)}
.deliver{margin-top:40px;display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px,4vw,56px);align-items:start;border-top:2px solid var(--ink);padding-top:28px}
@media (max-width:860px){.deliver{grid-template-columns:1fr}}
.deliver h3{margin:0;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(24px,2.6vw,32px);line-height:1.1}
.deliver ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
@media (max-width:560px){.deliver ul{grid-template-columns:1fr}}
.deliver li{padding-left:22px;position:relative;font-size:16px}
.deliver li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--red)}
/* faq */
.faq{padding-block:clamp(64px,9vw,112px)}
.faq .eyebrow{color:var(--red-soft)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(18px,1.8vw,22px);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red-soft);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--muted);max-width:70ch}
/* cta band */
.cta-band{background:var(--red);color:#fff;padding-block:clamp(48px,7vw,80px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between}
.cta-band .display{font-size:clamp(28px,4vw,50px);max-width:20ch}
.cta-band p{margin:10px 0 0;font-size:17px;opacity:.92;max-width:52ch}
.btn-white{background:#fff;border-color:#fff;color:var(--red-ink)}
.btn-white:hover{background:var(--night);border-color:var(--night);color:#fff}
.talent{margin-top:16px;color:var(--muted);font-size:15px}
.talent b{color:var(--text);font-weight:600}
footer{padding-block:36px 104px;}
@media (max-width:760px){footer{padding-bottom:170px}}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 32px;justify-content:space-between;align-items:center}
footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0}
footer a{text-decoration:none}
footer a:hover{color:var(--text)}
.ask-price{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-top:28px;padding:22px 24px;border:1px solid rgba(15,22,28,.18)}
.ask-price p{margin:0;max-width:60ch;font-size:16px;line-height:1.5}
/* lang switch */
.navr{display:flex;align-items:center;gap:14px}
.lang{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-decoration:none;color:var(--muted);border:1px solid var(--line);padding:8px 10px}
.lang:hover{color:var(--text);border-color:var(--muted)}
.lang b{color:var(--text);font-weight:500}
.legal{display:flex;flex-direction:column;gap:6px;max-width:760px}
.legal small{font-size:12.5px;line-height:1.5}
.legal a{text-decoration:underline}
.form-note a{color:inherit}
#ad-note{font-size:11.5px;line-height:1.4;color:#9AA6AF;padding:0 16px 12px;margin:0}
#ad-note a{color:#9AA6AF}
.proto{background:#221410;color:#F3C9C3;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-align:center;padding:8px 16px}

#ad-chat-btn{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(84px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;background:#E3231C;color:#fff;border:0;border-radius:999px;padding:14px 20px;font:700 15px Archivo,Arial,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4)}
#ad-chat-btn:hover{background:#B81A14}
#ad-chat-btn svg{width:20px;height:20px}
#ad-chat{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(84px,env(safe-area-inset-bottom));z-index:61;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 110px));background:#0F161C;color:#EDEAE4;border:1px solid #26323C;box-shadow:0 20px 60px rgba(0,0,0,.55);display:none;flex-direction:column;font-family:Archivo,Arial,sans-serif}
#ad-chat.open{display:flex}
#ad-chat header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #26323C;background:#162029}
#ad-chat header b{display:block;font-size:15px}
#ad-chat header span{font-size:12px;color:#9AA6AF}
#ad-chat header button{background:none;border:1px solid #26323C;color:#EDEAE4;width:34px;height:34px;cursor:pointer;font-size:18px;line-height:1}
#ad-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ad-msg{max-width:88%;padding:10px 13px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.ad-bot{background:#162029;align-self:flex-start;border-left:3px solid #E3231C}
.ad-user{background:#EDEAE4;color:#141B21;align-self:flex-end}
.ad-msg a{color:#FF6A5F}
.ad-user a{color:#B81A14}
#ad-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
#ad-chips button{background:none;border:1px solid #3A4854;color:#EDEAE4;padding:7px 10px;font:500 13px Archivo,Arial,sans-serif;cursor:pointer}
#ad-chips button:hover{border-color:#E3231C}
#ad-form{display:flex;gap:8px;padding:12px 16px 14px;border-top:1px solid #26323C}
#ad-form input{flex:1;min-width:0;background:#162029;border:1px solid #26323C;color:#EDEAE4;padding:11px 12px;font:16px Archivo,Arial,sans-serif}
#ad-form button{background:#E3231C;border:0;color:#fff;padding:0 14px;font:700 14px Archivo,Arial,sans-serif;cursor:pointer}
#ad-form button:disabled{opacity:.5;cursor:default}
.ad-typing{color:#9AA6AF;font-size:13px;padding-left:4px}

/* ===== multi-page additions ===== */
img{height:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:16px;top:12px}
.nav ul{gap:22px}
.nav ul a[aria-current="page"]{color:var(--text);box-shadow:inset 0 -2px 0 var(--red)}
@media (max-width:1180px){
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--night);border-bottom:1px solid var(--line);padding:8px 16px 16px;max-height:calc(100vh - 70px);overflow:auto}
  .nav ul.open{display:flex}
  .nav ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav ul a[aria-current="page"]{box-shadow:none;color:var(--red-soft)}
  .nav .cta-desk{display:none}
  .menu-btn{display:block}
}

/* page hero */
.phero{padding-block:clamp(40px,7vw,88px) clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}
.phero .wrap{display:grid;gap:22px}
.phero h1{font-family:var(--display);font-stretch:125%;font-weight:800;letter-spacing:-0.01em;line-height:1.02;text-wrap:balance;margin:0;font-size:clamp(38px,6.4vw,86px);max-width:18ch}
.phero h1 em{font-style:normal;color:var(--red)}
.phero .lead{color:var(--muted)}
.phero .eyebrow{color:var(--red-soft)}
.phero.c-silver .eyebrow{color:var(--silver)}
.phero.c-blue .eyebrow{color:var(--blue)}
.phero.c-blue{border-top:4px solid var(--blue)}
.phero-actions{display:flex;flex-wrap:wrap;gap:12px}
.phero-img{margin-top:clamp(24px,4vw,40px)}
.phero-img img{width:100%;height:auto;aspect-ratio:2.39/1;object-fit:cover}
.phero-img.r169 img{aspect-ratio:16/9;object-position:50% 100%}
.phero-img figcaption{margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bw{filter:grayscale(1)}

/* breadcrumbs */
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);margin:0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--text)}

/* generic sections */
.sec{padding-block:clamp(56px,8vw,104px)}
.sec + .sec{border-top:1px solid var(--line)}
.sec.paper{background:var(--paper);color:var(--ink)}
.sec.paper2{background:var(--paper-2);color:var(--ink)}
.sec.paper .eyebrow,.sec.paper2 .eyebrow{color:var(--red-ink)}
.sec.paper .lead,.sec.paper2 .lead{color:var(--ink-muted)}
.sec.deep{background:#0A0F13}
.sec .eyebrow{color:var(--red-soft)}
.sec.blue{background:#101B24}
.sec.blue .eyebrow{color:var(--blue)}
.sec.blue .lead{color:#A9B8C4}
.sec + .sec.paper,.sec.paper + .sec{border-top:0}

/* two columns text */
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.split .display{font-size:clamp(30px,4vw,50px)}
.txt p{margin:0 0 16px;font-size:17.5px;line-height:1.65}
.txt p:last-child{margin-bottom:0}
.sec:not(.paper):not(.paper2) .txt p{color:#C9D1D7}
.sec.paper .txt p,.sec.paper2 .txt p{color:#2C343B}

/* service blocks */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid currentColor;margin-top:40px}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr}}
.svc{padding:28px 26px 32px 0;border-bottom:1px solid rgba(127,127,127,.3);display:flex;flex-direction:column;gap:10px}
.svc:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid rgba(127,127,127,.3)}
@media (max-width:960px){.svc:not(:nth-child(3n+1)){padding-left:0;border-left:0}.svc:nth-child(2n){padding-left:26px;border-left:1px solid rgba(127,127,127,.3)}}
@media (max-width:600px){.svc:nth-child(2n){padding-left:0;border-left:0}}
.svc .n{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--red-ink)}
.sec:not(.paper):not(.paper2) .svc .n{color:var(--red-soft)}
.svc h3{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:24px;line-height:1.1;margin:0}
.svc p{margin:0;font-size:16px;line-height:1.55}
.sec.paper .svc p{color:var(--ink-muted)}
.sec:not(.paper) .svc p{color:var(--muted)}
.svc ul{margin:4px 0 0;padding-left:18px;font-size:15px;line-height:1.5}
.sec.paper .svc ul{color:#3B444B}
.svc a.more{margin-top:auto;padding-top:8px;font-weight:700;font-size:14px;text-decoration:none}
.svc a.more:hover{text-decoration:underline}

/* chips / filters */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chips button{background:none;border:1px solid var(--line);color:var(--muted);padding:9px 14px;font:600 14px var(--body);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--text);color:var(--night);border-color:var(--text)}
.chips button:hover{border-color:var(--muted);color:var(--text)}
.chips button[aria-pressed="true"]:hover{color:var(--night)}

/* portfolio */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
@media (max-width:1000px){.works{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.works{grid-template-columns:1fr}}
.work{background:var(--panel);display:flex;flex-direction:column}
.work[hidden]{display:none}
.work .ph{position:relative;background:#000}
.work img{width:100%;aspect-ratio:16/10;object-fit:cover}
.work .tag{position:absolute;left:12px;top:12px;background:rgba(15,22,28,.86);color:var(--text);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px}
.work .b{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.work .client{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-soft);margin:0}
.work h2,.work h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:22px;line-height:1.15}
.work p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.work .kpi{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.work .kpi b{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:26px;color:var(--text);font-variant-numeric:tabular-nums}
.work .kpi span{font-size:14px;color:var(--muted)}
.work a.go{font-weight:700;font-size:14px;text-decoration:none;margin-top:6px}
.work a.go:hover{text-decoration:underline}

/* film catalogue */
.films{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
@media (max-width:1100px){.films{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.films{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.films:not(.cat-teaser){grid-template-columns:repeat(2,minmax(0,1fr))}.poster{padding:14px}.poster .t{font-size:16px;font-stretch:100%}.film .meta{padding:12px;font-size:13.5px}}
.film{display:flex;flex-direction:column;background:var(--panel);text-decoration:none;border-top:3px solid var(--fc,var(--silver));transition:transform .2s}
a.film:hover{transform:translateY(-3px)}
.film[hidden]{display:none}
.poster{aspect-ratio:2/3;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:linear-gradient(160deg,#1B2731 0%,#0B1116 70%);overflow:hidden}
.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.55)}
.poster::before{content:"";position:absolute;right:-30%;top:-10%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--fc,var(--silver)) 0%,transparent 62%);opacity:.18}
.poster::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.poster .yr{position:absolute;left:18px;top:16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.poster .t{position:relative;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:clamp(20px,1.9vw,27px);line-height:1.02;text-transform:uppercase;color:#F4F1EC;text-wrap:balance;overflow-wrap:break-word;hyphens:manual}
.poster .g{position:relative;margin-top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fc,var(--silver))}
.film .meta{padding:14px 16px 18px;display:grid;gap:6px;font-size:14.5px;color:var(--muted);line-height:1.45}
.film .meta b{color:var(--text);font-weight:600}
.film .meta .open{font-weight:700;color:var(--text);font-size:13.5px}

/* film page */
.filmhero{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:760px){.filmhero{grid-template-columns:1fr}.filmhero .film{max-width:300px}}
.spec{display:grid;border-top:1px solid var(--line);margin:0}
.spec div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.spec dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding-top:2px}
.spec dd{margin:0}
@media (max-width:480px){.spec div{grid-template-columns:1fr;gap:2px}}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
@media (max-width:1000px){.posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.posts{grid-template-columns:1fr}}
.post{background:var(--panel);display:flex;flex-direction:column;text-decoration:none;border-top:3px solid var(--pc,var(--red))}
.post[hidden]{display:none}
.post:hover h3,.post:hover h2{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.post .b{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pc,var(--red-soft));margin:0}
.post h2,.post h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:23px;line-height:1.15}
.post p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.post .rt{margin-top:auto;padding-top:12px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em}
.post img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1)}

.article-head{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,40px);border-bottom:1px solid var(--line)}
.article-head .wrap{display:grid;gap:18px}
.article-head h1{max-width:22ch}
.article-head h1{font-family:var(--display);font-stretch:118%;font-weight:800;line-height:1.05;margin:0;font-size:clamp(34px,5vw,62px);text-wrap:balance}
.byline{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.article{display:grid;grid-template-columns:minmax(0,720px) 260px;gap:clamp(32px,6vw,80px);padding-block:clamp(36px,5vw,64px) clamp(56px,8vw,96px)}
@media (max-width:1000px){.article{grid-template-columns:1fr}.article aside{order:-1}}
.prose{font-size:18px;line-height:1.72;color:#D3D9DE}
.prose > *:first-child{margin-top:0}
.prose h2{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:clamp(25px,2.6vw,32px);line-height:1.15;color:#fff;margin:48px 0 14px;scroll-margin-top:90px}
.prose h3{font-family:var(--display);font-stretch:108%;font-weight:700;font-size:21px;line-height:1.25;color:#fff;margin:32px 0 10px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose a{color:var(--red-soft);text-underline-offset:3px}
.prose strong{color:#fff}
.prose blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:4px solid var(--red);font-family:var(--display);font-stretch:108%;font-weight:700;font-size:22px;line-height:1.35;color:#fff}
.prose table{width:100%;border-collapse:collapse;font-size:16px;margin:8px 0 24px}
.prose th,.prose td{text-align:left;padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tldr{background:var(--panel);border-left:4px solid var(--red);padding:20px 22px;margin:0 0 32px}
.tldr p.eyebrow{color:var(--red-soft);margin-bottom:8px}
.tldr ul{margin:0;padding-left:20px}
.tldr li{margin-bottom:6px;font-size:16.5px}
.toc{position:sticky;top:96px;display:grid;gap:22px;align-self:start;align-content:start}
.toc p{margin:0}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px;line-height:1.4}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--text)}
.toc .box{background:var(--panel);padding:18px;display:grid;gap:10px;border-top:3px solid var(--red)}
.toc .box b{font-family:var(--display);font-stretch:112%;font-size:18px;line-height:1.2}
.toc .box p{color:var(--muted);font-size:14.5px;line-height:1.45}
@media (max-width:1000px){.toc{position:static}.toc nav{display:none}}
.author{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}
.author img{width:72px;height:72px;object-fit:cover;object-position:50% 15%;border-radius:50%}
.author b{display:block}
.author span{color:var(--muted);font-size:15px}
.faq-inline details{border-bottom:1px solid var(--line);padding:16px 0}
.faq-inline details:first-of-type{border-top:1px solid var(--line)}
.faq-inline summary{cursor:pointer;list-style:none;font-weight:700;font-size:18px;display:flex;justify-content:space-between;gap:16px;color:#fff}
.faq-inline summary::-webkit-details-marker{display:none}
.faq-inline summary::after{content:"+";color:var(--red-soft);font-weight:400}
.faq-inline details[open] summary::after{content:"–"}
.faq-inline details p{margin:10px 0 0}

/* faq groups */
.faq h2.group{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-soft);margin:48px 0 14px}
.faq h2.group:first-of-type{margin-top:8px}

/* steps on dark */
.steps-dark{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
@media (max-width:960px){.steps-dark{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps-dark{grid-template-columns:1fr}}
.steps-dark div{background:var(--panel);padding:24px;border-top:3px solid var(--sc,var(--red));display:flex;flex-direction:column;gap:8px}
.steps-dark b{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:40px;line-height:1;color:var(--sc,var(--red-soft))}
.steps-dark h3{margin:0;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:20px;line-height:1.15}
.steps-dark p{margin:0;color:var(--muted);font-size:15.5px}
.sec.blue .steps-dark div{background:#15242F}

/* check list */
.checks{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
@media (max-width:640px){.checks{grid-template-columns:1fr}}
.checks li{padding-left:24px;position:relative;font-size:16.5px;line-height:1.5}
.checks li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;background:var(--cc,var(--red))}

/* related links */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
@media (max-width:860px){.related{grid-template-columns:1fr}}
.related a{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--panel);text-decoration:none;border-left:3px solid var(--red)}
.related a b{font-family:var(--display);font-stretch:112%;font-size:19px;line-height:1.2}
.related a span{color:var(--muted);font-size:15px}
.related a:hover b{text-decoration:underline}
.sec.paper .related a{background:#fff}
.sec.paper .related a span{color:var(--ink-muted)}

.more-row{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-top:32px}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ink:hover{background:var(--red-ink);border-color:var(--red-ink)}
.sec.paper .btn-ghost:hover{background:var(--ink);color:#fff}

/* office cards */
.offices-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
@media (max-width:960px){.offices-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.offices-grid{grid-template-columns:1fr}}
.offices-grid div{background:var(--panel);padding:22px;display:grid;gap:6px;align-content:start;border-top:3px solid var(--red)}
.offices-grid b{font-family:var(--display);font-stretch:112%;font-size:21px}
.offices-grid span{color:var(--muted);font-size:15px}

/* footer columns */
.fcols{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px;padding-block:48px 36px;border-bottom:1px solid var(--line);margin-bottom:28px}
@media (max-width:960px){.fcols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.fcols{grid-template-columns:1fr}}
.fcols p.eyebrow{color:var(--text);margin-bottom:12px;font-size:12px}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.fcols .claim{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:22px;line-height:1.15;color:var(--text);margin:14px 0 8px;max-width:16ch}
footer.site{padding-top:0}
footer.site > .wrap.bottom{display:flex;flex-wrap:wrap;gap:14px 32px;justify-content:space-between;align-items:center}
footer.site .fcols{display:grid;align-items:start}

/* home teasers */
.cat-teaser{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:36px}
@media (max-width:1100px){.cat-teaser{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.cat-teaser{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat-teaser .poster{padding:14px}.cat-teaser .poster .t{font-size:clamp(14px,1.15vw,17px);font-stretch:100%}
@media (max-width:560px){.cat-teaser .poster .t{font-size:16px}}

.note{font-size:14.5px;color:var(--muted)}
.center{text-align:center}

.poster .st{position:absolute;right:16px;top:13px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid rgba(255,255,255,.25);color:#DCE3E8;background:rgba(11,17,22,.6)}
.poster .st-stream{border-color:#7FA8C9;color:#BFD6E8}
.poster .st-fest,.poster .st-award{border-color:#C9A45C;color:#E6CC95}
.poster .st-prod{border-color:#FF6A5F;color:#FFB3AC}
.cat-teaser .poster .st{display:none}

.poster.has-poster{padding:0;background:#BB150D}
.poster.has-poster img{filter:none;object-fit:cover;object-position:50% 0}
.poster.has-poster::before,.poster.has-poster::after{display:none}
.work .ph-poster{background:#BB150D}
.work .ph-poster img{object-fit:contain}

.trailer{position:relative;display:block;background:#000;margin-bottom:12px}
.trailer img{width:100%;aspect-ratio:2.39/1;object-fit:cover;opacity:.82;transition:opacity .2s}
.trailer:hover img{opacity:1}
.trailer .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;font-weight:700;font-size:16px;padding:16px 24px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.trailer .play svg{width:22px;height:22px}
.stills{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:760px){.stills{grid-template-columns:1fr 1fr}}
.stills img{width:100%;aspect-ratio:2.39/1;object-fit:cover}
@media (max-width:760px){.split[style]{grid-template-columns:1fr!important}}

/* ---------- Motion (Oct 2026): progressive enhancement, content always in the HTML ---------- */
@media (prefers-reduced-motion: no-preference){
  /* hero title: words rise behind a mask, transform only (no opacity: LCP and crawlers see the text at once) */
  .hero .display .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
  .hero .display .w>span{display:inline-block;animation:ad-rise 1s cubic-bezier(.2,.7,.1,1) both;animation-delay:calc(var(--i,0) * 70ms)}
  .hero .lead,.hero .hero-actions,.hero .hero-meta{animation:ad-up .9s .35s cubic-bezier(.2,.7,.1,1) both}
  /* hero image: slow push-in, like a camera move */
  .frame img{animation:ad-push 9s cubic-bezier(.2,.6,.2,1) both}
  .frame figure{overflow:hidden}
  /* clients: endless roll (JS duplicates the list as aria-hidden) */
  .clients.roll .wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .clients.roll ul{flex-wrap:nowrap;width:max-content;white-space:nowrap;animation:ad-crawl 60s linear infinite}
  .clients.roll:hover ul{animation-play-state:paused}
  /* reveal on scroll: only elements the script marks .pre are hidden */
  .rv{transition:opacity .8s cubic-bezier(.2,.7,.1,1),transform .8s cubic-bezier(.2,.7,.1,1);transition-delay:calc(var(--d,0) * 80ms)}
  .rv.pre{opacity:0;transform:translateY(26px)}
  /* doors: letterbox bars open on hover, image pushes in */
  .door{position:relative;overflow:hidden}
  .door .ph-door{position:relative;overflow:hidden;display:block}
  .door img{transition:transform 1.1s cubic-bezier(.2,.7,.1,1),filter .6s}
  .door:hover img,.door:focus-visible img{transform:scale(1.06);filter:saturate(1.05)}
  .door .ph-door::before,.door .ph-door::after{content:"";position:absolute;left:0;right:0;height:13%;background:#000;z-index:1;transition:transform .7s cubic-bezier(.7,0,.2,1)}
  .door .ph-door::before{top:0}.door .ph-door::after{bottom:0}
  .door:hover .ph-door::before,.door:focus-visible .ph-door::before{transform:translateY(-100%)}
  .door:hover .ph-door::after,.door:focus-visible .ph-door::after{transform:translateY(100%)}
  /* cards: image push-in */
  .work .ph,.film .ph,.film>img,.case .ph{overflow:hidden}
  .work img,.film img,.case img{transition:transform 1s cubic-bezier(.2,.7,.1,1)}
  .work:hover img,.film:hover img,.case:hover img{transform:scale(1.045)}
  /* manifesto words light up while scrolling */
  .lit-words .lw{transition:opacity .35s;opacity:var(--o,1)}
}
@keyframes ad-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes ad-up{from{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ad-push{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes ad-crawl{to{transform:translateX(-50%)}}
.stills img:only-child{grid-column:1/-1}

