@font-face{font-family:Portfolio;src:url('vendor/rajdhani.ttf') format('truetype');font-display:swap;font-weight:300 700}
:root{color-scheme:dark;font-family:Portfolio,Arial,sans-serif;color:#dce9e5;background:#050b0d;font-synthesis:none}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:#537069 #080e11}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:1px solid #a1e7d5;outline-offset:7px}button:hover,a:hover{color:#fff}[hidden]{display:none!important}#world{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:pan-y;outline:none}header{position:fixed;inset:30px 32px auto;z-index:10;display:flex;justify-content:space-between;align-items:center;pointer-events:none}header>*{pointer-events:auto}.wordmark{font-size:13px;letter-spacing:.12em;font-weight:500;text-align:left}.pill{display:flex;align-items:center;gap:21px;border:1px solid #58706e80;border-radius:40px;padding:10px 22px;background:#080d11a6;box-shadow:0 9px 28px #77b8b613;font-size:12px}.pill i{height:1px;width:34px;background:#b2c4be}.pill button{padding:0}#simple{position:fixed;z-index:12;left:34px;bottom:28px;font:10px monospace;letter-spacing:.07em;color:#7f9690}#location{position:fixed;bottom:28px;right:34px;font:10px monospace;letter-spacing:.08em;color:#7f9690;z-index:9}#entrance,#about,#closing{position:fixed;inset:0;pointer-events:none;z-index:2}#entrance>p{position:absolute;top:28%;left:50%;transform:translateX(-50%);margin:0;font-size:16px;font-weight:400;letter-spacing:.06em;color:#658a95;white-space:nowrap}#entrance>button{pointer-events:auto;position:absolute;left:50%;top:33%;transform:translateX(-50%);padding:15px;font-size:12px;color:#9cb2ad;letter-spacing:.1em}#about{opacity:0;padding:0 7vw;display:flex;align-items:flex-end;gap:5vw;padding-bottom:8vh}#about h1{font-size:clamp(56px,8vw,144px);font-weight:400;line-height:.87;letter-spacing:-.03em;margin:0;max-width:8ch}#about p{font:13px/1.8 monospace;color:#bdcec8;max-width:30ch;margin:0;max-height:18vh}#projectNav{opacity:0;position:fixed;z-index:8;left:50%;bottom:8%;width:min(550px,78vw);transform:translateX(-50%);display:grid;grid-template-columns:1fr auto;gap:12px 25px;align-items:center;pointer-events:none}#counter{font:11px monospace;letter-spacing:.1em;color:#8da6a0}#focusProject{grid-row:2;text-align:left;padding:0;font-size:20px}#projectNav nav{display:flex;gap:15px;grid-column:2;grid-row:1/3}#projectNav nav button{font-size:20px;border:1px solid #58716b6b;border-radius:50%;width:38px;height:38px}.rail{position:fixed;top:45%;right:17px;height:85px;width:1px;background:#42635c60;z-index:7}#progress{width:1px;height:100%;background:#a9d8c9;transform:scaleY(0);transform-origin:top}#closing{opacity:0;text-align:center}#closing div{position:absolute;top:76%;display:flex;justify-content:center;gap:35px;width:100%;font-size:13px;pointer-events:auto}#scrollTrack{height:1840vh;pointer-events:none}#loading{position:fixed;inset:0;z-index:30;background:#050b0d;display:grid;place-content:center;gap:12px;text-align:center;transition:opacity .7s,visibility .7s}#loading strong{font-size:27px;font-weight:400;letter-spacing:.08em}#loading span{font:10px monospace;letter-spacing:.15em;color:#8aaca0}#loading i{display:block;width:150px;height:1px;background:#213c35;position:relative;overflow:hidden}#loading i:after{content:'';position:absolute;inset:0;background:#abd5c8;animation:load 1.2s infinite;transform-origin:left}.ready #loading{opacity:0;visibility:hidden}@keyframes load{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}dialog{width:min(680px,calc(100% - 40px));max-height:83vh;border:1px solid #60786f66;padding:46px;background:#091011ee;color:#d9e5df;backdrop-filter:blur(20px)}dialog::backdrop{background:#010505b0}dialog [data-close]{position:absolute;top:15px;right:17px;font-size:24px;padding:0 8px}dialog h2{font-size:clamp(30px,5vw,56px);line-height:1.1;font-weight:400;margin:18px 0}dialog p{font-size:19px;line-height:1.55;color:#b5c7c1}dialog p.overline{font:10px/1.8 monospace;letter-spacing:.1em;color:#97c8b8}dialog ul{list-style:none;padding:0;display:grid;gap:10px;margin:27px 0 0;font:12px/1.6 monospace;color:#8cafa1}#skills nav{display:grid}#skills [data-project]{text-align:left;border-top:1px solid #566f653b;padding:14px 0;display:flex;gap:20px;font-size:19px}#skills [data-project] span{font:11px monospace;color:#7a9b8b;padding-top:5px}#contact div{display:grid;gap:16px;margin-top:35px;font-size:clamp(15px,3vw,22px)}#plain{position:fixed;inset:0;z-index:25;background:#071011;overflow:auto;padding:36px max(25px,7vw) 70px}#plain>nav{display:flex;justify-content:space-between;gap:25px;font:11px monospace;margin-bottom:80px}#plain h1{font-size:clamp(42px,7vw,92px);line-height:1;font-weight:400;margin:0 0 60px}.plainGrid{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px;max-width:1300px}.plainGrid article{border-top:1px solid #637c6f55;padding-top:22px}.plainGrid h2{font-weight:500;font-size:32px;margin:15px 0}.plainGrid p{font-size:20px;line-height:1.55;color:#a8c0b5}.plainGrid .overline{font:10px/1.6 monospace;letter-spacing:.07em;color:#81b39c}.plainGrid ul{padding-left:16px;color:#8dbaaa;font:12px/1.8 monospace}#plain footer{margin-top:70px;display:flex;gap:40px;font-size:18px}.plain #world{visibility:hidden}noscript{position:fixed;z-index:40;inset:0;background:#071011;overflow:auto;padding:10vw}#loading a{font:12px monospace;padding:15px}
@media(max-width:699px){header{inset:22px 20px auto}.wordmark{font-size:10px;max-width:70px}.pill{font-size:11px;gap:13px;padding:9px 15px}.pill i{width:20px}#simple{left:20px;font-size:9px;bottom:23px}#location{right:20px;font-size:8px;bottom:23px}#entrance>p{top:28%;font-size:13px}#about{display:block;padding:69vh 25px 0}#about h1{font-size:52px;max-width:unset;margin-bottom:20px}#about p{font-size:10px;max-width:35ch}#projectNav{bottom:12%;width:83vw}#focusProject{font-size:17px}#projectNav nav{gap:8px}#projectNav nav button{width:32px;height:32px}dialog{padding:38px 25px}dialog p{font-size:17px}.plainGrid{grid-template-columns:1fr;gap:36px}.plainGrid p{font-size:18px}#plain>nav{margin-bottom:55px}#plain footer{flex-direction:column;gap:20px}#closing div{font-size:11px;gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#loading i:after{animation:none}}

#glassContact{position:fixed;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;text-align:center;padding:20px}#glassContact p{font:11px monospace;letter-spacing:.15em;color:#c3d2cb;margin:0 0 20px}#glassContact button{font-size:clamp(28px,4vw,58px);font-weight:400;letter-spacing:.04em;padding:0 15px;text-shadow:0 2px 20px #000}#glassContact small{margin-top:24px;font:9px monospace;letter-spacing:.1em;color:#a4b9ae}#scrollTrack{height:2860vh}
html.project-open,body.project-open{overflow:hidden}.project-open #world{touch-action:none}.project-open #simple,.project-open #location,.project-open .rail{visibility:hidden}
#detail{position:fixed;inset:0;z-index:9;pointer-events:none;opacity:0}
#detail article{position:absolute;left:2.2vw;bottom:9vh;width:min(17vw,270px);max-height:68vh;overflow-y:auto;padding:8px 8px 8px 0;pointer-events:auto;transform:translateY(var(--detail-shift,15px));text-shadow:0 1px 7px #000}
#detail .overline{font:9px/1.7 monospace;letter-spacing:.04em;color:#91c5c1;margin:0 0 12px}
#detail h2{font:500 20px/1.15 Portfolio,sans-serif;letter-spacing:.01em;margin:0 0 17px;color:#e0eae8}
#detailBody{font:10px/1.7 monospace;color:#a7c9c5;margin:0}
#detailFacts{list-style:none;padding:0;margin:17px 0;font:9px/1.65 monospace;color:#80a5a2;display:grid;gap:7px}
#detailClose{font:10px monospace;padding:12px 0 4px;color:#b7e3de;letter-spacing:.06em}
#pointerRing{position:fixed;left:0;top:0;z-index:7;width:28px;height:28px;border:1px solid #d1e8e6bd;border-radius:50%;margin:-14px 0 0 -14px;pointer-events:none;box-shadow:0 0 11px #9fd9dc25;will-change:transform}
@media(max-width:699px){#detail article{left:7vw;bottom:9vh;width:86vw;max-height:43vh;padding:8px 0 0}#detail h2{font-size:25px;margin-bottom:13px}#detailBody{font-size:11px;line-height:1.65}#detailFacts{font-size:10px;gap:5px;margin:14px 0}#detail .overline{font-size:9px}#detailClose{font-size:11px;padding:14px 0}#pointerRing{display:none}}

#about .aboutCopy{max-width:42ch;display:grid;gap:18px;font-size:clamp(15px,1.15vw,20px);text-shadow:0 2px 18px #020909}#about .aboutCopy p{max-width:none;max-height:none;font-size:inherit;line-height:1.5;margin:0}#about .aboutCopy .aboutRole{font-size:.85em;letter-spacing:.14em;color:#e5eeeb}
@media(max-width:699px){#about{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:0 25px 8vh;gap:18px}#about h1{margin:0;font-size:clamp(48px,14vw,62px)}#about .aboutCopy{gap:12px;max-width:40ch;font-size:clamp(12px,3.3vw,15px)}#about .aboutCopy p{font-size:inherit;line-height:1.5}#about .aboutCopy .aboutRole{font-size:12px}}

#skills .indexGroup h3{font:11px monospace;letter-spacing:.1em;color:#8caaa3;margin:26px 0 12px}
.pill [data-open-reel]{color:#e0bcd4;white-space:nowrap}
#skills .indexReel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;padding:20px;border:1px solid #b9749e66;background:linear-gradient(120deg,#b9749e18,transparent);border-radius:8px}
#skills .indexReel strong{display:block;font-size:28px;font-weight:500;letter-spacing:.08em}
#skills .indexReel small{display:block;font:10px/1.7 monospace;color:#b9cbc5;margin-top:5px}
@media(max-width:380px){.pill{gap:9px;padding:9px 11px}.pill i{display:none}}
#detailContent{position:absolute;left:26vw;top:20vh;width:58vw;height:60vh;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;padding:clamp(16px,1.8vw,28px);background:linear-gradient(135deg,#031014cf,#07141bbf);border:1px solid #96c8c126;border-radius:12px;scrollbar-width:thin;scrollbar-color:#769c94 transparent;touch-action:pan-y}
#detailContent:focus-visible{outline:1px solid #a1e7d5;outline-offset:4px}
.detailSection{margin:0 0 28px;padding-top:22px;border-top:1px solid #7fa59f30}
.detailSection:first-child{padding-top:0;border-top:0}
.detailSection:last-child{margin-bottom:0}
.detailSection h3{font:500 clamp(18px,1.6vw,25px)/1.2 Portfolio,sans-serif;letter-spacing:.01em;color:#e0eeea;margin:0 0 18px}
.detailItems{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detailItems li{min-width:0;padding:16px 14px;border:1px solid #789b9533;border-radius:8px;background:#0b20252b}
.detailItems h4{font:500 clamp(14px,1.15vw,18px)/1.25 Portfolio,sans-serif;color:#dcebe7;margin:0 0 10px}
.detailItems p{font:clamp(11px,.9vw,14px)/1.6 monospace;color:#b1cbc5;margin:0}
.detailItems.steps li{border-top:2px solid #74b8ad80}
.detailItems.list{grid-template-columns:1fr;gap:0}
.detailItems.list li{padding:16px 0;border:0;border-top:1px solid #789b9533;border-radius:0;background:none}
#plain .plainProduction{grid-column:1/-1}
#plain .detailSection{margin-top:30px}
#plain .detailItems{list-style:none;padding:0;margin:0}
#plain .detailItems p{font:13px/1.65 monospace;margin:0}
#plain .detailItems h4{font-size:20px}
#plain .detailSection h3{font-size:25px}
.reelFeature video{display:block;width:auto;max-width:100%;height:auto;max-height:42vh;aspect-ratio:16/9;object-fit:contain;margin-inline:auto;background:#010506;border:1px solid #91bab336;border-radius:8px}
.reelFeature .reelEyebrow{font:9px/1.6 monospace;letter-spacing:.09em;color:#cba6be;margin:0 0 9px}
.reelFeature h3{font-size:clamp(27px,3vw,44px);letter-spacing:.08em;margin:0 0 15px}
.reelFeature .reelDescription{font:clamp(11px,.9vw,14px)/1.7 monospace;color:#b1cbc5;margin:18px 0 14px}
.reelMeta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font:10px/1.6 monospace;color:#8fb8ac}
.reelMeta a{border-bottom:1px solid #789b9566;padding:5px 0;color:#dce9e5}
#plain .reelFeature .reelDescription{font:13px/1.7 monospace;margin:18px 0 14px}
#plain .reelFeature .reelEyebrow{font:9px/1.6 monospace}
#plain .reelFeature video{width:100%;max-height:none}
@media(max-width:699px){#detail .reelFeature video{width:100%;max-height:none}}
@media(max-width:1100px) and (min-width:700px){#detailContent{padding:16px}.detailItems{grid-template-columns:repeat(2,minmax(0,1fr))}.detailItems.steps{grid-template-columns:1fr}}
@media(max-width:699px){
 #detail.has-sections{overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;padding:44vh 7vw 100px;background:linear-gradient(transparent 25vh,#041013eb 44vh);scrollbar-width:thin}
 #detail.has-sections article{position:static;left:auto;bottom:auto;width:100%;max-height:none;overflow:visible;padding:0;transform:none}
 #detail.has-sections #detailTitle{font-size:28px}
 #detail.has-sections #detailBody{font-size:12px}
 #detail.has-sections #detailClose{position:fixed;left:7vw;bottom:22px;padding:12px 18px;border:1px solid #86b7aa70;border-radius:24px;background:#071718;z-index:2}
 #detailContent{position:static;width:100%;height:auto;max-height:none;overflow:visible;margin:26px 0 0;padding:20px 16px;border-radius:10px;background:#071b2099}
 .detailItems,.detailItems.steps{grid-template-columns:1fr}
 .detailItems h4{font-size:18px}.detailItems p{font-size:12px}
 #plain .plainProduction{grid-column:auto}#plain .detailItems p{font-size:12px}
}

/* The introduction is a chapter with a held composition before the gallery. */
@media(min-width:700px){
 #about{display:block;padding:0;background:linear-gradient(90deg,#02090b55,transparent 55%)}
 #about h1{position:absolute;left:7vw;top:30vh;font-size:clamp(62px,8.2vw,144px);line-height:.9;max-width:8ch;text-shadow:0 3px 28px #010608}
 #about .aboutCopy{position:absolute;left:7vw;bottom:13vh;max-width:34ch;gap:14px;font-size:clamp(13px,1.05vw,18px)}
}
@media(max-width:699px){
 #about{padding-bottom:8vh;background:linear-gradient(transparent 35%,#02090b66)}
 #about h1{font-size:clamp(42px,12vw,62px)}
 #about .aboutCopy{font-size:12px;gap:10px}
}

/* Project content lives in the scene, without an inset window or pane border. */
#detail{z-index:15;background:linear-gradient(90deg,#02090bf2 0%,#030c10db 28%,#02090b44 68%,#02090b77);overscroll-behavior:none}
#detailStage{position:relative;min-height:100svh;height:100%;display:grid;grid-template-columns:1fr;align-items:center;gap:5vw;padding:110px 7vw 100px}
#detail.has-media #detailStage{grid-template-columns:30% minmax(0,1fr)}
#detail #detailStage article{position:static;width:auto;max-width:640px;max-height:none;overflow:visible;padding:0;transform:none;pointer-events:auto;text-shadow:0 2px 20px #010608}
#detail #detailTitle{font:400 clamp(42px,4.7vw,88px)/.98 Portfolio,sans-serif;letter-spacing:-.025em;margin:0 0 26px;max-width:13ch}
#detail #detailTag{font:10px/1.8 monospace;color:#a0c4c0;margin:0 0 24px;max-width:45ch}
#detail #detailBody{font:14px/1.75 monospace;color:#c1d5d0;max-width:45ch}
#detail #detailFacts{font:11px/1.7 monospace;color:#99b9b0;gap:8px;margin:24px 0}
.projectActions{display:grid;justify-items:start;gap:20px;margin-top:30px}
#detailRead{font-size:21px;padding:0 0 6px;border-bottom:1px solid #9ec2b660;color:#ebf1ed}
#detail #detailClose{font:10px/1.7 monospace;padding:6px 0;letter-spacing:.05em;color:#a1bcb4}
#detailMedia{min-width:0;align-self:center}
#detailMedia video{display:block;width:100%;height:auto;max-height:64vh;aspect-ratio:16/9;object-fit:contain;background:#010507;border:0;border-radius:0;box-shadow:0 30px 100px #0007}
.projectCaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px;font:10px/1.7 monospace;letter-spacing:.03em;color:#a4c4bc}
.projectCaption a{border-bottom:1px solid #9ec2b64d}
#detailHint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:16px;font:9px/1.6 monospace;letter-spacing:.12em;color:#a9c6bc;white-space:nowrap;pointer-events:none}
#detailHint span{font-size:20px}
.project-open header:not(.readerHeader){z-index:20}
#detailReader{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;background:#061114f7;padding:100px 8vw 100px;scrollbar-width:thin;scrollbar-color:#638e82 #061114;touch-action:pan-y}
#detailReader .readerHeader{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1250px;padding:0 0 34px;pointer-events:auto}
.readerHeader p,.readerHeader button{font:10px/1.7 monospace;letter-spacing:.07em;color:#94b7ae;margin:0;padding:5px 0}
#detail #detailReaderTitle{font:400 clamp(44px,6vw,100px)/1 Portfolio,sans-serif;margin:15px 0 65px;max-width:18ch;color:#e6eeea}
#detailReaderLead{font:15px/1.9 monospace;max-width:65ch;color:#b8cec7;margin:-30px 0 65px}
#detailReader #detailContent{position:static;width:auto;height:auto;max-width:1250px;overflow:visible;margin:0;padding:0;background:none;border:0;border-radius:0}
#detailReader .detailSection{margin-bottom:65px;padding-top:28px}
#detailReader .detailSection h3{font-size:30px;margin-bottom:30px}
#detailReader .detailItems{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px}
#detailReader .detailItems li{border:0;border-top:1px solid #789b954d;border-radius:0;background:none;padding:22px 0}
#detailReader .detailItems h4{font-size:23px;font-weight:500;margin-bottom:14px}
#detailReader .detailItems p{font:14px/1.8 monospace;color:#b8cec7}
#detailReader .detailItems.list{grid-template-columns:1fr}
@media(max-width:1100px) and (min-width:700px){
 #detailStage{padding:100px 5vw 75px;gap:4vw}
 #detail.has-media #detailStage{grid-template-columns:35% minmax(0,1fr)}
 #detail #detailTitle{font-size:clamp(35px,4.4vw,50px)}
 #detail #detailBody{font-size:12px;line-height:1.7}
 #detail #detailTag{font-size:9px;margin-bottom:18px}
 #detailReader .detailItems{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:699px){
 #detailStage,#detail.has-media #detailStage{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:22px;padding:100px 7vw 80px}
 #detail.has-media #detailMedia{order:-1}
 #detail #detailTitle{font-size:clamp(35px,9vw,48px);max-width:18ch;margin-bottom:16px}
 #detail #detailTag{font-size:8px;margin-bottom:12px}
 #detail #detailBody{font-size:12px;line-height:1.7}
 #detail.has-media #detailBody{display:none}
 #detail #detailFacts{font-size:9px;display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0}
 .projectActions{gap:13px;margin-top:19px}
 #detailRead{font-size:19px}
 #detailMedia video{height:28vh;max-height:220px}
 .projectCaption{font-size:8px;gap:8px;margin-top:10px}
 #detailHint{bottom:23px;font-size:8px}
 #detailReader{padding:90px 7vw 80px}
 #detailReader .readerHeader{gap:14px;padding-bottom:25px}
 .readerHeader p,.readerHeader button{font-size:8px}
 #detail #detailReaderTitle{font-size:44px;margin:10px 0 45px}
 #detailReader .detailItems{grid-template-columns:1fr;gap:5px}
 #detailReader .detailItems h4{font-size:23px}
 #detailReader .detailItems p{font-size:13px}
 #detailReader .detailSection{margin-bottom:40px}
}

#qualityControl{position:fixed;z-index:12;bottom:26px;left:50%;transform:translateX(-50%);font:9px monospace;letter-spacing:.05em;color:#89a39b}#quality{font:10px Portfolio,sans-serif;background:#071113c9;color:#c1d5cd;border:1px solid #69887a50;border-radius:14px;padding:4px 8px;margin-left:5px}.project-open #qualityControl,.plain #qualityControl{display:none}@media(max-width:699px){#qualityControl{bottom:53px;left:20px;transform:none}}

@media(min-width:700px){#about{background:none}#about h1{opacity:0}#about .aboutCopy{left:61vw;top:54vh;bottom:auto;max-width:29ch;gap:16px;font:clamp(11px,.95vw,16px)/1.6 monospace}}

/* The scene carries its titles; controls retain accessible names without captions. */
#projectNav{width:auto;bottom:5%;display:flex;justify-content:center;gap:0}
#projectNav nav{display:flex}
#focusProject.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#focusProject.visuallyHidden:focus-visible{clip-path:none;width:auto;height:auto;bottom:52px;margin:0;padding:8px 16px;background:#091011;white-space:nowrap}
#glassContact{padding:0;pointer-events:none}
#glassContact button{position:absolute;padding:0;border:0;background:none;text-shadow:none;cursor:pointer;touch-action:pan-y}
#glassContact button:focus-visible{outline:1px solid #b6d3ce;outline-offset:7px}
.viewSettings{display:flex;flex-wrap:wrap;gap:15px 24px;align-items:center;margin:24px 0}
.viewSettings #simple,.viewSettings #qualityControl{position:static;transform:none;margin:0;inset:auto;font:10px monospace}
#detailHint:empty{display:none}

/* Project-specific video credit; controls remain unobstructed. */
.reelVisual,#detailMedia{position:relative}
.mediaOverlay{position:absolute;inset:0 0 auto;padding:clamp(15px,2.2vw,30px);color:#fff;background:linear-gradient(#02070bf5,#02070bdf 85%,#02070b00);pointer-events:none;text-shadow:0 2px 8px #000;z-index:1}
.mediaOverlay .mediaStatement{font:500 clamp(18px,1.8vw,28px)/1.22 Portfolio,sans-serif;letter-spacing:-.015em;margin:0;max-width:42ch;text-wrap:balance}
.mediaOverlay .mediaRole{font:14px/1.45 Portfolio,sans-serif;letter-spacing:.015em;margin:10px 0 15px;color:#fff}
.mediaRole strong{font-weight:600}
@media(max-width:699px){.mediaOverlay{padding:12px 14px 16px}.mediaOverlay .mediaStatement{font-size:16px;line-height:1.2}.mediaOverlay .mediaRole{font-size:13px;margin:7px 0 9px}}

.youtubePlayer{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;border:0;background:#010507;box-shadow:0 30px 100px #0007}
.youtubeExternal{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:44px;margin-top:12px;color:#e6eeea;font:14px/1.5 Portfolio,sans-serif;text-decoration:underline;text-underline-offset:4px}
.youtubeExternal span{font-size:12px;color:#b8cec7}
.youtubeExternal:hover{color:#fff}
.youtubeExternal:focus-visible{outline:2px solid #b5e2d4;outline-offset:4px}

/* The interactive tour keeps its own scroll and keyboard controls. */
#detail.has-tour #detailStage{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:14px;padding:80px 5vw 55px}
#detail.has-tour #detailStage article{max-width:none}
#detail.has-tour #detailTitle{font-size:clamp(24px,3vw,42px);max-width:none;margin:0}
.tourPlayer{display:block;width:100%;height:min(72vh,820px);min-height:320px;border:1px solid #ffffff24;background:#131b20;border-radius:6px}
.tourPoster{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tourFeature .youtubeExternal{justify-content:flex-end}
.mediaError{color:#fff;font:14px/1.5 sans-serif}
@media(max-width:700px){#detail.has-tour #detailStage{padding:75px 4vw 60px}.tourPlayer{height:64svh;min-height:300px}#detail.has-tour #detailMedia{order:0}}
/* Readable intro at reduced widths, without competing absolute text blocks. */
#detail.has-tour #detailMedia{align-self:stretch;width:100%}
@media(max-width:699px){
 #about{padding:88px 24px max(24px,6svh);gap:16px}
 #about .aboutCopy{font-size:14px;line-height:1.5;max-width:40ch;gap:10px}
 #about .aboutCopy p{font-size:inherit;max-height:none;overflow-wrap:break-word}
 #about .aboutCopy .aboutRole{font-size:12px;letter-spacing:.1em}
}
@media(min-width:700px) and (max-width:1099px),(min-width:700px) and (max-height:649px){
 #about h1{opacity:1;left:6vw;top:29vh;font-size:clamp(42px,6.5vw,76px);line-height:.94}
 #about .aboutCopy{left:56vw;top:auto;bottom:7vh;width:38vw;max-width:38ch;font-size:14px;gap:12px}
 #about{background:linear-gradient(90deg,#02090b55,transparent 48%,#02090b44)}
}
@media(max-width:699px) and (max-height:500px) and (orientation:landscape){
 #about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;gap:24px;padding:82px 6vw 20px}
 #about h1{font-size:clamp(30px,6.5vw,44px);line-height:.95}
 #about .aboutCopy{font-size:13px;gap:8px}
}
