/* September–Halloween 2026. Scoped to this homepage; archival pages keep their identity. */
.seasonal-home { --night: #151421; --night-muted: #c0bbcf; background: var(--night); }
.seasonal-home [hidden] { display: none !important; }
.seasonal-home::before { background: linear-gradient(90deg,#514366,#d5c294,#514366); }
.seasonal-home .site-header { min-height: 96px; }
.seasonal-home .site-nav { gap: clamp(12px,1.55vw,24px); }
.seasonal-home .site-nav > a:not(.button) { color: #dfdae7; }
.seasonal-home .v25-hero { min-height: 0; grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr); gap: clamp(30px,5vw,76px); align-items:center; padding-top: 148px; padding-bottom: 60px; background: radial-gradient(ellipse at 86% 40%,#2c243d 0,transparent 55%),radial-gradient(ellipse at 0 95%,#3e2435 0,transparent 53%),#151421; }
.seasonal-home .v25-hero h1 { font-size: clamp(3.25rem,5.25vw,5.25rem); line-height: .99; letter-spacing: -.055em; }
.seasonal-home .v25-hero h1 em { color:#dac8a5; font-size:.78em; margin-top:20px; line-height:1.08; }
.seasonal-home .v25-hero__lead { color:#d0c9d7; font-size:1.04rem; line-height:1.8; margin-top:26px; }
.seasonal-home .v25-hero__content { align-self:start; padding-top:74px; }
@media(max-width:840px) { .seasonal-home .v25-hero__content { padding-top:0; } }
.seasonal-home .eyebrow { font-size:.68rem; letter-spacing:.17em; }
.seasonal-intro { margin: 24px 0 14px; color:#b7accc; font: .8rem/1.5 ui-monospace,monospace; }
.seasonal-home .v25-hero__actions { gap:12px; margin-top:28px; }
.seasonal-home .button { border-radius:4px; }
.seasonal-home .button--primary { background:#dac8a5; border-color:#dac8a5; color:#211929; box-shadow:none; }
.seasonal-home .button--primary:hover { background:#efe2ca; }
.seasonal-home .button--secondary { color:#ede5f3; border-color:#71637d; background:transparent; }
.seasonal-home .v25-hero__actions .button { font-size:.8rem; padding:13px 17px; }
.seasonal-footnote { margin:27px 0 0; font: .68rem/1.6 ui-monospace,monospace; color:#b8adc5; }
.seasonal-home .home-sidepaths { font-size:.82rem; color:#ded3e9; }
.nightfall { --room-tint:transparent; position:relative; color:#f1eaf5; background:#201b2c; border:1px solid #6b597a; border-radius:7px; box-shadow:0 28px 65px #07061270; scroll-margin-top:24px; min-width:0; }
.nightfall__bar { display:flex; justify-content:space-between; gap:16px; padding:12px 16px; background:#2d263a; border-bottom:1px solid #645272; color:#d4c5e2; font: .63rem/1.5 ui-monospace,monospace; letter-spacing:.11em; }
.nightfall__bar > span:first-child > span { color:#e9d1a3; margin-right:7px; }
.nightfall__scene { position:relative; isolation:isolate; overflow:hidden; }
.nightfall__scene img { display:block; width:100%; height:auto; }
.nightfall__scene::after { position:absolute; inset:0; background:var(--room-tint); content:''; mix-blend-mode:color; pointer-events:none; }
.nightfall__moon-glow { position:absolute; inset:4% 20% 50%; background:radial-gradient(ellipse,#b8a7e523,transparent 66%); pointer-events:none; }
.nightfall__visitor { position:absolute; z-index:1; display:block; opacity:var(--ghost-clarity,0); bottom:20%; left:32%; width:36px; height:42px; background:#d4c7e8; clip-path:polygon(0 30%,16% 8%,36% 0,66% 0,84% 8%,100% 30%,100% 100%,75% 85%,50% 100%,25% 85%,0 100%); transition:opacity 2s ease; pointer-events:none; }
.nightfall__visitor::before { content:''; position:absolute; top:13px; left:10px; width:4px; height:6px; background:#514064; box-shadow:11px 0 0 #514064; }
.nightfall__whisper { position:absolute; left:6%; bottom:33%; max-width:44%; padding:10px 12px; border:1px solid #c4b6ce; border-radius:5px 5px 5px 0; background:#e9e2ee; color:#292137; font:.7rem/1.4 ui-monospace,monospace; box-shadow:3px 3px 0 #0c091c80; }
.nightfall__door { position:absolute; z-index:2; left:59%; top:29%; width:25%; height:49%; border:1px solid transparent; border-radius:45% 45% 2px 2px; background:transparent; color:#fff2d1; cursor:pointer; }
.nightfall__door > span { position:absolute; bottom:-1px; left:50%; transform:translateX(-50%); white-space:nowrap; border:1px solid #b7a39b; background:#231d2de8; padding:9px 12px; font: .67rem/1.5 ui-monospace,monospace; box-shadow:0 3px 10px #0c091b; }
.nightfall__door:hover { background:#ebd4f412; box-shadow:inset 0 0 36px #ead6ee22; }
.nightfall__coordinates { position:absolute; bottom:12px; left:16px; color:#c1b3d1; font:.57rem/1.5 ui-monospace,monospace; letter-spacing:.09em; }
.nightfall__body { padding:20px 22px 16px; border-top:1px solid #584765; }
.nightfall__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nightfall__heading h2 { margin:0; color:#f4ecfa; font:400 1.65rem/1.2 var(--font-serif); letter-spacing:-.025em; }
.nightfall__heading > span { color:#b7a9c7; font:.52rem/1.4 ui-monospace,monospace; letter-spacing:.06em; }
#nightfall-description { color:#cec2da; font-size:.84rem; line-height:1.65; min-height:2.8em; margin:13px 0 17px; }
.nightfall__seasons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #665474; border-radius:3px; }
.nightfall__seasons button { min-height:46px; background:transparent; color:#d8cbe4; border:0; padding:9px 5px; font:500 .7rem/1.5 var(--font-sans); cursor:pointer; }
.nightfall__seasons button + button { border-left:1px solid #665474; }
.nightfall__seasons button > span { color:#b4a2c7; font: .61rem ui-monospace,monospace; margin-right:5px; }
.nightfall__seasons button[aria-pressed="true"] { background:#dac8a5; color:#241a2e; box-shadow:inset 0 -3px #8d6e48; }
.nightfall__seasons button[aria-pressed="true"] > span { color:#54435a; }
.nightfall__seasons button:hover { box-shadow:inset 0 0 0 2px #cfbade; }
.nightfall__credit { color:#b6a9c4; font:.58rem/1.6 ui-monospace,monospace; margin:13px 0 0; }
.nightfall[data-season="october"] { --room-tint:#744dc34a; }
.nightfall[data-season="october"] .nightfall__moon-glow { background:radial-gradient(ellipse,#c0a5ff55,transparent 66%); }
.nightfall[data-season="halloween"] { --room-tint:#96454f42; }
.nightfall[data-season="halloween"] .nightfall__visitor { display:block; }
.nightfall[data-season="halloween"] .nightfall__moon-glow { background:radial-gradient(ellipse,#e1a37166,transparent 66%); }
.nightfall__invitation { border-top:1px solid #685674; margin-top:20px; padding-top:5px; }
.nightfall__invitation p { color:#ded3e9; font-size:.88rem; }
.nightfall__invitation strong { display:block; color:#f3e6ce; margin-bottom:4px; }
.nightfall__invitation .button { font-size:.8rem; }
.nightfall__invitation > button { display:block; min-height:44px; background:none; border:0; padding:10px 0 0; color:#e4d5ed; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.nightfall.is-open .nightfall__door { box-shadow:inset 0 0 40px #ead6ee44; background:#ebd4f41a; }
.seasonal-ribbon { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px max(24px,calc((100vw - var(--max-width))/2)); color:#d6cadd; background:#231e30; border-bottom:1px solid #4b3d59; }
.seasonal-ribbon p { margin:0; font-size:.85rem; }
.seasonal-ribbon p > span:first-child { color:#b7a5d3; margin-right:12px; font-size:1.15rem; }
.seasonal-ribbon p > span:last-child { color:#b9acc9; }
.seasonal-home .rain-room-replay { position:static; z-index:auto; flex-shrink:0; min-height:44px; padding:8px 0; background:none; border:0; border-radius:0; color:#e3d2b2; box-shadow:none; transform:none; font:.78rem/1.5 var(--font-sans); text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.first-visit { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:48px; padding:66px max(24px,calc((100vw - var(--max-width))/2)); color:#ded5e5; background:#191622; scroll-margin-top:20px; }
.first-visit h2 { font:400 2.3rem/1.15 var(--font-serif); letter-spacing:-.035em; margin:15px 0 20px; }
.first-visit__heading > a { font-size:.82rem; text-underline-offset:5px; color:#ddc9a6; }
.first-visit__steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0; padding:0; }
.first-visit__steps li { min-width:0; border-top:1px solid #5f4e70; padding-top:10px; }
.step-number { color:#bda7d2; font:.7rem/1.5 ui-monospace,monospace; }
.first-visit h3 { font:400 1.22rem/1.3 var(--font-serif); color:#f2e8f6; margin:14px 0 10px; }
.first-visit__steps p { color:#bfb2ca; font-size:.82rem; line-height:1.7; margin:0 0 15px; }
.first-visit__steps a,.first-visit__steps button { color:#e1cda9; font-size:.75rem; line-height:1.8; text-underline-offset:4px; }
.first-visit__steps a { display:inline-block; padding-block:6px; }
.first-visit__steps code { display:block; color:#e0d0ec; font: .66rem/1.6 ui-monospace,monospace; overflow-wrap:anywhere; }
.first-visit__steps button { background:none; border:0; padding:6px 0; min-height:44px; cursor:pointer; text-decoration:underline; }
.seasonal-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 max(24px,calc((100vw - var(--max-width))/2)); background:#191622; }
.seasonal-directory a { padding:27px 24px; border-block:1px solid #594764; text-decoration:none; }
.seasonal-directory a:first-child { padding-left:0; }
.seasonal-directory a + a { border-left:1px solid #594764; }
.seasonal-directory span { display:block; font: .65rem/1.6 ui-monospace,monospace; color:#baa8cd; margin-bottom:9px; }
.seasonal-directory strong { display:flex; justify-content:space-between; gap:20px; color:#e9dbe9; font:400 1.45rem/1.2 var(--font-serif); }
.seasonal-directory i { font-style:normal; color:#cfb992; }
.seasonal-directory a:hover strong { color:#f4d59e; text-decoration:underline; text-underline-offset:5px; }
.seasonal-history { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.78fr); align-items:center; gap:clamp(30px,7vw,110px); padding:84px max(24px,calc((100vw - var(--max-width))/2)); color:#e7dfe9; background:#191622; }
.seasonal-history h2 { font:400 clamp(2.5rem,4vw,4rem)/1.08 var(--font-serif); letter-spacing:-.04em; margin:20px 0; }
.seasonal-history p:not(.eyebrow) { max-width:480px; color:#c3b4d0; font-size:.95rem; line-height:1.8; }
.seasonal-history .archive-window { margin:0; border-radius:4px; border-color:#645271; background:#251e30; }
.seasonal-history .archive-window__bar { background:#302739; color:#d8c5a6; font-size:.6rem; }
.seasonal-history .archive-window figcaption { background:#251e30; padding:20px; }
.seasonal-history .archive-window figcaption strong { font-size:1.4rem; }
.seasonal-history .archive-window figcaption span { font-size:.85rem; }
.seasonal-history .archive-window figcaption small { font-size:.68rem; color:#c2b0cd; }
.seasonal-home .v25-doors,.seasonal-home .v25-enter,.seasonal-home .v25-community,.seasonal-home .home-care { background:#201a2b; }
.seasonal-home .v25-closing { background:radial-gradient(ellipse at 50% 100%,#493047,transparent 70%),#171420; }
.seasonal-home :where(a,button,input,summary):focus-visible { outline:3px solid #bdf3ec; outline-offset:5px; }
.seasonal-home .v25-section--cream :where(a,button,summary):focus-visible { outline-color:#593a7c; }
.seasonal-home .skip-link:focus { z-index:100; }
/* A tiny Palace scene: fixed perspective, prop-like avatars, and one speaker. */
.courtyard-stage { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.nightfall__scene { container-type:inline-size; }
.leaf-mass { transition:fill 2s ease; }
.leaf-mass--shade { fill:color-mix(in srgb,#3e6057,#87554c var(--leaf-warmth,0%)); }
.leaf-mass--mid { fill:color-mix(in srgb,#607959,#b47e4e var(--leaf-warmth,0%)); }
.leaf-mass--light { fill:color-mix(in srgb,#809060,#cda065 var(--leaf-warmth,0%)); }
.leaf-mass--amber { fill:#b79861; }
.leaf-speckles { fill:#d1bd85; opacity:.5; }
.tree-canopy { opacity:var(--canopy-fullness,1); transform-origin:382px 310px; transform:scale(1.16); transition:opacity 2s ease; animation:leaves-breathe 9s ease-in-out infinite; }
.tree-last-leaves { opacity:calc(1 - var(--canopy-fullness,1)); transition:opacity 2s ease; }
.tree-lights { opacity:0; transition:opacity 2s ease; }
.nightfall[data-season="halloween"] .tree-lights { opacity:1; }
.light-bulbs { animation:lantern-breathe 7s ease-in-out infinite; filter:drop-shadow(0 0 3px #e9c58b88); }
.fallen-leaves { opacity:var(--autumn-progress,.24); }
.falling-leaf { opacity:0; transform-origin:368px 290px; }
.nightfall[data-season="october"] .falling-leaf { animation:one-autumn-leaf 14s linear infinite; }
.palace-constellation { opacity:calc(.18 + var(--autumn-progress,0) * .54); }
.skeleton-constellation { opacity:calc(var(--autumn-progress,0) * var(--autumn-progress,0) * .82); }
.constellation-sparks { animation:stars-breathe 11s ease-in-out infinite; }
.skeleton-constellation .constellation-sparks { animation-delay:-5s; }
.door-lamplight { opacity:0; transition:opacity 1.3s ease; }
.door-leaf { transform-box:fill-box; transition:transform 1.5s ease; }
.door-leaf--left { transform-origin:left center; }.door-leaf--right { transform-origin:right center; }
.door-awake .door-leaf { transform:scaleX(.045); }
.door-awake .door-lamplight { opacity:1; }
.door-star-prop { opacity:0; transform-origin:509px 350px; }
.delivering-prop .door-star-prop { animation:pass-a-star 1.7s ease-in-out both; }
.palace-actor { position:absolute; width:12.5%; aspect-ratio:9/10; z-index:2; pointer-events:none; }
.palace-actor > svg { display:block; width:100%; height:100%; overflow:visible; }
.palace-actor--keeper { left:38%; bottom:25%; }
.palace-actor--visitor { left:var(--visitor-x,32%); bottom:var(--visitor-y,14%); }
.keeper-broom { transform-origin:66px 54px; }
.nightfall[data-season="october"] .keeper-broom { animation:caretaker-sweep 14s ease-in-out infinite; }
.keeper-lantern,.visitor-hat,.visitor-bucket { display:none; }
.nightfall[data-season="halloween"] .visitor-headphones { display:none; }
.nightfall[data-season="halloween"] :is(.keeper-lantern,.visitor-hat,.visitor-bucket) { display:block; }
.nightfall[data-season="halloween"] .keeper-broom { display:none; }
.nightfall[data-season="halloween"] .keeper-lantern { transform-origin:24px 65px; animation:keeper-checks-lights 12s ease-in-out infinite; }
.bucket-star { opacity:0; }.has-star-prop .bucket-star { opacity:1; }
.palace-bubble { position:absolute; z-index:4; left:50%; bottom:70%; transform:translateX(-50%); width:max-content; max-width:235%; padding:9px 11px; border:1px solid #c7b7ce; border-radius:4px; background:#eae1e9; color:#302437; box-shadow:3px 3px 0 #17102080; font:clamp(8px,1.75cqi,11px)/1.5 ui-monospace,monospace; pointer-events:none; }
.palace-bubble::after { content:''; position:absolute; top:100%; left:47%; width:7px; height:7px; background:#eae1e9; border-right:1px solid #c7b7ce; border-bottom:1px solid #c7b7ce; transform:translateY(-3px) skewY(35deg); }
.palace-actor--visitor .palace-bubble { bottom:106%; transform:translateX(-78%); }
.palace-actor--visitor .palace-bubble::after { left:76%; }
.palace-bubble--host { left:78%; bottom:54%; max-width:33%; }
.nightfall__visitor { width:5.5%; height:8%; left:21%; bottom:19%; animation:ghost-idle 8s ease-in-out infinite; }
.nightfall__visitor::before { top:31%; left:27%; width:11%; height:14%; box-shadow:none; }
.nightfall__visitor::after { content:''; position:absolute; top:31%; left:61%; width:11%; height:14%; background:#514064; }
.nightfall__door { z-index:3; }
.nightfall__door > span { bottom:-8%; }
.nightfall.is-open .nightfall__door { box-shadow:none; background:transparent; }
.room-motion-controls { display:flex; flex-wrap:wrap; align-items:center; column-gap:14px; margin:8px 0 0; }
.room-motion-controls button { min-height:44px; border:0; padding:8px 0; background:none; color:#e1cda9; font:.68rem/1.5 ui-monospace,monospace; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.room-motion-controls span { color:#b9adc7; font:.58rem/1.6 ui-monospace,monospace; }
.room-calendar { display:flex; flex-wrap:wrap; align-items:center; column-gap:14px; margin-top:10px; color:#c9bdd4; font:.63rem/1.6 ui-monospace,monospace; }
.room-calendar button { min-height:44px; padding:5px 0; border:0; background:none; color:#e1cda9; font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.memory__moon-mark { display:none; }
.nightfall[data-midnight-clue="true"] .memory__moon-mark { display:block; }
.nightfall[data-midnight-clue="true"] .memory__disk-label { display:none; }
.scene-story-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.nightfall:not([data-motion="playing"]) .nightfall__scene * { animation-play-state:paused !important; transition:none !important; }
@keyframes leaves-breathe { 0%,100% { transform:scale(1.16) rotate(-.6deg); } 50% { transform:scale(1.16) rotate(.8deg); } }
@keyframes one-autumn-leaf { 0%,10% { opacity:0; transform:translate(0,0) rotate(0); } 12% { opacity:.9; } 28% { transform:translate(-13px,48px) rotate(70deg); } 44% { transform:translate(5px,97px) rotate(170deg); } 55%,69% { opacity:.8; transform:translate(-14px,134px) rotate(250deg); } 75%,100% { opacity:0; transform:translate(-31px,136px) rotate(250deg); } }
@keyframes caretaker-sweep { 0%,58%,85%,100% { transform:rotate(0); } 65%,77% { transform:rotate(20deg); } 71%,82% { transform:rotate(-12deg); } }
@keyframes lantern-breathe { 0%,100% { opacity:.8; } 50% { opacity:1; } }
@keyframes keeper-checks-lights { 0%,35%,75%,100% { transform:translate(0,0) rotate(0); } 45%,62% { transform:translate(-2px,-8px) rotate(7deg); } }
@keyframes stars-breathe { 0%,100% { opacity:.62; } 50% { opacity:1; } }
@keyframes ghost-idle { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes pass-a-star { 0% { opacity:0; transform:translate(0,0) scale(1); } 15% { opacity:1; } 80%,100% { opacity:1; transform:translate(12px,61px) scale(.8); } }
@media(max-width:600px) { .palace-bubble { padding:5px 7px; max-width:245%; } .nightfall__door > span { font-size:.53rem; padding:7px; } .room-motion-controls { column-gap:10px; } .room-motion-controls span { font-size:.53rem; } }
/* Quiet, native room hotspots. The joke is discovered, never played on a loop. */
.nightfall__memories { position:absolute; inset:0; z-index:3; pointer-events:none; }
.memory { position:absolute; display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px; border:1px solid transparent; border-radius:5px; background:transparent; color:#d2bded; cursor:pointer; pointer-events:auto; -webkit-tap-highlight-color:transparent; }
.memory:hover { border-color:#c5b0d63b; background:#e1c6ed08; }
.memory:focus-visible { border-color:#c3eee3; outline:2px solid #c3eee3; outline-offset:2px; background:#201b2c80; }
.memory--gate { left:1.5%; top:26%; width:16%; padding:5px; gap:4px; transform:rotate(-4deg); border-color:#ad9076; border-radius:1px; background:#d6c1a0; color:#392c39; box-shadow:3px 4px 0 #14102166; }
.memory--gate::before { content:''; position:absolute; top:-3px; left:48%; width:5px; height:5px; border-radius:50%; background:#b49c78; box-shadow:1px 2px 1px #1e162a99; }
.memory--gate:hover { background:#e5d1b1; border-color:#e9d8bc; }
.memory--gate:focus-visible { color:#392c39; background:#e5d1b1; }
.nightfall__scene .memory--gate img { width:100%; height:auto; aspect-ratio:4/3; }
.memory--gate > span { font:clamp(7px,1.35cqi,10px)/1.25 ui-monospace,monospace; }
.memory--disk { left:4%; top:54%; width:9%; height:10%; transform:rotate(-7deg); }
.memory__disk { display:block; width:clamp(18px,3vw,26px); height:auto; opacity:var(--memory-clarity,.25); filter:grayscale(calc(1 - var(--autumn-progress,0))); transition:opacity 2s ease,filter 2s ease; }
.memory--invader { left:64%; top:10%; width:13%; height:12%; }
.memory__invader { display:block; width:clamp(23px,3vw,34px); height:auto; opacity:var(--memory-clarity,.25); transition:opacity 2s ease; filter:drop-shadow(0 0 3px #9a83c066); }
.memory__star { position:absolute; color:#e1d0f4; transition:opacity 2s ease; opacity:calc(1 - var(--autumn-progress,0) * .88); font:12px ui-monospace,monospace; }
.memory__star--one { left:21%; top:14%; }.memory__star--two { right:14%; bottom:12%; }.memory__star--three { right:12%; top:12%; font-size:9px; }
.memory--trail { left:48%; bottom:11%; width:39%; height:10%; padding:0; }
.memory__dots { position:absolute; display:flex; align-items:center; justify-content:space-between; left:9%; right:8%; top:50%; opacity:var(--floor-signal,.2); transition:opacity 2s ease; }
.memory__dots i { display:block; width:3px; height:3px; border-radius:50%; background:#ebcaa1; box-shadow:0 0 4px #d5b89744; }
.memory__dots i:last-child { width:5px; height:5px; }
.memory__pac { position:absolute; left:0; top:50%; margin-top:-13px; width:26px; height:26px; color:#e6c478; opacity:var(--pac-clarity,0); transition:opacity 2s ease; filter:drop-shadow(2px 3px 0 #17122280); }
.memory__pac svg { display:block; width:100%; height:100%; }
.memory__pac-closed { opacity:0; }
.memory.is-found .memory__disk,.memory.is-found .memory__invader,.memory.is-found .memory__pac,.memory:focus-visible .memory__disk,.memory:focus-visible .memory__invader,.memory:focus-visible .memory__pac { opacity:1; }
.memory.is-found .memory__disk { filter:none; }
.memory.is-found .memory__invader { color:#bad6bc; }
.nightfall.found-trail .nightfall__visitor { opacity:1; }
.nightfall__scene::after { transition:background 2s ease; }
.nightfall__moon-glow { transition:background 2s ease; }
.nightfall__hint { margin:12px 0 0; color:#c5b6d3; font-size:.7rem; line-height:1.65; }
.memory-discovery { margin-top:16px; padding:14px 0 0 14px; border-left:2px solid #b9a0ce; color:#e1d4e9; }
.memory-discovery strong { display:block; color:#e1cda9; font:.62rem/1.5 ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }
.memory-discovery p { margin:6px 0 0; font-size:.82rem; line-height:1.65; }
.gate-keepsake { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:14px 0 0; }
.gate-keepsake > img { display:block; width:144px; max-width:100%; height:auto; border:1px solid #9b879f; }
.gate-keepsake figcaption { flex:1 1 150px; }
.gate-keepsake a { display:inline-block; padding-block:8px; color:#e4cda5; font-size:.8rem; line-height:1.6; text-underline-offset:4px; }
.gate-keepsake small { display:block; margin-top:4px; color:#bfb1cd; font-size:.65rem; line-height:1.7; }
.nightfall.is-chasing .memory__pac { animation:lost-pac 3s ease-in-out 1; }
.nightfall.is-chasing .memory__pac-open { animation:pac-open .28s steps(1,end) 11; }
.nightfall.is-chasing .memory__pac-closed { animation:pac-closed .28s steps(1,end) 11; }
.nightfall.is-chasing .memory__dots i { animation:lost-dot 3s linear 1; }
.nightfall.is-chasing .memory__dots i:nth-child(2) { animation-delay:.25s; }.nightfall.is-chasing .memory__dots i:nth-child(3) { animation-delay:.5s; }.nightfall.is-chasing .memory__dots i:nth-child(4) { animation-delay:.75s; }.nightfall.is-chasing .memory__dots i:nth-child(5) { animation-delay:1s; }
.nightfall.is-chasing .nightfall__visitor { animation:off-duty-ghost 3s ease-in-out 1; }
@keyframes lost-pac { 0%,100% { left:0; transform:rotate(0); } 45% { left:calc(100% - 26px); transform:rotate(0); } 50% { left:calc(100% - 26px); transform:rotate(180deg); } 95% { left:0; transform:rotate(180deg); } }
@keyframes pac-open { 50% { opacity:0; } } @keyframes pac-closed { 50% { opacity:1; } }
@keyframes lost-dot { 20%,80% { opacity:0; } }
@keyframes off-duty-ghost { 30%,65% { transform:translate(-9px,-4px) rotate(-5deg); } }
@media(max-width:600px) { .memory { padding:5px; } .memory--gate { padding:3px; gap:2px; } .memory--disk { left:2%; top:54%; } .memory--invader { top:8%; } .memory__pac { width:20px; height:20px; margin-top:-10px; } .memory--trail { bottom:8%; } .nightfall__whisper { min-height:2.6em; } }
@media(max-width:360px) { .memory--gate { top:20%; } }
@media(forced-colors:active) { .memory { border:1px solid ButtonText; background:Canvas; } .memory svg,.memory__pac,.memory__disk,.memory__invader { opacity:1; color:ButtonText; filter:none; } .memory__dots i { background:ButtonText; } .memory-discovery { border-color:CanvasText; } }
@media(min-width:841px) and (max-width:1120px) { .seasonal-home .brand-name { font-size:1.05rem; } .seasonal-home .site-nav { gap:12px; } .seasonal-home .site-nav > a:not(.button) { font-size:.7rem; } .seasonal-home .site-nav .button { font-size:.7rem; padding:12px; } }
@media(max-width:980px) { .seasonal-home .v25-hero { grid-template-columns:1fr 1fr; gap:28px; } .seasonal-home .v25-hero h1 { font-size:3.4rem; } .nightfall__heading > span { display:none; } .first-visit { grid-template-columns:1fr; gap:28px; } .first-visit h2 br { display:none; } }
@media(max-width:840px) { .seasonal-home .site-nav { background:#231b30; } .seasonal-home .site-nav > a:not(.button) { font-size:.86rem; } .seasonal-home .v25-hero { grid-template-columns:1fr; padding-top:128px; gap:38px; } .seasonal-home .v25-hero__content { max-width:620px; } .seasonal-home .v25-hero h1 { font-size:clamp(3.3rem,8.6vw,4.5rem); } .nightfall { width:100%; max-width:640px; } .seasonal-ribbon { flex-wrap:wrap; gap:6px; } .seasonal-history { grid-template-columns:1fr 1fr; gap:30px; } }
@media(max-width:600px) { .seasonal-home .site-header { min-height:82px; } .seasonal-home .brand-name { font-size:1.22rem; } .seasonal-home .v25-hero { padding:116px 22px 32px; } .seasonal-home .v25-hero h1 { font-size:3.25rem; } .seasonal-home .v25-hero h1 em { font-size:.79em; } .seasonal-home .v25-hero__lead { font-size:.95rem; } .seasonal-home .v25-hero__actions { display:grid; } .seasonal-home .v25-hero__actions .button { width:100%; text-align:center; } .seasonal-intro { margin-top:18px; font-size:.72rem; } .seasonal-home .eyebrow { font-size:.6rem; } .nightfall__bar { padding:10px 12px; font-size:.51rem; } .nightfall__body { padding:18px 15px 14px; } .nightfall__heading h2 { font-size:1.5rem; } .nightfall__seasons button { font-size:.64rem; } .nightfall__seasons button > span { font-size:.55rem; margin-right:3px; } .nightfall__whisper { font-size:.57rem; padding:7px; } .nightfall__door > span { padding:8px; font-size:.57rem; } .nightfall__coordinates { font-size:.46rem; bottom:9px; left:10px; } .seasonal-ribbon { padding:16px 24px; } .seasonal-ribbon p { font-size:.77rem; } .seasonal-ribbon p > span:last-child { display:block; margin-left:30px; } .first-visit { padding:45px 24px; } .first-visit h2 { font-size:2.2rem; } .first-visit__steps { grid-template-columns:1fr; gap:22px; } .first-visit__steps li { position:relative; padding:18px 0 0 40px; } .step-number { position:absolute; left:0; top:20px; } .first-visit h3 { margin:0 0 8px; } .first-visit__steps p { margin-bottom:6px; } .first-visit__steps code { font-size:.82rem; } .first-visit__steps a { font-size:.8rem; } .seasonal-directory { grid-template-columns:1fr; } .seasonal-directory a,.seasonal-directory a:first-child { padding:20px 0; } .seasonal-directory a + a { border-left:0; border-top:0; } .seasonal-directory strong { font-size:1.45rem; } .seasonal-history { grid-template-columns:1fr; padding:50px 24px; gap:28px; } .seasonal-history h2 { font-size:2.65rem; } }
@media(prefers-reduced-motion:reduce) { .seasonal-home *:not(.nightfall[data-motion-opt-in="true"] *), .seasonal-home *:not(.nightfall[data-motion-opt-in="true"] *)::before, .seasonal-home *:not(.nightfall[data-motion-opt-in="true"] *)::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } html { scroll-behavior:auto; } }
@media(forced-colors:active) { .nightfall,.nightfall__seasons,.seasonal-directory a { border:1px solid CanvasText; } .nightfall__seasons button[aria-pressed="true"] { outline:2px solid Highlight; outline-offset:-4px; } .nightfall__door { border:2px solid ButtonText; } .nightfall__scene::after,.nightfall__moon-glow { display:none; } }
