@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#eee6d9;--cream:#f8f3ea;--ink:#342a24;--muted:#6c5d52;--rust:#9b5942;--green:#596054}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}button,a{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,blockquote,.pull,.final-answer,footer p{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-.025em}h2{font-size:clamp(3.3rem,7vw,7.8rem);margin:.4em 0}.kicker,.eyebrow,.section-number,.chapter-index{font-size:.78rem;letter-spacing:.18em;font-weight:600;text-transform:uppercase}.kicker,.section-number{color:var(--rust)}p{margin:0 0 1.2em}.opening{height:100svh;min-height:650px;position:relative;color:white;background:#403c31}.opening>img{position:absolute;inset:0;object-position:center 35%}.opening-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,23,19,.68),rgba(29,23,19,.12) 75%),linear-gradient(0deg,rgba(29,23,19,.3),transparent 50%)}.opening-content{position:absolute;inset:0;padding:clamp(28px,6vw,100px);display:flex;align-items:flex-start;flex-direction:column;justify-content:center;max-width:1050px}.opening h1{font-size:clamp(3.3rem,7vw,7.5rem);margin:.28em 0}.opening p{font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.8rem)}.start{color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;border-bottom:1px solid currentColor;padding:13px 0;display:flex;gap:35px;margin-top:30px}.start span{font-size:1.3rem}.opening small{position:absolute;bottom:32px;font-size:.78rem;letter-spacing:.1em}.story{overflow:hidden}.chapter-index{display:flex;justify-content:space-between;padding:26px 5vw;border-bottom:1px solid #d6cabc;color:var(--muted)}.chapter{padding:clamp(80px,12vw,180px) max(6vw,22px);position:relative}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.childhood{background:var(--paper)}.intro{max-width:780px;margin:0 auto 65px;text-align:center}.intro h2{font-size:clamp(3.8rem,8vw,8rem)}.intro p:first-of-type{font-family:Georgia,serif;font-size:2rem}.intro p:last-child{max-width:510px;margin:0 auto}.archive{display:flex;align-items:center;justify-content:center;gap:5vw}.archive .photo{width:49%;max-width:600px;aspect-ratio:4/5;background:#fff;padding:12px 12px 55px;box-shadow:0 16px 35px #493b2e2b}.archive .tilted{transform:rotate(-4deg)}.archive .second{width:39%;aspect-ratio:4/4.5;transform:rotate(3deg);margin-top:110px}.memory{text-align:center;margin:100px 0 0}.text-button{border:0;border-bottom:1px solid var(--rust);background:transparent;color:var(--rust);padding:12px 0;text-transform:uppercase;letter-spacing:.11em;font-size:.81rem}.text-button span{margin-left:20px}.hidden-answer{font:clamp(2rem,4vw,4rem)/1.15 'Libre Caslon Display',Georgia,serif;margin:40px auto;max-width:700px}.lessons{background:var(--cream)}.section-number{margin-bottom:60px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.lesson-grid h2{font-size:clamp(3.6rem,6vw,7rem)}.lesson-grid ul{padding:0;list-style:none;max-width:450px}.lesson-grid li{border-bottom:1px solid #d6cabc;padding:14px 0}.lesson-photo{margin:0;height:720px;max-height:75vw}.recipe{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;margin:150px auto 0;max-width:1200px}.recipe img{height:auto;box-shadow:0 20px 45px #4b342522;transform:rotate(-2deg)}.recipe p{font-size:1.2rem}.recipe blockquote{font-size:clamp(2.8rem,5vw,5rem);margin:25px 0;color:var(--rust)}.growing{background:#6d695d;color:#fff}.growing .kicker{color:#e3c4ad}.growing h2{max-width:900px}.wide-photo{margin:55px 0 0;height:min(65vw,760px)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin:70px 0;align-items:start}.two-column p:first-child{max-width:490px}.pull{font-size:clamp(2.7rem,4vw,5rem)}.aside-photo{width:47%;height:370px;margin:0 0 0 auto}.leaving{padding:0;display:grid;grid-template-columns:1fr 1fr;background:#b9a994}.leaving-image{min-height:830px}.leaving-copy{padding:clamp(80px,9vw,150px) 7vw;align-self:center}.leaving-copy h2{font-size:clamp(3.5rem,6vw,7rem)}.leaving-copy p{max-width:460px}.question{margin-top:80px}.question em{font:clamp(2.5rem,4vw,5rem) 'Libre Caslon Display',Georgia,serif;display:block;margin-top:12px}.together{text-align:center;background:#f8f3ea}.adult-gallery{display:grid;grid-template-columns:.85fr 1.15fr .8fr;gap:16px;align-items:center;margin:80px -2vw}.adult-gallery img{height:440px}.adult-gallery img:nth-child(2){height:600px}.adult-copy{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:7vw;max-width:1000px;margin:auto;font-size:1.13rem}.mirror{background:#e5d5c2}.mirror h2{max-width:860px}.mirror .lead{max-width:670px;font:clamp(1.6rem,2.5vw,2.4rem)/1.35 Georgia,serif;margin:30px 0 85px}.then-now{display:grid;grid-template-columns:1fr 1fr;gap:24px}.then-now figure{margin:0}.then-now img{height:clamp(260px,42vw,560px)}figcaption{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;padding-top:15px}.fragments{margin:120px auto 0;max-width:690px;display:grid;gap:20px;text-align:center;font:clamp(1.6rem,3vw,3rem)/1.2 'Libre Caslon Display',Georgia,serif}.fragments span{padding:15px;border-bottom:1px solid #bfae9c}.fragments strong{font-weight:400;color:var(--rust);margin-top:30px}.audio-moment{text-align:center;background:#555f54;color:#fff;padding:170px 20px}.audio-moment .kicker{color:#d9c6a6}.audio-moment h2{font-size:clamp(3.6rem,7vw,7rem)}.audio-moment>p{text-transform:uppercase;letter-spacing:.18em}.audio-player{display:flex;align-items:center;gap:24px;max-width:490px;margin:65px auto 0;text-align:left}.audio-player button{width:76px;height:76px;flex:none;border:1px solid #fff8;border-radius:50%;color:white;background:transparent;font-size:1.4rem}.audio-details{flex:1}.audio-details span{display:block;margin-bottom:14px}.track{height:2px;background:#fff6}.track div{height:100%;width:0;background:white}.audio-details small{display:block;margin-top:8px;font-size:.82rem}.today{background:var(--cream)}.today-heading{text-align:center}.today-heading p{font:clamp(1.6rem,2.4vw,2.4rem)/1.3 Georgia,serif}.today-photos{display:grid;grid-template-columns:.75fr 1fr .9fr;gap:16px;align-items:center;margin:80px -2vw}.today-photos img{height:480px}.today-photos img:first-child{height:570px}.today-photos img:last-child{height:390px}.today-copy{text-align:center;max-width:600px;margin:auto;font:clamp(1.5rem,2.5vw,2.3rem)/1.45 Georgia,serif}.arrival{text-align:center;background:#ddd0bb;padding:170px 20px}.arrival h2{font-size:clamp(3.5rem,7vw,7rem);max-width:950px;margin:35px auto 60px}.reveal-button{background:var(--ink);color:white;border:0;padding:18px 45px;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem}.arrival-reveal{max-width:620px;margin:80px auto 0}.arrival-reveal img{height:auto;box-shadow:0 20px 45px #45352730;margin-bottom:55px}.final-answer{font-size:clamp(2.7rem,5vw,5.2rem);margin:100px -12vw 30px}.ending{position:relative;min-height:850px;color:white;display:grid;align-items:center}.ending>img{position:absolute;inset:0}.ending:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#241c1aca,transparent)}.ending-text{position:relative;z-index:1;padding:10vw;max-width:780px}.ending-text h2{font-size:clamp(4.5rem,8vw,9rem)}.ending-text p{font:clamp(1.45rem,2.3vw,2rem)/1.4 Georgia,serif}.signature{margin-top:55px}.ending-text small{font-size:.85rem}footer{text-align:center;padding:110px 20px 70px;background:#eee6d9}footer p{font-size:clamp(2.5rem,4vw,5rem);margin:0 auto 90px}footer small{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}footer strong{font-size:.95rem;color:var(--ink)}[hidden]{display:none!important}
@media(max-width:700px){body{font-size:16px}.opening{min-height:620px}.opening>img{object-position:58% center}.opening-shade{background:linear-gradient(0deg,#231d1bd9,transparent 85%)}.opening-content{justify-content:flex-end;padding:26px 24px 85px}.opening h1{font-size:clamp(3.2rem,10vw,5rem)}.opening p{font-size:1.2rem}.start{margin-top:16px}.opening small{bottom:20px}.chapter-index{padding:18px 22px;font-size:.65rem}.chapter{padding:85px 24px}.intro{margin-bottom:55px}.intro h2{font-size:3.8rem}.archive{gap:0;align-items:flex-start}.archive .photo{width:65%;padding:6px 6px 25px}.archive .second{width:48%;margin:130px 0 0 -35px}.memory{margin:75px 0 0}.lesson-grid,.recipe,.two-column,.adult-copy,.leaving,.then-now{grid-template-columns:1fr}.lesson-grid{gap:35px}.lesson-grid h2{font-size:3.7rem}.lesson-photo{height:490px;max-height:none}.recipe{margin-top:95px;gap:40px}.recipe p{font-size:1rem}.growing .wide-photo{height:410px;margin:45px -24px 0}.two-column{gap:25px}.pull{font-size:2.8rem}.aside-photo{width:75%;height:240px}.leaving{padding:0}.leaving-image{min-height:500px}.leaving-copy{padding:75px 24px}.leaving-copy h2{font-size:3.9rem}.question{margin-top:55px}.together h2,.mirror h2,.today h2{font-size:3.8rem}.adult-gallery{margin:55px -24px;display:flex;overflow:hidden;gap:8px}.adult-gallery img{width:34%;height:310px}.adult-gallery img:nth-child(2){height:370px}.adult-copy{gap:10px}.mirror .lead{font-size:1.5rem;margin-bottom:50px}.then-now{gap:35px}.then-now img{height:350px}.fragments{margin-top:80px;font-size:2rem}.audio-moment{padding:130px 24px}.audio-moment h2{font-size:3.6rem}.audio-player{margin-top:50px}.today-photos{margin:60px -24px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.today-photos img{height:270px}.today-photos img:first-child{height:380px;grid-row:span 2}.today-photos img:last-child{height:102px}.today-copy{font-size:1.5rem}.arrival{padding:120px 22px}.arrival h2{font-size:3.7rem}.arrival-reveal{margin-top:65px}.final-answer{margin:75px 0;font-size:2.8rem}.ending{min-height:790px;align-items:end}.ending>img{object-position:58% center}.ending:after{background:linear-gradient(0deg,#211a18ed,transparent 85%)}.ending-text{padding:85px 26px 55px}.ending-text h2{font-size:5rem}.ending-text p{font-size:1.4rem}footer{padding:90px 22px 60px}footer p{margin-bottom:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Production QA */
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}.opening{min-height:100dvh}.reveal-button,.text-button,.audio-player button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
