/* CHAPTER 25 / KINETIC EDITION — 2026-11-07
   Progressive-enhancement: all content is visible without JavaScript.
   Native scroll snapping (no wheel hijacking); directional kinetic motion is additive.
   Never change backend, database, comments or safety flow in this stylesheet. */
:root {
  color-scheme:dark;
  --bg:#070c15;
  --ink:#eff5fa;
  --muted:#a9b9c9;
  --soft:#8192a7;
  --champ:#b8d8f1;
  --violet:#65b3ff;
  --border:rgba(193,215,234,.17);
  --serif:"Space Grotesk","Manrope",Arial,sans-serif;
  --sans:"DM Sans",Arial,sans-serif;
  --electric:#73c8ff;
  --steel:#a9bdce;
  --navy:#0c1726;
  --inkdeep:#0e1b2c;
}
html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:0;overflow-x:clip}
body{background:var(--bg);color:var(--ink);overflow-x:clip}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 5%,rgba(48,99,156,.13),transparent 42%)}
::selection{color:#0c1826;background:#8fd1fc}
#progress{height:3px;background:linear-gradient(90deg,#4084c9,#80ddff,#d2efff);box-shadow:0 0 20px #71bafa66;z-index:101}
.global-grain{opacity:.065}
#sky{opacity:.58}
#intro{background:#070e19}
#intro>span{font-family:var(--serif);font-weight:700;letter-spacing:-.085em;font-size:clamp(62px,10vw,135px)}
#intro .intro-dot{color:#75c9ff;font-size:.65em}
#intro small{color:#9cbad3;font-family:var(--serif)}
.nav{position:fixed;inset:0 0 auto;z-index:48;height:83px;background:linear-gradient(180deg,rgba(7,13,22,.77),rgba(7,13,22,.2));border-bottom:1px solid rgba(203,221,241,.11);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s,height .3s}
body.is-scrolled .nav{height:72px;background:rgba(7,13,23,.88)}
.brand-symbol,.footer-brand{font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:-.085em}
.brand-symbol span{color:#77c9ff;font-size:23px;margin:0 3px}
.brand-caption{color:#b4c1d0;font-size:8px}
.nav-links a{color:#c0cad8}
.nav-links a:hover{color:#83d4ff}
.nav-live i,.green-pulse,.wish-toolbar i,.clock-top i{background:#81d8ff;box-shadow:0 0 15px #7fd6ff77}
.nav-cta{border-color:#7f9dbb82;background:#17283c66;color:#f1f8ff}
.nav-cta:hover{background:#d6edff;color:#081420}
#siteMain{isolation:isolate;overflow-x:clip}
#siteMain>section{position:relative;scroll-snap-align:start;scroll-snap-stop:normal;min-width:0;overflow-x:clip;--kinetic-y:0px;--kinetic-x:0px;--scene-progress:0}
#siteMain>section::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.38;background:linear-gradient(120deg,transparent 0,transparent 45%,rgba(141,186,227,.09) 50%,transparent 57%);background-size:240% 100%;background-position:var(--bg-position,50%) 0}
#siteMain>section.is-active{isolation:isolate}
.hero{height:auto;min-height:100svh;max-height:none;overflow:clip;background:radial-gradient(ellipse 62% 60% at 71% 48%,rgba(40,117,193,.20),transparent 75%),radial-gradient(ellipse 45% 65% at 17% 0%,rgba(28,54,90,.34),transparent 85%),linear-gradient(142deg,#08111e,#080e19 54%,#07101c)}
.hero-sheen{background:linear-gradient(90deg,rgba(5,11,21,.87),rgba(5,11,21,.13) 85%),linear-gradient(180deg,transparent 72%,#080e19 100%)}
.hero-inner{min-height:100svh;padding:125px clamp(24px,5vw,96px) 105px}
.hero-composition{min-height:0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.hero-copy{padding-bottom:22px}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(62px,7.5vw,128px);line-height:.94;letter-spacing:-.085em;white-space:nowrap;max-width:120%;text-transform:uppercase}
.hero h1 em,.section h2 em,.outro h2 em,.dialog-inner h2 em{font-style:normal;color:#8fd4ff}
.accent-label{color:#7ebfe8}
.accent-label .line{background:#7ebfe8}
.hero-desc{color:#acbed0;max-width:460px;font-size:14px}
.hero-buttons{margin-top:30px}
.primary-button{background:#d5ebf9;color:#0a1a2c;font-weight:700}
.primary-button:hover{background:#fff;box-shadow:0 10px 30px #81bfff33}
.text-link{color:#c0d4e6}
.hero-caption{color:#8b9eb1;margin-top:38px}
.hero-caption b{color:#bacbdb}
.orbit-scene{width:min(42vw,620px);height:min(42vw,620px);transform:translate(0,-1vw);contain:layout paint}
.halo-a{background:radial-gradient(circle,#5eafff48 0,#5eafff09 44%,transparent 70%);filter:blur(37px)}
.halo-b{background:#8acfff12}
.halo-c{background:#4ba4ff17}
.orbit{border-color:rgba(162,211,255,.2)}
.orbit-b{border-color:rgba(94,184,247,.26)}
.orbit-c{border-color:#a1d5ff28}
.orbit-dot{background:#b6eeff;box-shadow:0 0 23px 7px #6dc8ff71}
.giant-seven{font-family:var(--serif);font-weight:700;letter-spacing:-.11em;font-size:clamp(160px,19vw,350px);background:linear-gradient(138deg,#ffffff 0%,#bedced 32%,#569ad1 65%,#244469 95%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 54px #2c8cdd3b)}
.constellation{color:#9bdcff;text-shadow:0 0 20px #4bb6ff}
.orbit-caption{color:#a8c4dd}
.date-number{font-family:var(--serif);font-weight:700;font-size:61px}
.date-month{color:#a9c1d2}
.date-month b{color:#ecf8ff}
.date-sep{background:#4d657b}
.count-item strong{font-family:var(--serif);font-size:39px;font-weight:600;letter-spacing:-.05em}
.count-item small{color:#96aaba}
.colon{color:#72b7e7}
.subheading{color:#90b1cc}
.scroll-pill{border-color:#80a4c263}
.scroll-note{color:#a4c0d5}
.celebration-line{font-family:var(--serif);font-weight:600}
.hero-tape{background:rgba(11,30,50,.86);border-color:#9cd5ff23}
.tape-track{color:#a9c9df}
.tape-track span{color:#8ed4ff}
.section{padding:105px clamp(24px,7vw,132px) 75px}
.section-index{color:#a8c2d5;border-bottom-color:rgba(173,204,225,.23)}
.section h2{font-family:var(--serif);font-size:clamp(52px,6.25vw,98px);font-weight:700;letter-spacing:-.082em;line-height:1.04;text-transform:uppercase}
.overline{color:#86c3eb}
.story{min-height:100svh;display:flex;flex-direction:column;background:linear-gradient(128deg,#111c2a,#0c1521 62%,#09111d)}
.story:before{content:"";position:absolute;inset:-10%;z-index:-1;background:radial-gradient(ellipse 40% 50% at 72% 60%,#4a86bf20,transparent 78%);transform:translate3d(0,var(--shift-inverse,0px),0);pointer-events:none}
.story-grid{flex:1;min-height:0;padding-top:45px;gap:clamp(28px,6vw,116px);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.small-orbit{font-family:var(--serif);font-weight:700;font-size:52px;color:#68b7e9;margin-bottom:35px}
.story-rule{background:linear-gradient(90deg,#87c5ed75,transparent);margin:30px 0 20px}
.story-text{color:#bccbd9;font-size:14px;line-height:1.8}
.story-text.muted{color:#8fa0b1}
.art-card{min-height:clamp(300px,42vw,540px);background:radial-gradient(circle at 65% 38%,rgba(121,195,244,.24),transparent 39%),linear-gradient(150deg,#1a3249,#0c1726 75%);border:1px solid #a2d3f22f;box-shadow:inset 0 0 100px #42719a17}
.art-card:before{border-color:#9bccef25}
.card-star.big{font-family:var(--serif);font-size:clamp(140px,17vw,285px);font-weight:700;letter-spacing:-.13em;color:#b7dff8;text-shadow:0 0 82px #55aafc65}
.art-card-caption,.art-card-bottom{color:#d7eafd}
.card-line{background:#c0e5fb22}
.side-caption{color:#a8c1d4}
.moment{min-height:100svh;background:radial-gradient(ellipse at 80% 15%,#26598424,transparent 50%),linear-gradient(140deg,#0c1b2b,#0a1521)}
.moment-heading{padding:clamp(36px,6vh,80px) 0 clamp(24px,4vh,50px)}
.moment-heading>p{color:#acbfcd}
.clock-grid{grid-template-columns:1.25fr 1fr 1fr}
.clock-card{min-height:clamp(152px,19vh,200px);padding:28px;background:#15283b;border:1px solid #a6c9e12c}
.clock-primary{background:linear-gradient(130deg,#1e4564,#172d42);border-color:#92cef46b}
.clock-top{color:#9dc3df}
.clock-card strong{font-size:clamp(28px,3.45vw,55px);color:#f1f8fe}
.clock-meta{color:#9bb1c3}
.world-time{padding:clamp(25px,5vh,48px) 0 0}
.world-time h3{color:#dfedfa}
.world-time div>span:last-child{color:#a7bdcd}
.world-selector label{color:#8fb6ce}
.world-selector select{color:#d8ecfc;border-color:#88b3cf67}
.world-selector #selectedTime{color:#8fb3ce}
.interlude{min-height:100svh;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(69,145,213,.17),transparent 48%),linear-gradient(135deg,#07111b,#0a1a2a);overflow:clip}
.interlude:before{content:"25";font:700 clamp(260px,42vw,720px)/1 var(--serif);letter-spacing:-.12em;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%) translateY(var(--shift-lg,0px));color:#d8efff09;pointer-events:none}
.interlude-star{font-size:45px;color:#8acdf5}
.interlude-inner{position:relative;z-index:1}
.interlude-inner p{font:700 clamp(37px,5vw,78px)/1.14 var(--serif);letter-spacing:-.075em;text-transform:uppercase}
.interlude-inner em{color:#9cd9ff;font-style:normal}
.interlude-foot{color:#92b3c9}
.wishes{min-height:100svh;background:#e7eef4;color:#152334}
.wishes .section-index{color:#587187;border-color:#b9c9d5}
.wishes .overline{color:#366b92}
.wishes h2{color:#102236}
.wishes h2 em{color:#2c729e}
.wishes-header{padding-top:clamp(50px,7vh,90px);padding-bottom:50px}
.wishes-header p:not(.overline){color:#557085}
.wish-counter{color:#617a8f}
.wish-counter strong{color:#10253a}
.primary-button.light{background:#112b44;color:#e9f6ff}
.primary-button.light:hover{background:#1e5075;color:white}
.share-site{color:#336c92}
.share-site:hover{color:#081c2b}
.wish-toolbar{border-color:#b6c7d5;color:#29475f}
.wish-filter button{color:#647c8c}
.wish-filter button.active{background:#143b58;color:#f0f8ff}
.wish-card{background:#f7fbfd;border-color:#a8bac96e;box-shadow:0 3px 13px rgba(15,39,65,.04)}
.wish-card:nth-child(4n+2){background:#deecf5}
.wish-card:nth-child(4n+3){background:#e0eee9}
.wish-card:nth-child(4n){background:#e1e7f0}
.wish-text{font-family:var(--serif);font-size:clamp(21px,2.15vw,28px);font-weight:500;line-height:1.3;color:#13293c}
.wish-author{border-color:#7995a34f}
.wish-author-info strong{color:#244156}
.wish-author-info small{color:#627e90}
.react-btn{border-color:#7193a877;color:#24445a}
.react-btn:hover{background:#c6e3f7}
.wish-loading,.empty-wishes{color:#193449;background:#f5f9fb;font-family:var(--serif)}
.ghost-button{border-color:#839caf;color:#194363}
.wish-bottom{border-color:#b5c7d5;color:#5b7386}
.outro{min-height:100svh;background:radial-gradient(ellipse 60% 65% at 50% 53%,#315b8442,transparent 71%),linear-gradient(142deg,#090f1a,#0c192a)}
.outro-glow{background:radial-gradient(ellipse,#4897d23e,transparent 66%)}
.outro h2{font:700 clamp(53px,7vw,110px)/.99 var(--serif);letter-spacing:-.085em;text-transform:uppercase}
.outro-mark{font:700 clamp(76px,10vw,145px)/1 var(--serif);letter-spacing:-.12em;margin:24px auto;color:#b4def8;text-shadow:0 0 45px #70c7ff78}
.outro-small{color:#9bc8e7}
.outro-content>p{color:#b7c9d8}
.outline-button{border-color:#a2cee6;color:#e7f6ff}
.outline-button:hover{background:#c7e9ff;color:#0c2132}
.outro-number{color:#c4e5fa0a}
#siteFooter{background:#07111d;border-top-color:#a5c9e52c;color:#9bb0c3}
.footer-brand{color:#a7d8f6}
.dialog-inner{background:#e8f0f5;color:#0d2339}
.dialog-inner .overline{color:#316d99}
.dialog-inner h2{font-weight:700;text-transform:uppercase;font-size:clamp(43px,6vw,73px)}
.dialog-inner h2 em{color:#2d759f}
.dialog-desc{color:#597489}
.close-dialog{color:#183047;border-color:#6a8da4}
.dialog-inner input:not([type=checkbox]),.dialog-inner textarea{border-color:#99adbd;color:#15344b}
.dialog-inner input:focus,.dialog-inner textarea:focus{border-color:#137caf}
.anon-check{color:#49647a}
.anon-check input{accent-color:#27759e}
.form-meta{color:#577287}
.emoji-pick button{border-color:#9eb3c4}
.emoji-pick button.selected{background:#bfddf2;border-color:#4c8eb9}
.submit-wish{background:#143855;color:#f2f9ff}
.form-note{color:#5f788c}
.admin{background:radial-gradient(ellipse at 50% 0,#16405a,transparent 65%),#09111c}
.admin-mark,.admin h1{font-family:var(--serif);font-weight:700}
.admin-auth input{background:#102437;border-color:#5684a8}
.admin-stats span,.admin-wish{border-color:#8cb6d12c}
.admin-tabs button.active{background:#b7ddf7;color:#102b42}
.admin-desc,.admin-back{color:#a7c9e0}

/* Kinetic slide engine — section-attached visual movements, never hidden until JS */
.scene-flash{position:fixed;inset:-16% -12%;pointer-events:none;z-index:37;opacity:0;visibility:hidden;will-change:transform,opacity;transform:translate3d(0,120%,0);background:linear-gradient(178deg,transparent 30%,rgba(100,191,244,.13) 49%,rgba(219,243,255,.18) 50%,rgba(31,88,131,.12) 52%,transparent 69%);filter:blur(11px)}
.scene-flash.enter-down{animation:scene-sweep-down .76s cubic-bezier(.15,.74,.28,1) both}
.scene-flash.enter-up{animation:scene-sweep-up .76s cubic-bezier(.15,.74,.28,1) both}
@keyframes scene-sweep-down{0%{visibility:visible;opacity:0;transform:translate3d(0,-110%,0)}30%{opacity:1}100%{opacity:0;visibility:hidden;transform:translate3d(0,115%,0)}}
@keyframes scene-sweep-up{0%{visibility:visible;opacity:0;transform:translate3d(0,115%,0)}30%{opacity:1}100%{opacity:0;visibility:hidden;transform:translate3d(0,-110%,0)}}
#siteMain>section .section-index{transition:border-color .55s ease,color .55s ease}
#siteMain>section.is-active .section-index{border-bottom-color:rgba(131,203,254,.62)}
#siteMain>section.is-active h1,
#siteMain>section.is-active h2,
#siteMain>section.is-active .interlude-inner p{animation:kinetic-title-in .95s cubic-bezier(.18,.73,.13,1) both;transform-origin:left center}
#siteMain>section.is-active h1 em,
#siteMain>section.is-active h2 em{animation:kinetic-accent-in 1.08s cubic-bezier(.16,.73,.13,1) both}
#siteMain>section.is-active .interlude-inner p{transform-origin:center}
@keyframes kinetic-title-in{from{opacity:.55;filter:blur(3px);transform:perspective(900px) rotateX(8deg) translate3d(0,38px,0) skewY(1deg)}to{opacity:1;filter:blur(0);transform:perspective(900px) rotateX(0) translate3d(0,0,0) skewY(0)}}
@keyframes kinetic-accent-in{from{filter:blur(5px);opacity:.35}to{filter:blur(0);opacity:1}}
.hero-composition,.art-card,.clock-grid,.interlude-star,.outro-mark{transition:filter .45s ease}
#siteMain>section.is-active .section-index span:first-child:before{content:"●";font-size:7px;vertical-align:middle;margin-right:11px;color:#71c9ff}
.hero-copy,.story-left,.moment-heading,.wishes-header,.outro-content{backface-visibility:hidden}
.hero-composition{translate:0 var(--shift-sm,0px)}
.story-grid{translate:0 var(--shift-md,0px)}
.clock-grid{translate:0 var(--shift-md,0px)}
.interlude-inner{translate:0 var(--shift-lg,0px)}
.wishes-header{translate:0 var(--shift-sm,0px)}
.outro-content{translate:0 var(--shift-lg,0px)}
.chapter-nav{position:fixed;right:clamp(15px,2.5vw,48px);top:50%;transform:translateY(-50%);z-index:46;display:flex;flex-direction:column;align-items:flex-end;gap:16px;padding:10px 0}
.chapter-nav:before{content:"";position:absolute;right:5px;top:-9px;bottom:-9px;width:1px;background:linear-gradient(transparent,#7898b36b,transparent);z-index:-1}
.chapter-nav a{display:flex;align-items:center;gap:12px;min-height:18px;text-align:right;justify-content:flex-end;font:600 10px var(--serif);letter-spacing:.13em;color:#b4c5d5ad;transition:color .25s,transform .25s}
.chapter-nav a span{opacity:0;transform:translateX(10px);max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .3s,transform .3s,max-width .3s}
.chapter-nav a b{display:grid;place-items:center;font-size:0;font-weight:700;width:11px;height:11px;border-radius:50%;border:1px solid #7295b4;background:#101d2b;transition:background .3s,box-shadow .3s,width .3s,height .3s}
.chapter-nav a:hover,.chapter-nav a.is-current{color:#bde7ff}
.chapter-nav a:hover span,.chapter-nav a.is-current span{opacity:1;transform:translateX(0);max-width:95px}
.chapter-nav a.is-current b{width:13px;height:13px;background:#a7e4ff;border-color:#a7e4ff;box-shadow:0 0 0 5px #7acfff21,0 0 20px #79ccff9e}
.chapter-nav a:hover{transform:translateX(-3px)}
.chapter-nav.on-light a{color:#39607d}
.chapter-nav.on-light a.is-current{color:#0d4269}
.chapter-nav.on-light a b{background:#c3d8e5;border-color:#386b8e}
.chapter-nav.on-light a.is-current b{background:#135b82;border-color:#135b82;box-shadow:0 0 0 5px #2d7da822}
body.modal-visible .chapter-nav{pointer-events:none;opacity:0}
@media(min-width:901px){
 html{scroll-snap-type:y mandatory}
 #siteMain>section{scroll-snap-stop:normal}
 #siteMain>.hero{min-height:100svh}
 .story,.moment,.interlude,.outro{min-height:100svh}
 .wishes{min-height:100svh}
}
@media(min-width:901px) and (max-height:800px){
 .hero-inner{padding-top:110px;padding-bottom:86px}
 .hero h1{font-size:clamp(57px,6.5vw,105px)}
 .hero-desc{font-size:12px}
 .hero-bottom{align-items:end}
 .section{padding-top:90px;padding-bottom:42px}
 .story-grid{padding-top:25px}
 .art-card{min-height:310px}
 .moment-heading{padding:30px 0 26px}
 .world-time{padding-top:24px}
}
@media(max-width:1180px){
 .hero h1{font-size:clamp(58px,7.3vw,96px)}
 .section h2{font-size:clamp(49px,6.3vw,81px)}
 .story-grid{gap:35px}
 .orbit-scene{max-width:100%}
}
@media(max-width:900px){
 html{scroll-snap-type:y proximity}
 .nav{height:75px}
 #siteMain>section{scroll-snap-stop:normal}
 .section{padding-top:92px;padding-bottom:70px}
 .hero{min-height:max(100svh,770px);height:auto}
 .hero-inner{min-height:max(100svh,770px);padding:110px 24px 96px}
 .hero-composition{display:flex;flex-direction:column;justify-content:space-between}
 .hero-copy{max-width:100%;padding-top:35px}
 .hero h1{font-size:clamp(51px,10.8vw,85px);white-space:normal;max-width:100%}
 .hero-desc{font-size:13px}
 .orbit-scene{width:76vw;height:76vw;max-width:460px;max-height:460px;top:44%;right:-10vw;position:absolute;opacity:.55}
 .giant-seven{font-size:clamp(155px,33vw,300px)}
 .hero-bottom{margin-top:215px}
 .story{display:block}
 .story-grid{grid-template-columns:1fr;gap:45px}
 .section h2{font-size:clamp(49px,9vw,78px)}
 .small-orbit{margin-bottom:25px}
 .art-card{min-height:400px}
 .moment-heading{padding:55px 0 32px}
 .clock-grid{grid-template-columns:1fr}
 .clock-card{min-height:138px}
 .clock-card strong{font-size:43px}
 .interlude{min-height:100svh}
 .wishes-header{display:flex;flex-direction:column;align-items:start;gap:15px}
 .wish-cta{align-items:flex-start;margin-top:5px}
 .outro{min-height:100svh}
 .outro h2{font-size:clamp(48px,8vw,80px)}
 .chapter-nav{right:14px;gap:14px}
 .chapter-nav a span{display:none}
 .chapter-nav a.is-current b{width:14px;height:14px}
}
@media(max-width:600px){
 html{scroll-snap-type:y proximity}
 .nav{padding:0 18px}
 .brand-symbol{font-size:25px}
 .brand-caption{display:none}
 .nav-cta{padding:11px 14px}
 .hero{min-height:max(100svh,760px)}
 .hero-inner{padding:105px 20px 92px;min-height:max(100svh,760px)}
 .hero h1{font-size:clamp(43px,10.6vw,66px);line-height:.98}
 .hero-copy{padding-top:22px}
 .accent-label{font-size:8px}
 .hero-buttons{gap:12px;flex-wrap:wrap}
 .hero-bottom{margin-top:210px}
 .orbit-scene{top:46%;right:-20%;width:90vw;height:90vw}
 .date-number{font-size:49px}
 .time-until{max-width:100%}
 .count-item strong{font-size:clamp(25px,7vw,33px)}
 .story-grid{padding-top:40px}
 .art-card{min-height:330px}
 .card-star.big{font-size:185px}
 .section{padding:94px 24px 68px}
 .section-index{gap:10px;font-size:8px}
 .section h2{font-size:clamp(43px,11.3vw,65px)}
 .story-text{font-size:13px}
 .clock-card{min-height:135px}
 .clock-card strong{font-size:38px}
 .interlude-inner p{font-size:clamp(38px,9vw,55px)}
 .interlude:before{font-size:72vw}
 .wishes-header h2{font-size:clamp(41px,10.8vw,62px)}
 .wish-grid{grid-template-columns:1fr}
 .wish-card{min-height:190px}
 .wish-text{font-size:26px}
 .wish-toolbar{flex-wrap:wrap}
 .outro h2{font-size:clamp(48px,12vw,69px)}
 .outro-mark{font-size:96px}
 .chapter-nav{right:9px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;flex-direction:row;background:rgba(9,24,40,.86);border:1px solid #8cb4d540;border-radius:999px;padding:12px;gap:11px;backdrop-filter:blur(14px)}
 .chapter-nav:before{display:none}
 .chapter-nav a{min-height:12px}
 .chapter-nav a b{width:9px;height:9px}
 .chapter-nav a.is-current b{width:11px;height:11px}
 .chapter-nav.on-light{background:rgba(232,242,249,.92);border-color:#6792ad}
 #siteFooter{padding-bottom:70px}
 .scene-flash{display:none}
}
@media(max-width:355px){
 .hero-inner{padding-left:16px;padding-right:16px}
 .hero h1{font-size:clamp(39px,10.5vw,48px)}
 .hero-desc{font-size:12px}
 .hero-buttons .primary-button{padding:14px}
 .section{padding-left:17px;padding-right:17px}
 .section h2{font-size:42px}
 .wish-toolbar>span{font-size:9px}
 .chapter-nav{right:5px;padding:9px;gap:8px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-snap-type:y proximity;scroll-behavior:auto}
 #siteMain>section .hero-composition,
 #siteMain>section .story-grid,
 #siteMain>section .clock-grid,
 #siteMain>section .interlude-inner,
 #siteMain>section .wishes-header,
 #siteMain>section .outro-content{translate:none!important}
 .scene-flash{display:none!important}
 #siteMain>section.is-active h1,
 #siteMain>section.is-active h2,
 #siteMain>section.is-active .interlude-inner p,
 #siteMain>section.is-active h1 em,
 #siteMain>section.is-active h2 em{animation:none!important}
}

/* Keep the birthday-day state in the same navy/ice-blue palette. */
.body-birthday .giant-seven{background-image:linear-gradient(138deg,#fff 0%,#c1ecff 38%,#6dbaff 72%,#2a6696 100%)}
.body-birthday .halo-a{background:radial-gradient(circle,#64bfff3d 0,#64bfff0d 46%,transparent 75%)}
.body-birthday .hero-tape{background:rgba(11,30,50,.9)}
