/* Layout-only premium composition. Native pixels and scroll geometry stay unchanged. */
:root{--sky:#1467c6}
#experiment,.preview-label,.review-label{display:none!important}
.scene[data-tone="light"] .copy{color:#fff}
.scene[data-tone="light"] h1,.scene[data-tone="light"] h2{text-shadow:0 1px 10px #123d6733}
.cover .logo-slot:not(.maritime){background:#fffdf4;border-radius:18%}
.cover .brand-times{color:#fff;opacity:.8}
.cover .logo-slot{width:38px;height:38px}
.cover .brands{gap:12px}
.beat-description{margin:0;max-width:28em;font-size:clamp(15px,1.5vw,20px);line-height:1.4;text-wrap:pretty;text-shadow:0 1px 8px #123d6755}
.program-info-button{font:inherit;font-size:13px;color:inherit;background:transparent;border:0;border-bottom:1px solid #ffffff88;padding:5px 0;cursor:pointer}
.program-info-button:focus-visible,.details-close:focus-visible{outline:2px solid #e8c16b;outline-offset:5px}
#program-details{box-sizing:border-box;width:min(620px,calc(100vw - 28px));max-height:calc(100svh - 36px);margin:auto;padding:28px 30px;border:1px solid #cbb779;border-radius:18px;background:#fffdf5;color:#243347;box-shadow:0 20px 70px #0005;overscroll-behavior:contain;text-align:left}
#program-details::backdrop{background:#071b37bb}
#program-details h2{font-size:38px;line-height:1.1;text-align:left;margin:12px 0 14px;text-shadow:none;max-width:none}
#program-details h3{font:600 14px/1.3 system-ui,sans-serif;letter-spacing:.03em;margin:22px 0 7px}
#program-details p{font:15px/1.5 system-ui,sans-serif;margin:0;text-wrap:pretty}
#program-details .sms{margin-top:24px;min-height:56px;min-width:218px}
.details-close{display:block;margin-left:auto;border:0;background:transparent;font:13px system-ui,sans-serif;color:inherit;cursor:pointer;padding:4px}
@media(min-width:701px){
 html:not(.reduced) .cover .copy{position:absolute;inset:0 3% 0 auto;width:56%;padding:6svh 24px 3svh;justify-content:center;gap:14px}
 .cover h1{font-size:clamp(56px,6.9vw,98px);max-width:9em}
 .cover-description{font-size:clamp(15px,1.35vw,18px);max-width:29em}
 html[data-profile]:not(.reduced) #scene-1 .copy{align-items:flex-end;padding-right:6vw}
 html[data-profile]:not(.reduced) #scene-2 .copy,html[data-profile]:not(.reduced) #scene-3 .copy,html[data-profile]:not(.reduced) #scene-4 .copy{align-items:flex-start;padding-left:6vw;text-align:left}
 html[data-profile]:not(.reduced) #scene-5 .copy{margin-left:auto;width:55%;padding-right:5vw;padding-left:12px;text-align:center}
 #scene-5 h2{font-size:clamp(48px,5.5vw,82px)}
}
@media(max-width:700px) and (orientation:portrait){
 .cover .copy{gap:8px;padding:8svh 8vw 20px;justify-content:flex-start}
 .cover .brands{position:absolute;top:max(2svh,env(safe-area-inset-top));gap:10px;margin:0}
 .cover .logo-slot{width:27px;height:27px}.cover .brand-times{font-size:16px}
 .cover .eyebrow{font-size:9px;line-height:1.2;letter-spacing:.15em;margin:0}
 .cover h1{font-size:clamp(31px,9.8vw,52px);max-width:none;line-height:1.02;white-space:nowrap}
 .cover-description{font-size:13px;line-height:1.4;max-width:25em;margin:0}
 .cover .sms{min-height:54px;min-width:216px;padding:10px 19px}.cover .sms-label{font-size:14px}.cover .sms-number{font-size:10px}
 .cover .scroll-cue{margin:0;min-height:28px;padding:3px 12px;gap:3px;font-size:9px}.cover .scroll-line{font-size:18px}
 html[data-profile]:not(.reduced) .scene:not(.cover) .copy{padding:9svh 8vw 0;gap:18px}
 .beat-description{font-size:14px;line-height:1.4;max-width:25em}
 html[data-profile]:not(.reduced) .scene:not(.cover) .copy{gap:12px}
 h2{font-size:clamp(38px,10.8vw,64px)}
 #scene-5 h2{font-size:clamp(34px,9.2vw,54px);max-width:9em}
 #scene-5 .sms{min-height:56px;min-width:216px;padding:11px 19px}
}
@media(max-height:500px) and (orientation:landscape){
 html[data-profile]:not(.reduced) .cover .copy{inset:0 2% 0 auto;width:52%;padding:22px 14px 10px;gap:5px;justify-content:center}
 .cover .brands{position:static}.cover .logo-slot{width:24px;height:24px}.cover .eyebrow{font-size:8px}.cover h1{font-size:34px;max-width:none}.cover-description{font-size:12px;line-height:1.3;margin:0}.cover .sms{min-height:48px;min-width:198px;padding:9px 16px}.cover .scroll-cue{min-height:22px;padding:2px;margin:0;gap:2px;font-size:8px}
 html[data-profile]:not(.reduced) .scene:not(.cover) .copy{padding-top:6svh}h2,#scene-5 h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
 .cover .brands{position:static}.cover .copy{position:relative!important;width:100%!important;min-height:100svh;justify-content:center!important}
 .scene .copy{margin:0!important;width:100%!important}
}
