@media(min-width:600px){.site-header{padding:30px 42px 23px}.brand{font-size:24px}.brand-note{font-size:10px}.music-toggle{font-size:11px;padding:0 16px}.scene{padding:33px 40px 40px;min-height:calc(100svh - 190px)}.scene-intro{gap:28px}.display-title{font-size:56px}.intro-description{font-size:19px}.eyebrow{font-size:11px}.scene-title{font-size:35px}.letter-card{padding:38px 45px}.letter-card p{font-size:20px}.journey-footer{padding-left:42px;padding-right:42px}.chapter-name{display:inline;margin-left:14px}.scene-finale{padding-top:25px}.finale-copy h2{font-size:29px}#show-chapter{font-size:32px}.birthday-note h2{font-size:41px}.birthday-note h2 em{font-size:50px}}
@media(min-width:950px){.site-header{padding:31px 60px 25px}.scene-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;row-gap:20px;align-content:center;padding-top:36px;padding-bottom:30px;min-height:calc(100svh - 190px)}.intro-copy{padding-left:15px}.display-title{font-size:65px;line-height:1.28;margin:23px 0 22px}.intro-description{font-size:20px;line-height:1.85;margin-bottom:28px}.campus-postcard{max-width:none;align-self:center;rotate:1deg;margin-bottom:30px}.photo-window{aspect-ratio:1.12}.campus-postcard figcaption{font-size:19px;padding-top:20px}.campus-postcard{padding:15px 15px 20px}.postcard-note{top:27px;font-size:15px;padding:10px}.intro-bottom{grid-column:1/3;max-width:650px;justify-self:end;margin-top:3px;padding-right:12px;font-size:17px}.intro-bottom svg{width:150px}.ticket{font-size:15px;padding:12px 18px}.sound-hint{font-size:13px}.primary-button{min-height:55px;font-size:19px}.journey-footer{padding-left:60px;padding-right:60px}.footer-note{display:block}.chapter-nav{position:absolute;left:50%;transform:translateX(-50%)}.birthday-note{margin-top:45px}.scene-finale{max-width:1050px}.finale-sky{height:min(55vh,590px)}.finale-copy h2{font-size:30px}.final-actions .text-button{font-size:15px}}
@media(max-width:359px){.site-header{padding-left:16px;padding-right:16px}.brand{font-size:16px}.brand-note{font-size:8px;letter-spacing:1px}.music-toggle{padding:0 8px;font-size:9px}.scene{padding-left:18px;padding-right:18px}.display-title{font-size:37px}.pencil-heart{font-size:30px;margin-left:8px}.intro-description{font-size:15px}.primary-button{font-size:15px;padding:0 15px;gap:12px}.journey-footer{padding-left:16px;padding-right:16px}.scene-title{font-size:25px}.letter-card{padding-left:20px;padding-right:20px}.letter-card p{font-size:17px}}
@media(max-height:720px) and (max-width:599px){.scene{padding-top:17px}.display-title{font-size:39px}.scene-finale{padding-top:10px}.finale-sky{height:300px}.finale-copy h2{font-size:21px}.finale-copy{padding-top:18px}.final-actions{margin-top:8px}.scene-wish .scene-title{margin-top:20px}.wish-star{height:250px;margin-top:18px}}
@media(orientation:landscape) and (max-height:550px){.scene-finale{max-width:700px}.finale-sky{height:330px}.scene-intro{max-width:600px}.campus-postcard{max-width:430px}}
@media(max-width:599px){#show-chapter{font-size:21px}.finale-copy h2{font-size:21px}.finale-copy>p{font-size:13px}.final-actions{gap:0}.final-actions .text-button{font-size:12px;padding:10px 6px}}

/* Finale: leave the whole upper sky to the light, keep words below the bursts. */
body[data-scene='4']{background:#0b1019}
body[data-scene='4'] .scene-finale{max-width:1100px;padding:10px 18px 22px}
body[data-scene='4'] .site-header{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:8px}
body[data-scene='4'] .brand-note{opacity:.65}
.finale-sky{height:clamp(390px,66svh,740px);margin-top:0}
#sky-touch>span{top:auto;bottom:100px;color:#938a7b;font-size:11px;opacity:.7}
.sky-caption{bottom:23px;padding:0 8px}
#show-chapter{font-size:22px;color:#f6dbb1}
#show-detail{font-size:12px;color:#b9ad9b}
.finale-copy{padding-top:19px}
.finale-copy h2{font-size:22px}
.finale-copy>p{margin-top:9px}
body[data-scene='4'] .paper-grain{opacity:.025}
@media(max-width:599px) and (max-height:720px){.finale-sky{height:390px}.finale-copy h2{font-size:20px}#show-chapter{font-size:19px}}
@media(min-width:950px){.finale-sky{height:min(67vh,740px)}#show-chapter{font-size:29px}}
@media(prefers-reduced-motion:reduce){.finale-sky{scroll-behavior:auto}}
