/* Shared navigation and editorial pages. Portfolio media stays untouched. */
.header .header-note{display:none}
.header nav{gap:24px;font-size:14px;flex-wrap:wrap}
.header nav [aria-current="page"]{border-color:currentColor}
.header nav a{white-space:nowrap}
.single-page{--site-nav-height:68px}
.single-page .header{position:sticky;top:0;z-index:10}
.header nav [aria-current="location"]{border-color:currentColor}
.one-page-section{scroll-margin-top:0}
.process-section,.models-section{background:var(--paper);color:var(--ink)}
.models-section{border-top:1px solid #aaa9a1}
.sound-section{background:var(--ink);color:var(--paper)}
.portfolio-disclosure{background:var(--paper);margin:0;padding:18px 28px;border-bottom:1px solid #aaa9a1;font-size:14px;line-height:1.5;color:#4e4e48}
.portfolio-disclosure a{text-decoration:underline;text-underline-offset:3px}
.hero .concept-credit{position:absolute;top:104px;left:28px;max-width:280px;padding:6px 9px;background:#111a;color:white;font-size:12px;letter-spacing:.04em;line-height:1.5}
.case-disclosure{font-size:14px;line-height:1.6;color:#5e5e56;max-width:750px;margin:0 0 28px}
.site-legal{border-top:1px solid #55554d;padding-top:24px;margin-bottom:30px;max-width:1050px}
.site-legal h2{font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}
.site-legal p{font-size:14px;line-height:1.7;color:#bdbdb5;letter-spacing:0;margin:0}
.site-legal p+p{margin-top:14px}
.site-legal:target{scroll-margin-top:20px}
.text-link{display:inline-block;font-size:14px;letter-spacing:.06em;padding:12px 0 8px;border-bottom:1px solid currentColor}
.process-link{margin-top:28px}
.studio-page{background:var(--paper)}
.studio-page main{min-height:65vh}
.page-intro{padding:64px 40px 48px}
.page-kicker{display:flex;justify-content:space-between;gap:24px;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.page-intro h2{font-size:clamp(3.4rem,8.2vw,8rem);line-height:.94;font-weight:400;letter-spacing:-.065em;margin:50px 0 32px;max-width:1100px}
.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.intro-bottom p{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.5;max-width:610px;margin:0}
.intro-bottom .quiet-note{font-size:14px;line-height:1.6;color:#62625b;max-width:360px;justify-self:end}
.process-index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0 40px 40px;gap:20px}
.process-index a{display:block;border-top:1px solid #aaa9a1;padding-top:14px;font-size:16px;line-height:1.4}
.process-index span{display:block;font-size:14px;color:#72716a;margin-bottom:14px}
.process-index a:hover{border-color:#ad1c20}
.process-story{border-top:1px solid #aaa9a1}
.process-chapter{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding:64px 40px 72px;border-bottom:1px solid #b6b6ae;scroll-margin-top:24px}
.process-chapter:nth-child(even){background:var(--ink);color:var(--paper);border-color:#42423c}
.process-chapter-heading{display:flex;flex-direction:column;align-items:flex-start}
.process-chapter-number{font-size:clamp(4.5rem,9vw,8.5rem);line-height:1;font-weight:300;letter-spacing:-.07em;color:#b21e23}
.process-chapter h2{font-size:clamp(2rem,3.7vw,3.8rem);line-height:1.05;letter-spacing:-.045em;font-weight:400;margin:30px 0 0}
.process-chapter-copy>p{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.5;letter-spacing:-.02em;margin:4px 0 30px;max-width:680px}
.step-details{display:flex;gap:10px 28px;flex-wrap:wrap;font-size:14px;letter-spacing:.02em;padding-top:20px;border-top:1px solid #aaa9a1;list-style:none;margin:0}
.process-chapter:nth-child(even) .step-details{border-color:#54544f}
.process-media{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:center}
.process-media:empty{display:none}
.process-media figure{margin:0;min-width:0}
.process-media img,.process-media video{display:block;width:100%;height:auto;max-height:850px;object-fit:contain}
.process-media figcaption{font-size:14px;line-height:1.5;margin-top:12px}
.process-media figure:only-child{grid-column:1/-1;max-width:1000px;width:100%;justify-self:center}
.chapter-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}
.page-end{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:44px 40px;background:#b21e23;color:white}
.page-end p{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.035em;margin:0}
.page-end a{font-size:14px;letter-spacing:.06em;padding:10px 0;border-bottom:1px solid currentColor}
.casting-intro{padding-bottom:32px}
.casting-intro h2{margin-bottom:26px}
.casting-jump{display:flex;gap:30px;margin-top:30px}
.casting-jump a{font-size:14px;letter-spacing:.08em;border-bottom:1px solid #8c8c84;padding:10px 0}
.casting-section{padding:20px 40px 64px;scroll-margin-top:20px}
.casting-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid #999990;padding:20px 0 24px}
.casting-section-heading h3{font-size:26px;letter-spacing:-.03em;font-weight:400;margin:0}
.casting-section-heading span{font-size:14px;letter-spacing:.05em}
.casting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.model-card{margin:0;min-width:0}
.model-photo{display:block;aspect-ratio:3/4;background:#d7d7d2;position:relative}
.model-photo img{display:block;width:100%;height:100%;object-fit:contain}
.model-photo:focus-visible{outline-offset:4px;outline-color:#b21e23}
.model-card figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font-size:14px;letter-spacing:.04em}
.model-card figcaption strong{font-size:18px;font-weight:400}
.model-card figcaption span{color:#66665e}
.casting-footnote{max-width:710px;font-size:16px;line-height:1.6;margin:0;padding:0 40px 60px;color:#5c5c55}
.portrait-dialog .viewer-stage img{width:100%;height:100%;object-fit:contain}
.portrait-dialog .viewer-bottom span{font-size:14px;color:#b9b9b1}
.sound-page{background:var(--ink);color:var(--paper)}
.sound-page .header{color:var(--ink)}
.sound-intro{padding:64px 40px 32px}
.sound-title{font-size:clamp(4.5rem,19vw,19rem);line-height:.82;letter-spacing:-.075em;font-weight:400;margin:68px 0 48px}
.sound-heading-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-bottom:28px;border-bottom:1px solid #6c6b61}
.sound-heading-bottom p{font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.3;letter-spacing:-.035em;max-width:600px;margin:0}
.sound-heading-bottom span{font-size:14px;letter-spacing:.06em;white-space:nowrap}
.sound-library{padding:0 40px 72px}
.sound-empty{min-height:240px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:36px 0}
.sound-empty .sound-empty-label{font-size:14px;letter-spacing:.06em;color:#cfcfc5}
.sound-empty h3{font-size:clamp(1.6rem,3vw,2.8rem);font-weight:400;letter-spacing:-.04em;line-height:1.1;margin:0 0 16px}
.sound-empty p{font-size:17px;line-height:1.6;max-width:520px;color:#b9b9af;margin:0}
.sound-rule{height:6px;background:#b21e23}
.audio-track{display:grid;grid-template-columns:60px 1fr minmax(240px,440px);gap:24px;padding:28px 0;border-bottom:1px solid #494943;align-items:center}
.audio-track .track-number{font-size:14px;color:#b9b9af}
.audio-track h3{font-size:24px;letter-spacing:-.025em;font-weight:400;margin:0 0 8px}
.audio-track p{font-size:14px;color:#b9b9af;margin:0;line-height:1.5}
.audio-track audio{width:100%;color-scheme:dark}
.audio-error{font-size:14px;line-height:1.5;color:#efbab9;grid-column:2/-1;margin:0}
.audio-error[hidden],.sound-empty[hidden]{display:none}
.process-page-intro{padding-bottom:38px}
.process-page-intro h2{font-size:clamp(2.8rem,6.2vw,6.5rem);max-width:none;margin:36px 0 24px}
.process-page-intro .intro-bottom{display:block}
.process-page-intro .intro-bottom p{max-width:780px}
.commercial-section{padding:38px 40px 48px;background:#111110;color:#f3f3ef;border-top:1px solid #343430}
.commercial-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 32px}
.commercial-heading h2{font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:0}
.commercial-heading>span{font-size:14px;letter-spacing:.06em;line-height:1.5}
.commercial-media{width:100%;max-width:1120px;margin-inline:auto}
.commercial-media video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#111110}
@media(max-width:1000px){.commercial-section{padding:32px 28px 44px}}
@media(max-width:640px){.commercial-section{padding:28px 22px 36px}.commercial-heading{flex-direction:column;gap:12px;margin-bottom:24px}}
.campaign-case{--flow-media-height:clamp(260px,26vw,440px);--flow-gap:clamp(30px,3.5vw,64px);padding:38px 40px 48px;border-top:1px solid #aaa9a1}
.case-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:36px}
.case-number{font-size:14px;letter-spacing:.06em;color:#66665e}
.case-heading h3{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:400;letter-spacing:-.04em;line-height:1.08;margin:18px 0 0}
.case-heading h3 span{color:#66665e}
.case-heading .motion-toggle{font-size:14px;margin:0;flex-shrink:0}
.case-heading .motion-toggle[hidden]{display:none}
.campaign-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr 1.45fr;gap:var(--flow-gap)}
.campaign-flow--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.campaign-step{position:relative;min-width:0}
.flow-label{display:flex;align-items:center;gap:10px;min-height:56px;margin-bottom:16px;border-top:1px solid #aaa9a1;padding-top:12px}
.flow-label>span{font-size:14px;color:#b21e23;flex-shrink:0}
.flow-label h4{font-size:clamp(1rem,1.4vw,1.4rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;margin:0}
.flow-media{height:var(--flow-media-height);display:flex;align-items:center;justify-content:center}
.flow-media a{display:block;width:100%;height:100%}
.flow-media img{display:block;width:100%;height:100%;object-fit:contain}
.flow-media video{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;background:#111110}
.campaign-case--spell .flow-media video{height:100%;background:transparent}
.campaign-step>p{font-size:16px;line-height:1.55;color:#616159;margin:22px 0 0}
.flow-arrow{position:absolute;left:calc(100% + 5px);top:calc(72px + var(--flow-media-height) / 2 - 15px);width:calc(var(--flow-gap) - 10px);height:30px;display:block;color:#b21e23}
.flow-arrow svg{display:block;width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.flow-arrow .arrow-base{opacity:.22}
.flow-arrow .arrow-travel{stroke-dasharray:10 14;animation:flow-forward 1.7s linear infinite}
.campaign-step:nth-child(2) .arrow-travel{animation-delay:-.55s}
.campaign-step:nth-child(3) .arrow-travel{animation-delay:-1.1s}
.campaign-case[data-arrows="paused"] .arrow-travel{animation-play-state:paused}
.case-note{font-size:14px;line-height:1.5;letter-spacing:.025em;margin:36px 0 0;padding-top:20px;border-top:1px solid #aaa9a1;color:#62625b}
.page-end .chapter-links{margin:0}
@keyframes flow-forward{to{stroke-dashoffset:-48}}
@media(max-width:1000px){.campaign-case{padding:32px 28px 44px}.campaign-flow{grid-template-columns:1fr;gap:0;max-width:650px;margin-inline:auto}.flow-label h4{font-size:24px}.flow-label{margin-bottom:24px;gap:18px}.flow-media{height:auto;max-width:560px;margin:auto}.flow-media a{height:auto}.flow-media img{height:auto;max-height:680px;object-fit:contain}.campaign-step>p{max-width:560px;margin:22px auto 0}.flow-arrow{position:relative;inset:auto;transform:rotate(90deg);width:68px;height:30px;margin:36px auto 40px}.campaign-film{padding-bottom:8px}.case-heading{margin-bottom:30px}}
@media(max-width:640px){.campaign-case{padding:28px 22px 36px}.case-heading{gap:20px}.case-number{font-size:12px}.case-heading .motion-toggle{font-size:12px}.flow-label h4{font-size:22px}.case-heading h3{font-size:29px}.campaign-step>p{font-size:16px}.process-page-intro h2{font-size:clamp(2.8rem,10.6vw,4.2rem)}}
@media(prefers-reduced-motion:reduce){.flow-arrow .arrow-travel{animation:none}}
@media(max-width:640px){.portfolio-disclosure{padding:16px 18px}.hero .concept-credit{left:17px;top:59px;max-width:245px;font-size:12px}.site-legal p{font-size:14px}.one-page-section:focus{outline:none}}
@media(max-width:900px){.header{height:auto;min-height:68px;flex-wrap:wrap;padding-block:14px;gap:12px 28px}.header nav{gap:18px}.process-index{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.process-chapter{gap:30px}.casting-grid{gap:14px}.audio-track{grid-template-columns:40px 1fr}.audio-track audio{grid-column:2/-1}.casting-section{padding-inline:24px}.casting-footnote{padding-inline:24px}}
@media(max-width:640px){.header{padding:14px 18px}.header nav{width:100%;margin:0;justify-content:space-between;gap:8px;font-size:clamp(12px,3.3vw,14px)}.header nav a{padding:7px 0}.page-intro,.sound-intro{padding:38px 22px 30px}.page-kicker{font-size:12px;line-height:1.5;gap:16px}.page-intro h2{font-size:clamp(3.1rem,12vw,4.6rem);margin:38px 0 26px}.intro-bottom{display:block}.intro-bottom .quiet-note{margin-top:20px;max-width:none}.process-index{padding:0 22px 32px;gap:20px 14px}.process-index a{font-size:14px}.process-index span{margin-bottom:8px}.process-chapter{grid-template-columns:1fr;padding:36px 22px 42px;gap:25px}.process-chapter-heading{flex-direction:row;align-items:center;gap:25px}.process-chapter-number{font-size:60px;min-width:74px}.process-chapter h2{font-size:32px;margin:0}.process-chapter-copy>p{font-size:19px}.step-details{gap:12px 20px;line-height:1.5}.process-media{grid-template-columns:1fr}.page-end{padding:32px 22px}.casting-section{padding:12px 22px 40px}.casting-grid{grid-template-columns:1fr;gap:34px}.model-card{max-width:500px;width:100%;margin-inline:auto}.casting-section-heading{padding-bottom:22px}.casting-footnote{padding:0 22px 40px}.casting-intro .intro-bottom p{font-size:18px}.sound-title{margin:48px 0 36px;font-size:23vw}.sound-heading-bottom{display:block}.sound-heading-bottom span{display:block;margin-top:22px}.sound-library{padding:0 22px 48px}.sound-empty{grid-template-columns:1fr;gap:28px;padding:28px 0;min-height:250px}.audio-track{gap:16px;grid-template-columns:28px 1fr}.audio-track h3{font-size:21px}.portrait-dialog .viewer-bottom{flex-wrap:wrap;justify-content:space-between}.portrait-dialog .viewer-bottom span{order:3;flex-basis:100%;max-width:none}}

.models-coming-soon{padding-bottom:64px}
.models-coming-soon .intro-bottom{display:block}
.models-coming-soon .model-status{font-size:14px}
@media(max-width:1000px){.campaign-case--spell .flow-media{width:100%;height:auto;aspect-ratio:4/5}.campaign-case--spell .flow-media a,.campaign-case--spell .flow-media img{height:100%;max-height:none}}
@media(max-width:640px){.models-coming-soon{padding-bottom:44px}}
