/* Cover, chapter rhythm and listening controls. */
.portfolio-cover{height:calc(100svh - 56px);min-height:680px;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;background:#080d13;color:#f2eee5}
.cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;z-index:-3}
.cover-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#071019a6,transparent 47%,#060b13e6),linear-gradient(90deg,#07101955,transparent 70%)}
.cover-topline{position:absolute;top:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.18em;color:#d3d7d7}
.cover-wordmark{position:absolute;top:73px;left:4.4%;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(100px,15vw,230px);line-height:.78;letter-spacing:-.085em;color:#f0eee2}
.cover-wordmark span{display:block;margin:22px 0 0 8px;font-size:13px;font-weight:400;letter-spacing:.65em;line-height:1.5}
.cover-bottom{position:absolute;bottom:95px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:end;gap:32px}
.cover-kicker{font-size:14px;letter-spacing:.17em;margin:0 0 16px;color:#d7c3a0}.cover-heading{font-size:clamp(30px,3.4vw,52px);font-weight:450;letter-spacing:.1em;margin:0 0 18px;line-height:1.25}.cover-disciplines{font-size:14px;color:#d0d3d1;margin:0;letter-spacing:.15em}
.cover-entry{width:260px;flex-shrink:0}.enter-works{display:flex;align-items:center;justify-content:space-between;padding:19px 24px;background:#e5b66e;color:#141a1c;font-size:16px;border:1px solid #e5b66e;transition:background .2s,transform .2s}.enter-works:hover{background:#f5d09b;transform:translateY(-3px)}.enter-works>span:last-child{font-size:23px;line-height:1}.cover-entry small{display:block;color:#b4bfc4;font-size:12px;margin-top:12px;text-align:center}
.cover-scene{position:absolute;bottom:25px;left:5%;right:5%;border-top:1px solid #e7e9e330;padding-top:16px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;color:#b7c2c5}.cover-scene a{color:#ede4d2}
#works{scroll-margin-top:0}.works-heading{font-size:clamp(48px,6vw,84px);font-weight:450;letter-spacing:.04em;margin:16px 0 0;line-height:1.1}.works-heading span{font-size:12px;letter-spacing:.18em;margin-top:22px;color:#616960}.works-heading:focus{outline:none}
.project-heading h1{font-size:clamp(48px,7vw,90px)}.project-section h2,.process h2,.walkthrough h2{font-size:clamp(28px,3vw,42px);line-height:1.4}.stage h3{font-size:24px}.stage p,.section-note,.project-description p{font-size:16px;line-height:1.9}.project-nav a{font-size:14px}.eyebrow{font-size:12px}
.chapter-curtain{position:fixed;inset:0;background:#e9e8df;color:#17201e;z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;transform:translateY(101%);visibility:hidden}.chapter-curtain small{font-size:12px;letter-spacing:.4em}.chapter-curtain strong{font-size:clamp(64px,12vw,160px);font-weight:500;letter-spacing:.06em;line-height:1.1;margin:18px 0}.chapter-curtain em{font-size:14px;letter-spacing:.5em;font-style:normal}.chapter-curtain.is-active{visibility:visible;animation:chapter-wipe 1000ms cubic-bezier(.76,0,.24,1) both;pointer-events:auto}
@keyframes chapter-wipe{0%{transform:translateY(101%)}42%,58%{transform:translateY(0)}100%{transform:translateY(-101%)}}
.music-dock{position:fixed;right:22px;bottom:18px;z-index:90;display:flex;align-items:center;gap:0;background:#111a21f2;border:1px solid #677279;color:#f1ece2;box-shadow:0 6px 25px #0004;border-radius:3px;backdrop-filter:blur(12px);font-size:13px}.music-toggle{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 16px;background:none;color:inherit;border:0;cursor:pointer;text-align:left}.music-symbol{font-size:22px;color:#e5b66e}.music-title{display:block;font-size:13px;line-height:1.3}.music-status{display:block;font-size:12px;color:#afbfc7;line-height:1.4;margin-top:3px}.music-settings{border-left:1px solid #586069;position:relative}.music-settings summary{cursor:pointer;padding:15px 12px;list-style:none;color:#d7c7ab;font-size:12px}.music-settings summary::-webkit-details-marker{display:none}.music-volume{position:absolute;right:0;bottom:58px;width:215px;background:#111a21;border:1px solid #677279;padding:18px;box-shadow:0 6px 25px #0006}.music-volume label{display:flex;justify-content:space-between;font-size:13px}.music-volume input{width:100%;margin:15px 0 4px;accent-color:#e5b66e;cursor:pointer}.music-dock button:focus-visible,.music-dock summary:focus-visible{outline:2px solid #e5b66e;outline-offset:3px}footer{padding-bottom:92px!important}
@media(max-width:720px){.portfolio-cover{height:calc(100svh - 58px);min-height:650px;max-height:1000px}.cover-image{object-position:61% center}.cover-topline{top:24px;font-size:10px;letter-spacing:.12em}.cover-topline span:last-child{display:none}.cover-wordmark{top:77px;left:4%;font-size:22vw}.cover-wordmark span{margin-top:15px;font-size:11px;letter-spacing:.48em}.cover-bottom{bottom:108px;display:block}.cover-kicker{font-size:12px;margin-bottom:12px}.cover-heading{font-size:30px;letter-spacing:.05em;margin-bottom:12px}.cover-disciplines{font-size:12px;letter-spacing:.08em}.cover-entry{width:100%;margin-top:26px}.enter-works{padding:15px 20px}.cover-entry small{font-size:11px;text-align:left}.cover-scene{bottom:33px;font-size:10px}.music-dock{right:12px;bottom:10px}.music-toggle{min-height:44px;padding:8px 12px;gap:9px}.music-title{font-size:12px}.music-status{font-size:11px}.music-settings summary{padding:14px 10px}.project-heading h1{font-size:48px}.stage h3{font-size:21px}.works-heading span{font-size:11px;letter-spacing:.08em}.project-section h2 span,.process h2 span,.walkthrough h2 span{display:block;margin:10px 0 0;font-size:12px}}
@media(prefers-reduced-motion:reduce){.chapter-curtain{display:none}.enter-works{transition:none!important}.cover-image{animation:none!important}html{scroll-behavior:auto!important}}

#works .work-title{font-size:24px;font-weight:400;letter-spacing:0;margin:0}


/* Full-width process frames, read in a single vertical sequence. */
.process .stage{padding:48px 0 60px;border-top:1px solid #41484a;margin:0}
.process .stage:last-child{padding-bottom:0}
.process .stage-heading{margin-bottom:30px;gap:28px}
.process .week{font-size:14px;letter-spacing:.12em;padding-top:5px}
.process .stage h3{font-size:28px;line-height:1.4}
.process .stage p{font-size:16px;line-height:1.9}
.process .stage .pair{display:flex;flex-direction:column;gap:36px}
.process .stage .art{width:100%;margin:0}
.process .stage .image-button{display:block;aspect-ratio:auto;background:#090c10}
.process .stage .image-button img{display:block;width:100%;height:auto;object-fit:contain}
.process .stage figcaption{font-size:13px;padding:15px 0 0;color:#b5bbb9}
@media(max-width:720px){.process .stage{padding:30px 0 40px}.process .stage-heading{gap:15px;margin-bottom:24px}.process .week{font-size:12px}.process .stage h3{font-size:22px}.process .stage p{font-size:14px}.process .stage .pair{gap:26px}.process .stage figcaption{font-size:12px;padding-top:12px}}

/* Supplied Rain artwork: keep the foreground swordsman clear of the wordmark. */
.portfolio-cover .cover-image{object-position:32% center}
.portfolio-cover .cover-shade{background:linear-gradient(180deg,#070c1240,transparent 42%,#060b13cc)}
.portfolio-cover .cover-wordmark{left:auto;right:5%;top:88px;font-size:clamp(80px,10vw,150px);text-align:right}
.portfolio-cover .cover-wordmark span{margin-left:0;letter-spacing:.5em}
@media(max-width:720px){
 .portfolio-cover{background:#080d13}
 .portfolio-cover .cover-image{inset:185px 0 auto;width:100%;height:auto;object-fit:contain;object-position:center}
 .portfolio-cover .cover-shade{background:none}
 .portfolio-cover .cover-wordmark{left:5%;right:auto;top:78px;font-size:21vw;text-align:left}
 .portfolio-cover .cover-wordmark span{margin-top:14px;letter-spacing:.45em}
}

/* Preserve the complete widescreen shot and its baked-in black masks. */
.home-shell .portfolio-cover{background:#000}
.home-shell .cover-video{object-fit:contain;object-position:center;background:#000}
.cover-playback{position:absolute;top:54px;right:5%;z-index:2;border:1px solid #d5d8d24d;background:#0008;color:#d5d8d2;font:11px/1.4 sans-serif;letter-spacing:.08em;padding:8px 12px;cursor:pointer}
.cover-playback:hover{background:#252c29}
@media(max-width:760px){.cover-playback{top:14px;font-size:10px;padding:6px 10px}}
