.night{position:relative;height:350vh;height:350svh;--energy:0;--night-color:255 191 123}.night[hidden]{display:none!important}.night-stage{position:sticky;top:100px;height:calc(100vh - 100px);height:calc(100svh - 100px);min-height:480px;overflow:hidden;isolation:isolate;background:#08080b}.night-backdrop,.night-wash{position:absolute;inset:0;z-index:-1;pointer-events:none}.night-backdrop{background:url('hero.jpg') center/cover;opacity:.32;transform:scale(calc(1.02 + var(--energy)*.09));filter:saturate(calc(.3 + var(--energy)*1.1))}.night-wash{background:radial-gradient(ellipse at 20% 35%,rgb(var(--night-color)/.22),transparent 60%),radial-gradient(ellipse at 85% 75%,rgb(97 220 236 / calc(var(--energy)*.3)),transparent 55%),linear-gradient(0deg,#08080bf2, #08080b65 50%,#08080bc9)}.night-top{position:absolute;top:28px;left:6%;right:6%;display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:14px}.night-top>span{letter-spacing:2px;color:#ddcfe8}.night-top a{color:#efe1ff}.night-scenes{position:relative;height:100%;display:grid;align-items:center;padding:90px 6% 130px}.night-scene{grid-area:1/1;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(25px);transition:opacity .45s,transform .45s,visibility .45s}.night-scene[data-step="0"]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.night[data-ready] .night-scene{opacity:var(--scene-opacity,0);visibility:hidden;pointer-events:none;transform:translateY(var(--scene-y,25px))}.night[data-ready] .night-scene.is-current{visibility:visible;pointer-events:auto}.night-scene .eyebrow{font-size:14px;color:rgb(var(--night-color));letter-spacing:4px;margin-bottom:22px}.night-scene h2{font-size:clamp(54px,8vw,116px);line-height:1.02;text-shadow:0 0 calc(10px + var(--energy)*40px) rgb(var(--night-color)/.5);max-width:1000px;margin:auto;overflow-wrap:normal}.night-copy{font-size:clamp(16px,2vw,21px);max-width:530px;margin:24px auto;color:#eee5f2}.night-logo{display:block;width:clamp(200px,28vw,340px);max-height:100px;object-fit:contain;margin:16px auto;filter:drop-shadow(0 0 18px #d076ff80)}.night-bottom{position:absolute;bottom:25px;left:6%;right:6%;max-width:700px;margin:auto}.night-instruction{text-align:center;font-size:14px;color:#e4d8ee;margin:0 0 18px}.night-progress{height:3px;background:#ffffff30;border-radius:4px;overflow:hidden}.night-progress span{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--progress,0));background:linear-gradient(90deg,#ffbf7b,#d076ff,#61dcec);box-shadow:0 0 12px #d076ff}.night-stops{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;margin-top:10px;color:#cbbbd6}.night-scene .button{min-height:48px}@media(max-width:800px){.night-stage{top:90px;height:calc(100svh - 90px)}.night-top{top:22px;gap:12px;font-size:12px}.night-top>span{letter-spacing:1px;max-width:180px}.night-scenes{padding:85px 6% 130px}.night-scene h2{font-size:clamp(48px,12vw,85px)}.night-copy{max-width:340px}.night-logo{max-height:75px;margin:12px auto}.night-scene .eyebrow{font-size:14px;letter-spacing:3px}}@media(prefers-reduced-motion:reduce){.night{height:auto}.night-stage{position:relative;top:0;height:auto;min-height:0;overflow:visible}.night-scenes{display:block;padding-top:100px;padding-bottom:20px}.night .night-scene,.night[data-ready] .night-scene{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;padding:65px 0}.night-bottom{position:relative;bottom:auto;padding-bottom:30px}.night-instruction,.night-progress,.night-stops{display:none}.night-backdrop{transform:none}}

.night-scene.hero{min-height:0;padding:0;background:none;display:block;position:relative}.night-scene.hero .hero-copy{max-width:850px}.night-scene.hero h1{font-size:clamp(54px,7vw,100px);line-height:1.02;text-shadow:0 0 calc(10px + var(--energy)*40px) rgb(var(--night-color)/.4)}.night-scene.hero h1 span{color:rgb(var(--night-color));text-shadow:0 0 26px rgb(var(--night-color)/.4)}.night-scene.hero .intro{margin-top:18px;margin-bottom:22px;font-size:17px;max-width:500px}.night-scene.hero .hero-note{margin-top:18px;font-size:12px}.night-scene.hero .eyebrow{margin-bottom:16px}.night-scene.hero .button{padding:13px 20px}.night-stage{min-height:0}.night-scenes{padding-top:75px;padding-bottom:110px}.night-top>span{font-size:14px}.night-scene.hero .hero-copy{animation:none}
@media(max-width:800px){.night-scene.hero h1{font-size:clamp(45px,11.5vw,78px)}.night-scene.hero .intro{font-size:16px;line-height:1.5;margin-top:16px;margin-bottom:18px}.night-scene.hero .eyebrow{font-size:12px;letter-spacing:2px}.night-top>span{font-size:12px}.night-scene.hero .hero-note{font-size:12px;letter-spacing:.8px}.night-scenes{padding-top:75px;padding-bottom:115px}}

@media(prefers-reduced-motion:reduce){.night-scenes{padding:100px 6% 20px}.night .night-scene.hero{padding:40px 0 65px}.night-stage{min-height:0}}

/* Scroll owns scene movement; avoid timed effects competing with the finger. */
.night[data-ready] .night-scene{transition:none;will-change:opacity,transform}
.night[data-ready] .night-scene.is-visible{visibility:visible}
.night[data-ready] .night-scene:not(.is-current){pointer-events:none}
.night-scene.hero h1 span{color:#d890ff;text-shadow:0 0 26px #d076ff40}
.night-backdrop{will-change:transform}
.night-scenes{padding-top:40px;padding-bottom:110px}
.night-scene[data-step="5"] .button{margin-top:10px}
@media(max-width:800px){.night-scenes{padding-top:35px;padding-bottom:115px}}
@media(prefers-reduced-motion:reduce){.night[data-ready] .night-scene,.night-backdrop{will-change:auto}.night-scenes{padding-top:35px}}

.night-scene .night-neon-button{position:relative;isolation:isolate;border:1px solid #e5b0ff;background:linear-gradient(135deg,#441a59,#21112f);color:#fff0ff;box-shadow:0 0 9px #d076ff90,0 0 28px #d076ff55,inset 0 0 18px #d076ff28;padding:17px 27px;transition:box-shadow .25s,border-color .25s,transform .25s}
.night-neon-button::before{content:'';position:absolute;inset:-7px;border:1px solid #d890ff70;border-radius:inherit;pointer-events:none;opacity:.25;box-shadow:0 0 18px #d076ff35;z-index:-1;animation:night-button-halo 3s ease-in-out infinite;animation-play-state:paused}
.night-scene.is-current .night-neon-button::before{animation-play-state:running}
.night-neon-button .plan-icon{color:#e5b0ff;filter:drop-shadow(0 0 7px #d076ff80)}
.night-scene .night-neon-button:hover,.night-scene .night-neon-button:focus-visible{border-color:#f2d6ff;box-shadow:0 0 14px #d076ffb0,0 0 40px #d076ff75,inset 0 0 22px #d076ff38;transform:translateY(-2px)}
@keyframes night-button-halo{0%,100%{opacity:.2;transform:scale(.99)}50%{opacity:.7;transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.night-neon-button::before{animation:none;opacity:.35}.night-scene .night-neon-button{transition:none}.night-scene .night-neon-button:hover,.night-scene .night-neon-button:focus-visible{transform:none}}
/* Keep full-screen gradients and glow textures fixed; animate composited layers. */
.night-wash{background:linear-gradient(0deg,#08080bf2,#08080b65 50%,#08080bc9)}
.night-wash::before,.night-wash::after{content:'';position:absolute;inset:0;pointer-events:none;will-change:opacity}
.night-wash::before{background:radial-gradient(ellipse at 20% 35%,#ffbf7b38,transparent 60%);opacity:calc(1 - var(--energy))}
.night-wash::after{background:radial-gradient(ellipse at 20% 35%,#d076ff38,transparent 60%),radial-gradient(ellipse at 85% 75%,#61dcec4d,transparent 55%);opacity:var(--energy)}
.night-backdrop{filter:saturate(.85);transform:translateZ(0) scale(calc(1.02 + var(--energy)*.09));backface-visibility:hidden}
.night-scene h2,.night-scene.hero h1{text-shadow:0 0 28px #d076ff55}
.night[data-ready] .night-scene{transform:translate3d(0,var(--scene-y,0px),0);backface-visibility:hidden}
body:has(#home.night:not([hidden]))>.motion-spotlight{display:none}
/* Size by stable viewport height rather than the expanding browser toolbar. */
.night-scene.hero h1{font-size:clamp(45px,min(7vw,10svh),100px)}
@media(max-width:800px){.night-scene.hero h1{font-size:clamp(40px,min(11.5vw,9svh),78px)}.night-scene.hero .intro{font-size:16px;line-height:1.5;margin:16px auto 18px}.night-scene.hero .eyebrow{margin-bottom:16px}.night-scene.hero .hero-note{margin-top:18px}.night-scene h2{font-size:clamp(42px,min(12vw,10svh),85px)}.night-copy{margin:24px auto}.night-bottom{bottom:20px}.night-instruction{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.night-wash::before,.night-wash::after{will-change:auto}.night-backdrop{transform:none}.night[data-ready] .night-scene{transform:none}}

/* Restore the original heading scale; keep text still during each dissolve. */
.night-scene.hero h1{font-size:clamp(54px,7vw,100px)}
.night-scene h2{font-size:clamp(54px,8vw,116px)}
.night[data-ready] .night-scene{visibility:visible;transform:translateZ(0);will-change:opacity;transition:none}
.night-backdrop{transform:translateZ(0) scale(1.06);will-change:auto}
@media(max-width:800px){.night-scene.hero h1{font-size:clamp(45px,11.5vw,78px)}.night-scene h2{font-size:clamp(48px,12vw,85px)}}
@media(prefers-reduced-motion:reduce){.night[data-ready] .night-scene{transform:none;will-change:auto}.night-backdrop{transform:none}}

.night-scroll-cue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;border:0;padding:0;background:none;color:#eee1f5;font:600 14px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:1.2px;cursor:pointer;margin:0 0 12px}
.night-scroll-cue:focus-visible{outline:2px solid #d890ff;outline-offset:5px;border-radius:12px}
.night-down-icon{display:block;width:66px;height:48px;color:#dda0ff;filter:drop-shadow(0 0 8px #d076ff80);transition:transform .3s,opacity .3s}
.night-scroll-cue:hover:not(:disabled) .night-down-icon{transform:translateY(3px);color:#61dcec}
.night-scroll-cue:disabled{cursor:default}.night-scroll-cue:disabled .night-down-icon{opacity:0}
.night-bottom{bottom:18px}.night-scenes{padding-bottom:125px}
@media(max-width:800px){.night-scroll-cue{font-size:12px;letter-spacing:.9px}.night-scenes{padding-bottom:130px}}
@media(prefers-reduced-motion:reduce){.night-scroll-cue{display:none}.night-down-icon{transition:none}}
/* Larger type throughout the Home experience. */
.night-scene.hero h1{font-size:clamp(60px,8vw,112px)}
.night-scene h2{font-size:clamp(62px,9vw,132px)}
.night-scene.hero .intro{font-size:19px;line-height:1.55}
.night-copy{font-size:clamp(18px,2.2vw,23px)}
.night-scene .eyebrow{font-size:16px}
.night-scene.hero .hero-note{font-size:14px;line-height:1.6}
.night-scroll-cue{font-size:17px;letter-spacing:1px;line-height:1.5}
.night-scene .night-neon-button{font-size:17px}
@media(max-width:800px){.night-scene.hero h1{font-size:clamp(49px,13vw,88px)}.night-scene h2{font-size:clamp(53px,13.5vw,96px)}.night-scene.hero .intro{font-size:18px}.night-copy{font-size:18px}.night-scene.hero .eyebrow{font-size:14px;letter-spacing:1.6px}.night-scene.hero .hero-note{font-size:13px;letter-spacing:.6px}.night-scroll-cue{font-size:15px;letter-spacing:.65px}.night-scenes{padding-top:25px;padding-bottom:135px}}
.night-scene.hero .hero-note{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;white-space:nowrap;font-size:clamp(10px,2.7vw,14px);letter-spacing:clamp(.25px,.18vw,1.2px)}
.night-scene[data-step="1"] h2,.night-scene[data-step="2"] h2,.night-scene[data-step="3"] h2,.night-scene[data-step="4"] h2{white-space:nowrap;max-width:100%}
.night-scene[data-step="3"] h2,.night-scene[data-step="4"] h2{font-size:clamp(42px,7vw,105px)}
@media(max-width:800px){
  .night-scene[data-step="1"] h2,.night-scene[data-step="2"] h2{font-size:clamp(42px,12.5vw,88px)}
  .night-scene[data-step="3"] h2,.night-scene[data-step="4"] h2{font-size:clamp(36px,10.8vw,78px);letter-spacing:-.025em}
}

/* Home story closing cue handoff: scroll prompt -> final invitation. */
.night-final-copy-spacer{visibility:hidden!important;user-select:none;pointer-events:none}
.night-cue-stack{position:relative;display:grid;place-items:center;width:100%;min-height:1.55em;line-height:1.5;isolation:isolate}
.night-cue-scroll-text,.night-cue-ready-text{grid-area:1/1;display:block;max-width:100%;white-space:nowrap;backface-visibility:hidden;transform-origin:50% 50%;will-change:opacity,transform,filter}
.night-cue-scroll-text{opacity:calc(1 - var(--sm-cue-exit,0));transform:translate3d(0,var(--sm-cue-scroll-y,0px),0);filter:blur(var(--sm-cue-scroll-blur,0px))}
.night-cue-ready-text{opacity:var(--sm-ready-enter,0);transform:translate3d(0,var(--sm-ready-y,14px),0) scale(var(--sm-ready-scale,.965));filter:blur(var(--sm-ready-blur,1.2px)) drop-shadow(0 0 9px #d076ff55);font-weight:700;letter-spacing:.72px;background:linear-gradient(108deg,#f5ebfb 0%,#f5ebfb 38%,#d890ff 48%,#ffffff 52%,#f5ebfb 62%,#f5ebfb 100%);background-size:240% 100%;background-position:145% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 14px #d076ff24;pointer-events:none}
.night-scroll-cue.is-ready .night-cue-ready-text{animation:night-ready-cue-sweep 1.18s cubic-bezier(.2,.72,.2,1) .1s 1 both}
.night-scroll-cue .night-down-icon{opacity:calc(1 - var(--sm-arrow-exit,0))}
.night-scroll-cue:disabled .night-cue-stack{opacity:1!important;transform:none!important;filter:none!important}
.night-scroll-cue:disabled .night-cue-ready-text{opacity:1!important;transform:translate3d(0,0,0) scale(1)!important;filter:drop-shadow(0 0 9px #d076ff55)!important}
@keyframes night-ready-cue-sweep{0%{background-position:145% 0}100%{background-position:-45% 0}}
@media(max-width:800px){.night-cue-ready-text{font-size:clamp(12px,3.8vw,15px);letter-spacing:.45px}}
@media(max-width:390px){.night-cue-ready-text{font-size:12px;letter-spacing:.25px}}
@media(prefers-reduced-motion:reduce){.night-cue-scroll-text,.night-cue-ready-text{animation:none!important;transform:none!important;filter:none!important}}

/* Home cue emphasis V6 — make both handoff messages easier to notice without moving the CTA. */
.night-cue-scroll-text{
  font-size:clamp(18px,1.45vw,20px);
  font-weight:700;
  letter-spacing:1.18px;
  color:#fff8ff;
  text-shadow:0 1px 2px #050207,0 0 10px #d076ff70,0 0 24px #d076ff32;
}
.night-cue-ready-text{
  font-size:clamp(19px,1.55vw,21px);
  font-weight:800;
  letter-spacing:.9px;
  filter:blur(var(--sm-ready-blur,1.2px)) drop-shadow(0 0 11px #d076ff88) drop-shadow(0 0 22px #d076ff3f);
  text-shadow:0 1px 2px #050207,0 0 16px #d076ff48;
}
.night-scroll-cue:disabled .night-cue-ready-text{
  filter:drop-shadow(0 0 11px #d076ff88) drop-shadow(0 0 22px #d076ff3f)!important;
}
@media(max-width:800px){
  .night-cue-scroll-text{font-size:clamp(16px,4.25vw,18px);letter-spacing:.9px}
  .night-cue-ready-text{font-size:clamp(16px,4.15vw,18px);letter-spacing:.62px}
}
@media(max-width:390px){
  .night-cue-scroll-text{font-size:15px;letter-spacing:.72px}
  .night-cue-ready-text{font-size:clamp(13.5px,3.7vw,14.5px);letter-spacing:.35px}
}

/* Home cue visibility V7 — stronger mobile readability while keeping the CTA fixed. */
.night-cue-scroll-text{
  font-size:clamp(19px,1.6vw,22px);
  font-weight:800;
  letter-spacing:1.22px;
  color:#fffaff;
  text-shadow:0 2px 3px rgba(0,0,0,.92),0 0 12px rgba(208,118,255,.72),0 0 28px rgba(208,118,255,.38);
  filter:brightness(1.08);
}
.night-cue-ready-text{
  font-size:clamp(20px,1.68vw,23px);
  font-weight:850;
  letter-spacing:.92px;
  transform:translate3d(0,calc(var(--sm-ready-y,14px) - 10px),0) scale(var(--sm-ready-scale,.965));
  filter:blur(var(--sm-ready-blur,1.2px)) brightness(1.14) drop-shadow(0 2px 2px rgba(0,0,0,.95)) drop-shadow(0 0 12px rgba(208,118,255,.92)) drop-shadow(0 0 28px rgba(208,118,255,.48));
  -webkit-text-stroke:.28px rgba(255,255,255,.38);
  text-shadow:0 2px 3px rgba(0,0,0,.92),0 0 18px rgba(208,118,255,.58);
}
.night-scroll-cue:disabled .night-cue-ready-text{
  transform:translate3d(0,-10px,0) scale(1)!important;
  filter:brightness(1.14) drop-shadow(0 2px 2px rgba(0,0,0,.95)) drop-shadow(0 0 12px rgba(208,118,255,.92)) drop-shadow(0 0 28px rgba(208,118,255,.48))!important;
}
@media(max-width:800px){
  .night-cue-scroll-text{font-size:clamp(18px,4.8vw,20px);letter-spacing:.95px}
  .night-cue-ready-text{font-size:clamp(19px,4.9vw,21px);letter-spacing:.64px}
}
@media(max-width:390px){
  .night-cue-scroll-text{font-size:17px;letter-spacing:.78px}
  .night-cue-ready-text{font-size:clamp(17.5px,4.7vw,18.5px);letter-spacing:.42px}
}

/* Home cue visibility V8 — replace colored cue shadows with a smooth black shadow. */
.night-cue-scroll-text{
  text-shadow:0 2px 3px rgba(0,0,0,.88),0 6px 14px rgba(0,0,0,.58),0 12px 28px rgba(0,0,0,.34);
  filter:brightness(1.08);
}
.night-cue-ready-text{
  filter:blur(var(--sm-ready-blur,1.2px)) brightness(1.14) drop-shadow(0 3px 3px rgba(0,0,0,.84)) drop-shadow(0 8px 16px rgba(0,0,0,.48));
  text-shadow:0 2px 3px rgba(0,0,0,.9),0 7px 16px rgba(0,0,0,.52),0 13px 30px rgba(0,0,0,.3);
  -webkit-text-stroke:.2px rgba(255,255,255,.25);
}
.night-scroll-cue:disabled .night-cue-ready-text{
  filter:brightness(1.14) drop-shadow(0 3px 3px rgba(0,0,0,.84)) drop-shadow(0 8px 16px rgba(0,0,0,.48))!important;
}

/* Home cue visibility V9 — keep READY TO CRAFT YOUR EXPERIENCE? pure white with a smooth black shadow. */
.night-cue-ready-text{
  color:#fff!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#fff!important;
  -webkit-text-stroke:0!important;
  filter:blur(var(--sm-ready-blur,1.2px)) brightness(1.08) drop-shadow(0 3px 3px rgba(0,0,0,.86)) drop-shadow(0 8px 17px rgba(0,0,0,.5))!important;
  text-shadow:0 2px 3px rgba(0,0,0,.92),0 7px 17px rgba(0,0,0,.54),0 14px 30px rgba(0,0,0,.32)!important;
}
.night-scroll-cue:disabled .night-cue-ready-text{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  filter:brightness(1.08) drop-shadow(0 3px 3px rgba(0,0,0,.86)) drop-shadow(0 8px 17px rgba(0,0,0,.5))!important;
}
@media(prefers-reduced-motion:reduce){
  .night-cue-ready-text{color:#fff!important;-webkit-text-fill-color:#fff!important;filter:none!important;text-shadow:0 2px 3px rgba(0,0,0,.92),0 7px 17px rgba(0,0,0,.54),0 14px 30px rgba(0,0,0,.32)!important}
}


/* V59 touch performance: preserve the ShowMadness look while avoiding the
   expensive per-scroll filters/shadows that make iPhone/iPad rendering feel
   behind the finger. The JS still drives scene opacity/progress smoothly. */
@media (hover:none), (pointer:coarse){
  .night-stage{contain:paint;isolation:isolate}
  .night-backdrop{
    transform:scale(1.035)!important;
    filter:saturate(.82)!important;
    will-change:auto!important;
  }
  .night-wash{
    background:
      radial-gradient(ellipse at 20% 35%,rgba(208,118,255,.16),transparent 60%),
      radial-gradient(ellipse at 85% 75%,rgba(97,220,236,.10),transparent 55%),
      linear-gradient(0deg,#08080bf2,#08080b65 50%,#08080bc9)!important;
  }
  .night-scene{transition:none!important;will-change:opacity}
  .night-scene h2,
  .night-scene.hero h1{
    text-shadow:0 0 18px rgba(208,118,255,.20)!important;
  }
  .night-scene.hero h1 span{
    text-shadow:0 0 16px rgba(208,118,255,.22)!important;
  }
  .night-cue-scroll-text,
  .night-cue-ready-text{
    filter:none!important;
    will-change:opacity,transform!important;
  }
  .night-scroll-cue:disabled .night-cue-ready-text{
    filter:none!important;
    text-shadow:0 0 10px rgba(208,118,255,.20)!important;
  }
}

/* V85 — Home doubled arrow: Option 6 horizontal stretch.
   Keep the existing purple color and doubled-chevron shape. Only widen it
   from the sides, preserve its height, keep it centered, and add a clean
   restrained neon glow. */
#home.night .night-scroll-cue .night-down-icon{
  width:112px!important;
  height:48px!important;
  max-width:none!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform-origin:center center!important;
  overflow:visible!important;
  filter:drop-shadow(0 0 4px rgba(208,118,255,.52)) drop-shadow(0 0 10px rgba(208,118,255,.30)) drop-shadow(0 0 17px rgba(170,70,255,.16))!important;
}
#home.night .night-scroll-cue .night-down-icon path{
  filter:drop-shadow(0 0 2px rgba(229,181,255,.28));
}
@media(max-width:390px){
  #home.night .night-scroll-cue .night-down-icon{width:106px!important;height:48px!important;}
}
/* Preserve the short-landscape layout while still giving the doubled arrow
   the same wider-from-the-sides character. */
html.sm-phone-landscape body #home.night .night-scroll-cue .night-down-icon{
  width:42px!important;
  height:20px!important;
}
