/* Keep booking readable and at least 44px tall; the previous header had no
   booking action. Compact gaps leave space without shrinking the touch target. */
.site-header nav{gap:22px}.booking-link{display:inline-flex;align-items:center;gap:19px;min-height:44px;border-bottom:1px solid #cbb68b70;text-decoration:none;font-size:11px;white-space:nowrap}.booking-link span{color:#ddc49a;font-size:17px}body[data-view=entrance] .booking-link span{color:#52606c}.header-note{left:43%;font-size:8px}body[data-view=story] .world-only{display:initial}
.story-galaxy{--x:49%;--y:37%;--size:78px;--mx:28%;--my:91%;--ms:64px;--glow:#e7bb83}.story-galaxy-core{position:absolute;inset:0;display:grid;place-items:center;font-size:31px;color:#fff3d6;border-radius:50%;background:radial-gradient(circle,#fff0c350 0%,#cc945820 35%,#18212e40 65%,transparent);box-shadow:0 0 60px #e0b97935}.story-galaxy-core i{position:absolute;width:3px;height:3px;background:#f6dcab;border-radius:50%;box-shadow:0 0 9px #d9bb80}.story-galaxy-core i:nth-child(1){left:10%;top:20%}.story-galaxy-core i:nth-child(2){left:80%;top:10%}.story-galaxy-core i:nth-child(3){left:78%;top:85%}.story-galaxy .galaxy-label strong{font-size:23px;color:#f1d9b3}.story-galaxy .galaxy-label small{font-size:7px}.story-galaxy:hover .story-galaxy-core{transform:scale(1.1);transition:transform .7s}.story-destination{border-top:1px solid #d9bf8d35;margin-top:8px}.route-story-star{display:grid;place-items:center;width:39px;height:39px;color:#efd5a8;font-size:25px;flex-shrink:0}.story-destination strong{color:#efd5a8}.galaxy-route-panel{max-height:calc(100svh - 245px);overflow:auto;overscroll-behavior:contain}
.lightbox-actions{display:flex;gap:28px;align-items:center}.inspiration-link{display:flex;gap:16px;align-items:center;min-height:44px;font-size:11px;color:#e0c69b;border-bottom:1px solid #e0c69b44}
#story{--story-color:#e7bb83;position:fixed;inset:112px 0 70px;z-index:5;overflow:auto;overscroll-behavior:contain;padding:0 6.6vw 24px;scrollbar-width:thin;scrollbar-color:#96836855 transparent;background:linear-gradient(90deg,#060c16b8,transparent 90%);color:#eeeae2}.story-topline{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3;margin-bottom:20px}.story-topline .back{margin:0;min-height:44px}.story-direct{font-size:10px;text-decoration:none;color:#c3cbd6;min-height:44px;display:flex;align-items:center}.story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:5vw;align-items:center;min-height:calc(100% - 65px)}.story-editor{max-width:640px;position:relative;z-index:2}.story-editor>.eyebrow{font-size:8px;color:#d8c4a2;letter-spacing:.2em}.story-progress{display:flex;align-items:center;gap:24px;margin:21px 0 17px;color:#a7b5c5;font-size:8px;letter-spacing:.14em}.story-progress>div{display:flex;gap:6px}.story-progress i{display:block;width:30px;height:1px;background:#74819250}.story-progress i.complete{background:#dfc499}
#story h1{font-size:clamp(46px,4.7vw,78px);line-height:1.02;letter-spacing:-.025em}#story h1 em{color:var(--story-color)}#story h1:focus{outline:none}.story-description{margin:16px 0 26px;font-size:12px;line-height:1.8;color:#b5c0cf;max-width:450px}.story-choices{border:0;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.story-choice{display:block;position:relative;cursor:pointer}.story-choice input{position:absolute;opacity:0;width:1px;height:1px;inset:12px auto auto 12px}.story-choice-content{display:flex;min-height:78px;align-items:center;gap:14px;padding:18px 16px;border:1px solid #9faec530;background:#101c2a64;transition:border-color .25s,background .25s;color:#d6dce4;font-size:11px;line-height:1.7}.story-choice-content small{font-size:8px;color:#9ca8b9}.choice-check{margin-left:auto;opacity:0;font-size:12px;color:var(--story-color)}.story-choice input:checked+.story-choice-content{border-color:var(--story-color);background:#d2b88412;color:#fff4df}.story-choice input:checked+.story-choice-content .choice-check{opacity:1}.story-choice input:focus-visible+.story-choice-content{outline:2px solid #fff2d4;outline-offset:4px}.story-choice:hover .story-choice-content{background:#d2b88412}.mood-choices .story-choice-content{display:grid;grid-template-columns:1fr auto;padding:0 0 13px;gap:10px 12px}.mood-choices img{width:100%;height:100px;object-fit:cover;grid-column:1/-1;opacity:.85}.mood-choices .story-choice-content>span{margin-left:13px}.mood-choices .choice-check{margin-right:13px}
.story-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:18px}.story-actions>button:first-child{font-size:10px;min-height:44px;padding:10px 0;color:#b9c4d1}.story-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:14px 23px;border:1px solid #e3c99a88;background:#e3c99a12;text-decoration:none;color:#f1ddbb;font-size:11px;white-space:nowrap;transition:background .3s}.story-primary:hover{background:#e3c99a25;color:#fff}.story-primary span{font-size:18px}#story-next{margin-left:auto}.story-privacy{font-size:9px;line-height:1.8;color:#96a4b7;margin-top:22px;max-width:450px}#story-error,#story-storage-status{font-size:11px;line-height:1.7;color:#ffd4bc;margin-top:14px}
.story-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 17px}.story-field{display:flex;flex-direction:column;gap:9px}.story-field label{font-size:10px;color:#c4cfda}.story-field input,.story-field textarea{border:1px solid #96a7be40;background:#0e1928a8;color:#ecebe5;padding:13px;font:11px/1.8 Manrope,Arial,sans-serif;width:100%;border-radius:0;resize:vertical}.story-field input:focus,.story-field textarea:focus{outline:1px solid #d8c095;outline-offset:2px}.story-field input::placeholder,.story-field textarea::placeholder{color:#8798ae}.story-wide{grid-column:1/-1}.story-field textarea{min-height:110px}
.story-sky{position:relative;aspect-ratio:1;min-width:0;isolation:isolate;align-self:center}.story-halo{position:absolute;inset:5%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--story-color) 14%,transparent),transparent 65%);transform:rotate(-25deg) scaleY(.7);z-index:-1;transition:background 1s}.story-constellation{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.story-orbit{stroke:#b8c7d91c;stroke-width:.7;fill:none;stroke-dasharray:2 6;transform:rotate(-28deg) scaleY(.7);transform-origin:center}.story-path{stroke:var(--story-color);stroke-width:.7;stroke-dasharray:100;stroke-dashoffset:100;fill:none;opacity:.65;transition:stroke-dashoffset .8s,stroke 1s}.story-nodes circle{fill:#8294aa;opacity:.35;transition:opacity .6s,fill .6s;stroke:#ffe7bf22;stroke-width:12}.story-nodes .lit{fill:#fff2d8;opacity:1;filter:drop-shadow(0 0 6px #ffde96)}.story-stardust{fill:#c6d5e7;opacity:.7}.story-seed{position:absolute;width:39%;aspect-ratio:1;left:30.5%;top:29%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#f6d9a618,#17253930 60%,transparent 70%);box-shadow:0 0 70px #e0c18a14;overflow:hidden}.story-seed img{width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:.85}.story-seed-light{font-size:52px;color:#e9d1aa;text-shadow:0 0 35px #efcf94}.story-sky-caption{position:absolute;top:80%;left:-5%;right:-5%;text-align:center}.story-sky-caption p{font:italic 24px/1.3 Cormorant,Georgia,serif;color:#ddd1b9}.story-sky-caption small{display:block;font-size:6px;letter-spacing:.17em;color:#a3b1c3;margin-top:15px}.story-sky-caption button{font-size:8px;min-height:44px;margin-top:7px;border-bottom:1px solid #b8c1ca33}
.story-summary{padding:20px 22px;background:#101c2a88;border:1px solid #c6ad7f33}.story-summary .eyebrow{font-size:7px;color:#cdbb9e}#story-brief{border:0;border-bottom:1px solid #a5b7d022;background:none;color:#c9d3df;width:100%;min-height:130px;max-height:230px;resize:vertical;font:11px/1.8 Manrope,Arial,sans-serif;margin:15px 0}.story-handoff{display:flex;justify-content:space-between;align-items:center;gap:15px}.story-copy{font-size:10px;min-height:44px;text-decoration:underline;text-underline-offset:5px}.story-handoff-note,.story-copy-status{color:#aab8c9;font-size:9px;line-height:1.8;margin-top:13px}.story-call-details{font-size:7px;letter-spacing:.08em;line-height:1.8;color:#b5c2d1;margin-top:17px}
/* Both scenes coexist during approach; the prior cut lost depth. Only the
   lightweight constellation scales, avoiding large composited photo layers. */
.story-entering #story{background:transparent;--approach:0}.story-entering .story-editor,.story-entering .story-topline{opacity:calc(max(0,var(--approach) - .65) / .35);pointer-events:none}.story-entering .story-sky{opacity:var(--approach);transform:scale(calc(.2 + var(--approach)*.8))}.story-entering .site-header nav button{pointer-events:none}#story-skip-flight{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);font-size:10px;min-height:44px;color:#e6d1ae}body.story-entering main{position:static!important;overflow:visible!important}
@media(max-width:1100px){.header-note{display:none}.story-layout{gap:2vw;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}#story{padding-inline:5vw}.story-choice-content{font-size:10px;padding:16px 12px}.story-sky-caption p{font-size:21px}}
@media(max-width:760px){.site-header nav{gap:16px}#sound{display:none}.booking-link{font-size:10px;gap:12px}body[data-view=story] #archive-link{display:none}.lightbox-actions{gap:12px;align-items:end;flex-direction:column}.inspiration-link{font-size:9px;gap:8px;max-width:175px;text-align:right;line-height:1.5}.lightbox-bottom{align-items:end}#story{inset:86px 0 65px;padding:0 24px 24px;background:linear-gradient(90deg,#060c16d9,#060c1660)}.story-topline{margin-bottom:18px;gap:14px}.story-direct{font-size:9px;text-align:right;max-width:100px;line-height:1.6}.story-layout{display:flex;flex-direction:column;gap:15px;min-height:0}.story-editor{width:100%}.story-sky{width:220px;flex:0 0 220px;order:-1;margin-top:-25px;margin-bottom:-26px;pointer-events:none}.story-sky-caption{top:80%;left:-5%;right:-5%}.story-sky-caption p{font-size:18px}.story-sky-caption small{display:none}.story-sky-caption button{pointer-events:auto}.story-seed-light{font-size:31px}.story-editor>.eyebrow{font-size:7px}.story-progress{margin:18px 0 13px}#story h1{font-size:46px}.story-description{font-size:11px;margin:14px 0 22px}.story-choice-content{min-height:76px}.story-actions{margin-top:20px}.story-fields{grid-template-columns:1fr;gap:17px}.story-primary{padding:12px 18px;gap:16px}.story-handoff{flex-wrap:wrap}.story-handoff .story-primary{flex:1}.story-summary{padding:17px}.story-privacy{font-size:9px}.mood-choices img{height:95px}.story-call-details{font-size:7px}.story-sky-caption button{margin:0}.story-sky:has(#story-remove-photo:not([hidden])){margin-bottom:0}
 /* The added destination needs 1000px instead of the previous 690px map.
    This separates its label from the footer; short screens scroll the map. */
 body[data-view=universe] main{position:absolute;inset:86px 0 68px;overflow-y:auto}#universe{position:relative;inset:auto;min-height:1000px;height:1000px}.universe-intro{top:3%}.galaxy[data-galaxy=afterglow]{--my:28%}.galaxy[data-galaxy=human]{--my:42%}.galaxy[data-galaxy=electric]{--my:55%}.galaxy[data-galaxy=geometry]{--my:67%}.galaxy[data-galaxy=elsewhere]{--my:76%}.story-galaxy{--my:88%;--mx:26%}.universe-foot{bottom:8px}}
@media(max-width:390px){.site-header{padding-inline:18px}.site-header nav{gap:12px}.wordmark{font-size:18px;gap:8px}.wordmark span{padding-left:8px;font-size:6px}.site-header #archive-link{font-size:8px}.site-header #archive-link .nav-arrow{display:none}.booking-link{font-size:9px;gap:8px}#story{padding-inline:20px}.story-choices{gap:9px}.story-choice-content{padding:13px 10px;font-size:10px;gap:9px}.story-primary{font-size:10px}.lightbox-bottom{left:20px;right:20px}.lightbox-bottom h2{font-size:23px;max-width:150px}.inspiration-link{font-size:8px;max-width:140px}}
@media(min-width:761px) and (max-height:650px){#story{inset:80px 0 60px}.story-layout{align-items:start}.story-sky{position:sticky;top:20px}#story h1{font-size:50px}.story-topline{margin-bottom:10px}.story-progress{margin:12px 0}.story-description{margin:12px 0 18px}.story-choices{gap:9px}.story-choice-content{min-height:64px}.story-privacy{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.story-path,.story-nodes circle,.story-choice-content{transition:none}}

/* At 720px height the initial 78px choices put Next below the fold. These
   compact desktop proportions preserve breathing room and a visible action. */
@media(min-width:761px) and (max-height:820px){#story h1{font-size:54px}.story-topline{margin-bottom:10px}.story-progress{margin:14px 0}.story-description{margin:12px 0 20px}.story-choice-content{min-height:65px;padding:13px 14px}.story-actions{margin-top:18px}.story-privacy{margin-top:14px}.story-layout{min-height:0}.mood-choices img{height:85px}.story-summary{padding:16px 20px}#story-brief{min-height:110px;margin:11px 0}.story-sky{max-width:470px;width:100%}}
@media(max-width:760px){.story-field input,.story-field textarea{font-size:16px}.story-field input::placeholder,.story-field textarea::placeholder{font-size:12px}}

/* At 320px the wider caption extended behind the scrollbar. Constrain the
   caption to its artwork and clip only atmospheric horizontal overshoot. */
#story{overflow-x:hidden}


/* The optional story and direct call are separate destinations. Keep the lens
   uncluttered; a persistent desktop link and compact entrance link surface the brief. */
.story-nav{display:inline-flex;align-items:center;min-height:44px;font-size:11px;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.story-nav:hover,.story-nav[aria-current=page]{border-color:currentColor}.story-nav-short{display:none}
.story-stars-status{font-size:9px;color:#bdc9d9;margin:-7px 0 19px}
/* The old absolute caption overlapped controls as soon as photo browsing was added.
   Keep the orbit and its controls in normal flow, independently of question height. */
.story-sky{display:flex;flex-direction:column;align-items:center;aspect-ratio:auto;min-width:0}
.story-artwork{position:relative;width:min(100%,380px);aspect-ratio:1}
.story-seed{width:48%;left:26%;top:26%}
.story-sky-caption{position:static;width:100%;text-align:center}
.story-photo-kicker{font-size:7px;letter-spacing:.2em;color:#b5c5d6;margin-bottom:9px}
.story-sky-caption>#story-inspiration-label{font-size:26px}
.story-photo-controls{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:4px}
.story-photo-controls button{width:44px;height:44px;margin:0;border:0;font-size:18px}
#story-photo-count{font-size:9px;letter-spacing:.12em;color:#b6c7d8;min-width:42px}
#story-photo-use{min-height:44px;padding:8px 18px;margin:0;font-size:10px;border:1px solid #bfd1e344;background:#a8c9df0b;color:#dce9f4}
#story-photo-use[aria-pressed=true]{border-color:#bfd1e388;background:#a8c9df18}
.story-sky-caption .story-selected-photo{font:9px/1.6 Manrope,Arial,sans-serif;color:#afc0d0;margin-top:10px}
.story-sky-caption #story-remove-photo{font-size:9px;margin:0;min-height:44px}.story-sky-caption small{margin-top:8px}
@media(min-width:761px) and (max-height:820px){.story-artwork{width:min(100%,300px)}}
@media(max-width:760px){
 .story-nav{display:none;font-size:9px}body[data-view=entrance] .story-nav{display:inline-flex}.story-nav-long{display:none}.story-nav-short{display:inline}
 /* A compact side-by-side orbit keeps the first question in view on phones;
    the old 220px artwork plus a new caption pushed the choices too far down. */
 .story-sky{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;width:100%;flex:none;margin:0 0 12px;pointer-events:auto}
 .story-artwork{width:100%}.story-seed{width:62%;left:19%;top:19%}.story-sky-caption{width:100%}
 .story-sky-caption>#story-inspiration-label{font-size:19px}.story-photo-kicker{font-size:6px;line-height:1.7}.story-photo-controls{gap:1px}
 .story-photo-controls button{font-size:17px}.story-sky-caption .story-selected-photo{font-size:8px}#story-photo-use{font-size:9px;padding:8px 11px}
 .story-sky:has(#story-remove-photo:not([hidden])){margin-bottom:12px}.story-stars-status{margin-bottom:16px}
}
@media(max-width:390px){.story-sky{grid-template-columns:112px minmax(0,1fr);gap:10px}.site-header nav{gap:10px}}

/* The answer-derived caption replaces the one-size-fits-all edit. Keep it small
   and wrapping inside the orbit column; a fixed-width line would overflow phones. */
.story-sky-caption .story-inspiration-context{font:10px/1.7 Manrope,Arial,sans-serif;color:#c2d8f0;max-width:340px;margin:0 auto 12px;text-wrap:balance}
@media(max-width:760px){.story-sky-caption .story-inspiration-context{font-size:9px;margin-bottom:8px}}
