  html.sn-lock, html.sn-lock body { overflow: hidden !important; }
  #sn-stage, #sn-stage * { box-sizing: border-box; }
  #sn-stage {
    --sn-night: #0B0806; --sn-ember: #E9D8BB; --sn-ember-dim: rgba(233,216,187,.55);
    --sn-display: "Cormorant Garamond", "Cormorant", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    position: fixed; inset: 0; z-index: 2147483000; overflow: hidden;
    background: var(--sn-night); margin: 0; padding: 0; max-width: none;
    transition: opacity 1.4s ease;
  }
  #sn-stage[hidden] { display: none !important; }
  #sn-stage.sn-done { opacity: 0; pointer-events: none; }
  #sn-stage.sn-can { cursor: pointer; }
  #sn-stage .sn-scene { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 1.4s ease; }
  #sn-stage .sn-scene.sn-on { opacity: 1; pointer-events: auto; }
  #sn-stage p, #sn-stage span, #sn-stage div, #sn-stage section { height: auto; min-height: 0; max-width: none; margin: 0; float: none; text-shadow: none; }
  #sn-stage .sn-scene, #sn-stage .sn-room, #sn-stage #sn-light { height: auto; }
  #sn-stage img { max-width: none; border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }

  #sn-stage #sn-threshold { background: var(--sn-night); }
  #sn-stage .sn-room {
    position: absolute; left: 50%; top: 50%;
    width: max(100vw, 150.2vh); aspect-ratio: 1532 / 1020;
    transform: translate(-50%, -50%);
  }
  #sn-stage .sn-room > img {
    position: absolute; inset: 0; width: 100%; height: 100%; display: block;
    transform-origin: 49.7% 40%; opacity: 0; filter: brightness(.35);
    transition: opacity 3s ease, filter 4s ease;
  }
  #sn-threshold.sn-lit .sn-room > img { opacity: 1; filter: brightness(1); }
  #sn-stage .sn-question {
    position: absolute; left: 50%; top: 79.6%; transform: translate(-50%, -50%);
    width: 100vw; padding: 0 16px; margin: 0; text-align: center;
    font-family: var(--sn-display); font-weight: 500; font-style: normal;
    font-size: clamp(15px, 2.3vw, 28px); line-height: 1.4;
    letter-spacing: .32em; text-transform: uppercase; color: var(--sn-ember);
    transition: opacity .9s ease;
  }
  #sn-stage .sn-cursor {
    display: inline-block; width: 1px; height: 1.05em; margin-left: .18em;
    background: var(--sn-ember); vertical-align: -.12em;
    animation: sn-blink 1.05s steps(1) infinite; transition: opacity .8s ease;
  }
  #sn-stage .sn-cursor.sn-gone { opacity: 0; animation: none; }
  @keyframes sn-blink { 50% { opacity: 0; } }
  #sn-stage .sn-hint {
    position: absolute; left: 50%; bottom: calc(6vh + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
    font-family: var(--sn-display); font-size: 13px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--sn-ember-dim); opacity: 0; transition: opacity 2s ease; white-space: nowrap;
  }
  #sn-stage .sn-hint.sn-on { opacity: 1; }
  #sn-threshold.sn-crossing .sn-question, #sn-threshold.sn-crossing .sn-hint { opacity: 0; }
  #sn-threshold.sn-crossing .sn-room > img {
    transform: scale(7); filter: brightness(2.2);
    transition: transform 2.6s cubic-bezier(.55,0,.35,1), filter 2.6s ease;
  }
  #sn-light {
    position: absolute; inset: 0; pointer-events: none; opacity: 0;
    background: radial-gradient(ellipse at 50% 45%, #fff6e6 0%, #f5ddbe 55%, #f5ddbe 100%);
    transition: opacity 2.2s ease .7s;
  }
  #sn-light.sn-on { opacity: 1; }

  #sn-stage #sn-reveal { background: #f5ddbe; display: grid; place-items: center; }
  #sn-stage .sn-lockup { --lw: min(92vw, 150vh); position: relative; width: var(--lw); aspect-ratio: 1708 / 921; }
  #sn-stage .sn-lockup img { position: absolute; inset: 0; width: 100%; height: 100%; }
  #sn-stage .sn-sheet {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-composite: source-in;
            mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
            mask-composite: intersect;
  }
  #sn-stage .sn-lockup .sn-door { inset: auto; left: 40.4%; top: 20.63%; width: 19.32%; height: 54.29%; opacity: 0; filter: brightness(1.3); transition: opacity 2s ease, filter 2.4s ease; }
  #sn-stage .sn-lockup .sn-door.sn-on { opacity: 1; filter: brightness(1); }
  #sn-stage .sn-sent { clip-path: inset(0 59.6% 0 40.4%); transition: clip-path 2.4s cubic-bezier(.3,.1,.2,1); }
  #sn-stage .sn-sent.sn-on { clip-path: inset(0 59.6% 0 0%); }
  #sn-stage .sn-ered { clip-path: inset(0 40.3% 0 59.7%); transition: clip-path 2.4s cubic-bezier(.3,.1,.2,1); }
  #sn-stage .sn-ered.sn-on { clip-path: inset(0 0% 0 59.7%); }
  #sn-stage .sn-tagline {
    position: absolute; left: 0; right: 0; top: 77.1%; transform: translateY(-50%);
    display: flex; justify-content: center; align-items: center; gap: calc(var(--lw) * .012);
    font-family: var(--sn-display); font-weight: 500; font-style: normal; color: #4a3a2b; line-height: 1;
    font-size: calc(var(--lw) * .0182); letter-spacing: .36em; text-transform: uppercase; white-space: nowrap;
  }
  #sn-stage .sn-w { opacity: 0; transform: translateY(4px); transition: opacity 1s ease, transform 1s ease; }
  #sn-stage .sn-w.sn-on { opacity: 1; transform: none; }
  #sn-stage .sn-rule { position: absolute; top: 50%; height: 1px; background: #6b5843; transform: scaleX(0); transition: transform 1.6s ease; }
  #sn-stage .sn-rule.sn-l { left: 9.5%; width: 15.4%; transform-origin: right center; }
  #sn-stage .sn-rule.sn-r { right: 9.2%; width: 15.4%; transform-origin: left center; }
  #sn-stage .sn-rule.sn-on { transform: scaleX(1); }

  #sn-skip {
    position: absolute; right: 16px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 5;
    font: 500 12px/1 var(--sn-display); letter-spacing: .2em; text-transform: uppercase;
    padding: 12px 16px; border-radius: 999px; cursor: pointer; min-height: 0; width: auto;
    color: var(--sn-ember-dim); background: rgba(11,8,6,.35); border: 1px solid rgba(233,216,187,.25);
    transition: color .6s, background .6s, border-color .6s;
  }
  #sn-stage.sn-day #sn-skip { color: rgba(70,55,42,.75); background: rgba(246,224,196,.7); border-color: rgba(70,55,42,.25); }
  #sn-skip:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
  #sn-stage .sn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  @media (prefers-reduced-motion: reduce) { #sn-stage, #sn-stage * { transition: none !important; animation: none !important; } }

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
#sn-stage{z-index:2147483000!important;--sn-night:#0B0806;--sn-ember:#F8F1E6;--sn-ink:#46372A;--sn-parchment:#F2E4CF}
#sn-stage[hidden]{display:none!important}
#sn-skip{opacity:.55;min-height:48px;min-width:116px;padding:12px 20px;border:1px solid #F8F1E6!important;border-radius:0!important;background:#0B0806!important;color:#F8F1E6!important;cursor:pointer;transition:opacity .45s ease,box-shadow .45s ease}
#sn-skip.sn-prominent{opacity:1;box-shadow:0 0 0 2px #E9D6BA}
#sn-skip:focus-visible{opacity:1;outline:3px solid #E9D6BA;outline-offset:5px}
#sn-hint{border:0;background:none;padding:14px;color:#F8F1E6;font:500 15px 'Cormorant Garamond',serif;cursor:pointer;min-height:44px}
#sn-hint:focus-visible{outline:2px solid #F8F1E6;outline-offset:4px}
@media(max-width:600px){#sn-stage .sn-question{font-size:clamp(16px,4.6vw,23px);letter-spacing:.13em;top:75%;padding-inline:20px}#sn-stage .sn-lockup{--lw:96vw}#sn-stage .sn-tagline{font-size:clamp(9px,2vw,15px);letter-spacing:.16em}#sn-hint{bottom:calc(100px + env(safe-area-inset-bottom,0px))}#sn-skip{bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
@media(max-height:450px){#sn-stage .sn-question{top:76%;font-size:16px}#sn-stage .sn-lockup{--lw:min(80vw,145vh)}#sn-hint{bottom:65px}#sn-skip{bottom:12px}}
html.sn-opening-pending::before{content:"";position:fixed;inset:0;z-index:2147482999;background:#0B0806;pointer-events:none}

/* Borderless delayed skip; a focus outline remains for keyboard navigation. */
#sn-skip[hidden]{display:none!important}
#sn-skip,#sn-stage.sn-day #sn-skip{border:0!important;box-shadow:none!important;background:transparent!important;color:#F8F1E6!important;opacity:1;text-decoration:underline;text-underline-offset:5px}
#sn-stage.sn-day #sn-skip{color:#46372A!important}
#sn-skip:hover{text-decoration-thickness:2px}
/* Phones: Skip intro top right; three lines lower, tap hint just below (14 Oct 2026) */
@media(max-width:600px){
  #sn-stage #sn-skip{top:calc(14px + env(safe-area-inset-top,0px));bottom:auto}
  #sn-stage .sn-question{top:76%!important;line-height:1.5}
  #sn-stage .sn-bridge{margin-top:1em!important;line-height:1.6}
  #sn-stage #sn-hint{top:87%!important;bottom:auto!important}


