/* The floating masthead overlays the scene; it no longer leaves a blank band. */
html{scroll-padding-top:0}
.site-header,.site-header.is-scrolled{position:fixed;left:50%;transform:translateX(-50%);margin:0;top:16px}
.hero{height:100svh;min-height:620px;max-height:none;padding-top:100px;grid-template-rows:minmax(0,1fr) 112px}
.scene-content{padding:0;translate:none}
.scene-content h1{font-size:clamp(38px,min(5.45vw,9.3cqh),100px)}
.character-stage{height:calc(100% - 62px)}
.hero-bottom{height:90px;margin-bottom:18px;border-radius:14px;padding:9px 16px;gap:24px}
.hero .primary-button{margin-top:26px}
.story-section,.memories-section{min-height:100svh;scroll-margin-top:0;box-sizing:border-box}
.story-section{padding:112px 5% 34px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);grid-template-rows:1fr auto;column-gap:3%;align-items:center;direction:ltr}
.story-heading{text-align:left;direction:rtl}
.story-heading h2{font-size:clamp(40px,6.1svh,70px);margin:12px 0}
.story-heading p{font-size:13px;line-height:1.75}
.story-hand{--cw:clamp(210px,min(21vw,40svh),300px);--ch:calc(var(--cw) * 1.47);height:calc(var(--ch) + 80px);width:100%;margin:8px auto 0;flex-shrink:0}
.story-card{top:26px;border-radius:20px;background:radial-gradient(ellipse at 50% 25%,var(--tint),#101512 74%);box-shadow:0 18px 32px #0007,inset 0 0 0 5px #0c100d,inset 0 0 0 6px color-mix(in srgb,var(--tone) 32%,transparent)}
.story-police{--spread:calc(var(--cw) * -.70);--angle:-11deg;--rise:18px}
.story-citizen{--spread:calc(var(--cw) * .70);--angle:11deg;--rise:18px}
.story-card::before{border-radius:12px}
.story-card-grid{background:repeating-linear-gradient(90deg,transparent 0 28px,var(--tone) 29px,transparent 30px),repeating-linear-gradient(0deg,transparent 0 28px,var(--tone) 29px,transparent 30px);opacity:.12}
.story-card-title{font-size:clamp(26px,2.5vw,36px);bottom:70px}
.story-card img{filter:saturate(.8);height:90%;bottom:0}
.story-card-title small{font-size:12px;letter-spacing:0}
.story-card-action{color:#d9dfcd;letter-spacing:1px}
.story-footnote{font-size:11px;color:#b2b6a6;grid-column:2;direction:rtl}
.story-dialog::backdrop{background:#030705b8;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.story-panel,.story-back{box-shadow:0 20px 45px #0008}
.story-dialog.is-animating .story-flight,.story-dialog.is-animating .story-turner{will-change:transform}
.story-dialog.is-animating .story-panel{overflow:hidden}
body.story-open .ambient-particles i,body.memory-open .ambient-particles i,body.story-open .memory-track,body.memory-open .memory-track{animation-play-state:paused}
.memories-section{padding:112px 0 35px;display:flex;flex-direction:column;justify-content:center}
.memories-heading{width:88%;max-width:none}
.memories-heading h2{font-size:clamp(36px,6.8vh,72px);margin-top:18px}
.memories-intro p{margin:0}
.memory-window{padding:40px 0 38px}
.memory-frame{width:clamp(280px,25vw,420px);border-radius:3px;position:relative}
.memory-photo{height:clamp(200px,31svh,350px)}
.memory-frame figcaption{height:65px}
.memory-frame figcaption>span{font-size:clamp(13px,1.1vw,17px)}
.memory-open-button{position:absolute;inset:0;z-index:4;border:0;background:transparent;border-radius:3px;color:transparent;cursor:pointer}
.memory-open-button:focus-visible{outline:3px solid #ff7828;outline-offset:6px}
.memory-frame:has(:focus-visible){border-color:#ffbd82;box-shadow:0 15px 28px #0005,0 0 24px #ff782827}
.memories-section.is-keyboard-nav .memory-window:focus-within .memory-track{animation-play-state:paused}
.memory-frame::after{content:'↗';position:absolute;right:22px;top:22px;z-index:3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff60;border-radius:50%;color:white;background:#0d110b88;transition:background .3s,transform .3s;pointer-events:none;font:18px var(--body)}
.memory-frame:hover::after{background:#ff7828;transform:rotate(45deg)}
.memories-bottom{padding-top:20px}
body.memory-open{overflow:hidden}
body.memory-open .page-scrollbar{visibility:hidden}
.memory-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:#f0ede3;overflow:hidden}
.memory-dialog[open]{display:grid;place-items:center}
.memory-dialog::backdrop{background:#060907d9;backdrop-filter:blur(12px);animation:story-backdrop-in .45s ease both}
.memory-sheet{width:min(1160px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:#141812;border:1px solid #ffffff27;border-radius:20px;box-shadow:0 30px 90px #0008;scrollbar-width:thin;scrollbar-color:#ff7828 transparent;position:relative;direction:ltr}
.memory-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff13;position:sticky;top:0;background:#141812f5;z-index:2;min-height:66px}
.memory-sheet-top>span{font:9px var(--body);letter-spacing:2px;color:#d0b59b}
.memory-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff30;border-radius:50%;font:23px var(--body);color:#f0ede3;background:#ffffff05;flex-shrink:0}
.memory-close:hover{background:#ff7828;color:#111;border-color:#ff7828}
.memory-cover{display:block;width:100%;height:clamp(220px,53svh,560px);object-fit:contain;background:radial-gradient(ellipse,#303829,#080b08);border-bottom:1px solid #ffffff15}
.memory-copy{padding:32px clamp(22px,4vw,60px) 34px;direction:rtl}
.memory-label{font:9px var(--body);letter-spacing:2px;color:#ff8b49;direction:ltr;display:block;text-align:right}
.memory-copy h2{font:700 clamp(25px,3.2vw,46px)/1.4 var(--body);letter-spacing:-.6px;margin:12px 0 0}
.memory-blocks:empty{display:none}
.memory-blocks{margin-top:28px;display:grid;gap:24px}
.memory-blocks p{font:16px/2 var(--body);color:#bfc6b7;margin:0;white-space:pre-line}
.memory-blocks h3{font:600 23px/1.6 var(--body);margin:8px 0 0;color:#f2ebdf}
.memory-blocks figure{margin:0}.memory-blocks img,.memory-blocks video{width:100%;max-height:70vh;object-fit:contain;border-radius:10px;background:#080b08;display:block}
.memory-blocks figcaption{font:12px/1.7 var(--body);color:#a6af9a;padding-top:10px}
.memory-sheet-foot{margin-top:28px;padding-top:18px;border-top:1px solid #ffffff1a;display:flex;align-items:center;justify-content:space-between;direction:ltr;font:9px var(--body);letter-spacing:1.5px;color:#8f9c83}
.memory-sheet-foot img{width:38px;height:38px;object-fit:contain}
@media(min-width:1500px){.story-heading p{font-size:15px}.hero .scene-content{padding:0}}
@media(max-width:800px){.story-section{padding:104px 4% 32px;display:flex;flex-direction:column;justify-content:center}.story-heading{text-align:center}.story-hand{--cw:clamp(175px,31vw,245px);--ch:clamp(290px,45svh,390px)}.story-police{--spread:calc(var(--cw) * -.55);--angle:-10deg}.story-citizen{--spread:calc(var(--cw) * .55);--angle:10deg}.story-card-title{font-size:26px}.story-card-kicker{font-size:5px}.memories-section{padding-top:105px}.memories-heading{display:block}.memories-intro{margin-top:20px}.memories-heading h2{font-size:clamp(34px,6svh,58px)}}
@media(max-width:600px){.site-header,.site-header.is-scrolled{top:14px;margin:0}.hero{height:100svh;min-height:680px;padding-top:105px;grid-template-rows:minmax(0,1fr) 94px}.scene-content{padding:0;align-self:start}.scene-content h1{font-size:clamp(33px,min(9.3vw,6.1cqh),52px)}.character-stage{height:53%;bottom:80px;right:-9%;width:86%}.hero .primary-button{margin-top:20px}.hero-bottom{height:80px;padding:7px;margin:0 4% 14px;gap:0}.chapter-control{bottom:98px}.story-heading h2{font-size:clamp(38px,6svh,50px)}.story-hand{--cw:clamp(162px,43vw,225px);--ch:clamp(278px,42svh,350px);height:calc(var(--ch) + 80px);margin-top:14px}.story-police{--spread:calc(var(--cw) * -.49);--rise:22px;--angle:-10deg}.story-citizen{--spread:calc(var(--cw) * .49);--rise:22px;--angle:10deg}.story-card-title{left:20px;right:20px;font-size:22px}.story-card-kicker{font-size:4px;letter-spacing:.2px}.story-heading p{font-size:12px}.story-footnote{font-size:10px}.memory-window{padding:34px 0}.memory-frame{width:260px}.memory-photo{height:clamp(210px,30svh,280px)}.memory-dialog{padding:12px}.memory-sheet{max-height:calc(100dvh - 24px);border-radius:16px}.memory-sheet-top{padding:12px 18px;min-height:60px}.memory-sheet-top>span{font-size:8px;letter-spacing:1px}.memory-cover{height:auto;max-height:50svh;min-height:200px}.memory-copy{padding:24px 22px}.memory-copy h2{font-size:27px}.memory-label{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.memory-group[aria-hidden=true]{display:none}.memory-dialog::backdrop{animation:none}}
