/* Original project imagery and production evidence. */
#page-loader{align-items:center;justify-content:center;padding:8vw}
.loader-content{width:min(440px,100%)}
.loader-name{margin:0 0 32px;font-size:clamp(30px,5vw,48px);line-height:1.15;font-weight:500;letter-spacing:-.055em}
.loader-name>span{color:var(--lime)}
.loader-track{height:1px;background:#363633;overflow:hidden}
.loader-track>span{display:block;width:100%;height:100%;background:var(--lime);transform-origin:left;animation:scene-loading 1.8s ease-in-out infinite alternate}
.loader-label{margin:17px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
@keyframes scene-loading{from{transform:scaleX(.12);opacity:.55}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.loader-track>span{animation:none;transform:none}}
.hero{min-height:740px;padding-top:65px;grid-template-columns:1fr 1fr;padding-bottom:100px}
.hero-copy{grid-column:2;text-align:right;min-width:0}
.hero-copy .eyebrow,.hero-copy .intro{margin-left:auto}
.hero .eyebrow{font-size:14px;max-width:400px;letter-spacing:1px}
.hero h1{font-size:clamp(64px,7.4vw,115px)}
.hero .intro{max-width:360px}
.hero-art{inset:0 0 74px;overflow:hidden;background:#101010;display:block}
.hero-original{position:absolute;left:0;top:0;width:62%;height:100%;object-fit:cover;object-position:41% center;display:block;mask-image:linear-gradient(90deg,black 84%,transparent 100%)}
.hero-art .zeus-canvas{inset:0;display:block;mask-image:linear-gradient(180deg,black 78%,transparent 100%)}
.hero-original{transition:opacity .65s ease}
.hero-art.zeus-ready .hero-original{opacity:0}
.art-caption{z-index:1}
.hero-art .art-caption>span{max-width:none}
.zeus-hint{position:absolute;z-index:1;bottom:72px;right:43%;margin:0;color:#aaa9a4;font-size:12px;letter-spacing:.4px;opacity:0;transition:opacity .5s;pointer-events:none}
.zeus-interactive .zeus-hint{opacity:1}
.art-caption{left:15%;right:41%;bottom:18px;font-size:12px;color:#eee;background:#101010b8;padding:10px 12px}
.art-caption a:hover{color:var(--lime)}
.hero-availability{font-size:14px;color:var(--muted);line-height:1.6;margin-top:22px}
.hero-footer{font-size:13px}
.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0 48px}
.case-gallery figure,.archive-image{margin:0;min-width:0}
.case-gallery img,.archive-image img{width:100%;height:auto;display:block}
figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding:13px 0 0}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:48px 0 28px;padding-top:36px;border-top:1px solid var(--line)}
.case-story .eyebrow{font-size:13px;margin-bottom:18px}
.case-story h4{font-size:clamp(29px,3vw,44px);font-weight:500;letter-spacing:-.05em;line-height:1.16;margin:0;max-width:390px}
.case-story p:not(.eyebrow){font-size:16px;line-height:1.8;color:#bebeb8;margin:0 0 16px}
.process-gallery{gap:24px;margin:25px 0 32px}
.process-gallery img{aspect-ratio:16/9;object-fit:contain;background:#151515}
.case-facts{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:30px;padding-block:24px;border-top:1px solid var(--line);margin:0}
.case-facts dt{font-size:13px;color:var(--muted);margin-bottom:10px}
.case-facts dd{font-size:14px;line-height:1.7;margin:0}
.featured{margin-bottom:90px}
.project-grid .project-image{aspect-ratio:16/10}
.project-grid .project-image img{object-position:center}
.project .credit{padding-top:20px}
.archive-image{padding:0 0 22px}
.archive-pair{display:grid;gap:10px}
.case-details summary{font-size:15px}
.project:target{scroll-margin-top:24px}
@media(max-width:1000px){.hero{min-height:720px}.hero-art{opacity:.9}.hero-original{width:66%}.art-caption{right:38%}.case-story{gap:35px}.case-facts{grid-template-columns:1.6fr 1fr}.case-facts>div:last-child{grid-column:1/-1}}
@media(min-width:701px) and (max-width:1000px){.hero h1{font-size:clamp(48px,7vw,70px)}.hero .eyebrow{font-size:13px;max-width:330px}.hero .intro{font-size:16px;max-width:290px}}
@media(max-width:700px){
 .hero{min-height:0;padding-top:36px;padding-bottom:74px;display:flex;flex-direction:column;overflow:visible}
 .hero-copy{position:relative;pointer-events:auto;text-align:left}
 .hero-copy .eyebrow,.hero-copy .intro{margin-left:0}
 .hero .eyebrow{font-size:13px;max-width:320px;margin-bottom:22px}
 .hero h1{font-size:clamp(52px,13vw,88px);margin-bottom:24px}
 .hero .intro{max-width:340px;font-size:16px;margin-bottom:22px}
 .hero .pill{margin-top:0;background:none}
 .hero-availability{margin-top:15px;font-size:14px}
 .hero-art{position:relative;inset:auto;width:calc(100% + 12vw);margin:16px -6vw 0;height:auto;aspect-ratio:1.05;opacity:1}
 .hero-original{width:100%;mask-image:none;object-position:42% center}
 .hero-art .zeus-canvas{mask-image:linear-gradient(180deg,black 78%,transparent 100%)}
 .zeus-hint{display:none}
 .art-caption{left:6vw;right:6vw;bottom:15px;font-size:12px}
 .art-caption>span{max-width:none}
 .hero-footer{bottom:22px;font-size:12px}
 .case-gallery{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .case-story{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:28px}
 .case-story h4{font-size:34px}
 .case-story .eyebrow{margin-bottom:12px}
 .case-facts{grid-template-columns:1fr;gap:21px}
 .case-facts>div:last-child{grid-column:auto}
 .featured{margin-bottom:58px}
 .featured .project-image{aspect-ratio:1.45}
 .featured .project-image img{object-position:49% center}
 .process-gallery{grid-template-columns:1fr 1fr;gap:14px}
 .process-gallery figcaption{font-size:13px}
 .project-grid .project-image{aspect-ratio:1.5}
}
@media(max-width:380px){.hero.wrap h1{font-size:clamp(45px,13.5vw,52px)}}

/* Extra work stays visible; each composition keeps its original proportions. */
.work-index{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin:-12px 0 40px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-index a{display:inline-flex;align-items:center;gap:16px;padding:9px 0;min-height:40px;font-size:13px;color:var(--muted)}
.work-index .gallery-shortcut{margin-left:auto;color:var(--lime)}
.gallery-section{padding-top:58px;padding-bottom:60px;border-top:1px solid var(--line);scroll-margin-top:24px}
.gallery-heading{margin-bottom:20px}
.gallery-intro{font-size:16px;line-height:1.75;color:var(--muted);max-width:670px;margin:0 0 40px}
.gallery-grid{columns:3;column-gap:28px}
.gallery-card{display:inline-block;width:100%;break-inside:avoid;margin:0 0 36px;vertical-align:top}
.gallery-link{display:block}
.gallery-media{position:relative;display:block;overflow:hidden;background:#171717}
.gallery-media img{display:block;width:100%;height:auto;transition:transform .45s ease}
.gallery-action{position:absolute;right:14px;bottom:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#101010d9;color:var(--text);font-size:19px;transition:background .2s,color .2s}
.gallery-link:hover .gallery-media img{transform:scale(1.018)}
.gallery-link:hover .gallery-action{background:var(--lime);color:var(--bg)}
.gallery-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:15px}
.gallery-caption>span:first-child{min-width:0}
.gallery-category{display:block;color:var(--muted);font-size:10px;letter-spacing:.7px;line-height:1.6;margin-bottom:6px}
.gallery-title{display:block;font-size:20px;letter-spacing:-.6px;line-height:1.3}
.gallery-hint{font-size:11px;line-height:1.5;color:var(--muted);text-align:right;max-width:70px}
#artwork-dialog{width:min(1360px,94vw);max-height:94dvh}
.artwork-header,.artwork-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px}
.artwork-header h2{font-size:18px;font-weight:500;line-height:1.4;margin:0}
.artwork-header button,.artwork-footer button{min-height:44px;font-size:14px;flex-shrink:0}
.artwork-stage{height:min(70dvh,900px);padding-inline:16px;display:grid;place-items:center;background:#0d0d0d}
#artwork-image{display:block;max-width:100%;max-height:min(70dvh,900px);width:auto;height:auto;object-fit:contain}
.artwork-footer{border-top:1px solid var(--line)}
#artwork-position{font-size:12px;color:var(--muted);white-space:nowrap}
@media(max-width:1000px){.gallery-grid{columns:2}.work-index{gap:8px 22px}}
@media(max-width:700px){
 .work-index a:nth-child(n){display:inline-flex}
 .work-index .gallery-shortcut{margin-left:0}
 .work-index{margin-top:-8px;gap:4px 22px;padding:14px 0}
 .gallery-section{padding-top:38px;padding-bottom:24px}
 .gallery-intro{font-size:15px;margin-bottom:28px}
 .gallery-grid{columns:1}
 .gallery-card{margin-bottom:32px}
 .gallery-title{font-size:22px}
 .gallery-hint{max-width:none}
 .artwork-header,.artwork-footer{padding:10px 12px;gap:8px}
 .artwork-header h2{font-size:16px}
 .artwork-header button,.artwork-footer button{font-size:12px}
 .artwork-stage{height:65dvh;padding-inline:0}
 #artwork-image{max-height:65dvh}
}

/* Curated cases: large motion, concise production notes, coherent series. */
.production-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:12px 0 36px;padding:0}
.production-steps li{border-top:1px solid var(--line);padding-top:22px}
.step-number{font-size:12px;color:var(--lime);letter-spacing:1px}
.production-steps h5{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:16px 0 12px}
.production-steps p{font-size:14px;line-height:1.75;color:var(--muted);margin:0;max-width:330px}
.archive-process{margin-top:8px;margin-bottom:24px}
.case-heading{padding-top:0;padding-bottom:30px;align-items:flex-end}
.case-heading h3{font-size:clamp(36px,4.5vw,64px);letter-spacing:-.055em;line-height:1.05}
.case-film{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#080809;object-fit:contain;border:0}
.case-film:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
.media-footnote{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0 24px;color:var(--muted);font-size:11px;letter-spacing:.7px;line-height:1.6}
.media-footnote a{color:var(--text);padding:5px 0;border-bottom:1px solid #55564f}
.media-footnote a:hover{color:var(--lime);border-color:var(--lime)}
.zeus-case{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 5vw;margin-bottom:32px}
.zeus-case>.project-image{aspect-ratio:1.4}
.zeus-case>.case-details{grid-column:1/-1}
.zeus-case-copy{align-self:center}
.zeus-case-copy .project-caption{display:block;padding-top:0}
.zeus-case-copy .project-caption>p{margin-top:24px}
.zeus-case-copy .credit{padding-top:8px}
.blanc-gallery{display:grid;grid-template-columns:.85fr 1.4fr;align-items:center;gap:4vw}
.blanc-gallery figure{margin:0;min-width:0}
.blanc-gallery img{display:block;width:100%;height:auto}
.product-series{margin-bottom:90px}
.additional-work{margin-bottom:70px}
.additional-project{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;margin:12px 0 32px}
.additional-project .project-image{aspect-ratio:1.8}
.additional-project .project-caption{display:block}
.additional-project .project-caption>p{margin-top:18px}
@media(max-width:1000px){
 .case-heading{display:block}
 .case-heading>p{max-width:630px}
 .production-steps{gap:22px}
 .zeus-case{grid-template-columns:1fr 1fr;column-gap:28px}
 .zeus-case-copy h3{font-size:28px}
}
@media(max-width:700px){
 .production-steps{grid-template-columns:1fr;gap:20px;margin:0 0 28px}
 .production-steps li{display:grid;grid-template-columns:30px 1fr;gap:8px 14px;padding-top:18px}
 .step-number{padding-top:3px}
 .production-steps h5{margin:0}
 .production-steps p{grid-column:2;max-width:none}
 .case-heading{padding-bottom:24px}
 .case-heading h3{font-size:40px}
 .media-footnote{font-size:10px;letter-spacing:.3px;gap:15px;padding-bottom:20px}
 .era-case .media-footnote span:last-child{display:none}
 .zeus-case{grid-template-columns:1fr;gap:24px;margin-bottom:28px}
 .zeus-case>.project-image{aspect-ratio:1.5}
 .zeus-case-copy .project-caption{padding-bottom:20px}
 .zeus-case-copy .project-caption>p{margin-top:18px}
 .blanc-gallery{grid-template-columns:1fr;gap:26px}
 .product-series{margin-bottom:58px}
 .additional-project{grid-template-columns:1fr;gap:0;margin-bottom:16px}
 .additional-work{margin-bottom:45px}
}
