@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
/* Single-scene release: no fade into an unreleased page. */
#zelda::after{display:none}
:root{color-scheme:dark;font-family:'DM Sans',sans-serif;color:#f2eed9;background:#081824}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #efd59a;outline-offset:7px} .night{position:relative;min-height:850px;height:100svh;overflow:hidden;isolation:isolate;background:#102b39}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;z-index:-3;image-rendering:pixelated}.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,19,29,.91),rgba(5,24,33,.68) 28%,rgba(5,24,33,.12) 66%),linear-gradient(0deg,rgba(4,18,28,.97),transparent 38%,transparent 78%,rgba(4,18,28,.5))}header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:36px 5%}.wordmark{font-size:12px;letter-spacing:.22em;color:#f0e6be;text-decoration:none;display:flex;align-items:center;gap:13px}.emblem{font-size:26px;color:#dcc581}.motion{border:1px solid #aec1b22e;background:#102a3570;border-radius:30px;color:#dfdfd1;padding:11px 17px;font-size:13px;display:flex;gap:8px;align-items:center}.motion:hover{background:#22404c}.intro{position:relative;margin:clamp(55px,10vh,135px) 0 0 9%;max-width:510px}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.27em;color:#c7c8ac}.eyebrow span{width:26px;height:1px;background:#b8ac7a}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(80px,8.5vw,130px);line-height:.88;letter-spacing:-.045em;margin:31px 0}h1 em{color:#e1cb8b;font-weight:400}.intro p{font-family:'Cormorant Garamond',Georgia,serif;color:#d6ded7;font-size:25px;line-height:1.5;margin:30px 0}.lullaby-toggle{display:inline-flex;align-items:center;gap:11px;min-height:44px;margin-top:4px;padding:8px 14px;border:1px solid #d7be784a;border-radius:3px;background:linear-gradient(135deg,#12352f85,#0a202b99);color:#decc98;font-size:14px;font-weight:400;letter-spacing:.025em;transition:border-color .2s,background .2s,box-shadow .2s}.lullaby-toggle:hover{border-color:#e1cb8b99;background:#173b368c;box-shadow:0 0 18px #bcd98b12}.music-sigil{font-size:21px;color:#cfba7c;line-height:1}.music-action{font-size:15px;width:16px;text-align:center;opacity:.75}.lullaby-toggle[aria-pressed="true"]{border-color:#b5c9ae38;color:#c6d1bb}.lullaby-toggle[aria-pressed="true"] .music-sigil{color:#b8cea1}.sound-note{font-size:12px;color:#a4b7b6;margin-top:14px;letter-spacing:.015em}footer{position:absolute;left:5%;right:5%;bottom:62px;padding:22px 0 0;border-top:1px solid #b4c5bb30;display:flex;align-items:center;justify-content:space-between;gap:28px}.track{display:flex;align-items:center;gap:17px}.track-title{font-size:15px;letter-spacing:.03em}.track-sub{font-size:10px;color:#a9bbb4;letter-spacing:.19em;margin-top:8px}.equalizer{width:36px;height:36px;display:flex;align-items:center;justify-content:center;gap:4px}.equalizer i{width:3px;background:#d5c38a;height:5px}.playing .equalizer i{animation:wave 1.3s ease-in-out infinite}.playing .equalizer i:nth-child(2){animation-delay:-.6s}.playing .equalizer i:nth-child(3){animation-delay:-.9s}.playing .equalizer i:nth-child(4){animation-delay:-.3s}.volume{display:flex;align-items:center;gap:15px;font-size:12px;color:#bfcec6}.volume input{width:110px;accent-color:#d6c68f;height:24px;cursor:pointer}.volume span{width:30px;font-size:12px}.footer-note{font-family:'Cormorant Garamond',Georgia,serif;color:#c7d0c1;font-size:20px;font-style:italic;line-height:1.25;text-align:right}.credit{position:absolute;bottom:21px;left:5%;font-size:9px;letter-spacing:.15em;color:#859a99}.stars{position:absolute;inset:0;z-index:-1;pointer-events:none}.spark{position:absolute;width:3px;height:3px;background:#f0d593;box-shadow:0 0 9px 2px #e4cc8177;animation:float 9s ease-in-out infinite;opacity:0}.dream{position:absolute;left:76%;top:48%;color:#dde7ce;opacity:.6;font-family:Georgia,serif;pointer-events:none}.dream span{position:absolute;animation:dream 6s linear infinite;font-size:17px;opacity:0}.dream span:nth-child(2){animation-delay:2s}.dream span:nth-child(3){animation-delay:4s}.still *, .still *:before{animation-play-state:paused!important}.still .dream,.still .stars{opacity:0}@keyframes wave{50%{height:24px}}@keyframes float{20%,80%{opacity:.65}50%{transform:translate(15px,-25px)}100%{transform:translate(0,-50px);opacity:0}}@keyframes dream{0%{opacity:0;transform:translate(0,0)}30%{opacity:.7}100%{opacity:0;transform:translate(28px,-75px)}}@media(min-width:1600px){.intro{margin-top:14vh}}@media(max-width:700px){.night{min-height:850px}.scene{object-position:90% center}.shade{background:linear-gradient(90deg,#061925b8,transparent 90%),linear-gradient(0deg,#051823 0%,#051823a3 22%,transparent 65%,#0518237a)}header{padding:25px 6%}.wordmark{font-size:10px;letter-spacing:.12em;gap:7px}.motion{padding:8px 10px;font-size:12px}.intro{margin:64px 6% 0;max-width:330px}h1{font-size:86px}.eyebrow{font-size:9px;letter-spacing:.18em}.intro p{font-size:23px}.dream{left:82%;top:56%}footer{left:6%;right:6%;bottom:68px;flex-wrap:wrap;gap:18px}.footer-note{display:none}.volume{gap:10px}.volume input{width:83px}.credit{left:6%;right:6%;font-size:8px;line-height:1.6}.track-title{font-size:14px}.track-sub{font-size:9px}.track{gap:9px}.equalizer{width:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.dream,.stars{display:none}}

.breathing-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none;image-rendering:pixelated}.breathing-scene[hidden]{display:none}

