@font-face{font-family:Newsreader;src:url(/fonts/newsreader.ttf) format(truetype);font-weight:400;font-display:swap}
:root{--paper:#f2f2f0;--ink:#3b2c29;--red:#ad2927;--muted:#65655f;--wash:#e6e6e0;--paper-texture:none;--grid:#69736b0e;--serif:Newsreader,serif;--utility:var(--serif);color:var(--ink);background:var(--paper);font-family:var(--serif);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:85px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:active{transform:scale(.97)}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}img{max-width:100%;height:auto}figure{margin:0}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;background:var(--paper);padding:15px;font-family:var(--utility)}.skip-link:focus{top:16px}
.site-header{position:absolute;inset:0 0 auto;z-index:20;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{font-family:var(--serif);font-size:37px;letter-spacing:-1.8px}.site-header nav{display:flex;align-items:center;gap:30px;font-family:var(--utility);font-size:12px}.site-header nav a{display:flex;align-items:center;min-height:44px}.hero{padding:128px 3vw 47px;position:relative;min-height:100vh}.hero-copy{text-align:center;position:relative;z-index:2}.eyebrow{font:10px var(--utility);letter-spacing:2px;margin:0 0 20px;color:var(--muted)}.hero h1{font-weight:400;font-size:clamp(58px,6.4vw,96px);letter-spacing:-4.5px;line-height:.95;margin:0}.hero-subtitle{font-size:18px;color:var(--muted);margin:23px 0 14px}.hero-stage{position:relative;display:flex;justify-content:center;align-items:center;gap:6vw;max-width:1320px;margin:26px auto 0;padding:30px 0 0;isolation:isolate;scroll-margin-top:22px}.hero-thread{position:absolute;inset:-3% -7%;width:114%;height:112%;z-index:-1;overflow:visible;pointer-events:none}.hero-thread path{fill:none;stroke:var(--red);stroke-width:1.6;vector-effect:non-scaling-stroke}.hero-stage figure{position:relative;text-align:center;flex-shrink:0}.hero-stage img{display:block;width:100%;filter:drop-shadow(0 20px 17px #3b2c290b)}.side-phone{width:clamp(175px,19vw,280px);padding-top:25px}.main-phone{width:clamp(220px,24vw,350px)}.hero-stage figcaption{font:12px var(--utility);margin-top:17px}.screen-tabs{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;max-width:920px;margin:29px auto 0;position:relative;z-index:3}.screen-tabs button{font:12px var(--utility);min-height:44px;padding:10px 17px;border:0;background:transparent;color:var(--muted);border-radius:0}.screen-tabs button[aria-pressed=true]{color:var(--red);position:relative}.screen-tabs button[aria-pressed=true]:after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--red);transform:rotate(-3deg)}.story-link{display:flex;gap:16px;justify-content:center;align-items:center;min-height:44px;margin:32px auto 0;font:12px var(--utility);color:var(--muted)}.story-link span{font-size:23px;color:var(--red)}
.story{position:relative;isolation:isolate}.story-thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.story-thread path{fill:none;stroke:var(--red);stroke-width:1.5;opacity:.65;vector-effect:non-scaling-stroke}.chapter{position:relative;max-width:1450px;margin:0 auto;padding:110px 7vw;display:grid;grid-template-columns:1fr 1.12fr;gap:8vw;align-items:center;min-height:880px;scroll-margin-top:25px}.chapter-copy{position:relative;z-index:2;max-width:560px}.chapter-label{display:inline-block;font:11px var(--utility);letter-spacing:1px;color:var(--muted);margin-bottom:35px}.chapter-number{position:absolute;left:3.7vw;top:110px;font:10px var(--utility);color:var(--muted)}.chapter-lines h2{font:400 clamp(40px,4.3vw,65px)/1.07 var(--serif);letter-spacing:-1.9px;margin:0 0 30px;text-wrap:pretty}.chapter-lines p{font-size:clamp(20px,2vw,28px);line-height:1.38;letter-spacing:-.4px;margin:16px 0;max-width:480px;text-wrap:pretty}.chapter-lines p:first-of-type{margin-top:28px}.chapter-visual{position:relative;min-height:560px;z-index:1}.chapter.reversed .chapter-copy{grid-column:2;grid-row:1}.chapter.reversed .chapter-visual{grid-column:1;grid-row:1}.print{background:#fffdf7;padding:10px;box-shadow:0 11px 20px #3b2c290d;position:absolute}.print img{width:100%;display:block;height:auto}.print figcaption{font:11px var(--utility);padding:14px 4px 3px;color:var(--muted)}.photo-cloud,.again-photos,.together-photos,.distance-photos,.family-photos,.others-photos{position:relative;width:100%;height:600px}.cloud-a{width:71%;right:-2%;top:25%;transform:rotate(5deg)}.cloud-b{width:53%;left:-6%;top:0;transform:rotate(-8deg)}.cloud-c{width:49%;left:-4%;bottom:0;transform:rotate(-4deg)}.cloud-d{width:34%;right:5%;bottom:6%;transform:rotate(8deg)}.chapter-contact{min-height:860px}.contact-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;background:var(--wash);padding:20px;transform:rotate(-3deg);position:relative;max-width:580px;margin-top:10px}.contact-sheet img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;display:block}.contact-sheet figcaption{font:10px var(--utility);padding:9px 0 0}.contact-sheet .circled{position:relative}.contact-sheet .circled:after{content:'';position:absolute;inset:-12px -9px -7px;border:2px solid var(--red);border-radius:45% 55% 50% 40%;transform:rotate(9deg)}.found-print{width:104%;left:-2%;top:15%;transform:rotate(2deg);padding:14px}.photo-corner{position:absolute;right:22px;bottom:22px;border:1px solid var(--red);border-radius:50%;color:var(--red);font:24px var(--serif);width:45px;height:45px;display:grid;place-items:center;background:var(--paper)}.chapter-found .chapter-visual{min-height:450px}.chapter-found{min-height:820px}.big-year{font-size:clamp(110px,16vw,220px);line-height:1;letter-spacing:-14px;color:var(--red);position:absolute;top:0;left:-4%}.again-a{width:64%;right:-3%;top:32%;transform:rotate(4deg)}.again-b{width:51%;left:0;bottom:0;transform:rotate(-5deg)}.together-a{width:79%;left:0;top:6%;transform:rotate(-4deg)}.together-b{width:65%;right:-4%;bottom:7%;transform:rotate(5deg)}.connection-point{width:15px;height:15px;border:1.5px solid var(--red);background:var(--paper);border-radius:50%;position:absolute}.point-a{left:-15px;top:170px}.point-b{right:-15px;bottom:170px}.story-phone{width:clamp(220px,23vw,335px);position:relative;display:block;margin:0 auto;z-index:2;filter:drop-shadow(0 17px 16px #3b2c290c)}.one-photo-stage,.chain-stage{position:relative;padding-top:10px}.small-print{width:48%;right:-5%;top:18%;transform:rotate(9deg);z-index:3}.chain-print{width:49%;left:-13%;top:45%;transform:rotate(-8deg);z-index:3}.reply-mark{position:absolute;font-size:93px;color:var(--red);left:-7%;top:34%;transform:rotate(-10deg);z-index:4}.chapter-chain{min-height:960px}.distance-a{width:62%;left:0;top:1%;transform:rotate(-7deg)}.distance-b{width:63%;right:-5%;top:35%;transform:rotate(4deg)}.distance-c{width:49%;left:-3%;bottom:-1%;transform:rotate(-4deg)}.chapter-distance .chapter-lines p{font-size:23px}.chapter-family{min-height:1130px}.chapter-family .chapter-visual{min-height:780px}.family-photos{height:790px}.family-a{width:95%;left:0;top:23%;transform:rotate(-3deg);z-index:2}.family-b{width:42%;right:-3%;top:0;transform:rotate(6deg)}.family-c{width:58%;left:-5%;bottom:0;transform:rotate(-5deg);z-index:3}.family-d{width:55%;right:-4%;bottom:13%;transform:rotate(5deg);z-index:4}.chapter-family .chapter-copy{max-width:550px}.chapter-family .chapter-lines h2{font-size:clamp(40px,4vw,60px)}.chapter-family .chapter-lines p:last-child{font-size:22px}.others-a{width:66%;left:-4%;top:0;transform:rotate(-6deg)}.others-b{width:64%;right:0;top:35%;transform:rotate(5deg)}.others-c{width:41%;left:0;bottom:0;transform:rotate(-5deg)}.chapter-others .chapter-lines h2{font-size:clamp(45px,4.9vw,74px)}
.chapter-closing{max-width:none;display:flex;flex-direction:column;gap:0;min-height:1150px;padding:90px 3vw 65px;text-align:center}.chapter-closing .chapter-copy{max-width:1000px}.chapter-closing .chapter-number,.chapter-closing .chapter-label{display:none}.chapter-closing .chapter-lines h2{font-size:clamp(56px,7vw,100px);letter-spacing:-3px;margin:0}.chapter-closing .closing-wordmark{font-size:clamp(60px,8vw,115px);line-height:1;margin:30px 0 10px;max-width:none;letter-spacing:-5px}.chapter-closing .chapter-visual{width:100%;min-height:0;margin-top:50px}.closing-phones{display:flex;align-items:center;justify-content:center;gap:4vw}.closing-phone{width:clamp(135px,17vw,244px);filter:drop-shadow(0 15px 20px #3b2c290d)}.closing-center{width:clamp(160px,20vw,280px)}.closing-left{transform:translateY(18px)}.closing-right{transform:translateY(18px)}.closing-link{font:13px var(--utility);min-height:44px;display:flex;align-items:center;margin:30px 0 0;color:var(--red)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 4vw 40px;font:11px var(--utility)}.site-footer .wordmark{font-size:30px}.site-footer>span{color:var(--muted)}.site-footer>a:last-child{min-height:44px;display:flex;align-items:center}
.no-script{padding:15px;font:13px var(--utility)}.screen-changing{animation:screen-change .3s ease-out}@keyframes screen-change{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chapter-visual{transition:opacity .55s ease-out,transform .65s cubic-bezier(.2,.8,.2,1)}.motion-ready .chapter:not(.seen) .chapter-visual{opacity:.15;transform:translateY(22px)}.chapter-copy{transition:opacity .4s ease-out}.chapter[data-current=true] .chapter-label{color:var(--red)}
@media(min-width:1700px){.hero{padding-top:155px}.hero-stage{gap:95px}.chapter{padding-left:80px;padding-right:80px;gap:130px}.chapter-number{left:20px}}
@media(max-width:950px){.site-header nav{gap:20px}.hero{padding-top:130px}.hero-stage{gap:3vw}.side-phone{width:22vw}.main-phone{width:29vw}.hero h1{font-size:74px}.chapter{padding:85px 5vw;gap:6vw;min-height:760px}.chapter-copy{max-width:400px}.chapter-lines h2{font-size:43px}.chapter-lines p{font-size:22px}.chapter-number{left:5vw;top:37px}.chapter-visual{min-height:480px}.photo-cloud,.again-photos,.together-photos,.distance-photos,.others-photos{height:480px}.chapter-family{min-height:990px}.family-photos{height:680px}.chapter-family .chapter-visual{min-height:680px}.story-phone{width:27vw}.chapter-closing{min-height:990px}.small-print{right:-6%}.chain-print{left:-8%}.chapter-others .chapter-lines h2{font-size:49px}}
@media(max-width:620px){:root{scroll-padding-top:25px}.site-header{padding:18px 20px;gap:12px}.wordmark{font-size:32px}.site-header nav{gap:13px;font-size:10px}.site-header nav>a:first-child{display:none}.hero{padding:128px 20px 40px;min-height:0}.eyebrow{font-size:8px;letter-spacing:1.2px}.hero h1{font-size:61px;letter-spacing:-3px}.hero-subtitle{font-size:16px;max-width:280px;margin:20px auto}.hero-stage{display:block;max-width:330px;margin:25px auto 0;padding:12px 0 0}.side-phone{display:none}.main-phone{width:min(75vw,310px);margin:auto}.hero-stage figcaption{font-size:11px}.hero-thread{inset:0 -20%;width:140%;height:100%}.screen-tabs{margin-top:23px;gap:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:390px}.screen-tabs button{font-size:10px;padding:9px 6px}.story-link{margin-top:24px;font-size:11px}.chapter{display:flex;flex-direction:column;gap:30px;align-items:stretch;min-height:0;padding:80px 25px 60px;scroll-margin-top:15px}.chapter-number{left:25px;top:29px}.chapter-label{font-size:10px;margin-bottom:23px}.chapter-copy{max-width:none}.chapter-lines h2{font-size:43px;letter-spacing:-1.6px;margin-bottom:24px}.chapter-lines p{font-size:21px;line-height:1.38;margin:14px 0}.chapter-visual{min-height:380px;margin-top:10px}.photo-cloud,.again-photos,.together-photos,.distance-photos,.others-photos{height:420px}.cloud-a{width:77%;right:-2%;top:29%}.cloud-b{width:60%;left:-3%}.cloud-c{width:54%;left:0;bottom:0}.cloud-d{width:37%;bottom:5%;right:1%}.chapter-contact{padding-bottom:80px}.contact-sheet{gap:9px;padding:12px;margin-top:12px}.contact-sheet figcaption{font-size:8px}.chapter-contact .chapter-visual{min-height:0}.chapter-found .chapter-visual{min-height:285px}.found-print{position:relative;top:auto;left:0;width:100%;margin-top:15px;padding:9px}.photo-corner{width:38px;height:38px;font-size:20px}.big-year{font-size:130px;letter-spacing:-9px}.again-a{width:70%;top:31%}.again-b{width:56%}.chapter-photo .chapter-visual,.chapter-chain .chapter-visual{min-height:610px}.story-phone{width:min(70vw,290px)}.small-print{right:-2%;width:47%}.chain-print{left:-2%;width:46%}.reply-mark{left:2%;font-size:75px}.chapter-distance .chapter-lines p{font-size:21px}.chapter-family .chapter-lines h2{font-size:43px}.chapter-family .chapter-lines p:last-child{font-size:21px}.chapter-family .chapter-visual{min-height:590px}.family-photos{height:590px}.family-a{top:24%;width:92%}.family-b{width:43%;right:0}.family-c{width:63%;left:-2%;bottom:0}.family-d{width:56%;right:0;bottom:17%}.chapter-others .chapter-lines h2{font-size:45px}.chapter-closing{padding:80px 18px 50px;min-height:0;gap:0}.chapter-closing .chapter-lines h2{font-size:59px;letter-spacing:-2.7px}.chapter-closing .closing-wordmark{font-size:83px;letter-spacing:-3px}.chapter-closing .chapter-visual{margin-top:42px;min-height:0}.closing-phones{gap:8px}.closing-phone{width:26vw}.closing-center{width:31vw}.closing-link{font-size:11px;margin-top:25px}.site-footer{padding:22px 20px 80px;flex-wrap:wrap;font-size:10px}.site-footer>span{order:3;flex-basis:100%;text-align:center;margin-top:10px}.site-footer .wordmark{font-size:29px}.story-thread path{stroke-width:1.2}.print{padding:7px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.chapter-visual,.chapter-copy{transition:none}.motion-ready .chapter:not(.seen) .chapter-visual{opacity:1;transform:none}.screen-changing{animation:none}button:active{transform:none}}



.hero,.story{overflow:hidden}
.chapter-closing{min-height:620px;justify-content:center}
/* Approved handmade-paper background stays behind photographs and phone frames. */
@media(max-width:620px){
  .site-header{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .hero{padding-top:108px}.hero h1{font-size:clamp(43px,12vw,61px);letter-spacing:-.045em;line-height:1.03}.play-button,.hero-stage figcaption,.screen-tabs button{font-size:12px}
  .hero-stage{display:flex;justify-content:flex-start;align-items:flex-start;gap:16px;width:calc(100% + 40px);max-width:none;margin:20px -20px 0;padding:12px max(20px,calc((100vw - 280px)/2)) 14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .hero-stage::-webkit-scrollbar{display:none}.hero-stage .side-phone,.hero-stage .main-phone{display:block;flex:0 0 min(74vw,280px);width:min(74vw,280px);padding:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always}.hero-thread{display:none}.screen-tabs{margin-top:14px}
  .chapter{padding:56px 24px 48px;gap:24px}.chapter-lines h2{font-size:clamp(34px,10vw,43px);line-height:1.12}.chapter-family .chapter-lines h2,.chapter-others .chapter-lines h2{font-size:clamp(34px,10vw,43px)}
  .story-phone{width:min(70vw,270px)}.chapter-photo .chapter-visual,.chapter-chain .chapter-visual{min-height:0}.one-photo-stage,.chain-stage{padding-bottom:24px}
  .site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
body{isolation:isolate;background:var(--paper)}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:36px 36px;}
.again-a{width:66%;left:0;right:auto;top:0;transform:rotate(-5deg)}.again-b{width:61%;right:-2%;left:auto;top:29%;bottom:auto;transform:rotate(5deg)}.again-c{width:56%;left:0;bottom:0;transform:rotate(-3deg)}
@media(max-width:620px){body::before{background-size:28px 28px}.again-photos{height:465px}.again-a{width:73%}.again-b{width:69%;top:31%}.again-c{width:67%}}
/* Give the two-line ending its own type hierarchy, independent of body copy. */
.chapter-again .chapter-lines h2{font-size:clamp(38px,4vw,60px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.chapter-found .chapter-lines p{line-height:1.42}
@media(max-width:620px){.chapter-again .chapter-lines h2{font-size:38px}.chapter-found .chapter-lines p{font-size:21px}}
.chapter-closing{align-items:center}.chapter-closing .chapter-lines{display:flex;flex-direction:column;align-items:center;gap:28px}.chapter-closing .chapter-lines h2{font:400 clamp(48px,7vw,104px)/1.08 var(--serif);letter-spacing:-.04em;max-width:16ch;margin:0;text-wrap:balance}.chapter-closing .chapter-lines p.closing-wordmark{font:400 clamp(40px,4.6vw,68px)/1.12 var(--serif);letter-spacing:-.04em;margin:0;max-width:none}.chapter-closing .closing-link{margin-top:38px}
@media(max-width:620px){.chapter-closing{padding:96px 20px 64px;min-height:0}.chapter-closing .chapter-lines{gap:24px}.chapter-closing .chapter-lines h2{font-size:48px;max-width:11ch}.chapter-closing .chapter-lines p.closing-wordmark{font-size:40px}.chapter-closing .closing-link{margin-top:32px}}

/* The year anchors the rediscovered beach photographs in the same memory. */
.again-photos{height:700px;isolation:isolate}.again-photos .big-year{top:0;left:0;font:400 clamp(130px,15vw,200px)/.9 var(--serif);letter-spacing:-.065em;color:var(--red)}
.again-photos .again-a{top:28%}.again-photos .again-b{top:47%}.again-photos .print{z-index:1}
.recall-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.recall-thread path{fill:none;stroke:var(--red);stroke-width:1.5;opacity:.6;vector-effect:non-scaling-stroke}
@media(min-width:621px) and (max-width:950px){.again-photos{height:600px}}
@media(max-width:620px){.again-photos{height:570px}.again-photos .big-year{font-size:130px}.again-photos .again-a{top:25%}.again-photos .again-b{top:48%}}
@media(prefers-reduced-motion:no-preference){.motion-ready .again-photos:not(.recalled) .print{opacity:1;translate:none}.motion-ready .again-photos .print{transition:opacity 300ms cubic-bezier(.4,0,.2,1),translate 400ms cubic-bezier(.4,0,.2,1)}.motion-ready .again-photos .again-b{transition-delay:90ms}.motion-ready .again-photos .again-c{transition-delay:180ms}.motion-ready .again-photos:not(.recalled) .recall-thread path{stroke-dasharray:1;stroke-dashoffset:1}.motion-ready .again-photos.recalled .recall-thread path{stroke-dasharray:1;animation:recall-thread 650ms cubic-bezier(.4,0,.2,1) both}@keyframes recall-thread{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}}

/* Three gestures: choosing one photograph, adding another side, sharing childhood. */
.memory-thread{position:absolute;pointer-events:none;overflow:visible}.memory-thread path{fill:none;stroke:var(--red);stroke-width:1.6;vector-effect:non-scaling-stroke}.memory-thread circle{fill:var(--paper);stroke:var(--red);stroke-width:1.5;vector-effect:non-scaling-stroke}
.contact-sheet .circled{z-index:2;transform:translateY(-8px) rotate(3deg);background:#fffdf7;padding:6px;box-shadow:0 12px 24px #3b2c2924}.contact-sheet .circled:after{display:none}.selection-ring{inset:-13px;width:calc(100% + 26px);height:calc(100% + 26px)}
.contribution-thread{left:-13%;top:0;width:113%;height:100%;z-index:4}.family-thread{inset:0;width:100%;height:100%;z-index:5;opacity:.8}
@media(max-width:620px){.contribution-thread{left:-2%;width:102%}.contact-sheet .circled{padding:4px}.selection-ring{inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px)}}
@media(prefers-reduced-motion:no-preference){.motion-ready [data-memory-reveal]:not(.recalled) .memory-thread path{stroke-dasharray:1;stroke-dashoffset:1}.motion-ready [data-memory-reveal].recalled .memory-thread path{stroke-dasharray:1;animation:recall-thread 700ms cubic-bezier(.4,0,.2,1) both}.motion-ready .contact-sheet:not(.recalled) .circled{transform:translateY(-8px) rotate(3deg)}.motion-ready .contact-sheet .circled{transition:transform 300ms cubic-bezier(.4,0,.2,1),box-shadow 300ms cubic-bezier(.4,0,.2,1)}.motion-ready .contact-sheet.recalled .selection-ring path{animation-delay:150ms}}



/* Persistent conversion point; never competes with guided playback. */
.waitlist-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:20px;min-height:56px;padding:7px 9px 7px 22px;border:1px solid #ad2927;border-radius:40px;background:var(--red);color:#fff7ef;font:16px var(--serif);text-decoration:none;box-shadow:0 7px 24px #3b2c2920;overflow:hidden;transition:transform 200ms cubic-bezier(.4,0,.2,1),box-shadow 200ms cubic-bezier(.4,0,.2,1)}
.waitlist-float:hover{transform:translateY(-2px);box-shadow:0 10px 28px #3b2c2930}.waitlist-float:active{transform:scale(.95)}
.waitlist-float:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.waitlist-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffff18;font-size:25px}
.waitlist-progress{position:absolute;left:18px;right:18px;bottom:3px;height:2px;transform:scaleX(0);transform-origin:left;background:#fff7ef80;pointer-events:none}
.story-motion :is(#camera-roll,#back-there,#conversation) .chapter-visual{opacity:1;transform:none;transition:none}
.story-motion .contact-sheet .circled,.story-motion .again-photos .print{translate:none;transition:none}
.story-motion :is(.contact-sheet,.again-photos,.chain-stage) path{animation:none!important;transition:none!important}
.story-motion .again-photos:not(.recalled) .print{opacity:1}
@media(max-width:950px){.waitlist-arrow{display:none}.waitlist-float{right:50%;transform:translateX(50%);bottom:calc(16px + env(safe-area-inset-bottom));min-width:218px;justify-content:center;padding:12px 24px}.waitlist-float:hover{transform:translateX(50%) translateY(-2px)}.waitlist-float:active{transform:translateX(50%) scale(.95)}.site-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.waitlist-float{transition:none}}

/* A tighter rhythm lets the photographs carry the complete story. */
.hero{min-height:0;padding-bottom:32px}
.hero-stage{gap:3.5vw;margin-top:12px;padding-top:18px}
.side-phone{width:clamp(175px,17vw,250px)}
.main-phone{width:clamp(220px,21vw,310px)}
.chapter{padding:64px 6vw;gap:5vw;min-height:0}
.chapter-visual{min-height:0}
.photo-cloud,.together-photos,.distance-photos,.others-photos{height:clamp(410px,42vw,560px)}
.chapter-found .chapter-visual{min-height:380px}
.again-photos{height:580px}
.chapter-family .chapter-visual{min-height:0}
.family-photos{height:660px}
.chapter-closing{min-height:440px;padding:72px 3vw 56px;gap:0}
.story-motion .chapter-visual{opacity:1!important;transform:none!important;transition:none}
.story-motion .print{transition:none!important}
.story-motion .family-thread path{animation:none!important;transition:none!important}
.waitlist-float{cursor:pointer}.waitlist-float:disabled{cursor:progress;opacity:.65}
html{scrollbar-gutter:stable}
body:has(.demo-waitlist[open]){overflow:hidden}
.demo-waitlist{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:40px;border:1px solid #3b2c2926;border-radius:18px;background:var(--paper,#f6f0e7);background-image:linear-gradient(#ad292706 1px,transparent 1px),linear-gradient(90deg,#ad292706 1px,transparent 1px);background-size:24px 24px;color:var(--ink);box-shadow:0 24px 100px #3b2c2933;overflow:auto}
.demo-waitlist::backdrop{background:#3b2c2970;backdrop-filter:blur(5px)}
.waitlist-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font:28px var(--serif);cursor:pointer}
.waitlist-wordmark{display:block;font:30px var(--serif);letter-spacing:-1px;margin-bottom:36px}
.demo-waitlist h2{font:400 40px/1.12 var(--serif);letter-spacing:-1.5px;margin:0 0 12px}
.waitlist-community{font:16px/1.5 var(--serif);margin:0 0 30px;color:var(--muted)}
.demo-waitlist label{display:block;font:16px var(--serif);margin-bottom:10px}
.demo-waitlist input{box-sizing:border-box;width:100%;min-height:52px;border:1px solid #3b2c2940;border-radius:8px;padding:12px 14px;background:#ffffff;color:var(--ink);font:18px var(--serif)}
.waitlist-submit{width:100%;min-height:52px;border:1px solid var(--red);border-radius:8px;background:var(--red);color:#fff7ef;font:18px var(--serif);margin-top:14px;cursor:pointer;transition:transform 180ms cubic-bezier(.4,0,.2,1),opacity 180ms}
.waitlist-submit:active,.waitlist-close:active{transform:scale(.95)}
.waitlist-submit:disabled{opacity:.6;cursor:wait}
.demo-waitlist :is(button,input):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.waitlist-status{font:16px/1.4 var(--serif);color:var(--red);margin:16px 0 0}
.waitlist-success p{font:28px var(--serif);margin:0}
.waitlist-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.demo-waitlist{width:min(520px,calc(100% - 32px));padding:38px;border-radius:30px;background:var(--paper);color:#242424;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center}
.waitlist-wordmark{font:600 36px/1.1 Newsreader,serif;letter-spacing:-1.2px;margin-bottom:24px}
.demo-waitlist h2{font:500 30px/1.2 system-ui,sans-serif;letter-spacing:-1px;max-width:360px;margin:0 auto 12px}
.waitlist-intro{font-size:14px;line-height:1.5;color:#626262;margin:0 0 24px}
.demo-waitlist form{text-align:left}.demo-waitlist label{font:500 14px system-ui,sans-serif;margin:16px 0 8px}
.demo-waitlist input{font:16px system-ui,sans-serif;min-height:48px;border-radius:10px}
.waitlist-helper{font:12px/1.5 system-ui,sans-serif;color:#666;margin:6px 0 0}.waitlist-helper:empty{display:none}
.demo-waitlist .waitlist-submit{font:500 15px system-ui,sans-serif;background:#242424;border-color:#242424;color:white;border-radius:28px;min-height:48px}
.waitlist-secondary{border:0;background:none;color:#333;min-height:44px;margin:8px 0 0;font:14px system-ui,sans-serif;cursor:pointer;text-decoration:underline}
.demo-waitlist h3{font:500 24px/1.3 system-ui,sans-serif;margin:10px 0 14px}.waitlist-pending p,.waitlist-verify p,.waitlist-success p{font:15px/1.6 system-ui,sans-serif;overflow-wrap:anywhere}
.demo-waitlist .waitlist-community{font:13px/1.5 system-ui,sans-serif;margin:22px 0 0;padding-top:18px;border-top:1px solid #eee;color:#626262}
.demo-waitlist .waitlist-status{font:14px/1.5 system-ui,sans-serif;text-align:left}
@media(min-width:621px) and (max-width:950px){.chapter{padding:52px 5vw}.photo-cloud,.together-photos,.distance-photos,.others-photos{height:440px}.again-photos{height:530px}.family-photos{height:590px}}
@media(max-width:620px){.hero-stage{gap:16px;margin-top:20px;padding-top:12px}.chapter{padding:40px 24px 36px;gap:20px}.chapter-visual{margin-top:0}.photo-cloud,.together-photos,.distance-photos,.others-photos{height:390px}.chapter-found .chapter-visual{min-height:0}.again-photos{height:490px}.family-photos{height:510px}.chapter-closing{padding:64px 20px 48px;gap:0}.demo-waitlist{padding:32px 24px}.demo-waitlist h2{font-size:36px}.waitlist-wordmark{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.waitlist-submit{transition:none}}
.phone-preview{display:block}
@media(max-width:620px){.site-header nav{gap:8px}}
.school-options{margin:-8px 0 16px;border:1px solid #3b2c2926;border-radius:12px;background:var(--paper);max-height:240px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 20px #3b2c290c;padding:5px;text-align:left}
.school-options[hidden]{display:none}.school-option{min-height:52px;padding:10px 12px;box-sizing:border-box;cursor:pointer;border-radius:8px;transition:background 150ms cubic-bezier(.4,0,.2,1);font:16px/1.3 Newsreader,serif;color:var(--ink)}
.school-option span,.school-option small{display:block}.school-option small{margin-top:4px;font:12px/1.3 system-ui,sans-serif;color:#3b2c29}.school-option:hover,.school-option[aria-selected="true"]{background:#3b2c290b}.school-option:active{background:#ad292712}
@media(prefers-reduced-motion:reduce){.school-option{transition:none}}

/* Official owner-supplied ribbon logo, October 7. */
.wordmark,.waitlist-wordmark{display:inline-flex;align-items:center;gap:10px;min-height:44px}.site-footer 

/* Handmade paper: reference-sampled neutral stock, ink, and mounted photographs. */
.hero h1,.chapter-lines h2,.closing-wordmark{color:var(--ink);font-weight:400}
.hero-subtitle{color:var(--muted);line-height:1.5}
.hero-stage figcaption,.screen-tabs button,.story-link,.closing-link,.site-footer{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.hero-stage figcaption{font-size:11px;letter-spacing:.025em;color:var(--muted)}
.screen-tabs{gap:4px}
.screen-tabs button{font-size:12px;padding-inline:16px}
.screen-tabs button[aria-pressed=true]:after{height:1px;transform:none;background:var(--red)}
.story-link{font-size:12px;letter-spacing:.015em}
.print{background:#fafaf7 var(--paper-texture) repeat;background-size:720px;padding:7px;box-shadow:0 1px 2px #3b2c2920,0 8px 16px -10px #3b2c2935}
.found-print{padding:9px}
.contact-sheet{background:var(--wash) var(--paper-texture) repeat;background-size:720px;background-blend-mode:multiply;padding:16px;gap:10px;box-shadow:0 1px 2px #3b2c2915,0 10px 22px -15px #3b2c2935}
.hero-stage img,.story-phone{filter:drop-shadow(0 9px 10px #3b2c290b)}
.hero-thread path,.story-thread path{opacity:.48}
.waitlist-float{border:1px solid #3b2c2926;border-radius:5px;background:var(--ink) var(--paper-texture) repeat;background-size:560px;background-blend-mode:multiply;color:#f8f8f5;font:500 14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 2px 4px #3b2c290c,0 8px 22px #3b2c2914}
.waitlist-float:hover{box-shadow:0 3px 6px #3b2c2912,0 10px 24px #3b2c291c}
.waitlist-arrow{background:transparent;color:#f8f8f5;border-radius:0;font-size:23px}
.waitlist-progress{background:var(--red);bottom:0;left:0;right:0;height:2px}
.demo-waitlist{background:var(--paper) var(--paper-texture) repeat;background-size:720px;border:1px solid #3b2c2926;border-radius:6px;color:var(--ink);box-shadow:0 3px 8px #3b2c2918,0 24px 70px #3b2c2930}
.demo-waitlist::backdrop{background:#3b2c2966;backdrop-filter:blur(4px)}
.demo-waitlist h2,.demo-waitlist h3{font-family:Newsreader,serif;font-weight:400;letter-spacing:-.035em}
.demo-waitlist h2{font-size:38px}
.demo-waitlist input{background:#ffffffa6;border:1px solid #3b2c2938;border-radius:3px;color:var(--ink)}
.demo-waitlist .waitlist-submit{background:var(--ink);border-color:var(--ink);border-radius:3px;color:#f8f8f5}
.demo-waitlist .waitlist-community{border-color:#3b2c2926;color:var(--muted)}
.school-options{border-radius:3px;background:#f8f8f5;border-color:#3b2c2926}
.school-option{border-radius:2px}.school-option small{color:var(--muted)}
.site-footer{border-top:1px solid #3b2c2916;margin-inline:4vw;padding-inline:0}
@media(max-width:620px){.print{padding:5px}.found-print{padding:7px}.contact-sheet{padding:12px;gap:9px}.screen-tabs button{font-size:11px;padding-inline:6px}.site-footer{margin-inline:20px}.demo-waitlist h2{font-size:34px}}

/* Original near-white handmade paper with restrained editorial card shadows. */
.hero-stage img,.story-phone{border-radius:21px;filter:drop-shadow(0 2px 2px #3b2c2908) drop-shadow(0 12px 16px #3b2c2910)}

.site-header .about-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font:400 17px var(--serif);transition:color 180ms ease,transform 180ms ease}.about-link:hover{color:var(--red)}.about-link:active{transform:scale(.95)}

/* Floating college suggestions keep the form geometry stable. */
.school-field{position:relative;margin-bottom:8px}
.demo-waitlist .school-field input{margin-bottom:0}
.school-field .school-options{position:absolute;inset:calc(100% + 6px) 0 auto;z-index:10;margin:0;max-height:min(200px,30dvh);background:#f8f8f5;border:1px solid #3b2c2930;border-radius:12px;box-shadow:0 10px 28px #3b2c2926;padding:5px;overscroll-behavior:contain}
#school-status{min-height:32px;margin:0 0 8px;font:12px/16px system-ui;color:var(--muted)}
.demo-waitlist{border-radius:21px;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px}
.demo-waitlist .waitlist-wordmark{font:400 38px/1.1 var(--serif);letter-spacing:-1.4px}
.demo-waitlist input{border-radius:9px;background:#f8f8f5}
.demo-waitlist .waitlist-submit{background:var(--red);border-color:var(--red);border-radius:9px;color:#fff}
.waitlist-float{background:var(--red);border-color:var(--red);color:#fff;border-radius:14px}
.school-option{border-radius:7px}.school-option[aria-selected="true"]{background:#ad29270d;color:var(--red)}

/* Restrained contrast: brown reading text, red actions, quiet backgrounds. */
:root{--ink:#3b2c29;--muted:#3b2c29;--grid:#69736b0a;--wash:#eeeee9}
.demo-waitlist::backdrop{background:rgba(59,44,41,.20);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hero-subtitle,.hero-stage figcaption,.story-link,.site-footer{color:var(--muted)}
.screen-tabs button{color:var(--muted)}.screen-tabs button[aria-pressed=true]{color:var(--red)}
.demo-waitlist{box-shadow:0 2px 8px #3b2c2910,0 24px 60px #3b2c2926}
.demo-waitlist input{border-color:#3b2c2928}.demo-waitlist input:focus{border-color:var(--red);outline:2px solid #ad292720;outline-offset:2px}

/* Continuous page, full-width chapters, native proximity settling. */
html{scroll-snap-type:y mandatory;scroll-padding-top:0;scroll-behavior:smooth}
.hero,.chapter{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0;min-height:100svh}
.chapter{max-width:none;width:100%;padding-inline:max(7vw,calc((100vw - 1247px)/2));background-color:#f2f2f0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:36px 36px}
.chapter-roll,.chapter-together,.chapter-distance{background-color:#eeefea}
.chapter-contact,.chapter-photo,.chapter-family{background-color:#f3eee9}
.chapter-found,.chapter-chain,.chapter-others{background-color:#ecefeb}
.chapter-again,.chapter-closing{background-color:#f2f2f0}
.chapter-closing{display:flex;flex-direction:column;justify-content:center;align-items:center}
@media(max-width:950px){.chapter{padding-inline:5vw}}
@media(max-width:620px){.chapter{padding-inline:24px;background-size:28px 28px}.chapter-closing{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none;scroll-behavior:auto}}
body{overflow-x:clip;overflow-y:visible}.site-footer{scroll-snap-align:end}@media(prefers-reduced-motion:reduce){.site-footer{scroll-snap-align:none}}
.story{overflow:clip}
:root{scroll-padding-top:0}

/* Approved local-study palette, applied without its layout. */
:root{--paper:#f5f4ef;--wash:#e7e5dc}
.chapter{background-color:#f5f4ef}
.chapter-contact,.chapter-family{background-color:#e7e5dc}
.chapter-found{--ink:#f5f4ef;--muted:#ded9d1;color:#f5f4ef;background-color:#3b2c29;background-image:none}
.chapter-found .chapter-lines h2,.chapter-found .chapter-lines p{color:#f5f4ef}
@media(prefers-reduced-motion:reduce){.hero,.chapter{scroll-snap-stop:normal}}

/* Refined UI scale: intact aspect ratios, consistent cards, clear photo mounts. */
.hero{--preview-width:clamp(220px,min(22vw,calc(48svh - 170px)),290px)}
.hero-stage{gap:clamp(24px,4vw,64px);align-items:center}
.hero-stage .main-phone{width:var(--preview-width)}
.hero-stage .side-phone{width:calc(var(--preview-width)*.88);padding-top:0}
.hero-stage img,.story-phone{height:auto;aspect-ratio:424/878;object-fit:contain;border-radius:clamp(14px,1.6vw,21px)}
.story-phone{width:min(100%,280px)}
.one-photo-stage,.chain-stage{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 0 26px;position:relative}
.one-photo-stage .story-phone,.chain-stage .story-phone{margin:0;flex:none;width:min(66%,280px)}
.one-photo-stage .small-print,.chain-stage .chain-print{position:relative;inset:auto;width:28%;flex:none;transform:rotate(4deg);margin-top:150px;z-index:3}
.chain-stage .chain-print{transform:rotate(-5deg);margin-top:210px}
.chain-stage .contribution-thread{display:none}
.chapter-distance{--ink:#f5f4ef;--muted:#ded9d1;background:#3b2c29;color:#f5f4ef}
.chapter-distance .chapter-lines h2,.chapter-distance .chapter-lines p{color:#f5f4ef}
.chapter-photo,.chapter-others{background-color:#eeece4}
@media(min-width:951px){.hero{padding-top:110px}.hero h1{font-size:clamp(60px,6vw,86px)}.hero-subtitle{margin-top:18px}.screen-tabs{margin-top:20px}.story-link{margin-top:18px}}
@media(max-width:620px){
 .hero{--preview-width:clamp(224px,min(72vw,calc(48svh - 165px)),270px)}
 .hero-stage{gap:16px;padding-inline:max(20px,calc((100% - var(--preview-width))/2));align-items:flex-start}
 .hero-stage .main-phone,.hero-stage .side-phone{flex:0 0 var(--preview-width);width:var(--preview-width);padding:0}
 .one-photo-stage,.chain-stage{gap:12px;align-items:flex-start;padding-bottom:44px}
 .one-photo-stage .story-phone,.chain-stage .story-phone{width:72%;max-width:250px}
 .one-photo-stage .small-print,.chain-stage .chain-print{width:24%;margin-top:120px}
 .chain-stage .chain-print{margin-top:185px}
}
@media(max-width:620px){.one-photo-stage,.chain-stage{flex-wrap:wrap;justify-content:center;row-gap:22px}.one-photo-stage .story-phone,.chain-stage .story-phone{width:min(100%,270px);max-width:270px}.one-photo-stage .small-print,.chain-stage .chain-print{width:100px;max-width:34%;margin:0 8px 0 auto}}

/* Larger readable UI previews and three clearly separated section colors. */
.hero{--preview-width:clamp(300px,28vw,360px)}
.hero-stage{gap:clamp(20px,3vw,48px)}
.story-phone{width:min(100%,340px)}
.one-photo-stage,.chain-stage{flex-wrap:wrap;row-gap:22px}
.one-photo-stage .story-phone,.chain-stage .story-phone{width:min(100%,340px);max-width:340px}
.one-photo-stage .small-print,.chain-stage .chain-print{width:110px;max-width:28%;margin:0 0 0 auto}
.chapter-contact,.chapter-family,.chapter-photo,.chapter-others{background-color:#dce3d5}
@media(min-width:621px) and (max-width:950px){.hero{--preview-width:clamp(220px,30vw,285px)}.hero-stage{gap:18px}.one-photo-stage .story-phone,.chain-stage .story-phone{width:min(100%,320px)}}
@media(max-width:620px){.hero{--preview-width:min(calc(100vw - 48px),340px)}.hero-stage .main-phone,.hero-stage .side-phone{width:var(--preview-width);flex-basis:var(--preview-width)}.one-photo-stage .story-phone,.chain-stage .story-phone{width:100%;max-width:340px}.one-photo-stage,.chain-stage{row-gap:24px}}

/* Deep sage grounds the cream and brown chapters. */
.chapter-contact,.chapter-family,.chapter-photo,.chapter-others{--ink:#f5f4ef;--muted:#e2e5dd;--grid:#f5f4ef0b;background-color:#536352;color:#f5f4ef}
.chapter-contact .chapter-lines :is(h2,p),.chapter-family .chapter-lines :is(h2,p),.chapter-photo .chapter-lines :is(h2,p),.chapter-others .chapter-lines :is(h2,p){color:#f5f4ef}

/* Distinct neighboring chapters: cream hero, then brown/sage/cream variations. */
.chapter-roll,.chapter-together,.chapter-others{--ink:#f5f4ef;--muted:#ded9d1;--grid:#f5f4ef0b;color:#f5f4ef;background-color:#3b2c29}
.chapter-roll .chapter-lines :is(h2,p),.chapter-together .chapter-lines :is(h2,p),.chapter-others .chapter-lines :is(h2,p){color:#f5f4ef}
.site-footer{background-color:#3b2c29;color:#f5f4ef}
.site-footer a,.site-footer span{color:#f5f4ef}

/* Keep chapter surfaces behind the continuous original thread. */
.story .chapter{--section-bg:#f5f4ef;--ink:#3b2c29;--muted:#3b2c29;--grid:#69736b0a;background:none;color:var(--ink)}
.story .chapter:nth-of-type(3n + 1){--section-bg:#3b2c29;--ink:#f5f4ef;--muted:#ded9d1;--grid:#f5f4ef0b}
.story .chapter:nth-of-type(3n + 2){--section-bg:#536352;--ink:#f5f4ef;--muted:#e2e5dd;--grid:#f5f4ef0b}
.story .chapter::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background-color:var(--section-bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:36px 36px}
.story .chapter .chapter-lines :is(h2,p){color:var(--ink)}
.story-thread{z-index:-1}
.story-thread path{stroke:#ad2927;stroke-width:2;opacity:1}
.site-footer{background-color:#f5f4ef;color:#3b2c29}
.site-footer a,.site-footer span{color:inherit}
@media(max-width:620px){.story .chapter::before{background-size:28px 28px}.story-thread path{stroke-width:1.7}}

/* Preview follows the story; keep its footer distinct. */
.site-footer{background-color:#3b2c29;color:#f5f4ef}

/* The bottom showcase is a destination, with controls before its large previews. */
#app-preview{padding:64px 3vw 120px;min-height:100svh;scroll-margin-top:0}
#app-preview h1{font-size:clamp(44px,5vw,68px);letter-spacing:-.045em}
#app-preview .hero-subtitle{margin:14px 0 24px}
#app-preview .screen-tabs{margin:0 auto 24px}
#app-preview .hero-stage{margin-top:0;padding-top:0}
#app-preview .story-link{margin-top:28px}
@media(max-width:620px){#app-preview{padding:42px 0 120px}#app-preview .hero-copy{padding-inline:24px}#app-preview .screen-tabs{padding-inline:16px;gap:4px}#app-preview .screen-tabs button{padding-inline:12px}#app-preview .hero-stage{padding-bottom:18px}}

/* Continuous native scrolling; section boundaries no longer capture the viewport. */
html{scroll-snap-type:none;scroll-behavior:smooth}
.photo-entry,.hero,.chapter,.site-footer{scroll-snap-align:none;scroll-snap-stop:normal}
.hero-stage{scroll-snap-type:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Full-bleed footer band, with spacing applied inside rather than outside. */
.site-footer{width:100%;max-width:none;margin-inline:0;border-radius:0;box-sizing:border-box}

.site-footer{padding-inline:clamp(24px,4vw,80px);justify-content:flex-start;gap:32px}
.site-footer>span{max-width:calc(100% - 24px)}

/* Native scrolling: artwork and copy are already in their final, readable state. */
.motion-ready .chapter-visual,.motion-ready .chapter-copy{transition:none;opacity:1;transform:none}
:is(.contact-sheet,.again-photos,.chain-stage,.family-thread,.hero-thread) path{animation:none!important;transition:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}

/* Supporting photographs should read as photographs, not tiny thumbnails. */
.one-photo-stage,.chain-stage{justify-content:center;gap:28px;align-items:center;height:auto}
.one-photo-stage .small-print,.chain-stage .chain-print{width:220px;max-width:75%;flex:0 0 auto;margin:12px auto 0;padding:10px}
@media(min-width:1100px){.one-photo-stage .small-print,.chain-stage .chain-print{width:clamp(180px,16vw,240px);max-width:100%;margin:20px auto}}

/* Equal chapter rhythm; supporting photos must fit inside the shared canvas. */
.story .chapter{height:max(900px,100svh);min-height:0;box-sizing:border-box;padding-block:48px}
.story .chapter-visual{min-height:0}
.one-photo-stage,.chain-stage{gap:20px;padding-bottom:0}
@media(max-width:620px){
 .story .chapter{padding-block:32px;justify-content:center;gap:24px}
 .story .chapter-visual{flex:0 0 auto;margin-top:0}
 .story .chapter-found .story-phone{width:min(100%,240px)}
 .story .one-photo-stage .story-phone,.story .chain-stage .story-phone{width:clamp(220px,60vw,240px);height:auto;aspect-ratio:424/878;object-fit:contain}
 .story .one-photo-stage .small-print,.story .chain-stage .chain-print{width:200px;max-width:75%;margin:0 auto}
 .story .chapter-family .family-photos{height:440px}
 .story .chapter-again .again-photos{height:440px}
}

@media(min-width:621px){.story .one-photo-stage .story-phone,.story .chain-stage .story-phone{width:300px;max-width:100%;height:540px;aspect-ratio:auto;object-fit:cover;object-position:top}}

@media(max-width:620px){.story .chapter-chain{padding-block:24px}.story .chain-stage{gap:12px}.story .chain-stage .story-phone{width:200px}}

/* Paired photos sit beside the preview, never underneath it. */
.story .one-photo-stage,.story .chain-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:center;width:100%;margin:0}
.story .one-photo-stage .story-phone,.story .chain-stage .story-phone{width:100%;max-width:340px;height:auto;aspect-ratio:424/878;object-fit:contain;margin:0}
.story .one-photo-stage .small-print,.story .chain-stage .chain-print{width:100%;max-width:240px;margin:0;padding:8px;box-sizing:border-box}
@media(max-width:620px){.story .one-photo-stage,.story .chain-stage{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;width:calc(100% + 32px);margin-inline:-16px}.story .one-photo-stage .small-print,.story .chain-stage .chain-print{padding:6px}}
/* The same waitlist entry stays at bottom right before and after registration. */
.waitlist-float{display:flex;visibility:visible;pointer-events:auto;position:fixed;left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-width:0;padding:12px 18px;transform:none;z-index:90}
.waitlist-float:hover{transform:none}.waitlist-float:active{transform:scale(.95)}
.demo-waitlist[data-dismissible="true"] .waitlist-close{display:grid;place-items:center}
.signup-confetti{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;pointer-events:none;z-index:5;border-radius:0}
.signup-confetti::backdrop{background:transparent;pointer-events:none}
#app-preview .hero-copy{text-align:center}
#app-preview .hero-subtitle{max-width:none;text-align:center}

.waitlist-float{min-height:44px;padding:8px 16px;gap:0}.waitlist-float .waitlist-arrow{display:none}
