/* One camera passage, then a quiet field guide. AshenRO purple + emerald. */
:root{--ashen-purple:#642b9e;--ashen-emerald:#13734f;--ashen-night:#241433;--ashen-lavender:#d9b9ff;--ashen-mint:#63d9a6;--ashen-gold:#e7c870;--sc-canvas:#f8f4fc;--sc-section:clamp(48px,5vw,80px);--sc-ink:#30203f;--sc-ink-soft:#685773;--sc-accent:var(--ashen-emerald)}
.site-header{height:80px;background:var(--ashen-night);gap:28px}
.site-header .brand{font-size:19px}.site-header .brand img{width:40px;height:40px}
.main-nav{font-size:13px;gap:22px}.button{border-radius:3px}
.passage{position:relative;background:var(--ashen-night);--cave-scale:1;--cave-opacity:1;--town-opacity:0;--town-scale:1.04;--tunnel-opacity:0;--intro-opacity:1;--intro-y:0px;--arrival-opacity:0;--arrival-y:16px;--ground-opacity:0}
.passage-stage{position:relative;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}
.passage.is-interactive{height:calc(max(100svh,560px) + 100svh)}
.passage.is-interactive .passage-stage{position:sticky;top:0}
.passage-visual{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--ashen-night);pointer-events:none}
.passage-visual:before{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(115deg,#7b3aaf 0%,#785399 42%,#20744f 100%);mix-blend-mode:color;opacity:.20;pointer-events:none}
.passage-visual>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% 49%;transform-origin:60% 49%}
.passage-fallback{z-index:0;object-position:55% 50%!important}
.passage-town{z-index:1;opacity:0;transform:scale(var(--town-scale));clip-path:circle(var(--town-reveal,80%) at 60% 49%)}
.passage-interior{z-index:1;opacity:0;transform:scale(var(--interior-scale,1))}
.assets-ready.is-interactive .passage-interior{opacity:var(--interior-opacity,1)}
.assets-ready:not(.is-interactive) .passage-interior{display:none}
@media(prefers-reduced-motion:reduce){.passage-interior{display:none}}
.passage-cave{z-index:2;opacity:0;transform:scale(var(--cave-scale))}
.assets-ready .passage-fallback{visibility:hidden}
.assets-ready:not(.is-interactive) .passage-town{opacity:1;transform:none;clip-path:none}
.assets-ready.is-interactive .passage-town{opacity:var(--town-opacity)}
.assets-ready.is-interactive .passage-cave{opacity:var(--cave-opacity)}
.passage-darkness{position:absolute;inset:0;z-index:3;background:#160e20;opacity:var(--tunnel-opacity);mask-image:radial-gradient(circle at 60% 49%,transparent 0 var(--tunnel-opening,0%),#000 calc(var(--tunnel-opening,0%) + 10%))}
.arrival-shade{position:absolute;inset:55% 0 0;z-index:4;background:linear-gradient(0deg,#281239de,transparent);opacity:var(--arrival-opacity)}
.passage-ground{position:absolute;inset:auto 0 -1px;height:110px;z-index:5;background:linear-gradient(transparent,var(--sc-canvas) 96%);opacity:var(--ground-opacity)}
.passage-intro{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:70px 110px;color:#f5f6f1;opacity:var(--intro-opacity);transform:translateY(var(--intro-y));--sc-accent:#b1e1cb;--sc-accent-ink:#183b30}
.passage-visual:after{content:'';position:absolute;inset:0;z-index:6;background:radial-gradient(ellipse 80% 85% at 12% 50%,#241433cf 0%,#24143385 38%,#24143300 75%);opacity:var(--intro-opacity);pointer-events:none}
.passage:has(.passage-intro:focus-within) .passage-visual:after{opacity:1}
.passage-intro .eyebrow{color:#c8d3cd;font-size:10px;letter-spacing:.18em}
.passage-intro h1{font-size:clamp(44px,5.1vw,76px);line-height:1.08;letter-spacing:-.05em;margin-top:22px;max-width:700px}
.passage-intro h1 em{font-style:normal;font-weight:inherit;color:var(--ashen-lavender)}
.passage-intro>p:not(.eyebrow){color:#e0e5df;max-width:30ch;font-size:16px;line-height:1.65;margin-top:24px}
.intro-actions{display:flex;align-items:center;gap:26px;margin-top:30px}
.intro-actions .button{min-height:48px;padding:10px 28px;font-size:14px}
.intro-actions .text-link{font-size:13px;color:#e1eadf}
.passage-intro:focus-within{opacity:1!important;transform:none!important}
.passage-arrival{position:absolute;left:0;right:0;bottom:18%;opacity:var(--arrival-opacity);transform:translateY(var(--arrival-y));pointer-events:none;color:#fff}
.passage-arrival p{font-size:10px;letter-spacing:.18em;color:#e6eee3;margin-bottom:14px}
.passage-arrival h2{font-size:clamp(38px,4.5vw,66px);letter-spacing:-.04em;font-weight:500}
.passage-skip{position:absolute;right:var(--sc-gutter);top:26px;z-index:8;font-size:12px;color:#fff;text-decoration:none;padding:10px 14px;border:1px solid #ffffff66;border-radius:2px;background:#12201b50;min-height:40px}
.passage-skip:hover{text-decoration:underline}.passage-skip:focus-visible{outline-color:#fff}
.passage:not(.is-interactive) .passage-skip{display:none}
.foundations{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-top:72px;padding-bottom:72px}
.foundation-copy h2{font-size:clamp(32px,3.4vw,48px);line-height:1.14;font-weight:600}
.foundation-note{margin-top:24px}.foundation-note p{font-size:16px;max-width:42ch}.foundation-note .text-link{margin-top:20px;font-size:14px}
.facts dd{font-size:34px;font-weight:600}.facts dt{font-size:13px}.server-ledger>.fine{font-size:12px;line-height:1.7}.server-status{font-size:12px}.server-ledger>.text-link{font-size:12px}
.adventure{background:#f0e6f8;border-top:1px solid #e0cdeb;padding-bottom:44px;overflow:clip}
.adventure-layout{gap:8%}.adventure-image{height:550px;border-radius:0;box-shadow:none;clip-path:none;overflow:visible;transform:none!important;background:transparent}
/* Only the scenery fades. The Poring and caption remain crisp on the page. */
.adventure-scenes{inset:-60px -90px -12px calc(-1 * var(--sc-gutter));transform:scale(var(--field-scale,1));transform-origin:50% 65%;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 58%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 22%,#000 58%,transparent 96%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 58%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 22%,#000 58%,transparent 96%);-webkit-mask-composite:source-in;mask-composite:intersect}
.adventure-copy{position:relative;z-index:1}
.adventure-image .path-companions{left:12%;right:8%;height:48%;bottom:56px}
.adventure-image .path-companions:after{background:#4d296638;filter:blur(14px)}
.adventure-copy h2{font-size:clamp(32px,3.4vw,48px);font-weight:600}
.adventure-copy>p{font-size:15px;max-width:40ch}.path-choice{padding:15px 12px}.path-choice>span{font-size:25px;font-weight:600}.path-choice>small{font-size:12px}
.path-choice.selected{background:#fafafa;box-shadow:none}.path-answer{font-size:14px;min-height:106px}.system-links{gap:5%;margin-top:40px}.system-links strong{font-size:17px;font-weight:600}.system-links span{font-size:13px}
.updates-heading h2{font-size:clamp(32px,3.4vw,48px);font-weight:600}.updates-heading>.text-link{font-size:14px}.dispatch{gap:24px;padding-block:28px}.dispatch h3{font-size:26px;font-weight:600}.dispatch p{font-size:15px}.dispatch time{font-size:11px}.dispatch-link{font-size:24px}
.preparation{background:#eae0f4}.prepare-copy h2{font-size:clamp(32px,3vw,44px);font-weight:600}.prepare-copy>.eyebrow{font-size:10px}.prepare-copy>p:not(.eyebrow){font-size:15px}.book-poring{width:170px;margin-top:24px}.travel-pass{box-shadow:0 20px 38px -25px #3f2e574d;border-color:#d8cfe1;border-radius:3px}.paper-leaf{opacity:.45}.pass-top{font-size:16px}.pass-destination h3{font-size:29px}
.departure{background:var(--ashen-night);padding-top:64px}.departure-main h2{font-size:clamp(36px,4.2vw,60px);font-weight:600}.departure-main p{font-size:15px}.departure-main>img{width:220px;margin-right:30px}.community-links{margin-top:48px}.community-links strong{font-size:19px}.review-line{font-size:13px}footer .brand{font-size:20px}
.motion-toggle{font-weight:500;box-shadow:none;right:16px;bottom:16px;min-height:40px;padding:9px 13px;border-radius:3px;font-size:11px;background:#f8f4fc;color:#642b9e;border-color:#b899d1}
/* Purple carries the identity; emerald identifies actions and completion. */
.site-header,.passage-intro,.departure{--sc-accent:var(--ashen-mint);--sc-accent-ink:#123326}
.brand>span>span,.community-links span{color:var(--ashen-mint)}
.nav-dropdown>div{background:#342044}
.passage-intro .eyebrow,.passage-arrival p{color:var(--ashen-gold)}
.passage-intro>p:not(.eyebrow){color:#eee4f7}
.intro-actions .text-link{color:#c4f0dc}
.passage-skip{background:#24143380;border-color:#d9b9ff80}
.foundation-copy h2,.adventure-copy h2,.updates-heading h2,.prepare-copy h2,.facts dd,.pass-destination h3{color:var(--ashen-purple)}
.prepare-copy>.eyebrow{color:var(--ashen-emerald)}
.path-choice.selected{background:#fcf9ff;box-shadow:inset 3px 0 var(--ashen-emerald)}
.path-choice.selected>span{color:var(--ashen-purple)}
.image-caption{left:10%;right:auto;bottom:0;background:transparent;color:#642b9e;padding:12px 0 4px;font-size:12px;line-height:1.6;max-width:85%;font-weight:600}
.image-caption:before{content:'';display:inline-block;vertical-align:middle;width:22px;height:2px;background:var(--ashen-emerald);margin-right:10px}
.pass-top{color:var(--ashen-purple)}
.departure-main h2{color:#e4caff}
.departure{--sc-ink-soft:#d1c3dc}
.community-links,footer{border-color:#604476}
@media(max-width:900px){.main-nav{background:#2c193c;border-color:#604476}}
@media(max-width:1100px){.main-nav{gap:15px}.site-header{gap:20px}.adventure-image{height:540px}.foundations{gap:6%}}
@media(max-width:900px){.site-header{height:76px}.main-nav{top:76px}.passage-intro h1{font-size:60px}.adventure-layout{gap:32px}.foundations{gap:32px}.passage-skip{top:20px}}
@media(max-width:700px){
 .site-header{height:72px}.main-nav{top:72px}.site-header .brand{font-size:16px}.site-header .brand img{width:32px;height:32px}
 .passage-stage{min-height:560px}.passage.is-interactive{height:calc(max(100svh,560px) + 80svh)}
 .passage-intro{justify-content:flex-start;padding-top:clamp(76px,14svh,130px);padding-bottom:0}
 .passage-visual:after{background:radial-gradient(ellipse 135% 90% at 15% 12%,#241433df 0%,#24143395 32%,#24143300 78%)}
 .passage-intro h1{font-size:clamp(39px,10.2vw,58px);margin-top:18px;line-height:1.1}
 .passage-intro>p:not(.eyebrow){max-width:27ch;font-size:15px;margin-top:20px}
 .intro-actions{gap:20px;margin-top:24px}.intro-actions .button{padding-inline:22px}.intro-actions .text-link{font-size:12px}
 .passage-skip{top:16px;right:20px;font-size:11px;padding:8px 12px}
 .passage-arrival{bottom:18%}.passage-arrival h2{font-size:40px}.passage-ground{height:80px}
 .foundations{grid-template-columns:1fr;gap:38px;padding-block:44px}
 .foundation-copy h2,.adventure-copy h2,.updates-heading h2{font-size:36px}.foundation-note p{font-size:15px}.facts dd{font-size:32px}
 .adventure-image{height:350px;border-radius:0}.adventure-copy h2 br{display:block}.system-links{margin-top:28px}
 .adventure-scenes{inset:-16px calc(-1 * var(--sc-gutter)) -4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 24%,#000 52%,transparent 94%);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 24%,#000 52%,transparent 94%)}
 .adventure-image .path-companions{left:12%;right:10%;height:62%;bottom:46px}
 .image-caption{left:0;right:0;max-width:none;text-align:center;font-size:11px}
 .dispatch{grid-template-columns:1fr 30px;gap:12px}.dispatch h3{font-size:24px}.dispatch p{font-size:14px}
 .prepare-copy h2{font-size:30px}.prepare-copy h2 br{display:block}.book-poring{width:95px;margin:0}.travel-pass{padding:24px}.preparation-layout{padding-block:40px}
 .departure{padding-top:48px}.departure-main h2{font-size:38px}.departure-main>img{width:100px;margin:0}.departure-main p{max-width:38ch}.community-links{margin-top:36px}
 .motion-toggle{right:12px;bottom:12px}
}
@media(max-width:380px){.passage-intro h1{font-size:38px}.intro-actions{gap:14px}.intro-actions .text-link{font-size:11px}.passage-intro .eyebrow{font-size:9px}.prepare-copy h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.passage.is-interactive{height:auto}.passage.is-interactive .passage-stage{position:relative}.passage-cave{display:none}.assets-ready .passage-town{opacity:1!important;transform:none!important;clip-path:none!important}.passage-darkness,.passage-arrival{display:none}.passage-intro{opacity:1!important;transform:none!important}.adventure-image{clip-path:none!important}.adventure-scenes{transform:none!important}}
