@font-face{font-family:Vazirmatn;src:url("/static/fonts/Vazirmatn-VF.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Gulzar;src:url("/static/fonts/Gulzar-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{font-family:Vazirmatn,system-ui,sans-serif;color-scheme:dark;--bg:#081b20;--fg:#f5efe2;--muted:#b7c5be;--gold:#e1bc80;--line:rgba(232,219,183,.32);--surface:rgba(12,38,42,.82);--focus:#fff1a5;--control-border:#9ab0a6}
:root:not([data-page="landing"]):not(:has(#landing)):not([data-page="presenter"]):not(:has(#presenter)):not([data-page="handoff"]):not(:has(#handoff))[data-theme="light"]{color-scheme:light;--bg:#f3eee4;--fg:#1a3334;--muted:#486062;--line:rgba(30,70,69,.22);--surface:rgba(255,252,244,.88);--gold:#8c5a31;--focus:#773e22;--control-border:#54706e}
:root[data-theme="light"] body:not(.landing-body):not(:has(#landing)):not(.presenter-body):not(:has(#presenter)):not(.handoff-body):not(:has(#handoff)){background-color:var(--bg);background-image:radial-gradient(circle at 70% 35%,#eee8dc,var(--bg) 65%)}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-width:0;background-color:var(--bg);background-image:radial-gradient(circle at 70% 35%,#173a3b,var(--bg) 65%);color:var(--fg);font-size:1rem;line-height:1.85}
a{color:inherit}
a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.skip-link{position:fixed;top:-6rem;right:1rem;z-index:100;min-height:44px;min-width:44px;display:inline-flex;align-items:center;padding:.4rem 1rem;background:var(--fg);color:var(--bg)}
.skip-link:focus{top:1rem}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,5vw,4rem)}
.sign-out-form{margin:0;display:inline-flex}
.sign-out-btn{min-width:44px;min-height:44px;padding:.4rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--control-border,var(--line));background:transparent;color:var(--muted);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.sign-out-btn:hover{background:#163934;border-color:var(--gold);color:var(--gold)}
:root[data-theme="light"] .sign-out-btn:hover{background:rgba(30,70,69,.08);border-color:var(--gold);color:var(--gold)}
.sign-out-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wordmark{display:inline-flex;align-items:center;min-height:2.75rem;min-width:44px;font-family:Gulzar,Vazirmatn,serif;font-size:1.5rem;text-decoration:none}
.memorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(1.5rem,6vw,6rem);width:min(100% - 2rem,70rem);margin:auto;padding:2rem 0 5rem}
.notice{grid-column:1/-1;justify-self:center;max-width:100%;border:1px solid var(--gold);border-radius:1rem;color:var(--gold);padding:.35rem 1rem;text-align:center;font-size:.88rem;overflow-wrap:anywhere}
.notice--simulated,.simulation-disclaimer{border-color:var(--gold);color:var(--gold);background:rgba(225,188,128,.10)}
:root[data-theme="light"] .notice--simulated,:root[data-theme="light"] .simulation-disclaimer{background:rgba(140,90,49,.10);color:var(--gold)}
.portrait{grid-column:2;grid-row:2;margin:0 auto;width:min(100%,22rem);text-align:center}
.portrait-art,.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--gold);border-radius:45% 45% 8px 8px / 30% 30% 8px 8px;background:radial-gradient(circle at 50% 28%,#52776f 0,#315953 35%,#163934 68%,#102a2d 100%)}
.portrait-art{position:relative;overflow:hidden}
.portrait-art[hidden]{display:none}
.portrait-art:before{content:"";position:absolute;width:34%;height:25%;border-radius:50%;background:linear-gradient(145deg,#ceb797,#9b806b);top:24%;left:33%;box-shadow:0 -14px 0 8px #242d2d}
.portrait-art:after{content:"";position:absolute;width:85%;height:58%;border-radius:48% 48% 0 0;background:linear-gradient(130deg,#d2baa0 0 11%,#475f59 12% 100%);bottom:-27%;left:7.5%}
figcaption{margin-top:.7rem;color:var(--muted);font-size:.8rem}
.opening{grid-column:1;grid-row:2;min-width:0}
.eyebrow{color:var(--gold);font-weight:600}
h1{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:400;line-height:1.55;overflow-wrap:anywhere;margin:.25rem 0}
.dates{color:var(--gold);font-size:1.15rem;margin:.2rem 0 1rem}
.lead{font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:2;max-width:34ch;overflow-wrap:anywhere}
.chapter-navigation,.story{grid-column:1/-1;min-width:0;width:100%}
.chapter-navigation{grid-row:3;margin:2.5rem 0 1rem;padding:1.25rem clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:1rem}
.chapter-navigation-title{margin:0 0 .75rem;color:var(--gold);font-size:1.1rem;font-weight:700}
.chapter-navigation ol{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;margin:0;padding:0}
.chapter-navigation li{min-width:0;max-width:100%}
.chapter-navigation a{display:flex;align-items:center;min-height:2.75rem;max-width:100%;padding:.35rem .85rem;border:1px solid var(--control-border);border-radius:99px;text-decoration:none;overflow-wrap:anywhere}
.chapter-navigation a[aria-current="location"]{border-color:var(--gold);color:var(--gold)}
.story{grid-row:4}
.story-chapter{min-width:0;max-width:58rem;margin:0 auto;padding:2.25rem clamp(1rem,5vw,3.5rem);border-top:1px solid var(--line);overflow-wrap:anywhere}
.story-chapter--legacy{border-top-color:var(--gold)}
.story-chapter h2{margin:.25rem 0 1rem;font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:400;line-height:1.55;overflow-wrap:anywhere}
.story-chapter h2:focus,#story-opening:focus{outline:2px solid var(--focus);outline-offset:.3rem;border-radius:.2rem}
.story-chapter p:not(.eyebrow){max-width:65ch;overflow-wrap:anywhere}
.chapter-media{margin:1.5rem 0;max-width:34rem;width:100%;break-inside:avoid}
.chapter-media-frame{width:100%;aspect-ratio:16/10;position:relative}
.chapter-media-art,.chapter-media img,.chapter-media-no-script{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 50% 35%,#315953 0,#163934 45%,#102a2d 100%)}
.chapter-media-frame > img,.chapter-media-frame > .chapter-media-art,.chapter-media-no-script{position:absolute;inset:0;height:100%}
.chapter-media-no-script > .chapter-media-art{height:100%}
.chapter-media-art{position:relative;overflow:hidden}
.chapter-media-art[hidden],.chapter-media img[hidden]{display:none}
.chapter-media-art::before{content:"";position:absolute;inset:15%;border:1px solid rgba(225,188,128,.28);border-radius:6px;background:radial-gradient(circle at 50% 50%,rgba(225,188,128,.1) 0,transparent 70%)}
.chapter-media-art::after{content:"";position:absolute;top:50%;left:50%;width:2.2rem;height:2.2rem;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(225,188,128,.4);background:rgba(23,58,59,.45)}
.chapter-media figcaption{display:flex;flex-direction:column;gap:.3rem;margin-top:.65rem;color:var(--muted);font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.chapter-media-caption{color:var(--fg);font-size:.88rem}
.chapter-media-credit{font-size:.78rem;color:var(--muted)}
.chapter-media-badge{align-self:flex-start;display:inline-block;padding:.15rem .6rem;border:1px solid var(--gold);border-radius:99px;color:var(--gold);font-size:.72rem}
.chapter-video{margin:1.5rem 0;max-width:34rem;width:100%;break-inside:avoid}
.chapter-video-frame{width:100%;aspect-ratio:16/9;position:relative;background:#0c262a;border:1px solid var(--control-border,var(--line));border-radius:8px;overflow:hidden}
.chapter-video-player{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.chapter-video-player[hidden]{display:none}
.chapter-video-art{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:16/9;border-radius:8px;background:radial-gradient(circle at 50% 35%,#315953 0,#163934 45%,#102a2d 100%);overflow:hidden}
.chapter-video-art[hidden]{display:none}
.chapter-video-art::before{content:"";position:absolute;inset:15%;border:1px solid rgba(225,188,128,.28);border-radius:6px;background:radial-gradient(circle at 50% 50%,rgba(225,188,128,.1) 0,transparent 70%)}
.chapter-video-art::after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;transform:translate(-35%,-50%);border-style:solid;border-width:1.2rem 0 1.2rem 2rem;border-color:transparent transparent transparent rgba(225,188,128,.65)}
.chapter-video[data-video-unavailable="true"] .chapter-video-art::after{display:none}
.chapter-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.chapter-video-poster[hidden],.chapter-video-status[hidden]{display:none}
.chapter-video-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0!important;padding:.75rem;text-align:center;font-size:.85rem;background:#0c262a;color:var(--fg)}
.chapter-video-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;background:#0c262a}
.chapter-video-controls[hidden]{display:flex;visibility:hidden}
.video-control-btn{pointer-events:auto;min-width:44px;min-height:44px;padding:.4rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:9999px;border:1px solid var(--control-border,var(--line));background:#0c262a;color:#f5efe2;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.video-control-btn:hover{background:#163934;border-color:var(--gold);color:var(--gold)}
.video-control-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
:root[data-theme="light"] .chapter-video-frame{background:#ded7cb}
:root[data-theme="light"] .chapter-video-controls{background:var(--surface)}
:root[data-theme="light"] .chapter-video-status{background:var(--surface);color:var(--fg)}
:root[data-theme="light"] .video-control-btn{background:var(--surface);color:var(--fg);border-color:var(--control-border)}
:root[data-theme="light"] .video-control-btn:hover{background:#ede6d8;border-color:var(--gold);color:var(--gold)}
:root[data-theme="light"] .chapter-video-transcript{background:var(--surface);border-color:var(--line)}
.chapter-video figcaption{display:flex;flex-direction:column;gap:.3rem;margin-top:.65rem;color:var(--muted);font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.chapter-video-caption{color:var(--fg);font-size:.88rem}
.chapter-video-credit{font-size:.78rem;color:var(--muted)}
.chapter-video-badge{align-self:flex-start;display:inline-block;padding:.15rem .6rem;border:1px solid var(--gold);border-radius:99px;color:var(--gold);font-size:.72rem}
.chapter-media-badge--simulated{border-color:var(--gold);color:var(--gold);background:rgba(225,188,128,.12);font-weight:600}
:root[data-theme="light"] .chapter-media-badge--simulated{background:rgba(140,90,49,.10);border-color:var(--gold);color:var(--gold)}
.portrait-simulated-badge{display:inline-block;margin-top:.4rem;padding:.2rem .75rem;border:1px solid var(--gold);border-radius:99px;color:var(--gold);font-size:.75rem;font-weight:600;background:rgba(225,188,128,.12)}
:root[data-theme="light"] .portrait-simulated-badge{background:rgba(140,90,49,.10);border-color:var(--gold);color:var(--gold)}
.chapter-video-transcript{margin-top:.75rem;padding:.5rem .85rem;border:1px solid var(--line);border-radius:8px;background:rgba(12,38,42,.6);font-size:.88rem;color:var(--fg)}
.chapter-video-transcript summary{cursor:pointer;color:var(--gold);font-weight:500;padding:.25rem 0;user-select:none;min-height:44px;display:flex;align-items:center;box-sizing:border-box}
.chapter-video-transcript summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.chapter-video-transcript p{margin:.5rem 0 0;line-height:1.75;color:var(--fg)}
.return-action{margin-top:.5rem}
.recovery{width:min(100% - 2rem,40rem);margin:clamp(3rem,12vh,9rem) auto;padding:2rem;border:1px solid var(--control-border,var(--line));border-radius:1.5rem}
:root[data-theme="light"] .recovery{background:var(--surface)}
.recovery h1{font-size:clamp(2rem,8vw,3.5rem)}
.action{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem 1.25rem;border:1px solid var(--gold);border-radius:99px;color:var(--gold);text-decoration:none;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.memorial{display:flex;flex-direction:column;gap:1rem;padding:0 0 3rem}.notice{order:0}.portrait{order:1;width:min(55vw,15rem)}.opening{order:2;text-align:center}.chapter-navigation{order:3;margin:1rem 0 0}.story{order:4}.chapter-navigation ol{display:grid;grid-template-columns:minmax(0,1fr)}.chapter-navigation li,.chapter-navigation a{width:100%}.story-chapter{padding:1.75rem 1rem}.lead{margin-inline:auto}.recovery{padding:1.25rem}}

/* The chapter stops stay in document flow; this rail and its markers are decorative. */
.memorial{position:relative;--journey-edge:clamp(0px,calc((100vw - 60rem)/2),6rem)}
.memorial::before{content:"";position:absolute;inset-block:1rem 3rem;inset-inline-start:calc(var(--journey-edge) - 1px);z-index:0;width:2px;background:linear-gradient(to bottom,transparent,var(--gold) 8%,rgba(225,188,128,.42) 92%,transparent);pointer-events:none}
.memorial>*{position:relative;z-index:1}
.journey-stop{position:relative;min-width:0}
.journey-stop-cue{position:relative;display:flex;align-items:center;gap:.55rem;min-height:2.5rem;margin:0 0 .55rem}
.journey-waypoint{position:absolute;inset-block-start:50%;inset-inline-start:-.4rem;width:.8rem;height:.8rem;border:2px solid var(--muted);border-radius:50%;background:var(--bg);box-shadow:0 0 0 .2rem var(--bg);transform:translateY(-50%);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.opening .journey-waypoint{inset-inline-start:calc(var(--journey-edge) - .4rem)}
.story{container-type:inline-size}
.story-chapter .journey-waypoint{inset-inline-start:calc(var(--journey-edge) - max(0px,(100cqw - 58rem)/2) - clamp(1rem,5vw,3.5rem) - .4rem)}
.journey-waypoint{z-index:2}
.journey-art{position:relative;display:inline-block;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;overflow:hidden;border:1px solid rgba(225,188,128,.6);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(225,188,128,.58) 0 8%,transparent 10% 25%,rgba(86,132,119,.58) 27% 31%,transparent 33%),radial-gradient(circle at 50% 50%,#315953,#102a2d 72%);opacity:.65;transform:scale(.94);transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}
.journey-art::before,.journey-art::after{content:"";position:absolute;display:block}
.journey-art--opening::before{inset:24%;border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 0 4px rgba(225,188,128,.12)}
.journey-art--opening::after{top:9%;left:48%;width:2px;height:82%;background:linear-gradient(transparent,var(--gold),transparent);transform:rotate(35deg)}
.journey-art--chapter-0{border-radius:50% 50% 50% 12%;background:radial-gradient(ellipse at 62% 66%,#a5af79 0 14%,transparent 16%),linear-gradient(135deg,#315953,#102a2d)}
.journey-art--chapter-0::before{inset:22% 42%;border-radius:100%;background:#d0c28c;transform:rotate(36deg)}
.journey-art--chapter-1{border-radius:.55rem;background:linear-gradient(90deg,transparent 42%,rgba(225,188,128,.72) 43% 48%,transparent 49%),linear-gradient(0deg,transparent 47%,rgba(225,188,128,.72) 48% 53%,transparent 54%),radial-gradient(circle at 50% 50%,#52776f,#102a2d)}
.journey-art--chapter-2{border-radius:50% 10% 50% 10%;background:radial-gradient(ellipse at 50% 50%,#b1aa76 0 8%,transparent 10%),linear-gradient(135deg,#52776f,#102a2d)}
.journey-art--chapter-2::before{inset:18% 46%;background:rgba(225,188,128,.8);transform:rotate(45deg)}
.journey-art--chapter-3{border-radius:35% 50% 20% 50%;background:radial-gradient(circle at 50% 28%,#d2baa0 0 15%,transparent 17%),linear-gradient(145deg,#475f59,#102a2d)}
.journey-art--chapter-3::after{inset:55% 20% 0;border-radius:50% 50% 0 0;background:rgba(225,188,128,.52)}
.journey-art--legacy{border-radius:35%;background:radial-gradient(circle,#e1bc80 0 12%,transparent 14%),repeating-conic-gradient(from 0deg,rgba(225,188,128,.7) 0 8deg,transparent 9deg 45deg),#173a3b}
.journey-stop-count{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.journey-stop[data-stop-state="current"] .journey-waypoint{border-color:var(--gold);background:var(--gold);transform:translateY(-50%) scale(1.2)}
.journey-stop[data-stop-state="past"] .journey-waypoint{border-color:var(--gold);background:rgba(225,188,128,.55)}
.journey-stop[data-stop-state="current"] .journey-art{opacity:1;transform:scale(1);box-shadow:0 0 1.1rem rgba(225,188,128,.24)}
.chapter-navigation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.chapter-navigation-title{margin:0 0 .75rem}
.journey-progress{margin:0 0 .75rem;color:var(--muted);font-size:.84rem;font-variant-numeric:tabular-nums}
.journey-progress [data-journey-current]{color:var(--gold);font-weight:700}
@media(max-width:700px){.memorial{--journey-edge:50%}.chapter-navigation-heading{align-items:flex-start}.journey-stop-cue{display:block;min-height:3.6rem;text-align:center}.journey-art{position:absolute;inset-block-start:0;inset-inline-start:calc(50% - 1.175rem)}.journey-waypoint,.story-chapter .journey-waypoint{inset-inline-start:calc(50% - .4rem)}.journey-stop-count{position:absolute;inset-block-end:0;left:50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-waypoint,.journey-art{transition:none!important;animation:none!important}}

/* Without enhancement the semantic opening and chapters keep their original flow. */
.journey-stage,.journey-narrative{display:contents}
.journey-artwork{display:none}
.memorial:has([data-presentation]) .portrait{grid-column:1/-1;width:min(100%,8rem)}
.journey-stage[data-presentation]{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) clamp(2.75rem,18vw,12rem);align-items:start;gap:1rem;min-width:0;width:100%;--panel-top:1rem}
.journey-stage[data-presentation] .journey-narrative{display:block;grid-column:1;grid-row:2;min-width:0}
.journey-stage[data-presentation] .chapter-navigation{grid-column:1/-1;grid-row:1;margin:1rem 0;min-width:0}
.journey-stage[data-presentation] .journey-artwork{display:flex;justify-content:center;grid-column:2;grid-row:2;position:sticky;top:var(--panel-top);margin:0;min-width:0;padding:.5rem 0}
.journey-artwork>.journey-art{position:relative;inset:auto;width:clamp(2.35rem,14vw,10rem);height:auto;aspect-ratio:1;flex-basis:auto;opacity:1;transform:none}
.journey-stage[data-presentation] .opening{margin:0;padding:1rem;text-align:start}
.journey-stage[data-presentation] .story-chapter{padding:1.5rem 1rem;margin:0;max-width:none}
.journey-stage[data-presentation] .lead{max-width:none;margin-inline:0}
.journey-panel{min-width:0;position:relative}
.journey-stage[data-presentation] .journey-stop-cue{display:flex;align-items:center;min-height:2.5rem;padding-inline-start:.8rem;text-align:start;flex-wrap:wrap}
.journey-stage[data-presentation] .journey-stop-cue .journey-art{position:relative;inset:auto}
.journey-stage[data-presentation] .journey-stop-count{position:static;transform:none;white-space:normal}
.journey-stage[data-presentation] .journey-waypoint{inset-inline-start:calc(-1rem - .4rem)}
.journey-stage[data-presentation] .journey-narrative{border-inline-start:2px solid var(--line)}
.memorial:has([data-presentation])::before{display:none}
.journey-composition{display:contents}
.chapter-link-number{display:none}
.chapter-select{display:none}
/* Try a compact stage before reverting to a flowing narrative. */
.journey-stage[data-compact] .chapter-navigation{padding:.5rem .75rem;margin:0 0 .5rem}
.journey-stage[data-compact] .chapter-navigation-heading{gap:.5rem;align-items:center}
.journey-stage[data-compact] .chapter-navigation-title{font-size:.9rem;margin:0}
.journey-stage[data-compact] .journey-progress{font-size:.75rem;margin:0}
.journey-stage[data-compact] .chapter-navigation ol{display:none}
.journey-stage[data-compact] .chapter-select{display:block;width:100%;min-width:0;min-height:44px;margin-top:.35rem;padding:.4rem .5rem;border:1px solid var(--control-border);border-radius:.5rem;font:inherit;font-size:.85rem;color:var(--fg);background:var(--bg)}
.chapter-select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.journey-stage[data-compact] .opening,.journey-stage[data-compact] .story-chapter{padding:.5rem .75rem}
.journey-stage[data-compact] .journey-stop-cue{min-height:0;height:0;margin:0;overflow:hidden;visibility:hidden}
.journey-stage[data-compact] .eyebrow{font-size:.8rem;margin:.2rem 0}
.journey-stage[data-compact] h1{font-size:clamp(2rem,5vw,3rem)}
.journey-stage[data-compact] h2{font-size:clamp(1.5rem,3vw,2rem);margin:.2rem 0 .5rem}
.journey-stage[data-compact] .dates{margin:.2rem 0 .4rem;font-size:1rem}
.journey-stage[data-compact] p:not(.notice){margin-block:.4rem}
.journey-stage[data-compact] .chapter-navigation-heading p{margin:0}
.journey-stage[data-compact] .chapter-media,.journey-stage[data-compact] .chapter-video{max-width:18rem;margin:.5rem 0}
.journey-stage[data-compact] .chapter-media figcaption,.journey-stage[data-compact] .chapter-video figcaption{margin-top:.35rem;gap:.15rem}
.journey-stage[data-compact] .journey-artwork>.journey-art{width:clamp(2.35rem,18vw,15rem);box-shadow:0 0 3rem rgba(225,188,128,.12)}
.journey-stage[data-presentation] .chapter-navigation{position:relative}
.journey-stage[data-presentation] .chapter-navigation::after{content:"";position:absolute;bottom:0;right:.75rem;left:.75rem;height:2px;background:var(--gold);transform:scaleX(var(--journey-progress,0));transform-origin:right}
.journey-stage[data-presentation="flow"] .journey-artwork::after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;background:var(--gold);transform:scaleX(var(--journey-progress,0));transform-origin:right}
.journey-stage[data-presentation="pinned"]{display:block}
.journey-stage[data-presentation="pinned"] .journey-composition{display:grid;grid-template-columns:minmax(0,1fr) clamp(2.75rem,18vw,12rem);gap:1rem;position:sticky;top:var(--composition-top,16px);align-items:start}
.journey-stage[data-presentation="pinned"] .chapter-navigation{margin:0 0 1rem;background:var(--bg)}
.journey-stage[data-presentation="pinned"][data-compact] .chapter-navigation{margin:0 0 .5rem}
.journey-stage[data-presentation="pinned"] .journey-narrative{display:grid}
.journey-stage[data-presentation="pinned"] .journey-stop{grid-area:1/1;align-self:start;opacity:0;pointer-events:none}
.journey-stage[data-presentation="pinned"] .journey-stop[data-stop-state="current"]{opacity:1;pointer-events:auto}
.journey-stage[data-presentation="pinned"] .journey-stop[data-stop-state="current"]{animation:memorial-arrival .35s ease-out}
@keyframes memorial-arrival{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.journey-stage[data-presentation="pinned"] .journey-stop[data-stop-state="current"]{animation:none}}
.journey-stage[data-presentation="pinned"] .journey-artwork{position:relative;top:auto}
.journey-stage[data-presentation="flow"] .journey-artwork{top:1rem}
.journey-stage[data-presentation] [id]{scroll-margin-top:var(--panel-top)}
.journey-stage[data-presentation="flow"] [id]{scroll-margin-top:1rem}
@media(max-width:700px){.journey-stage[data-presentation]{order:2;gap:.5rem;grid-template-columns:minmax(0,1fr) 2.75rem}.journey-stage[data-presentation] .opening,.journey-stage[data-presentation] .story-chapter{padding:.75rem}.journey-stage[data-presentation] .chapter-navigation{margin:.5rem 0}.journey-stage[data-presentation] .chapter-navigation-heading{gap:.5rem}.journey-stage[data-presentation] .journey-artwork>.journey-art{width:2.35rem}.journey-stage[data-presentation] .journey-waypoint{inset-inline-start:calc(-.75rem - .4rem)}}
@media(max-width:700px){.journey-stage[data-compact] .chapter-navigation{margin:0 0 .5rem}.journey-stage[data-compact] .opening,.journey-stage[data-compact] .story-chapter{padding:.5rem}.journey-stage[data-compact] .chapter-media,.journey-stage[data-compact] .chapter-video{max-width:100%}.journey-stage[data-compact] .chapter-media-frame,.journey-stage[data-compact] .chapter-media>.chapter-media-art,.journey-stage[data-compact] .chapter-video-frame{max-width:8rem}}
@media(max-width:700px){.journey-stage[data-presentation="pinned"] .journey-composition{grid-template-columns:minmax(0,1fr) 2.75rem;gap:.5rem}}
@media print{
  .sign-out-form{display:none!important}
  .journey-stage[data-presentation]{display:block;height:auto!important}
  .journey-stage[data-presentation] .journey-composition,.journey-stage[data-presentation] .journey-narrative{display:block;position:static}
  .journey-stage[data-presentation] .journey-stop{position:static;opacity:1;pointer-events:auto;break-inside:avoid}
  .journey-stage[data-presentation="pinned"] .journey-stop[data-stop-state="current"]{animation:none;transform:none}
  .chapter-media,.chapter-video{break-inside:avoid}
  .journey-stage[data-presentation] .chapter-navigation,.journey-stage[data-presentation] .journey-artwork{position:static}
  .journey-stage[data-presentation] .journey-artwork{display:none}
}

.preview-page{width:min(100% - 2rem,64rem);margin:2rem auto 5rem}
.preview-card{border:1px solid var(--control-border,var(--line));border-radius:20px;background:radial-gradient(circle at 73% 45%,rgba(46,92,82,.33),transparent 40%),var(--surface);box-shadow:0 1.8rem 5rem rgba(0,0,0,.13);overflow:hidden}
:root[data-theme="light"] .preview-card{background:var(--surface);box-shadow:0 1.8rem 5rem rgba(26,51,52,.08)}
.preview-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.2rem,3vw,2.3rem);border-bottom:1px solid var(--line)}
.preview-header-note{min-width:0;max-width:100%;overflow-wrap:anywhere;margin:0;color:var(--muted);font-size:.8rem}
.preview-state-label{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--control-border,var(--line));border-radius:99px;padding:.28rem .8rem;font-size:.8rem;color:var(--muted);background:var(--surface)}
.preview-state-label::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--gold)}
.preview-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(1.5rem,5vw,4.5rem);padding:clamp(1.5rem,3.5vw,3.5rem)}
.preview-copy{min-width:0;max-width:39rem}
#preview-title{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.55;margin:.25rem 0;overflow-wrap:anywhere}
#preview-title:focus{outline:2px solid var(--focus);outline-offset:.3rem;border-radius:.2rem}
.preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin:1.25rem 0}
.preview-badge{display:inline-flex;align-items:center;padding:.45rem 1rem;border:1px solid var(--control-border,var(--line));border-radius:99px;background:rgba(12,38,42,.6);color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}
:root[data-theme="light"] .preview-badge{background:#e8e2d5;color:var(--fg)}
.preview-secondary{color:var(--muted);font-size:.88rem;line-height:1.75;max-width:52ch;margin-top:.75rem;overflow-wrap:anywhere}
.preview-art{display:flex;justify-content:center;align-items:center;min-width:0}
.preview-art .portrait{grid-column:auto;grid-row:auto;margin:0 auto;width:min(100%,20rem);text-align:center}
.preview-portrait-frame{position:relative;aspect-ratio:4/5}
.preview-portrait-frame>.portrait-art,.preview-portrait-frame>img{position:absolute;inset:0;height:100%}
.preview-portrait-frame>img[hidden]{display:none}
.preview-state-label{min-width:0;max-width:100%;overflow-wrap:anywhere}
.preview-copy .dates,.preview-return{overflow-wrap:anywhere;max-width:100%}
@media(max-width:700px){
  .preview-page{margin:1rem auto 3rem}
  .preview-content{grid-template-columns:minmax(0,1fr);gap:1.5rem;text-align:center;padding:1.25rem 1rem 2rem}
  .preview-art{order:1}
  .preview-copy{order:2}
  .preview-actions{justify-content:center}
  .preview-copy .lead,.preview-secondary{margin-inline:auto}
}
@media(max-width:440px){
  .preview-actions{flex-direction:column;align-items:stretch}
  .preview-actions .action,.preview-actions .preview-badge,.preview-actions .preview-sign-in{justify-content:center;text-align:center}
}
@media(max-width:360px){
  .recovery{width:calc(100% - 1rem);padding:1rem;margin:1.5rem auto}
  .preview-page{width:calc(100% - 1rem);margin:1rem auto}
  .preview-content{padding:1rem .75rem 1.5rem}
}

.sign-in-page{width:min(100% - 2rem,28rem);margin:2rem auto 5rem}
.sign-in-page .screen{display:flex;flex-direction:column;padding:1.5rem clamp(1rem,4vw,2rem);border:1px solid var(--control-border,var(--line));border-radius:20px;background:var(--surface);box-shadow:0 1.8rem 5rem rgba(0,0,0,.13)}
@media(max-width:360px){
  .sign-in-page{width:calc(100% - 1rem);margin:1rem auto}
  .sign-in-page .screen{padding:1rem .75rem}
}
:root[data-theme="light"] .sign-in-page .screen{box-shadow:0 1.8rem 5rem rgba(26,51,52,.08)}
.sign-in-page .top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sign-in-page .top a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.sign-in-page .top a:last-child{color:var(--muted);font-size:.82rem;text-decoration:none}
.sign-in-page .top a:last-child:hover{color:var(--gold)}
.sign-in-page .gate{padding-top:1.5rem}
.sign-in-page .symbol{width:3rem;height:3rem;border:1px solid rgba(225,188,128,.6);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.25rem;margin-bottom:1rem}
:root[data-theme="light"] .sign-in-page .symbol{border-color:var(--gold)}
.sign-in-page .subject{display:block;color:var(--gold);font-size:.8rem;margin-bottom:.25rem}
.sign-in-page .gate h1,.sign-in-page .gate h2{font-family:Gulzar,Vazirmatn,serif;font-size:2rem;line-height:1.5;font-weight:400;margin:0}
.sign-in-page .gate a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--gold);text-decoration:none}
.sign-in-page .gate a:hover{text-decoration:underline}
.sign-in-page .gate>p{font-size:.9rem;color:var(--muted);margin:.2rem 0 1.25rem}
.sign-in-page .foot{margin-top:2rem;color:var(--muted);font-size:.78rem;text-align:center}
.form{display:grid;gap:.95rem}
.field{display:grid;gap:.35rem}
.field label{font-size:.85rem;font-weight:600;color:var(--fg)}
.field input{width:100%;min-height:3rem;border:1px solid var(--control-border,var(--line));border-radius:11px;padding:.6rem .85rem;color:var(--fg);background:var(--surface);direction:ltr;text-align:left;font-family:inherit;font-size:1rem}
.field input::placeholder{color:var(--muted)}
.field input:focus{border-color:var(--gold);outline:3px solid var(--focus);outline-offset:2px}
.submit{min-height:3rem;border:0;border-radius:999px;background:var(--gold);color:var(--bg);font-weight:800;cursor:pointer;margin-top:.2rem;font-family:inherit;font-size:1rem;transition:background-color .2s,color .2s}
.submit:hover{background:#eed29d}
:root[data-theme="light"] .submit:hover{background:#773e22;color:#fffdf7}
.submit:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.return{margin:1.1rem 0 0;text-align:center;font-size:.82rem;color:var(--muted)}
.message{border-radius:11px;padding:.72rem .85rem;font-size:.85rem;line-height:1.7}
.message.error{border:1px solid rgba(255,185,165,.52);background:rgba(120,54,44,.25);color:#ffe0d5}
:root[data-theme="light"] .message.error{border:1px solid #c95138;background:#faeae6;color:#7a1f10}
.message.offline{border:1px solid rgba(183,197,190,.35);background:rgba(183,197,190,.08);color:var(--fg)}
:root[data-theme="light"] .message.offline{border:1px solid var(--control-border);background:#eee8dc;color:var(--fg)}
.message.expired{border:1px solid rgba(225,188,128,.5);background:rgba(225,188,128,.1);color:var(--fg)}
:root[data-theme="light"] .message.expired{border:1px solid var(--gold);background:#fdf5ea;color:#5c3514}
.message strong{display:block;font-weight:700}
.message p{margin:0}
.message small{font-size:.75rem;color:var(--muted)}
.preview-sign-in{background:var(--gold);color:var(--bg);font-weight:700}
.preview-sign-in:hover{background:#eed29d}
:root[data-theme="light"] .preview-sign-in:hover{background:#773e22;border-color:#773e22;color:#fffdf7}

:root:has(#landing), html[data-page="landing"], :root:has(#landing)[data-theme="light"], html[data-page="landing"][data-theme="light"],
:root:has(#presenter), html[data-page="presenter"], :root:has(#presenter)[data-theme="light"], html[data-page="presenter"][data-theme="light"],
:root:has(#handoff), html[data-page="handoff"], :root:has(#handoff)[data-theme="light"], html[data-page="handoff"][data-theme="light"]{color-scheme:light;--bg:#f8f6ef;--fg:#233f3e;--muted:#5b706e;--line:rgba(40,77,72,.19);--control-border:#54706e;--paper:#fffdf7;--wash:#eaf0e9;--gold:#8c5a31;--focus:#6d4023;--shadow:rgba(36,62,55,.10);--journey-progress:0}
:root:has(#landing)[data-theme="dark"], html[data-page="landing"][data-theme="dark"],
:root:has(#presenter)[data-theme="dark"], html[data-page="presenter"][data-theme="dark"],
:root:has(#handoff)[data-theme="dark"], html[data-page="handoff"][data-theme="dark"]{color-scheme:dark;--bg:#162d31;--fg:#f3efe4;--muted:#bdcbc4;--line:rgba(231,225,206,.22);--control-border:#9ab0a6;--paper:#213b3d;--wash:#1a3638;--gold:#e4bf85;--focus:#fff0b1;--shadow:rgba(0,0,0,.22)}
html[data-page="landing"], html[data-page="presenter"], html[data-page="handoff"]{scroll-behavior:smooth;background:var(--bg)}
body.landing-body, body:has(#landing){margin:0;background:var(--bg);color:var(--fg);font-size:16px;line-height:1.85;overflow-x:hidden}
html[data-page="landing"] :focus-visible, body:has(#landing) :focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.shell{width:min(100% - clamp(2rem,6vw,7rem),1500px);margin-inline:auto}
body:has(#landing) .site-header, html[data-page="landing"] .site-header{position:absolute;z-index:20;top:0;right:0;left:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem;border-bottom:1px solid var(--line)}
body:has(#landing) .wordmark, html[data-page="landing"] .wordmark{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.4;text-decoration:none;white-space:nowrap;min-height:2.75rem;min-width:44px;display:inline-flex;align-items:center}
.header-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.sample-label{font-size:.73rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.28rem .75rem;white-space:nowrap}
.theme-button{border:1px solid var(--control-border,var(--line));border-radius:999px;background:var(--paper,var(--surface));color:var(--fg);min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:.15rem .7rem;font-family:inherit;font-size:1.1rem;line-height:1;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.theme-button:hover,.journey-nav a:hover{border-color:var(--gold)}
.theme-button:focus,.theme-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dates, [dir="ltr"], [dir="rtl"], bdi, .progress-number, .journey-stop-count, .preview-header-note, .sign-in-page .subject, .sample-label, .preview-state-label{unicode-bidi:isolate}
.journey{position:relative;min-height:500svh;isolation:isolate}
.stage{position:sticky;top:0;height:100svh;min-height:100svh;overflow:hidden;display:grid;background:linear-gradient(145deg,var(--bg) 0 59%,var(--wash) 100%)}
.stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 9%,var(--line) 9.05%,transparent 9.1% 90%,var(--line) 90.05%,transparent 90.1%);opacity:.25;pointer-events:none}
.stage-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.7rem,2.5vh,1.7rem);padding-top:6.3rem;padding-bottom:7rem;min-height:100%}
.narrative{position:relative;z-index:4;width:min(100%,66rem);min-height:clamp(15rem,31vh,21rem);display:grid;align-items:center;text-align:center}
.scene{grid-area:1/1;width:100%;opacity:0;transform:translateY(1.4rem);pointer-events:none;transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.scene.is-active{opacity:1;transform:translateY(0);pointer-events:auto}
#landing .eyebrow{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:0 0 .45rem;color:var(--gold);font-size:.77rem;font-weight:650;letter-spacing:.04em}
#landing .eyebrow::before,#landing .eyebrow::after{content:"";width:1.7rem;height:1px;background:var(--gold);opacity:.65}
#landing h1,#landing h2{font-family:Gulzar,Vazirmatn,serif;font-weight:400;line-height:1.57;letter-spacing:-.025em;text-wrap:balance;margin-top:0}
#landing h1{font-size:clamp(2.8rem,4.2vw,4.8rem);margin:0 auto .35rem;max-width:18ch}
#landing h2{font-size:clamp(2.5rem,3.8vw,4.15rem);margin:0 auto .45rem;max-width:20ch;padding-top:.4em}
#landing .lead,#landing .scene:not(:first-child) .lead{font-size:clamp(.99rem,1.25vw,1.15rem);max-width:57ch;line-height:1.95;margin:0 auto .7rem;color:var(--fg)}
.small-note{color:var(--muted);font-size:.76rem;max-width:56ch;margin:.2rem auto}
.scroll-prompt{display:inline-flex;gap:.6rem;align-items:center;color:var(--gold);font-size:.8rem;margin-top:.3rem}
.scroll-prompt svg{width:.9rem;height:.9rem;animation:nudge 2s infinite}
.primary-link{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:var(--paper);background:var(--fg);border:1px solid var(--fg);border-radius:999px;padding:.62rem 1.4rem;font-weight:650;min-height:3rem;box-shadow:0 8px 22px var(--shadow)}
:root[data-theme="dark"] .primary-link{color:var(--bg)}
.primary-link:hover{background:var(--gold);border-color:var(--gold);color:var(--paper)}
.primary-link svg{width:1rem;height:1rem;transform:rotate(180deg)}
.sample-unavailable{margin:1rem auto .5rem;padding:.75rem 1.25rem;border:1px dashed var(--line);border-radius:12px;background:var(--wash);max-width:48ch}
.sample-unavailable-note{color:var(--muted);font-size:.85rem;margin:0}
.artwork{position:relative;width:min(100%,1100px);height:clamp(195px,32vh,330px);flex:none;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 16px 48px var(--shadow)}
.artwork::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 6.2%,var(--line) 6.24% 6.27%,transparent 6.3% 12.5%);opacity:.2;pointer-events:none}
.artwork::after{content:"";position:absolute;inset:auto 0 0;height:1.5rem;background:linear-gradient(transparent,var(--paper));pointer-events:none}
.continuity{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.75}
.continuity .shadow{fill:none;stroke:var(--line);stroke-width:1.5;stroke-linecap:round}
.continuity .drawn{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round}
.continuity .node{fill:var(--paper);stroke:var(--gold);stroke-width:2;transition:fill .5s ease,transform .5s ease;transform-origin:center}
.continuity .node.is-past,.continuity .node.is-current{fill:var(--gold)}
.continuity .node.is-current{transform:scale(1.4)}
.art-scene{position:absolute;inset:0;z-index:2;display:grid;place-items:center;opacity:0;transform:translateX(3rem);transition:opacity .75s ease,transform 1s cubic-bezier(.16,1,.3,1);pointer-events:none}
.art-scene.is-active{opacity:1;transform:translateX(0)}
.paper{position:relative;width:min(41%,380px);height:76%;border:1px solid var(--line);border-radius:3px;background:var(--paper);box-shadow:11px 13px 0 -3px var(--wash),15px 18px 30px var(--shadow);transform:rotate(-4deg);display:grid;place-items:center}
.paper::before{content:"";position:absolute;inset:10% 12%;border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}
.paper span{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.8rem,3vw,3rem);color:var(--gold)}
.keepsake{width:min(78%,740px);height:75%;display:flex;justify-content:center;align-items:center;gap:clamp(.8rem,4vw,4rem)}
.keepsake span{display:grid;place-items:center;aspect-ratio:1;width:clamp(75px,13vw,150px);background:var(--wash);border:1px solid var(--line);border-radius:8px;box-shadow:0 7px 18px var(--shadow);transform:rotate(var(--tilt))}
.keepsake span:nth-child(1){--tilt:8deg}.keepsake span:nth-child(2){--tilt:-6deg}.keepsake span:nth-child(3){--tilt:5deg}
.keepsake i{display:block;width:55%;height:55%;border:2px solid var(--gold);border-radius:48% 42% 50% 45%;transform:rotate(28deg);opacity:.7}
.keepsake span:nth-child(2) i{border-radius:4px;border-width:1px;transform:rotate(-16deg);background:linear-gradient(transparent 45%,var(--gold) 46% 47%,transparent 48%)}
.keepsake span:nth-child(3) i{border-radius:50% 50% 4px 4px;transform:rotate(14deg)}
.collection{width:min(85%,800px);display:flex;justify-content:center;align-items:center;gap:clamp(.6rem,3vw,2rem)}
.collection-card{position:relative;width:27%;height:clamp(125px,21vh,210px);background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:0 9px 24px var(--shadow);padding:.6rem;display:flex;flex-direction:column;gap:.25rem}
.collection-card::before{content:"";flex:1;background:linear-gradient(145deg,var(--wash),var(--paper));border:1px solid var(--line)}
.collection-card span{display:block;color:var(--muted);font-size:clamp(.65rem,1vw,.82rem);text-align:center}
.collection-card:nth-child(1)::before{background:linear-gradient(145deg,#d4e2d4,#edf2e9 55%,#c8d6c9)}
.collection-card:nth-child(2)::before{background:linear-gradient(145deg,#e2dbc9,#e9efdf 60%,#cadad5)}
.collection-card:nth-child(3)::before{background:repeating-linear-gradient(0deg,var(--paper) 0 16px,var(--line) 17px 18px)}
:root[data-theme="dark"] .collection-card:nth-child(1)::before,:root[data-theme="dark"] .collection-card:nth-child(2)::before{background:linear-gradient(145deg,#395954,#24413f 60%,#4d655a)}
.collection-card:nth-child(2)::after{content:"▶";position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--gold);font-size:.8rem}
.chapter-strip{display:flex;align-items:stretch;justify-content:center;width:min(84%,820px);height:60%;gap:clamp(.4rem,2vw,1.3rem)}
.chapter-strip span{flex:1;display:grid;place-items:center;background:var(--wash);border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 20px var(--shadow);font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1rem,1.7vw,1.7rem);color:var(--fg)}
.chapter-strip span:nth-child(2){transform:translateY(-.65rem)}.chapter-strip span:nth-child(3){transform:translateY(.65rem)}
.invitation{position:relative;width:min(65%,600px);height:67%;display:grid;place-items:center;background:var(--wash);border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 27px var(--shadow)}
.invitation::before,.invitation::after{content:"";position:absolute;inset:10%;border:1px solid var(--line)}
.invitation::after{inset:20%;border-color:var(--gold)}
.invitation span{position:relative;z-index:1;padding:.3rem 1.3rem;background:var(--wash);font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.7rem,2.5vw,2.7rem);color:var(--gold)}
.journey-nav{position:absolute;z-index:10;bottom:4rem;left:50%;transform:translateX(-50%);display:flex;gap:.85rem;direction:rtl}
.journey-nav a{display:flex;align-items:center;justify-content:center;gap:.6rem;text-decoration:none;color:var(--muted);font-size:.73rem;white-space:nowrap;width:2.75rem;height:2.75rem;padding:0;border:1px solid transparent;border-radius:1rem;transition:color .3s ease,border-color .3s ease}
.journey-nav a span{display:none}
.journey-nav a::before{content:"";flex:none;width:.45rem;height:.45rem;border:1px solid currentColor;border-radius:50%;transition:background .3s ease,transform .3s ease}
.journey-nav a[aria-current="step"]{color:var(--gold)}
.journey-nav a[aria-current="step"]::before{background:var(--gold);transform:scale(1.3)}
.stage-footer{position:absolute;z-index:8;bottom:1.3rem;right:0;left:0;display:flex;align-items:end;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.76rem}
.stage-footer p{margin:0}
.progress-wrap{display:flex;align-items:center;gap:.85rem;min-width:min(32vw,240px);direction:ltr}
.progress-track{height:2px;background:var(--line);flex:1;position:relative;overflow:hidden}
.progress-track::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--journey-progress,0));transform-origin:left}
.progress-number{font-variant-numeric:tabular-nums;font-size:.76rem;min-width:4ch;text-align:left}
.scroll-track{position:relative;z-index:0;pointer-events:none;margin-top:-100svh}
.waypoint{height:100svh;scroll-margin-top:0}
.journey-end{min-height:20svh;display:grid;place-items:center;text-align:center;padding:3rem 1.5rem;background:var(--wash);border-top:1px solid var(--line);color:var(--muted);font-size:.83rem}
.journey-end p{margin:0;max-width:55ch}
@keyframes nudge{50%{transform:translateY(.32rem)}}
@media(max-width:700px){
  body:has(#landing) .site-header, html[data-page="landing"] .site-header{padding-block:.85rem}
  body:has(#landing) .wordmark, html[data-page="landing"] .wordmark{font-size:1.16rem}
  .sample-label{font-size:.62rem;padding:.17rem .55rem}
  .theme-button{min-width:2.75rem;min-height:2.75rem}
  .stage-inner{gap:.35rem;padding-top:4.7rem;padding-bottom:6.3rem;width:min(100% - 2.2rem,38rem)}
  .narrative{min-height:min(21rem,40vh);align-items:center}
  #landing .eyebrow{font-size:.67rem;margin-bottom:.3rem}
  #landing .eyebrow::before,#landing .eyebrow::after{width:.9rem}
  #landing h1{font-size:clamp(2.25rem,8.8vw,3.3rem)}
  #landing h2{font-size:clamp(2.2rem,8.4vw,3.1rem)}
  #landing .lead,#landing .scene:not(:first-child) .lead{font-size:clamp(.86rem,3.25vw,.98rem);line-height:1.85;max-width:37ch}
  .small-note{font-size:.69rem}
  .scroll-prompt{font-size:.7rem}
  .primary-link{font-size:.85rem;min-height:max(44px,2.7rem);padding:.45rem 1.1rem}
  .artwork{height:min(27vh,220px);border-radius:11px}
  .paper{width:50%}
  .paper span{font-size:1.7rem}
  .collection-card{height:min(18vh,150px);padding:.35rem}
  .chapter-strip{width:90%;gap:.3rem}
  .chapter-strip span{font-size:.88rem}
  .invitation{width:75%}
  .invitation span{font-size:1.35rem}
  .journey-nav{bottom:3.7rem;gap:.6rem}
  .stage-footer{bottom:.85rem;font-size:.65rem}
  .stage-footer .footer-hint{display:none}
  .progress-wrap{min-width:100%}
  .stage::before{display:none}
}
@media(max-width:380px){
  .stage-inner{padding-top:4.2rem;padding-bottom:5.7rem}
  .narrative{min-height:min(19.5rem,42vh)}
  .artwork{height:min(25vh,180px)}
  .sample-label{display:none}
}
@media(max-height:600px) and (min-width:701px){
  .stage-inner{padding-top:4rem;padding-bottom:5rem;gap:.2rem}
  .narrative{min-height:48vh}
  #landing h1{font-size:3rem}
  #landing h2{font-size:2.7rem}
  #landing .lead,#landing .scene:not(:first-child) .lead{font-size:.95rem;line-height:1.7}
  .small-note{font-size:.7rem}
  .artwork{height:28vh}
  #landing .eyebrow{margin-bottom:.1rem}
}
html:not(.js) .journey{min-height:0}
html:not(.js) .stage{position:relative;height:auto;min-height:0;overflow:visible}
html:not(.js) .stage-inner{padding-top:7rem;padding-bottom:4rem}
html:not(.js) .artwork{height:220px;margin:1rem auto}
html:not(.js) .art-scene:not([data-art="0"]),html:not(.js) .continuity,html:not(.js) .journey-nav,html:not(.js) .stage-footer,html:not(.js) .scroll-track{display:none!important}
html:not(.theme-ready) .theme-button{display:none!important}
html:not(.js) .narrative{display:block;min-height:0;text-align:right}
html:not(.js) .scene{opacity:1;transform:none;pointer-events:auto;max-width:54rem;padding:2.5rem 0;border-bottom:1px solid var(--line)}

/* Gulzar ascenders, wrap, layout */
html:not(.js) .stage-inner{padding-top:max(7rem,var(--header-space,7rem))}
.stage-inner>.narrative{flex-shrink:0}

/* Compact mode */
.compact-journey body:has(#landing) .site-header, .compact-journey[data-page="landing"] .site-header{padding-block:.55rem}
.compact-journey .stage-inner{min-height:100%;padding-top:var(--header-space,5rem);padding-bottom:var(--footer-space,7rem);gap:.5rem}
.compact-journey .narrative{min-height:0;padding:0;align-items:center}
.compact-journey #landing .eyebrow{margin-bottom:.25rem;justify-content:center}
.compact-journey #landing h1,.compact-journey #landing h2{font-size:clamp(1.8rem,5vw,3rem);line-height:1.75;margin-bottom:.25rem}
.compact-journey #landing .lead,.compact-journey .scene:not(:first-child) .lead{font-size:1rem;line-height:1.8;margin:.35rem auto;max-width:46ch}
.compact-journey .small-note{font-size:.75rem;line-height:1.7;margin:.35rem auto}
.compact-journey .scroll-prompt{font-size:.75rem;margin-top:.35rem}
.compact-journey .artwork{height:clamp(90px,18svh,180px);min-height:0;margin:0}
.compact-journey .collection-card{min-height:0;height:85%;max-height:none;padding:.3rem}
.compact-journey .collection-card::before{min-height:24px}
.compact-journey .collection-card span{font-size:.6rem}
.compact-journey .chapter-strip span{font-size:.75rem}
.compact-journey .paper span,.compact-journey .invitation span{font-size:1.25rem}
.compact-journey .journey-nav{top:auto;bottom:calc(var(--progress-space,2rem) + 12px);left:50%;right:auto;transform:translateX(-50%);display:flex;gap:min(.5rem,2vw)}
.compact-journey .journey-nav a,.flow-journey .journey-nav a{width:44px;height:44px;flex:none}
.compact-journey .stage-footer{bottom:.5rem;font-size:.65rem}
.compact-journey .footer-hint{display:none}
.compact-journey .progress-wrap{min-width:100%}
@media(max-width:700px){.compact-journey .stage-inner{display:flex;flex-direction:column;justify-content:center}.compact-journey .sample-label{display:none}.compact-journey #landing .eyebrow::before{display:none}}
@media(max-height:500px) and (min-width:600px){.compact-journey .stage-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:1.5rem}.compact-journey .artwork{height:45svh}}

/* Flow mode */
.flow-journey .journey{min-height:0}
.flow-journey .stage{position:relative;height:auto;min-height:0;overflow:visible}
.flow-journey .stage-inner{display:grid;grid-template-columns:minmax(0,1fr) clamp(64px,24vw,280px);align-items:start;gap:clamp(.5rem,2vw,1.5rem);padding-top:var(--header-space,5rem);padding-bottom:2rem}
.flow-journey .narrative{display:block;min-height:0;order:0;text-align:right}
.flow-journey .scene{opacity:1;transform:none;pointer-events:auto;width:100%;max-width:none;text-align:right;min-height:80svh;padding:2rem 0;border-bottom:1px solid var(--line)}
.flow-journey .scene:last-child{border-bottom:0}
.flow-journey #landing .eyebrow{justify-content:flex-start}
.flow-journey #landing .eyebrow::after{display:none}
.flow-journey .artwork{position:sticky;top:1rem;align-self:start;order:0;width:100%;height:auto;aspect-ratio:1;min-height:0;margin:2rem 0 0}
.flow-journey .continuity{display:block}
.flow-journey .paper span,.flow-journey .invitation span,.flow-journey .collection-card span{display:none}
.flow-journey .chapter-strip span{font-size:0;padding:0}
.flow-journey .paper{width:70%}
.flow-journey .keepsake{width:85%;gap:5px}
.flow-journey .keepsake span{width:26%;min-width:0}
.flow-journey .collection{width:90%;gap:5px}
.flow-journey .collection-card{height:65%;min-height:0;padding:3px}
.flow-journey .collection-card::before{min-height:0}
.flow-journey .collection-card:nth-child(2)::after{width:1rem;height:1rem;font-size:.5rem}
.flow-journey .journey-nav{position:fixed;top:auto;bottom:calc(var(--progress-space,2rem) + 12px);left:50%;right:auto;transform:translateX(-50%);display:flex;gap:min(.5rem,2vw);max-width:calc(100% - 2rem);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px;z-index:30}
.flow-journey .stage-footer{position:fixed;bottom:0;left:1rem;right:1rem;width:auto;max-width:none;background:var(--bg);padding:.35rem .5rem;z-index:30}
.flow-journey .footer-hint{display:none}
.flow-journey .progress-wrap{min-width:100%}
.flow-journey:not(.journey-visible) .journey-nav,.flow-journey:not(.journey-visible) .stage-footer{visibility:hidden;pointer-events:none}
.flow-journey .scroll-track{display:none}
@media(prefers-reduced-motion:reduce){html[data-page="landing"], html[data-page="presenter"], html[data-page="handoff"]{scroll-behavior:auto}.scene,.art-scene,.continuity,.continuity .node,.scroll-prompt,.scroll-prompt svg{animation:none!important;transition:none!important}}

.visual-panel{display:contents}
@media(max-width:360px){.compact-journey .artwork{height:clamp(70px,14svh,140px)}}
.flow-journey .visual-panel{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:min(1rem,calc(100svh - var(--visual-panel-height,200px) - 1rem));align-self:start;width:100%;margin:2rem 0 0}
.flow-journey .artwork{position:relative;top:auto;width:100%;margin:0}
.flow-journey .journey-nav{position:static;display:flex;flex-wrap:wrap;justify-content:center;transform:none;width:100%;max-width:100%;gap:4px;padding:0;border:0;border-radius:0;background:none}
.flow-journey .stage-footer{position:static;display:block;width:100%;max-width:100%;padding:0;background:none}
.flow-journey .progress-wrap{min-width:0;flex-direction:column;align-items:stretch;gap:4px}
.flow-journey .progress-track{flex:none;width:100%}
.flow-journey .progress-number{min-width:0;text-align:center}

/* Presenter components */
body.presenter-body, body:has(#presenter), body.handoff-body, body:has(#handoff){background-color:var(--bg);background-image:none;color:var(--fg);margin:0;line-height:1.85}
html[data-page="presenter"] :focus-visible, body:has(#presenter) :focus-visible, html[data-page="handoff"] :focus-visible, body:has(#handoff) :focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
body:has(#presenter) .site-header, html[data-page="presenter"] .site-header, body:has(#handoff) .site-header, html[data-page="handoff"] .site-header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem;border-bottom:1px solid var(--line)}
body:has(#presenter) .wordmark, html[data-page="presenter"] .wordmark, body:has(#handoff) .wordmark, html[data-page="handoff"] .wordmark{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.4;text-decoration:none;white-space:nowrap;min-height:2.75rem;min-width:44px;display:inline-flex;align-items:center}

.presenter-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,5vw,5rem);min-height:480px;padding-block:3.5rem 4.5rem}
.presenter-hero h1{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(2.6rem,5.5vw,5rem);font-weight:400;line-height:1.55;max-width:14ch;margin:0 0 1rem;color:var(--fg)}
.presenter-hero-lead{max-width:47ch;color:var(--muted);font-size:1.05rem;line-height:1.9;margin:0 0 1.5rem}
.presenter-hero-acts{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
html[data-page="presenter"] .primary-link, body:has(#presenter) .primary-link, html[data-page="handoff"] .primary-link, body:has(#handoff) .primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1.4rem;border-radius:9999px;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:600;transition:opacity .2s}
html[data-page="presenter"] .primary-link:hover, body:has(#presenter) .primary-link:hover, html[data-page="handoff"] .primary-link:hover, body:has(#handoff) .primary-link:hover{opacity:.9}
:root:has(#presenter)[data-theme="dark"] .primary-link, html[data-page="presenter"][data-theme="dark"] .primary-link, :root:has(#handoff)[data-theme="dark"] .primary-link, html[data-page="handoff"][data-theme="dark"] .primary-link{background:var(--gold);color:var(--bg)}
html[data-page="presenter"] .secondary-link, body:has(#presenter) .secondary-link, html[data-page="handoff"] .secondary-link, body:has(#handoff) .secondary-link{color:var(--gold);font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
html[data-page="presenter"] .secondary-link:hover, body:has(#presenter) .secondary-link:hover, html[data-page="handoff"] .secondary-link:hover, body:has(#handoff) .secondary-link:hover{text-decoration:underline}

.presenter-hero-art{position:relative;min-height:320px;display:grid;place-items:center}
.folio{position:absolute;width:60%;height:77%;border:1px solid var(--line);background:var(--paper);box-shadow:0 16px 35px var(--shadow);border-radius:4px;padding:12% 9%}
.folio:nth-child(1){transform:translate(15%,4%) rotate(-9deg);background:var(--wash)}
.folio:nth-child(2){transform:translate(-12%,-2%) rotate(5deg)}
.folio span{display:block;border-top:1px solid var(--line);margin-top:1rem}
.folio span:first-child{width:45%;border-color:var(--gold)}
.folio span:nth-child(2){width:90%}
.folio span:nth-child(3){width:75%}
.folio span:nth-child(4){width:85%}
.folio-mark{position:absolute;z-index:2;display:grid;place-items:center;width:26%;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;background:var(--paper);font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.2rem,2vw,2rem);color:var(--gold);transform:translate(-50%,70%)}

.presenter-overview{background:var(--wash);padding-block:3.5rem 4rem;border-block:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}
.section-head h2{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:400;margin:.2rem 0 0;line-height:1.55;color:var(--fg)}
.section-head p{max-width:47ch;color:var(--muted);margin:0}
.sequence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.sequence a{position:relative;min-height:130px;background:var(--paper);padding:1.2rem;text-decoration:none;transition:background-color .2s;display:flex;flex-direction:column}
html[data-page="presenter"] .sequence a:focus-visible,body:has(#presenter) .sequence a:focus-visible{outline-offset:-3px}
.sequence a:hover{background:var(--wash)}
.sequence small{display:block;color:var(--gold);margin-bottom:.4rem;font-size:.78rem;font-weight:700}
.sequence strong{display:block;font-size:1rem;font-weight:600;color:var(--fg);margin-bottom:.3rem}
.sequence span{display:block;color:var(--muted);font-size:.75rem;line-height:1.6}

.presenter-scenes{padding-block:3rem 1rem}
.presenter-scene{display:grid;grid-template-columns:minmax(140px,.28fr) 1fr;gap:clamp(1.5rem,4vw,4rem);padding-block:3.5rem;border-bottom:1px solid var(--line);scroll-margin-top:2rem}
.presenter-scene:first-child{padding-top:1.5rem}
.presenter-scene:last-child{border-bottom:0}
.scene-index{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;color:var(--gold);font-size:.85rem}
.scene-index b{font-family:Gulzar,Vazirmatn,serif;font-weight:400;font-size:clamp(3rem,5vw,4.5rem);line-height:1.2;color:var(--gold)}
.scene-inner{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(240px,1fr);align-items:center;gap:clamp(1.2rem,3vw,3rem)}
.presenter-scene h3{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:400;margin:.3rem 0 .6rem;line-height:1.55;color:var(--fg)}
.presenter-scene p{color:var(--muted);margin:.4rem 0;max-width:48ch;line-height:1.85}

.illustrative-badge{display:inline-block;border:1px solid var(--control-border);color:var(--fg);background:var(--wash);border-radius:9999px;padding:.25rem .75rem;font-size:.72rem;font-weight:600;margin-bottom:.6rem;max-width:100%}

.presenter-sample{min-height:220px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 10px 25px var(--shadow);padding:1.4rem;display:flex;flex-direction:column;justify-content:center;gap:.85rem}
.sample-title{font-weight:700;color:var(--fg);font-size:.9rem}
.sample-disclaimer{color:var(--muted);font-size:.72rem;line-height:1.6}

.contribution{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--line);background:var(--wash);border-radius:6px;color:var(--fg)}
.contribution em{display:block;flex:none;width:44px;height:44px;background:var(--paper);border:1px solid var(--line);border-radius:4px;font-style:normal;text-align:center;line-height:44px;color:var(--gold)}
.contribution span{font-size:.8rem;line-height:1.6}

.review-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.55rem 0;font-size:.82rem}
.review-line:last-child{border-bottom:0}
.review-line i{display:block;width:12px;height:12px;border:1px solid var(--gold);border-radius:50%;flex-shrink:0}
.review-line strong{font-weight:600;color:var(--fg)}
.review-line b{font-weight:500;color:var(--gold)}

.progress-art{height:80px;position:relative;border-bottom:1px solid var(--line)}
.progress-art::before{content:"";position:absolute;right:5%;left:8%;top:48%;border-top:2px solid var(--line);transform:rotate(-4deg)}
.progress-art span{position:absolute;top:20%;width:20%;aspect-ratio:1;border:1px solid var(--control-border);border-radius:50%;background:var(--wash)}
.progress-art span:nth-child(1){right:4%}
.progress-art span:nth-child(2){right:40%;top:30%;width:16%}
.progress-art span:nth-child(3){left:4%;top:10%}

.package-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.package-rows div{min-height:115px;border:1px solid var(--line);background:var(--wash);border-radius:6px;padding:1rem .7rem}
.package-rows b{display:block;color:var(--gold);font-size:.82rem}
.package-rows span{display:block;margin-top:.5rem;color:var(--muted);font-size:.72rem;line-height:1.5}

.cohort-art{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:110px}
.cohort-art span{width:22%;aspect-ratio:3/4;border:1px solid var(--line);background:var(--wash);transform:rotate(-6deg);border-radius:4px}
.cohort-art span:nth-child(2){background:var(--paper);transform:translateY(-10px);border-color:var(--gold)}
.cohort-art span:nth-child(3){transform:rotate(7deg)}

.sample-fallback{background:var(--wash);border-style:dashed}
.fallback-message{color:var(--gold);font-weight:600;font-size:.85rem;margin:0}

.offer-gate-panel{padding-block:2rem 3rem}
.offer-gate-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px var(--shadow);padding:clamp(1.5rem,4vw,3rem)}
.offer-header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.offer-header h2{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;margin:0;line-height:1.55;color:var(--fg)}
.offer-badge{display:inline-flex;align-items:center;min-height:32px;padding:.2rem .8rem;border-radius:9999px;font-size:.75rem;font-weight:700}
.offer-badge--pending{border:1px solid var(--control-border);color:var(--gold);background:var(--wash)}
.offer-badge--approved{border:1px solid var(--gold);color:var(--gold);background:var(--wash)}
.offer-pending-explanation{color:var(--fg);font-size:1rem;line-height:1.9;margin:0 0 1rem}
.offer-pending-rules{border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.85rem;line-height:1.8}
.offer-pending-rules p{margin:0}
.offer-intro{color:var(--muted);font-size:.95rem;margin:0 0 1.5rem}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.offer-item{min-width:0;background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.4rem}
.offer-label{font-size:.75rem;color:var(--muted)}
.offer-value{min-width:0;overflow-wrap:anywhere;font-size:.92rem;color:var(--fg);font-weight:600;line-height:1.6}
.offer-callout{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem}
.offer-callout p{margin:0;color:var(--muted);font-size:.9rem}
.orderable-tag{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1.4rem;border-radius:9999px;background:var(--gold);color:var(--bg);font-weight:700;font-size:.88rem}

.presenter-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;padding-block:2.5rem 3.5rem;border-top:1px solid var(--line)}
.presenter-footer p{margin:0;max-width:67ch;color:var(--muted);font-size:.82rem;line-height:1.75}

@media(max-width:1000px){
  .sequence{grid-template-columns:repeat(3,minmax(0,1fr))}
  .presenter-scene{grid-template-columns:120px 1fr}
  .scene-inner{grid-template-columns:1fr}
  .presenter-sample{max-width:640px}
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .presenter-hero{grid-template-columns:1fr;min-height:0;padding-block:2.5rem 3rem}
  .presenter-hero-art{min-height:220px;order:-1}
  .presenter-hero h1{font-size:clamp(2.2rem,8vw,3.2rem)}
  .section-head{display:block}
  .section-head h2{font-size:2.4rem}
  .sequence{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sequence a{min-height:110px}
  .presenter-scene{grid-template-columns:1fr;gap:1rem;padding-block:2.5rem}
  .scene-index{flex-direction:row;align-items:center;gap:.6rem}
  .scene-index b{font-size:2.5rem}
  .presenter-scene h3{font-size:2.2rem}
  .package-rows{grid-template-columns:1fr}
  .offer-grid{grid-template-columns:1fr}
  .presenter-footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:400px){
  .sequence{grid-template-columns:1fr}
  .sequence a{min-height:85px}
  .package-rows{grid-template-columns:1fr}
  .package-rows div{min-height:auto}
  .presenter-sample{padding:1rem}
}

/* QR Handoff components */
.handoff-hero{padding-block:3rem 2rem}
.handoff-hero h1{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:400;line-height:1.55;margin:0 0 1rem;color:var(--fg)}
.handoff-lead{max-width:56ch;color:var(--muted);font-size:1.05rem;line-height:1.9;margin:0 0 1.5rem}

.grave-indicator{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.5rem;box-shadow:0 6px 18px var(--shadow);margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.grave-badge{display:inline-flex;align-self:flex-start;align-items:center;min-height:32px;padding:.25rem .85rem;border-radius:9999px;border:1px solid var(--control-border);background:var(--wash);color:var(--gold);font-size:.82rem;font-weight:700}
.grave-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.8}

.fallback-callout{padding-block:1rem 2rem}
.fallback-card{background:var(--paper);border:1px solid var(--line);border-right:4px solid var(--gold);border-radius:10px;padding:clamp(1.2rem,3vw,1.8rem);box-shadow:0 6px 20px var(--shadow);display:flex;flex-direction:column;gap:.75rem}
.fallback-header{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}
.fallback-header h2{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:400;margin:0;line-height:1.55;color:var(--fg)}
.fallback-badge{display:inline-flex;align-items:center;min-height:30px;padding:.2rem .8rem;border-radius:9999px;border:1px solid var(--gold);background:var(--wash);color:var(--gold);font-size:.78rem;font-weight:700}
.fallback-text{margin:0;color:var(--fg);font-size:.95rem;line-height:1.85}
.fallback-warning{color:var(--muted);font-size:.82rem;line-height:1.7}

.flow-banner{padding-block:1rem 2rem}
.flow-banner-inner{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:clamp(1.2rem,3vw,2rem)}
.flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.flow-step{display:flex;gap:1rem;align-items:flex-start}
.step-num{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--paper);border:1px solid var(--gold);color:var(--gold);font-family:Gulzar,Vazirmatn,serif;font-size:1.25rem;font-weight:400}
.step-content strong{display:block;color:var(--fg);font-size:.95rem;margin-bottom:.3rem}
.step-content p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.7}

.handoff-section{padding-block:2rem 3rem}
.handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:2rem}
.route-card{container-type:inline-size;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 25px var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.route-card--private{border-color:var(--control-border)}
.route-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.9rem 1.25rem;background:var(--wash);border-bottom:1px solid var(--line)}
.badge{display:inline-flex;align-items:center;min-height:30px;padding:.2rem .8rem;border-radius:9999px;font-size:.75rem;font-weight:700}
.badge--public{border:1px solid var(--control-border);background:var(--paper);color:var(--fg)}
.badge--private{border:1px solid var(--gold);background:var(--paper);color:var(--gold)}
.grave-tag{color:var(--muted);font-size:.78rem}

.code-box{padding:clamp(1.2rem,3cqw,2rem);display:flex;flex-direction:column;align-items:center;gap:1.5rem;flex:1}
@container (min-width: 30rem){
  .code-box{flex-direction:row;align-items:flex-start;text-align:right}
}
.code-wrap{background:#ffffff;border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 4px 14px rgba(0,0,0,.08);flex-shrink:0}
.code-wrap .code{width:160px;height:160px;display:grid;place-items:center}
.code-wrap svg{display:block;width:100%;height:100%}
.code-caption{font-size:.72rem;color:#486062;font-weight:600}
.qr-unavailable{max-width:160px;margin:0}
:root[data-theme="dark"] .code-caption{color:#233f3e}

.code-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.6rem;width:100%}
.type-badge{align-self:flex-start;display:inline-block;font-size:.72rem;color:var(--muted);background:var(--wash);border-radius:4px;padding:.15rem .5rem}
.code-details h3{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.6rem,3.5cqw,2.2rem);font-weight:400;margin:0;line-height:1.55;color:var(--fg)}
.code-details .dates{margin:0;color:var(--gold);font-size:.9rem}
.destination-desc{margin:0;color:var(--muted);font-size:.85rem;line-height:1.75}
.canonical-row{margin:0;padding:.5rem .7rem;background:var(--wash);border:1px solid var(--line);border-radius:6px;font-size:.8rem;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:.25rem}
.canonical-label{font-size:.72rem;color:var(--muted)}
.canonical-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;color:var(--fg);direction:ltr;text-align:left;display:block;overflow-wrap:anywhere;word-break:break-all}
.card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;margin-top:.4rem}
.direct-link{min-height:44px}
.fallback-tag{color:var(--muted);font-size:.72rem}

.arrival-preview{padding-block:2rem 3.5rem}
.arrival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:2rem}
.arrival-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 8px 22px var(--shadow);display:flex;flex-direction:column;gap:1rem}
.arrival-header{display:flex;flex-direction:column;gap:.5rem}
.arrival-header h3{font-family:Gulzar,Vazirmatn,serif;font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:400;margin:0;line-height:1.55;color:var(--fg)}
.arrival-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.arrival-list li{position:relative;padding-right:1.3rem;color:var(--muted);font-size:.85rem;line-height:1.75}
.arrival-list li::before{content:"•";position:absolute;right:0;color:var(--gold);font-size:1.2rem;line-height:1.4}
.arrival-badge-note{margin-top:auto;padding:.6rem .85rem;background:var(--wash);border-radius:6px;color:var(--fg);font-size:.78rem;font-weight:600}

.handoff-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;padding-block:2.5rem 3.5rem;border-top:1px solid var(--line)}
.handoff-footer p{margin:0;max-width:67ch;color:var(--muted);font-size:.82rem;line-height:1.75}
.footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}

@media(max-width:900px){
  .flow-steps{grid-template-columns:1fr}
  .arrival-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .handoff-hero{padding-block:2rem 1.5rem}
  .handoff-hero h1{font-size:clamp(2rem,7vw,3rem)}
  .handoff-footer{flex-direction:column;align-items:flex-start}
}

@media print{
  html[data-page="handoff"]{color-scheme:light !important;--bg:#fff !important;--fg:#000 !important;--muted:#333 !important;--gold:#444 !important;--paper:#fff !important;--wash:#fff !important;--line:#777 !important;--control-border:#555 !important;--shadow:transparent !important}
  .handoff-body .site-header, .handoff-body .theme-button, .handoff-body .card-actions, .handoff-body .flow-banner, .handoff-body .handoff-footer, .handoff-body .skip-link{display:none !important}
  body.handoff-body{background:#fff !important;color:#000 !important}
  .handoff-body .route-card{break-inside:avoid;box-shadow:none !important;border:1px solid #ccc !important}
  .handoff-body .route-head, .handoff-body .code-wrap, .handoff-body .canonical-row, .handoff-body .badge, .handoff-body .type-badge{background:#fff !important}
}

/* The fictional release notice remains in normal flow at every viewport. */
.fictional-demo-disclosure {
  position: relative;
  z-index: 20;
  padding: .65rem max(1rem, calc((100vw - 1180px) / 2));
  border-block-end: 1px solid currentColor;
  background: var(--bg, #f7f3eb);
  color: var(--fg, #302b26);
  font-size: .875rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

body[data-public-demo]:has(#landing) .site-header,
body.memorial-body[data-public-demo] .site-header {
  position: relative;
  inset: auto;
}
.qr-fictional-label { margin: .65rem 1rem; font-size: .875rem; line-height: 1.8; overflow-wrap: anywhere; }
@media print {
  .fictional-demo-disclosure { background: #fff; color: #000; }
  .qr-fictional-label { color: #000; }
}
