/* Living photo theatre: local image-to-video with original-photo fallback. */
:root{--accent:#ce533b;--bg:#111313;--fg:#eeeae3;--muted:#b0ada6;--paper:#e8e4dc}
html{scrollbar-color:#5e625e var(--bg)}
button:active,.button:active{transform:translateY(1px)}
.button-accent{background:#b83f2c;color:#fff}
.hero-journey{height:100svh;min-height:790px;position:relative;background:var(--bg)}
.hero-journey.scene-ready:not(.static-scene){height:158svh;min-height:1150px}
.cinematic.hero{position:sticky;top:0;height:100svh;min-height:790px;max-height:1100px;background:#13191b;overflow:hidden;isolation:isolate}
.scene-backdrop{position:absolute;inset:-8%;z-index:0;background:radial-gradient(ellipse at 69% 34%,#4c5b61 0%,#29373c 27%,#172025 51%,#111617 75%);will-change:transform}
.cinematic .hero-wordmark{left:6%;right:auto;bottom:auto;top:20%;z-index:2;will-change:transform;transform-origin:0% 45%}
.cinematic h1{display:block;font-size:clamp(100px,14.2vw,215px);line-height:.84;font-weight:850;letter-spacing:-.078em;margin:0;padding:0}
.name-row{display:flex}.name-row.accent{color:var(--accent)}
.subject-anchor{position:absolute;right:2%;top:4%;width:min(53vw,730px);z-index:3;transform-origin:50% 100%;will-change:transform}
.subject-plane{width:100%;height:auto;aspect-ratio:2/3;will-change:transform;transform-origin:50% 95%}
.hero-original{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.scene-floor{position:absolute;left:0;right:0;bottom:0;height:25%;z-index:5;background:linear-gradient(0deg,var(--bg),#1113138a 35%,transparent);pointer-events:none}
.cinematic .hero-intro{left:6.5%;top:auto;bottom:8%;z-index:6;max-width:310px;will-change:transform,opacity}
.hero-lead{font-size:clamp(22px,2.6vw,38px);line-height:1.12;font-weight:500;letter-spacing:-.04em;margin:0 0 16px}
.cinematic .hero-sub{font-size:12px;line-height:1.7;margin:0 0 22px;color:#c5c7c4}
.cinematic .hero-intro .button{min-height:49px;padding:14px 21px}
.scene-caption{position:absolute;left:6.5%;bottom:26%;z-index:6;opacity:0;transform:translateY(25px);pointer-events:none}
.scene-caption>span{font-size:9px;letter-spacing:.14em;color:#b5bbb8}.scene-caption>p{font-size:clamp(35px,4.4vw,65px);line-height:1.05;letter-spacing:-.06em;margin:20px 0 0}
.cinematic .hero-intro:before{content:'';position:absolute;inset:-35px -25px;z-index:-1;background:radial-gradient(ellipse at left,#111819a8,transparent 70%);pointer-events:none}
.scene-ready .subject-anchor{opacity:1}
.photo-interlude{position:relative;display:grid;grid-template-columns:1.4fr .8fr;gap:5%;padding:10px 7% 120px;max-width:1600px;margin:auto;align-items:center}
.interlude-lead{height:730px;position:relative;overflow:hidden}.interlude-lead>img{width:100%;height:115%;object-fit:cover;object-position:50% 44%;margin-top:-7%}
.interlude-detail{height:440px;overflow:hidden;transform:translateY(70px)}.interlude-detail>img{width:100%;height:114%;object-fit:cover;margin-top:-7%}
.interlude-copy{position:absolute;left:7%;right:7%;bottom:6%;z-index:1}.interlude-copy p{font-size:clamp(26px,3.5vw,52px);letter-spacing:-.06em;margin:0 0 15px}.interlude-copy>span{font-size:9px;letter-spacing:.15em;color:#cbc8c2}
.interlude-lead:after{position:absolute;content:'';bottom:0;left:0;right:0;height:35%;background:linear-gradient(0deg,#101212d9,transparent)}
[data-photo-depth]{will-change:transform}
.portrait-frame{height:640px}.portrait-frame img{object-position:50% 40%;filter:none}
.portrait-pair{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center;padding-top:0;padding-bottom:105px}
.portrait-pair figure{margin:0;position:relative;overflow:hidden}.portrait-side{height:480px}.portrait-seated{height:760px}
.portrait-pair img{width:100%;height:112%;object-fit:cover;margin-top:-6%}.portrait-seated figcaption{position:absolute;left:8%;bottom:7%;font-size:clamp(24px,3vw,43px);letter-spacing:-.05em;color:#fff;text-shadow:0 2px 20px #111}
.artist{padding-bottom:90px}.section-label>span:only-child{color:var(--muted)}
.story .story-title>span{color:#ad3526}
.static-scene .scene-caption{display:none}
@media(min-width:1700px){.subject-anchor{right:9%;}.cinematic .hero-wordmark{left:9%}.cinematic .hero-intro,.scene-caption{left:10%}}
@media(max-width:1050px) and (min-width:701px){.subject-anchor{right:-11%;width:74vw;top:13%}.cinematic h1{font-size:16vw}.cinematic .hero-wordmark{top:24%}.photo-interlude{gap:4%}.interlude-lead{height:620px}.interlude-detail{height:370px}.portrait-seated{height:600px}.portrait-side{height:400px}}
@media(max-width:700px){
 .hero-journey{height:100svh;min-height:790px}.hero-journey.scene-ready:not(.static-scene){height:135svh;min-height:1020px}
 .cinematic.hero{min-height:790px;max-height:950px}.site-header{z-index:10}.site-header nav{gap:15px}
 .cinematic .hero-wordmark{left:6%;top:114px;z-index:6;bottom:auto;right:6%}.cinematic h1{font-size:20.4vw;line-height:.86;display:flex;letter-spacing:-.08em}.name-row{display:inline-flex}.name-row.accent{margin-left:1px}
 .subject-anchor{top:151px;right:-8%;width:104%;max-width:620px}.subject-plane{transform-origin:50% 85%}
 .cinematic .hero-intro{left:6%;bottom:42px;max-width:250px}.hero-lead{font-size:29px;line-height:1.07;margin-bottom:12px}.cinematic .hero-sub{font-size:10px;margin-bottom:19px}.cinematic .hero-intro .button{min-height:46px;font-size:10px;padding:13px 18px}
 .scene-floor{height:32%}.scene-caption{left:6%;bottom:15%;max-width:80%}.scene-caption>p{font-size:41px;line-height:1.05;margin-top:16px}.scene-caption>span{font-size:8px}
 .photo-interlude{padding:0 6% 65px;grid-template-columns:1.1fr .7fr;gap:14px;align-items:end}.interlude-lead{height:440px}.interlude-detail{height:235px;transform:translateY(0);margin-bottom:60px}.interlude-copy p{font-size:23px;max-width:120px;line-height:1.05}.interlude-copy>span{font-size:7px}.interlude-copy{left:9%;bottom:7%}
 .portrait-frame{height:auto;aspect-ratio:2/3}.portrait-frame img{height:100%;object-fit:cover}.artist{padding-bottom:55px}
 .portrait-pair{gap:18px;grid-template-columns:.8fr 1.2fr;padding-bottom:70px}.portrait-side{height:255px}.portrait-seated{height:380px}.portrait-seated figcaption{font-size:21px;line-height:1.05;max-width:120px;bottom:7%}
 .connect{padding-top:0}
}
@media(max-width:370px){.cinematic h1{font-size:20vw}.subject-anchor{top:170px;right:-12%;width:115%}.hero-lead{font-size:27px}.interlude-lead{height:360px}.interlude-detail{height:190px;margin-bottom:42px}.portrait-side{height:215px}.portrait-seated{height:320px}.interlude-copy p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.hero-journey.scene-ready:not(.static-scene){height:100svh;min-height:790px}.scene-caption{display:none}}

[hidden]{display:none!important}.upcoming{padding-top:95px;padding-bottom:90px}.upcoming-release{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:10%;align-items:center}.upcoming-art{box-shadow:0 25px 65px #0004;max-width:470px;aspect-ratio:1}.upcoming-art img{width:100%;height:100%;object-fit:cover}.upcoming-label{font-size:10px;color:var(--muted);letter-spacing:.13em;margin:0 0 20px}.upcoming-copy h2{text-transform:uppercase;font-size:clamp(68px,10vw,145px);line-height:.95;letter-spacing:-.07em;margin:0 0 26px;font-weight:750;overflow-wrap:anywhere}.upcoming-copy time{font-size:clamp(20px,2.5vw,34px);letter-spacing:-.035em}.upcoming-note{font-size:12px;color:var(--muted);margin:18px 0 28px;line-height:1.7}.cover-pending{display:grid;place-items:center;background:#23292b;border:1px solid #515958}.cover-pending>span{font-size:30px;font-weight:800;letter-spacing:-.05em}.upcoming-release+.upcoming-release{margin-top:80px;padding-top:80px;border-top:1px solid var(--line)}
@media(max-width:700px){.site-header nav>a:nth-child(3),.site-header nav>a:last-child{display:none}.site-header nav>a:nth-child(2){display:block}.upcoming{padding-top:55px;padding-bottom:65px}.upcoming-release{grid-template-columns:minmax(0,1fr);gap:32px}.upcoming-art{width:82%;max-width:390px}.upcoming-copy h2{font-size:24vw;margin-bottom:20px}.upcoming-label{font-size:8px;margin-bottom:15px}.upcoming-copy time{font-size:25px}.upcoming-note{font-size:11px;margin:15px 0 22px}.upcoming-release+.upcoming-release{margin-top:45px;padding-top:45px}}

.subject-plane{mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%)}
@media(max-width:700px){.site-header nav>a:nth-child(4){display:none}.site-header nav{white-space:nowrap}.site-header .motion-toggle{width:36px;height:36px}}

/* Short windows need a composed landscape scene, not a tall portrait crop. */
.site-header{z-index:10;background:linear-gradient(#11191ce6,#11191c4d)}
@media(min-width:701px) and (max-height:760px){
 .hero-journey{height:100svh;min-height:420px}
 .hero-journey.scene-ready:not(.static-scene){height:158svh;min-height:650px}
 .cinematic.hero{height:100svh;min-height:420px;max-height:none}
 .site-header{height:68px}
 .cinematic .hero-wordmark{top:20%;left:6%}
 .cinematic h1{font-size:min(13vw,22svh);line-height:.84}
 .subject-anchor{top:6%;right:7%;width:min(53vw,66svh)}
 .cinematic .hero-intro{bottom:6%;max-width:280px}
 .hero-lead{font-size:clamp(22px,4svh,30px);margin-bottom:10px}
 .cinematic .hero-sub{font-size:10px;margin-bottom:14px}
 .cinematic .hero-intro .button{min-height:42px;padding:11px 17px}
 .scene-caption{bottom:22%}.scene-caption>p{font-size:min(5vw,9svh)}
}
@media(min-width:701px) and (max-height:500px){
 .site-header{height:52px}.site-header nav{gap:18px}
 .hero-journey,.cinematic.hero{min-height:320px}
 .hero-journey.scene-ready:not(.static-scene){min-height:500px}
 .cinematic .hero-wordmark{top:21%}.cinematic h1{font-size:21svh}
 .subject-anchor{right:12%;width:65svh;top:5%}
 .cinematic .hero-intro{left:34%;bottom:10%;max-width:175px}
 .hero-lead{font-size:22px}.cinematic .hero-sub{font-size:9px;margin-bottom:10px}
 .scene-caption{left:6%;bottom:24%}.scene-caption>p{font-size:34px}
}
@media(prefers-reduced-motion:reduce) and (min-width:701px) and (max-height:760px){
 .hero-journey.scene-ready:not(.static-scene){height:100svh;min-height:420px}
}

/* The living portrait retains the original studio background: no cutout edge. */
.living-portrait .subject-plane{position:relative;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 87%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 87%,transparent)}
.living-portrait .hero-original,.scene-ready .living-portrait .hero-original{mask-image:none;-webkit-mask-image:none}
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .55s}
.film-playing .hero-film{opacity:1}
.static-scene .hero-film{display:none}
.hero-journey:has(.hero-film) .scene-backdrop{background:radial-gradient(ellipse at 70% 40%,#293138,#182025 35%,#111617 72%)}

/* Full-bleed scroll film. Portrait and landscape media share the same timeline. */
.hero-journey{height:100svh;min-height:0}
.hero-journey.scene-ready:not(.static-scene){height:260svh;min-height:0}
.cinematic.hero{height:100svh;min-height:0;max-height:none}
.cinematic .subject-anchor.living-portrait{inset:0;width:100%;height:100%;max-width:none;z-index:1}
.cinematic .living-portrait .subject-plane{width:100%;height:100%;aspect-ratio:auto;mask-image:none;-webkit-mask-image:none;transform-origin:70% 50%}
.subject-plane picture{display:block;width:100%;height:100%}
.cinematic .hero-original,.cinematic .hero-film{width:100%;height:100%;object-fit:cover;object-position:66% 50%;mask-image:none;-webkit-mask-image:none}
.cinematic:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0e1417b8 0%,#0e141733 39%,transparent 66%),linear-gradient(0deg,#111313 0%,transparent 28%)}
.cinematic .hero-wordmark{z-index:3;top:20%}.cinematic h1{font-size:min(14.2vw,22svh)}
.cinematic .hero-intro,.cinematic .scene-caption{z-index:4}
.cinematic .hero-intro{left:6.5%;bottom:10%}.scene-floor{z-index:2;height:16%}
.scroll-cue{position:absolute;bottom:23px;left:6.5%;right:6.5%;z-index:4;display:flex;gap:20px;align-items:center;color:#cdcac5;font-size:10px;letter-spacing:.05em}
.scroll-cue i{display:block;width:90px;height:1px;background:#ffffff38;position:relative}.scroll-cue i:after{content:'';display:block;width:100%;height:100%;background:#eeeae3;transform:scaleX(var(--film-progress,0));transform-origin:left}
.static-scene .scroll-cue{display:none}.film-playing .hero-film{opacity:1}
@media(max-width:700px){
 .hero-journey.scene-ready:not(.static-scene){height:240svh}
 .cinematic .hero-original,.cinematic .hero-film{object-position:52% 50%}
 .cinematic .hero-wordmark{top:110px}.cinematic h1{font-size:20.4vw}
 .cinematic .hero-intro{left:6%;bottom:70px;max-width:250px}.scroll-cue{left:6%;bottom:25px;font-size:8px}
 .cinematic:after{background:linear-gradient(0deg,#111313 0%,#111313a8 18%,transparent 47%),linear-gradient(180deg,#11131399,transparent 30%)}
 .cinematic .scene-caption{bottom:20%}
}
@media(min-width:701px) and (max-height:500px){
 .cinematic h1{font-size:21svh}.cinematic .hero-intro{left:34%;bottom:17%;max-width:165px}.scroll-cue{bottom:16px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){.hero-journey.scene-ready:not(.static-scene){height:100svh;min-height:0}.scroll-cue{display:none}}
