:root{color-scheme:dark;--night:#0b0812;--text:#ede8ef;--lilac:#c4b1df;--body:#b5aabb;--quiet:#95899f;--line:#c3a6df2b;--serif:'Instrument Serif',Georgia,serif;--sans:'Red Hat Display',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--lilac);outline-offset:7px}p,h1,h2{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.98}h1 em,h2 em{color:var(--lilac);font-weight:400}::selection{background:#705084;color:#fff}.skip-link{position:fixed;left:25px;top:-70px;z-index:100;padding:10px 20px;background:var(--text);color:var(--night)}.skip-link:focus{top:20px}
.universe{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:radial-gradient(ellipse at 70% 90%,#3e204239,transparent 65%),#0b0812}.universe canvas{display:block;width:100%;height:100%}.universe-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 25%,#0b081220 80%,#0b081277)}.frame{position:fixed;inset:17px;border:1px solid #c4b1df18;z-index:15;pointer-events:none}.frame i{position:absolute;width:12px;height:12px;border-color:#c4b1df70}.frame i:nth-child(1){top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.frame i:nth-child(2){top:-1px;right:-1px;border-top:1px solid;border-right:1px solid}.frame i:nth-child(3){bottom:-1px;left:-1px;border-bottom:1px solid;border-left:1px solid}.frame i:nth-child(4){bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid}
.header{position:absolute;left:0;right:0;top:0;padding:34px 6%;display:flex;align-items:center;justify-content:space-between;z-index:6;transition:opacity 1s}.wordmark{display:inline-flex;align-items:center;gap:17px;font-family:var(--serif);font-size:30px;line-height:1}.wordmark img{display:block;object-fit:contain}.header nav{display:flex;align-items:center;gap:37px;font-size:12px;color:#c8bfce}.header nav a:hover{color:#fff}.header nav a:last-child{margin-left:24px}.header nav a span{margin-left:10px;color:var(--lilac)}main{position:relative;z-index:2}.chapter{position:relative;min-height:100svh}.chapter-inner{min-height:max(740px,100svh);position:relative;padding:110px 8%;display:flex;align-items:center;max-width:1700px;margin:auto}.copy{width:42%;max-width:490px;position:relative;z-index:2}.copy-left{justify-content:flex-start}.copy-right{justify-content:flex-end}.copy-right .copy{width:43%}.eyebrow{font-size:9px;letter-spacing:.21em;line-height:1.5;color:#b5a5c3;margin-bottom:30px}.hero h1{font-size:clamp(76px,7.3vw,118px);margin-bottom:29px}.lead{font-size:20px;line-height:1.6;color:#d4c9dc;margin-bottom:21px;letter-spacing:-.015em}.body-copy{font-size:14px;line-height:1.95;color:var(--body);max-width:390px}.body-copy+.body-copy{margin-top:18px}.hero .body-copy{font-size:13px;line-height:1.9}.store-badge{display:block;width:fit-content;line-height:0;padding:13px;margin:19px 0 0 -13px}.store-badge img{display:block;width:156px;height:52px;object-fit:contain}.download-note{font-size:9px;letter-spacing:.02em;color:var(--quiet);margin-top:0}.scene-caption{position:absolute;font-size:8px;letter-spacing:.19em;color:#ac98bc;line-height:1.7;text-align:center;pointer-events:none}.hero-scene-caption{left:53%;width:34%;top:81%}.caption-line{display:block;width:1px;height:24px;margin:0 auto 15px;background:linear-gradient(transparent,#ba9dcc77)}.scroll-cue{position:absolute;bottom:40px;left:8%;display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:.19em;color:var(--body)}.scroll-line{height:34px;width:1px;background:linear-gradient(transparent,#c9a3e4)}.hero-footnote{position:absolute;bottom:43px;right:8%;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--body)}.chapter-nav{position:fixed;right:34px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:8;gap:5px;transition:opacity .8s}.chapter-nav a{height:26px;width:24px;display:grid;place-items:center}.chapter-nav span{display:block;width:4px;height:4px;border:1px solid #c6afdf66;border-radius:50%;transition:transform .4s,background .4s}.chapter-nav [aria-current] span{transform:scale(1.7);background:#ded0ed;border-color:#ded0ed;box-shadow:0 0 10px #d8b2ff55}
.letter-chapter{height:145svh;min-height:1040px;overflow:clip}.letter-inner{position:sticky;top:0;min-height:740px;height:100svh;justify-content:center;padding:95px 0 75px}.letter-heading{position:absolute;top:45px;left:8%;right:8%;display:flex;justify-content:space-between}.letter-heading .eyebrow{margin:0}.micro{font-size:8px;letter-spacing:.18em;color:var(--quiet)}.letter-paper{width:min(430px,70vw);padding:29px 43px 30px;background:linear-gradient(130deg,#e4dbea,#c9bace);color:#352739;border:1px solid #f1e7f166;box-shadow:0 24px 90px #0004;transform:rotate(-2deg);position:relative}.letter-paper:before{content:'';position:absolute;inset:8px;border:1px solid #725f7917;pointer-events:none}.letter-topline{display:flex;align-items:center;gap:10px;font-size:7px;letter-spacing:.22em;color:#6d5775;margin-bottom:23px}.letter-topline img{filter:brightness(.43)}.letter-paper h2{font-size:53px;font-style:italic;line-height:1;margin-bottom:23px;letter-spacing:-.025em}.letter-paper p{font-size:13px;line-height:1.85;margin-bottom:13px;color:#4f4056}.letter-paper .letter-last-line{font-family:var(--serif);font-size:24px;color:#3d2947;margin-top:19px;margin-bottom:15px}.letter-signoff{display:flex;flex-direction:column;align-items:flex-end}.letter-signoff>span:first-child{font-size:10px;color:#76617e}.letter-signoff>span:last-child{font-family:var(--serif);font-style:italic;font-size:25px}.letter-bottom-note{position:absolute;bottom:35px;font-size:8px;letter-spacing:.17em;color:var(--quiet)}.motion-ready .letter-paper{opacity:var(--letter-opacity,0);transform:translateY(var(--letter-rise,90px)) rotate(var(--letter-rotation,-5deg))}.motion-ready .letter-heading,.motion-ready .letter-bottom-note{opacity:var(--letter-opacity,0)}
.copy h2{font-size:clamp(64px,6.6vw,103px);margin-bottom:31px}.reason,.real-sky{min-height:115svh}.reason .chapter-inner,.real-sky .chapter-inner{min-height:115svh}.quiet-line{font-family:var(--serif);font-style:italic;color:var(--lilac);font-size:24px;line-height:1.4;margin-top:32px}.caption-left{left:9%;width:34%;bottom:13%}.caption-right{right:10%;width:33%;bottom:13%}.feature-notes{border-top:1px solid var(--line);margin-top:26px;padding-top:5px;max-width:390px}.feature-notes>div{display:flex;gap:15px;align-items:start;margin-top:18px}.note-star{color:var(--lilac);font-size:22px;line-height:1.4}.feature-notes p{font-size:11px;line-height:1.85;color:var(--body)}.feature-notes strong{display:block;font-size:12px;font-weight:400;color:#ded2e5;margin-bottom:3px}.science{min-height:120svh}.science .chapter-inner{min-height:120svh;padding-top:100px;padding-bottom:100px}.science-copy h2{font-size:clamp(65px,6.1vw,92px);margin-bottom:25px}.science-intro{font-size:13px;max-width:none}.research-list{margin-top:24px}.research-list details{border-top:1px solid var(--line)}.research-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:24px;line-height:1.35;padding:18px 0;color:#dacfe4}summary::-webkit-details-marker{display:none}summary:hover{color:#fff}.toggle{flex:none;position:relative;width:15px;height:15px}.toggle:before,.toggle:after{content:'';position:absolute;top:7px;left:2px;height:1px;width:11px;background:var(--lilac)}.toggle:after{transform:rotate(90deg);transition:transform .2s}details[open] .toggle:after{transform:rotate(0)}.research-body{padding:0 14px 20px 0}.research-body p{color:var(--body);font-size:12px;line-height:1.9}.research-body a{display:inline-block;color:var(--lilac);font-size:9px;margin-top:14px;border-bottom:1px solid var(--line);line-height:1.7}.research-body a span{margin-left:9px}.science-note{font-size:10px;color:var(--quiet);line-height:1.85;margin-top:20px}.closing .chapter-inner{min-height:100svh}.closing .lead{font-size:22px}.closing .store-badge{margin-top:24px}.privacy-note{display:flex;gap:11px;margin-top:27px;align-items:start;color:var(--quiet);font-size:10px;line-height:1.8}.privacy-dot{margin-top:7px;width:4px;height:4px;border-radius:50%;background:var(--lilac)}.closing-signature{font-family:var(--serif);font-style:italic;font-size:31px;color:var(--lilac);margin-top:38px}
footer{position:relative;z-index:2;margin:0 8%;border-top:1px solid var(--line);padding:30px 0 35px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--quiet);font-size:10px}footer .wordmark{font-size:26px;color:var(--text);gap:12px}footer>div{display:flex;gap:23px}footer a:hover,footer button:hover{color:#fff}.apple-credit{flex-basis:100%;font-size:8px;color:#8f8199;line-height:1.8;padding-top:7px}
/* Two copies of the same composition separate with the full-screen curtain. */
.opening{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:0;visibility:hidden;--reveal:0;--shine:150%;transition:visibility .1s}
.opening-curtain{position:absolute;inset:0;background:#211431;will-change:transform,clip-path}
.curtain-left{clip-path:inset(0 calc(50% + var(--reveal)*30%) 0 0);transform:translateX(calc(var(--reveal)*-20%))}
.curtain-right{clip-path:inset(0 0 0 calc(50% + var(--reveal)*30%));transform:translateX(calc(var(--reveal)*20%))}
.opening-curtain:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#d5bee329;transform:scaleY(var(--seam,0));transform-origin:bottom}
.opening-brand{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:24px;font-family:var(--serif);font-size:30px;color:#d5c6e2}
.opening-brand img{width:26px;height:79px;filter:drop-shadow(0 0 22px #d0b4ed30)}
.opening-caption{position:absolute;bottom:20%;left:24px;right:24px;text-align:center}
.opening-caption>p{display:inline-block;font-family:var(--serif);font-size:clamp(32px,3.4vw,51px);line-height:1.16;letter-spacing:-.02em;background:linear-gradient(120deg,#8e79a7 0%,#8e79a7 35%,#f5f0fa 50%,#8e79a7 65%,#8e79a7 100%);background-size:200% auto;background-position:var(--shine) center;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.opening-caption em{color:inherit}.intro-playing{overflow:hidden}.intro-playing .opening{visibility:visible;opacity:1}
.intro-playing .header,.intro-playing .frame{opacity:var(--intro-nav,0);pointer-events:none}.intro-playing .chapter-nav,.intro-playing footer{opacity:0;pointer-events:none}
.intro-playing .hero-char{opacity:0}.intro-playing .hero-copy .lead{opacity:var(--intro-lead,0);transform:translateY(calc((1 - var(--intro-lead,0))*10px))}.intro-playing .hero-copy .store-badge,.intro-playing .hero-copy .download-note{opacity:var(--intro-cta,0)}.intro-playing .scroll-cue{opacity:var(--intro-cue,0)}
.motion-ready .copy{opacity:var(--copy-opacity,1);transform:translateY(var(--copy-rise,0px))}
.scroll-cue{font-size:25px;letter-spacing:0;color:var(--lilac)}
.reason .body-copy,.real-sky .body-copy{font-size:16px;line-height:1.9;max-width:390px}.body-copy+.body-copy{margin-top:25px}
@media(min-width:1550px){.copy{max-width:550px}.body-copy{max-width:440px;font-size:15px}.hero .body-copy{font-size:14px}.lead{font-size:23px}.letter-paper{width:470px;padding:35px 47px}.letter-paper p{font-size:14px}.letter-paper h2{font-size:58px}}
@media(max-width:1050px) and (min-width:701px){.header{padding-left:7%;padding-right:7%}.header nav{gap:23px;font-size:11px}.header nav a:last-child{margin-left:0}.wordmark{font-size:27px}.chapter-inner{padding-left:8%;padding-right:8%}.copy,.copy-right .copy{width:47%}.hero h1{font-size:78px}.copy h2{font-size:69px}.lead{font-size:17px}.body-copy{font-size:12px}.hero .body-copy{font-size:12px}.chapter-nav{right:20px}.scene-caption{font-size:7px}.science .copy{width:49%}.science .chapter-inner{min-height:1000px}summary{font-size:23px}.hero-footnote{font-size:17px}.letter-chapter{height:140svh}.letter-paper{width:410px}}
@media(max-width:700px){.frame{inset:10px}.header{padding:24px 8%}.wordmark{font-size:27px;gap:13px}.header .wordmark img{width:10px;height:31px}.header nav a{display:none}.header nav a:last-child{display:block;margin:0;font-size:10px}.header nav a span{margin-left:5px}.chapter-nav{display:none}.chapter-inner{min-height:max(830px,100svh);padding:390px 9% 78px;align-items:flex-start}.copy,.copy-right .copy{width:100%;max-width:none}.hero h1{font-size:70px;margin-bottom:20px;letter-spacing:-.03em}.eyebrow{font-size:8px;margin-bottom:19px;letter-spacing:.17em}.lead{font-size:17px;line-height:1.5;margin-bottom:14px}.body-copy,.hero .body-copy{font-size:12px;line-height:1.85;max-width:390px}.hero .body-copy br{display:none}.store-badge{margin-top:13px;padding:12px;margin-left:-12px}.store-badge img{width:144px;height:48px}.download-note{font-size:8px;line-height:1.8}.hero .chapter-inner{padding-top:350px;min-height:900px}.scene-caption{display:none}.hero-footnote{display:none}.scroll-cue{bottom:24px;left:9%;font-size:7px;gap:11px}.scroll-line{height:25px}.letter-chapter{height:145svh;min-height:1040px;overflow:clip}.letter-inner{height:100svh;min-height:710px;padding:80px 0 65px;align-items:center;justify-content:center}.letter-paper{width:calc(100vw - 70px);max-width:370px;padding:25px 27px 27px}.letter-paper h2{font-size:46px;margin-bottom:22px}.letter-paper p{font-size:12px;line-height:1.8;margin-bottom:14px}.letter-topline{margin-bottom:21px}.letter-last-line{font-size:23px!important}.letter-signoff>span:last-child{font-size:24px}.letter-heading{top:30px;left:9%;right:9%;display:block}.letter-heading .micro{display:none}.letter-heading .eyebrow{font-size:7px}.letter-bottom-note{font-size:6px;bottom:25px;letter-spacing:.13em}.desktop-break{display:none}.copy h2{font-size:65px;margin-bottom:22px}.reason .chapter-inner,.real-sky .chapter-inner{min-height:1000px;padding-top:375px;padding-bottom:65px}.reason,.real-sky{min-height:auto}.quiet-line{font-size:24px;margin-top:25px}.body-copy+.body-copy{margin-top:14px}.feature-notes{margin-top:21px}.feature-notes p{font-size:11px}.feature-notes strong{font-size:11px}.science{min-height:auto}.science .chapter-inner{min-height:1100px;padding-top:330px;padding-bottom:65px}.science-copy h2{font-size:64px}.science-intro{font-size:12px}.research-list{margin-top:20px}summary{font-size:23px;padding:16px 0}.research-body p{font-size:11px}.research-body a{font-size:8px}.science-note{font-size:9px}.closing .chapter-inner{min-height:980px;padding-top:365px;padding-bottom:70px}.closing .copy h2{font-size:65px}.closing .lead{font-size:19px}.closing-signature{font-size:29px;margin-top:29px}.closing .store-badge{margin-top:16px}.privacy-note{margin-top:23px;font-size:9px}footer{margin:0 9%;padding:27px 0 32px;gap:23px;font-size:9px}footer .wordmark{font-size:25px}footer>div{gap:22px}.apple-credit{font-size:7px;padding:0}.opening-brand{top:32px;font-size:24px}.opening-caption{bottom:20%}.opening-caption>p{font-size:23px}.opening-caption .micro{font-size:7px}}
@media(max-width:360px){.hero h1{font-size:61px}.copy h2,.science-copy h2,.closing .copy h2{font-size:58px}.header .wordmark{font-size:24px}.header nav a:last-child{font-size:9px}.letter-paper{width:calc(100vw - 54px);padding:23px 23px}.letter-paper p{font-size:11px}.letter-paper h2{font-size:43px}.chapter-inner{padding-left:9%;padding-right:9%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-ready .copy{opacity:1;transform:none}.motion-ready .letter-paper{opacity:1;transform:rotate(-2deg)}.motion-ready .letter-heading,.motion-ready .letter-bottom-note{opacity:1}}

/* Quiet compositions: only the story, the sky, and the essential controls. */
.universe-vignette{background:radial-gradient(ellipse at 50% 42%,transparent 40%,#0b081218 100%)}
@media(max-width:700px){.opening-brand{top:34%;font-size:28px}.opening-caption{bottom:20%}.opening-caption>p{font-size:34px}.reason .body-copy,.real-sky .body-copy{font-size:14px;line-height:1.9}.hero .chapter-inner{min-height:max(790px,100svh)}.reason .chapter-inner,.real-sky .chapter-inner{min-height:850px}.science .chapter-inner{min-height:970px}.closing .chapter-inner{min-height:830px}.opening-brand img{width:22px;height:67px}}

.intro-playing .opening,.intro-playing main,.intro-playing footer,.intro-playing .header{transition:none}
@media(max-width:700px){.scroll-cue{font-size:25px}}

@media(prefers-reduced-motion:reduce){.hero-char{opacity:1!important}.hero-copy .lead{transform:none!important}}

/* Each chapter changes the composition, while the same sky carries the story. */
.universe canvas{position:absolute;inset:0}
.universe #atmosphere{z-index:0}.universe #universe{z-index:1}.universe-vignette{z-index:2}
.letter-chapter{height:170svh;min-height:1150px}
.letter-inner{perspective:1300px}
.letter-paper{transform-origin:50% 85%;box-shadow:0 35px 100px #0005}
.motion-ready .letter-paper{transform:translateY(var(--letter-rise,90px)) rotateX(calc((1 - var(--letter-open,1))*45deg)) rotate(var(--letter-rotation,-2deg));clip-path:inset(calc((1 - var(--letter-open,1))*47%) 0 0)}
.reason{height:175svh;min-height:1150px}
.reason .chapter-inner{position:sticky;top:0;height:100svh;min-height:700px;padding:100px 8%;justify-content:center;align-items:center}
.reason .copy{width:100%;max-width:1100px;text-align:center}
.reason .copy h2{font-size:clamp(92px,11.3vw,170px);line-height:.98;margin-bottom:38px}
.reason .body-copy{max-width:530px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.8}
.reason .body-copy+.body-copy{margin-top:20px}
.thought-word{display:inline-block;will-change:opacity}
.real-sky{height:150svh;min-height:1100px}
.real-sky .chapter-inner{position:sticky;top:0;height:100svh;min-height:720px;padding:90px 8% 0;align-items:flex-start}
.real-sky .copy{width:100%;max-width:none;display:grid;grid-template-columns:1.2fr 1fr;column-gap:9%;row-gap:20px;align-items:start}
.real-sky .copy h2{grid-row:1/3;font-size:clamp(68px,7vw,105px);line-height:1.03;margin:0}
.real-sky .body-copy{max-width:400px;font-size:14px;line-height:1.85;margin:0}
.science{min-height:135svh}
.science .chapter-inner{min-height:1050px;padding:150px 8% 180px;align-items:stretch}
.science .science-copy{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%;opacity:1;transform:none}
.science-heading{align-self:start;position:sticky;top:23vh}
.science .science-copy h2{font-size:clamp(68px,7.1vw,110px);margin-bottom:30px}
.science-intro{max-width:340px;line-height:1.9;font-size:14px}
.science-evidence{padding-top:60px;align-self:center}
.research-list{margin:0}
.research-list details{padding:20px 0;opacity:var(--evidence-in,1);transform:translateY(calc((1 - var(--evidence-in,1))*28px))}
.research-list summary{font-size:30px;line-height:1.15;padding:26px 0}
.research-body p{font-size:14px;line-height:1.85}
.research-body a{font-size:10px}
.science-note{font-size:11px;margin-top:28px;max-width:440px}
.closing .chapter-inner{min-height:max(820px,110svh);padding:300px 8% 95px;justify-content:center;align-items:center}
.closing .copy{width:100%;max-width:1100px;text-align:center}
.closing .copy h2{font-size:clamp(90px,10vw,154px);line-height:.93;margin-bottom:30px}
.closing .lead{font-size:18px;line-height:1.65}
.closing .store-badge{margin:20px auto 0}
.closing .privacy-note{justify-content:center;text-align:left;margin-top:23px}
.closing-line{display:inline-block}
.motion-ready .closing-line{clip-path:inset(0 0 calc((1 - var(--copy-opacity,1))*100%) 0);transform:translateY(calc((1 - var(--copy-opacity,1))*30px))}
@media(max-width:1050px) and (min-width:701px){.reason .copy{width:100%}.reason .copy h2{font-size:110px}.real-sky .copy{width:100%;gap:25px 6%}.real-sky .copy h2{font-size:68px}.science .science-copy{width:100%;gap:7%}.science .science-copy h2{font-size:74px}.research-list summary{font-size:27px}.closing .copy{width:100%}}
@media(max-width:700px){
  .letter-chapter{height:165svh;min-height:1050px}.letter-inner{min-height:700px}
  .reason{height:145svh;min-height:1000px}.reason .chapter-inner{min-height:700px;height:100svh;padding:90px 9%;align-items:center}
  .reason .copy h2{font-size:clamp(65px,17vw,104px);line-height:1.03;margin-bottom:32px}.reason .body-copy{font-size:14px;max-width:420px}
  .real-sky{height:auto;min-height:1250px}.real-sky .chapter-inner{position:relative;height:auto;min-height:1200px;padding:100px 9% 450px}
  .real-sky .copy{display:block}.real-sky .copy h2{font-size:64px;margin-bottom:28px}.real-sky .body-copy{font-size:14px;max-width:450px}.real-sky .body-copy+.body-copy{margin-top:18px}
  .science{min-height:auto}.science .chapter-inner{min-height:1000px;padding:100px 9% 130px}
  .science .science-copy{display:block}.science-heading{position:relative;top:auto}.science .science-copy h2{font-size:68px}
  .science-intro{max-width:450px;font-size:14px}.science-evidence{padding-top:45px}.research-list details{padding:8px 0}.research-list summary{font-size:27px;padding:23px 0}.research-body p{font-size:13px}.science-note{font-size:10px}
  .closing .chapter-inner{min-height:850px;padding:240px 8% 100px}.closing .copy h2{font-size:clamp(62px,17vw,94px)}.closing .lead{font-size:17px}.closing .store-badge{margin:18px auto 0}
}
@media(max-width:360px){.real-sky .copy h2{font-size:57px}.science .science-copy h2{font-size:61px}.reason .copy h2{font-size:60px}.closing .copy h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){.thought-word,.research-list details{opacity:1!important;transform:none!important}.motion-ready .letter-paper{transform:rotate(-2deg);clip-path:none}.motion-ready .closing-line{clip-path:none;transform:none}.reason{height:auto;min-height:100svh}.reason .chapter-inner,.real-sky .chapter-inner{position:relative}.science-heading{position:relative;top:auto}}

/* Starlight is an object to play with; the three shapes are the only controls. */
.wishes{height:155svh;min-height:1080px}
.wishes .chapter-inner{position:sticky;top:0;height:100svh;min-height:720px;padding:90px 8%;display:grid;grid-template-columns:.9fr 1.1fr;gap:3%;align-items:center}
.wishes .copy{width:100%;max-width:470px}.wishes .copy h2{font-size:clamp(76px,8.4vw,126px)}
.shape-playground{height:min(590px,80vh);min-height:460px;position:relative;align-self:center}
.shape-touch{position:absolute;inset:0 0 75px;cursor:crosshair;touch-action:pan-y}
.shape-choices{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:22px}
.shape-choices button{width:48px;height:48px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;padding:11px;background:transparent;color:#887899;transition:color .3s,border-color .3s,background .3s}
.shape-choices svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1;overflow:visible}
.shape-choices button:hover,.shape-choices button[aria-pressed=true]{color:#e8d5fa;border-color:#cdb4e049;background:#b69dce10}
@media(max-width:700px){.wishes{height:135svh;min-height:1050px}.wishes .chapter-inner{min-height:780px;height:100svh;display:flex;flex-direction:column;gap:0;padding:75px 9% 50px;justify-content:center;align-items:stretch}.wishes .copy{text-align:center;max-width:none}.wishes .copy h2{font-size:clamp(60px,16vw,88px);margin-bottom:16px}.shape-playground{width:100%;height:390px;min-height:390px;align-self:auto}.shape-touch{inset:0 0 65px}.shape-choices{gap:20px}}
@media(prefers-reduced-motion:reduce){.wishes{height:auto;min-height:100svh}.wishes .chapter-inner{position:relative}}

.real-sky .copy{text-shadow:0 2px 18px #03050ce6}

/* The letter is assembled in place. No paper slides in ahead of its stars. */
.letter-chapter{height:330svh;min-height:2250px}
.letter-inner{min-height:700px;height:100svh;padding:55px 0;perspective:none}
.letter-paper,.motion-ready .letter-paper{transform:none;clip-path:none;opacity:1;background:transparent;border-color:transparent;box-shadow:none;color:#f0e5f7}
.letter-paper:before{display:none}.letter-paper p,.letter-paper .letter-last-line,.letter-signoff span,.letter-topline{color:#ded0e8}.letter-topline img{filter:none;opacity:var(--paper-ink,0)}
.motion-ready .letter-word{opacity:var(--word-ink,0)}
.letter-word{display:inline-block}
.hero-touch{position:absolute;left:49%;right:4%;top:9%;bottom:9%;cursor:crosshair;touch-action:pan-y}
.hero-char{display:inline-block;transition:color .25s,text-shadow .25s,translate .3s}
.hero-char:hover{color:#fff;text-shadow:0 0 18px #ead7ff99;translate:0 -3px}
.constellation-reply{max-width:370px;margin-top:34px}.reply-source{font-size:11px;letter-spacing:.03em;color:#b6a2c9;margin-bottom:13px}
#reply-text{font-family:var(--serif);font-size:29px;line-height:1.35;color:#e0d1eb}
.wishes .copy h2{font-size:clamp(68px,7.2vw,110px)}
.shape-choices{gap:7px;width:max-content}.shape-choices button{width:auto;min-width:75px;height:48px;padding:10px 15px;border-radius:0;font-size:12px;border-width:0 0 1px;background:transparent!important}
@media(max-width:700px){.hero-touch{left:8%;right:8%;top:70px;bottom:auto;height:265px}.letter-chapter{height:340svh;min-height:2350px}.letter-inner{padding:38px 0;min-height:700px}.wishes{height:160svh;min-height:1250px}.wishes .chapter-inner{min-height:850px;padding:55px 9% 35px}.wishes .copy h2{font-size:57px;margin-bottom:22px}.constellation-reply{margin:0 auto 8px;max-width:340px}#reply-text{font-size:23px}.reply-source{font-size:10px;margin-bottom:8px}.shape-playground{height:365px;min-height:365px}.shape-choices button{font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.letter-chapter{height:auto;min-height:100svh}.letter-inner{position:relative}.motion-ready .letter-word,.letter-topline img{opacity:1}.hero-char:hover{translate:none;text-shadow:none}}

.hero-char{white-space:pre}
/* Keep constellation selection from moving the text or triggering scroll anchoring. */
#reply-text{min-height:3.95em}
@media(max-width:700px){#reply-text{min-height:5.4em}}

/* Quiet by default; interacting with the sky brings its reply into focus. */
.constellation-reply{opacity:calc(.70 + var(--constellation-focus,0)*.30);transform:translateY(calc((1 - var(--constellation-focus,0))*3px))}
#reply-text{text-shadow:0 0 calc(var(--constellation-focus,0)*24px) #d1b9ed28}
@media(prefers-reduced-motion:reduce){.constellation-reply{transform:none}}

/* A held chapter gives each celestial illustration time to gather and speak. */
.wishes{height:300svh;min-height:2160px}
@media(max-width:700px){.wishes{height:340svh;min-height:2700px}}
@media(prefers-reduced-motion:reduce){.wishes{height:auto;min-height:100svh}}

/* Photographic sky, clear reading columns, and a quiet company footer. */
.galaxy-photo{position:absolute;inset:0;z-index:1;opacity:0;overflow:hidden;background:#020305;pointer-events:none}
.galaxy-photo img{position:absolute;display:block;max-width:none;object-fit:fill;mask-image:linear-gradient(transparent,black 14%,black 87%,transparent)}
.universe #universe{z-index:2}.universe-vignette{z-index:3}
.real-sky{height:155svh;min-height:1080px}
.real-sky .chapter-inner{padding:85px 8% 0;min-height:720px}
.real-sky .copy{grid-template-columns:1.1fr .85fr;gap:20px 12%;align-items:start}
.real-sky .copy h2{font-size:clamp(64px,6.8vw,100px);max-width:540px;line-height:1.03}
.real-sky .body-copy{font-size:14px;line-height:1.9;max-width:365px;color:#c4bdce}
.science .chapter-inner{min-height:850px;padding:135px 8% 140px}
.science .science-copy{grid-template-columns:1fr 1fr;gap:12%}.science-heading{top:18vh}
.science .science-copy h2{font-size:clamp(65px,6.7vw,98px)}
.research-list details{padding:10px 0}.research-list summary{font-size:29px;padding:25px 0}
.closing{min-height:0}.closing .chapter-inner{min-height:680px;height:92svh;padding:190px 8% 65px;align-items:center}
.closing .copy{max-width:920px}.closing .copy h2{font-size:clamp(72px,8.2vw,116px);line-height:1;margin-bottom:26px}
.closing .lead{font-size:17px;line-height:1.65;margin-bottom:15px}.closing .store-badge{margin:16px auto 0}
.closing .download-note{font-size:10px;margin-top:4px}
.site-footer{margin:0 8%;padding:40px 0 30px;display:grid;grid-template-columns:1fr auto;gap:36px 60px;align-items:start;border-top:1px solid #d2c4df26}
.site-footer .footer-company{display:flex;flex-direction:column;gap:9px}.company-name{font-family:var(--sans);font-size:22px;color:#e4ddea;letter-spacing:-.035em;font-weight:500}.copyright{font-size:10px;color:#a295ad}
.footer-links{display:flex;gap:32px;align-items:center;font-size:12px;padding-top:6px}
.site-footer .footer-credits{display:grid;grid-template-columns:1fr 1fr;gap:30px;grid-column:1/-1;border-top:1px solid #d2c4df12;padding-top:20px}
.photo-credit,.site-footer .apple-credit{font-size:9px;line-height:1.8;padding:0;color:#93879e;margin:0}.photo-credit a{color:#bdb0c8}
@media(max-width:700px){
 .real-sky{height:155svh;min-height:1280px}.real-sky .chapter-inner{position:sticky;top:0;height:100svh;min-height:844px;padding:72px 9% 0}
 .real-sky .copy{display:block}.real-sky .copy h2{font-size:60px;margin-bottom:26px;max-width:340px}.real-sky .body-copy{font-size:13px;max-width:360px;line-height:1.85}.real-sky .body-copy+.body-copy{margin-top:17px}
 .science .chapter-inner{min-height:0;padding:100px 9% 110px}.science .science-copy{display:block}.science-heading{position:relative;top:auto}.science .science-copy h2{font-size:63px}.science-evidence{padding-top:35px}
 .research-list summary{font-size:26px;padding:23px 0}.research-list details{padding:7px 0}
 .closing .chapter-inner{height:88svh;min-height:640px;padding:150px 9% 60px}.closing .copy h2{font-size:clamp(57px,16vw,72px);margin-bottom:24px}.closing .lead{font-size:16px}.closing .download-note{font-size:9px}
 .site-footer{margin:0 9%;padding:32px 0 28px;grid-template-columns:1fr;gap:24px}.site-footer .footer-company{gap:6px}.company-name{font-size:22px}.footer-links{gap:29px;font-size:12px;padding:0}.site-footer .footer-credits{grid-template-columns:1fr;gap:14px;padding-top:19px}.photo-credit,.site-footer .apple-credit{font-size:8px;line-height:1.8}
}
@media(max-width:360px){.real-sky .copy h2{font-size:53px}.real-sky .body-copy{font-size:12px}.closing .copy h2{font-size:56px}}
@media(prefers-reduced-motion:reduce){.real-sky{height:auto}.real-sky .chapter-inner{position:relative}}
