/* Scroll-driven moment, shared with the original concept preview. */
.pm-scroll-page{--pm-paper:#f0ede4;--pm-muted:#b8c3c7;--pm-accent:#c7ac7d;background:#0e1b28;color:var(--pm-paper);margin:0}
.pm-preview-nav{position:absolute;inset:0 0 auto;z-index:10;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);font:400 13px/1.4 var(--sans)}
.pm-preview-nav a{color:var(--pm-muted);text-decoration:none}
.pm-preview-nav .pm-preview-mark{color:var(--pm-paper);font:300 21px/1 var(--serif);letter-spacing:.02em}
.pm-preview-nav a:focus-visible,.pm-back:focus-visible{outline:2px solid var(--pm-accent);outline-offset:6px}
.pm-scroll-track{padding:0;height:320svh;overflow:visible;--pm-open:0;--pm-reveal:0}
.pm-scroll-track[data-driver="auto"]{height:180svh;--pm-focus:0}
.pm-scroll-track[data-driver="auto"] #pm-heading{top:0;left:0;margin:0;scroll-margin-top:52px}
.pm-scroll-track[data-driver="auto"] .pm-sticky{grid-template-rows:minmax(0,1fr)}
.pm-scroll-track[data-driver="auto"] .pm-stage{margin-top:0}
.pm-scroll-track[data-driver="auto"] .pm-now{top:50%;width:90%;max-width:800px}
.pm-scroll-track[data-driver="auto"] .pm-now strong{font-size:clamp(36px,6vw,86px);line-height:1.1;letter-spacing:-.04em}
.pm-scroll-track[data-driver="auto"]:not([data-open="true"]) .pm-scroll-arrow{visibility:hidden}
.pm-sticky{position:sticky;top:0;height:100svh;min-height:480px;padding:74px max(24px,5vw) 20px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;box-sizing:border-box}
.pm-scroll-label{margin:0 0 12px;text-align:center;font:400 12px/1.5 var(--mono);color:var(--pm-accent)}
.pm-story{position:relative;margin:0;text-align:center;font:300 clamp(36px,4.3vw,66px)/1.08 var(--serif);letter-spacing:-.04em;text-wrap:balance}
.pm-story-first{display:block;opacity:clamp(0,calc(1 - var(--pm-open) * 3.5),1)}
.pm-story-next{position:absolute;inset:0;opacity:clamp(0,calc((var(--pm-open) - .32) * 2.8),1)}
.pm-scroll-track .pm-stage{width:100%;height:auto;min-height:0;margin:22px auto 0}
.pm-scroll-track .pm-space{clip-path:inset(0 calc((1 - var(--pm-open)) * 45%))}
.pm-scroll-track .pm-photo{object-position:50% 53%}
.pm-scroll-track .pm-now strong{font-size:clamp(72px,9vw,130px)}
.pm-scroll-track .pm-space:after{background:linear-gradient(180deg,#0e1b28cc,#0e1b28b8 105px,transparent 180px,transparent 65%,#0e1b28bf),radial-gradient(ellipse at 50% 48%,#0e1b2855,transparent 62%)}
/* A single restrained focus pulse, not a HUD or an extra interaction. The
   centre stays clear; only peripheral detail recedes as the sound gathers. */
.pm-scroll-track[data-driver="auto"][data-focusing="true"] .pm-photo{
 transform:scale(calc(1.055 - var(--pm-open)*.055 + var(--pm-focus)*.055));
 filter:saturate(calc(1 - var(--pm-focus)*.16)) contrast(calc(1 + var(--pm-focus)*.06));
}
.pm-scroll-track[data-driver="auto"] .pm-space:before{
 content:"";display:none;position:absolute;inset:0;z-index:1;pointer-events:none;
 opacity:var(--pm-focus);
 background:radial-gradient(ellipse at 50% 50%,transparent 26%,#061320a6 100%);
 -webkit-backdrop-filter:blur(3.5px);backdrop-filter:blur(3.5px);
 -webkit-mask-image:radial-gradient(ellipse at 50% 50%,transparent 28%,#000 82%);
 mask-image:radial-gradient(ellipse at 50% 50%,transparent 28%,#000 82%);
}
.pm-scroll-track[data-driver="auto"][data-focusing="true"] .pm-space:before{display:block}
@media(prefers-reduced-motion:reduce){
 .pm-scroll-track[data-driver="auto"] .pm-photo{transform:none;filter:none}
 .pm-scroll-track[data-driver="auto"] .pm-space:before{display:none!important}
}
.pm-center-cues{position:absolute;inset:0;z-index:4;pointer-events:none;display:grid;place-items:center}
.pm-center-cue{grid-area:1/1;position:relative;isolation:isolate;margin:0;padding:24px 22px;width:min(90%,520px);box-sizing:border-box;text-align:center;opacity:0;font:400 clamp(18px,1.7vw,24px)/1.5 var(--sans);letter-spacing:0;color:var(--pm-paper);text-shadow:0 2px 10px #07131a,0 0 24px #07131a}
.pm-center-cue:before{content:"";position:absolute;z-index:-1;inset:-35% 0;background:radial-gradient(ellipse,#0e1b2899,transparent 70%)}
[data-driver="auto"] .pm-center-cue{text-shadow:0 1px 6px #07131a66}
[data-driver="auto"] .pm-center-cue:before{background:radial-gradient(ellipse,#0e1b2833,transparent 70%)}
.pm-audio-hint{position:absolute;right:6%;bottom:30px;max-width:21ch;margin:0;font:400 12px/1.5 var(--sans);text-align:right;color:var(--pm-muted);opacity:clamp(0,calc((var(--pm-open) - .7) * 4),1);pointer-events:none;text-shadow:0 1px 8px #0e1b28}
[data-audible="true"] .pm-audio-hint{visibility:hidden}
.pm-scroll-caption{text-align:center;padding-top:16px;min-height:62px}
.pm-scroll-track .pm-feedback{margin:0 auto;min-height:0;font-size:14px}
[data-driver="auto"] .pm-feedback{min-height:1.6em}
.pm-scroll-arrow{display:block;color:var(--pm-accent);font-size:22px;line-height:1.2;margin-top:6px}
.pm-scroll-outro{--pm-paper:#f0ede4;--pm-muted:#b8c3c7;--pm-accent:#c7ac7d;background:#0e1b28;color:var(--pm-paper);padding:80px max(24px,5vw) 100px}
.pm-scroll-outro .pm-meaning{margin:0 auto}
.pm-scroll-outro h2{margin:0;font:300 clamp(32px,3.5vw,48px)/1.15 var(--serif);letter-spacing:-.03em;color:var(--pm-paper)}
.pm-back{display:inline-block;margin-top:28px;font:400 13px/1.5 var(--sans);color:var(--pm-accent);text-underline-offset:5px}
@media(max-width:600px){
 .pm-preview-nav{padding:0 24px;font-size:12px}
 .pm-sticky{padding:76px 24px 20px;min-height:520px}
 .pm-scroll-label{margin-bottom:14px}
 .pm-story{font-size:clamp(36px,10vw,48px)}
 .pm-scroll-track .pm-stage{width:calc(100% + 24px);margin:22px -12px 0}
 .pm-center-cue{font-size:18px;width:100%;padding-inline:24px}
 .pm-audio-hint{right:7%;bottom:24px;max-width:16ch;font-size:12px}
 .pm-scroll-track .pm-feedback{font-size:13px;max-width:29ch}
 .pm-scroll-caption{min-height:78px}
 .pm-scroll-outro{padding-top:54px;padding-bottom:70px}
}
@media(max-height:600px) and (min-width:601px){
 .pm-sticky{padding-top:55px;min-height:400px;padding-bottom:10px}
 .pm-scroll-label{margin-bottom:6px}.pm-story{font-size:34px}
 .pm-scroll-track .pm-stage{margin-top:12px}.pm-scroll-caption{min-height:45px;padding-top:10px}
}
.pm-scroll-track:not([data-enhanced="true"]){height:auto;--pm-open:1;--pm-reveal:1}
.pm-scroll-track:not([data-enhanced="true"]) .pm-sticky{position:relative}
.pm-scroll-track:not([data-enhanced="true"]) .pm-scroll-caption{visibility:hidden}