html{scroll-behavior:smooth}
.scene-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:20px;color:#cfceae;font-size:14px;text-decoration:none;border-bottom:1px solid #cbbc783d;transition:color .2s,border-color .2s}
.scene-link:hover{color:#f0dfaa;border-color:#d9c383}
.forest-night{position:relative;min-height:850px;height:100svh;isolation:isolate;overflow:hidden;background:#0c2428}
.forest-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;image-rendering:pixelated;z-index:-3}
.forest-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#081824 0%,#08182444 12%,transparent 35%,transparent 78%,#081824b3),linear-gradient(90deg,#071b24b8,transparent 65%)}
.forest-copy{position:relative;padding-top:clamp(100px,17vh,180px);margin-left:9%;max-width:480px}
.forest-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(80px,8.5vw,130px);line-height:.88;letter-spacing:-.045em;margin:31px 0}
.forest-copy h2 em{color:#d4cb93;font-weight:400}
.forest-copy p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.5;color:#d6ded7}
.return-link{position:absolute;left:9%;bottom:38px}
@media(max-width:700px){.forest-copy{margin-left:6%;padding-top:78px;max-width:330px}.forest-copy h2{font-size:86px}.forest-copy p{font-size:23px}.forest-scene{object-position:80% 50%}.forest-shade{background:linear-gradient(180deg,#081824 0%,#08182470 22%,transparent 48%,transparent 78%,#081824b3)}.return-link{left:6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Quiet framing leaves the scene itself in focus. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
header{padding:28px 5%;gap:20px;align-items:flex-start}
header h1,.forest-copy h2{font-size:clamp(32px,3vw,48px);line-height:1.1;letter-spacing:-.025em;margin:0;text-shadow:0 2px 18px #03121c}
header h1 em,.forest-copy h2 em{color:#e1cb8b}
.motion{width:44px;height:44px;padding:0;justify-content:center;font-size:22px;background:#102a354d}
.shade{background:linear-gradient(180deg,#04131d70,transparent 22%,transparent 80%,#04131d80)}
footer{left:5%;right:auto;bottom:28px;border:0;padding:0;gap:18px;flex-wrap:nowrap}
.lullaby-toggle{margin:0;background:#09232bd9;min-height:44px;padding:8px 12px}
.volume{padding:0 10px;border-radius:20px;background:#09232b99}
.volume input{width:90px}
.scene-link{width:44px;height:44px;min-height:44px;margin:0;justify-content:center;border:1px solid #d7be783d;border-radius:50%;background:#09232b80;font-size:22px}
.next-scene{position:absolute;right:5%;bottom:28px}
.forest-copy{padding-top:32px;margin-left:5%;max-width:none}
.forest-shade{background:linear-gradient(180deg,#081824b3,transparent 20%,transparent 85%,#08182480)}
.return-link{left:auto;right:5%;bottom:28px}
.credit{font-size:10px;letter-spacing:.025em;text-transform:none;bottom:30px;left:5%;right:80px;color:#afbeb4}
@media(max-width:700px){header{padding:24px 6%}header h1,.forest-copy h2{font-size:34px}.forest-copy{margin-left:6%;padding-top:30px}footer{left:6%;bottom:26px;gap:10px}.next-scene,.return-link{right:6%;bottom:26px}.volume input{width:70px}.credit{left:6%;font-size:10px}.shade{background:linear-gradient(180deg,#04131d80,transparent 24%,transparent 80%,#04131d80)}}

.fairy-night{position:relative;min-height:850px;height:100svh;isolation:isolate;overflow:hidden;background:#0c2428}
.fairy-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;image-rendering:pixelated;z-index:-3}
.previous-scene{position:absolute;left:5%;bottom:28px}
.fairy-night .credit{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}
@media(max-width:700px){.previous-scene{left:6%;bottom:26px}}

/* ZR-01 all home boundaries: adjacent artworks dissolve into the same midnight tone.
   Local overlays preserve image crops, breathing coordinates and scroll anchors.
   Static by design: no added animation or reduced-motion exception is needed. */
#zelda,#link,#fairy{--seam-depth:clamp(72px,10svh,132px);--seam-color:#081824}
#zelda::after,#link::before,#link::after,#fairy::before{
 content:"";position:absolute;left:0;right:0;height:var(--seam-depth);
 z-index:-1;pointer-events:none;
}
#zelda::after,#link::after{
 bottom:0;
 background:linear-gradient(to bottom,#08182400 0%,#08182418 18%,#08182466 42%,#081824c2 68%,var(--seam-color) 100%);
}
#link::before,#fairy::before{
 top:0;
 background:linear-gradient(to top,#08182400 0%,#08182418 18%,#08182466 42%,#081824c2 68%,var(--seam-color) 100%);
}

/* ZR-06: retain the full hit areas, discovery objects and sound toggle. */
:where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion){transition:opacity 1.4s ease}
body.controls-idle :where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion){opacity:.38}
body :where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion):is(:hover,:focus-within,:active){opacity:1;transition-duration:.12s}
body:not(.controls-idle) :where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion){transition-duration:.12s}
body.still :where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion){opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){
 body.controls-idle :where(.motion,.volume,.scene-link,#dream-motion,#sanctuary-motion){opacity:1;transition:none}
}
