:root {
  --ink:#171916;--ink-soft:#4a4a43;--paper:#f1eadc;--paper-light:#f8f3e9;
  --paper-deep:#d9cdb7;--red:#9d2e26;--gold:#9b8050;--line:rgba(23,25,22,.18);
  --serif:"Songti SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif;
  --hand:"FZKai-Z03","KaiTi","STKaiti",serif;--ease:cubic-bezier(.22,1,.36,1);--sb-gutter:0px;
}
/* 对称居中：右侧滚动条占去 15px，若按客户区居中，内容会整体偏左半个滚动条。
   这里用 body 的 padding-left 抵掉这半个滚动条，使内容盒中心线与整窗中心线重合；
   scrollbar-gutter:stable 保证信封未拆开时也预留该宽度，避免拆信瞬间跳版。
   --sb-gutter 由 script.js 量测；不支持时回退 0px，布局与改动前一致。 */
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);scrollbar-gutter:stable}html.is-auto-scrolling{scroll-behavior:auto}
body{margin:0;padding-left:var(--sb-gutter);color:var(--ink);background:radial-gradient(circle at 20% 5%,rgba(255,255,255,.72),transparent 30rem),linear-gradient(110deg,#eee5d5 0%,#f5eee2 52%,#e8decc 100%);font-family:var(--sans);overflow-x:hidden}
body.is-locked{height:100vh;overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.noise{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.reading-progress{position:fixed;top:0;left:0;z-index:1100;width:100%;height:3px}.reading-progress span{display:block;width:0;height:100%;background:var(--red);box-shadow:0 0 12px rgba(157,46,38,.4)}
.section{width:min(100%,1440px);margin:0 auto;padding-inline:clamp(24px,6vw,96px)}
.envelope-scene{position:fixed;inset:0;z-index:900;display:grid;place-items:center;overflow:hidden;background:#161814;color:var(--paper-light);transition:opacity 1s var(--ease),visibility 1s}
.envelope-scene::before,.envelope-scene::after{content:"";position:absolute;inset:2.2rem;border:1px solid rgba(241,234,220,.13);pointer-events:none}.envelope-scene::after{inset:2.8rem;border-color:rgba(241,234,220,.05)}
.envelope-scene.is-open{opacity:0;visibility:hidden;pointer-events:none}.envelope-glow{position:absolute;width:65vw;height:65vw;border-radius:50%;background:rgba(157,46,38,.13);filter:blur(90px)}
.envelope-stage{position:relative;z-index:1;width:min(90vw,680px);text-align:center}.eyebrow{margin:0 0 clamp(2rem,5vh,4rem);color:#bba982;font:500 .68rem/1 var(--sans);letter-spacing:.32em}
.envelope{position:relative;width:min(74vw,410px);aspect-ratio:1.62;margin:0 auto 3rem;filter:drop-shadow(0 24px 35px rgba(0,0,0,.38))}.envelope-back,.envelope-front,.envelope-flap{position:absolute;inset:0}.envelope-back{background:#d8c8aa;border-radius:3px}
.letter-preview{position:absolute;z-index:1;left:7%;bottom:5%;width:86%;height:88%;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.2rem;color:var(--ink);background:var(--paper-light);font-family:var(--serif);box-shadow:0 2px 10px rgba(0,0,0,.12);transition:transform 1.15s var(--ease)}
.letter-preview img{width:42px;height:42px}.letter-preview span{letter-spacing:.18em}
.envelope-front{z-index:2;background:linear-gradient(155deg,transparent 49.5%,#c7b28e 50%) left/50% 100% no-repeat,linear-gradient(205deg,transparent 49.5%,#d6c29f 50%) right/50% 100% no-repeat,linear-gradient(0deg,#c9b48f 0 48%,transparent 48%)}
.envelope-flap{z-index:3;height:58%;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(160deg,#e0d0b2,#bea77f);transition:transform .85s var(--ease)}
.wax-seal{position:absolute;z-index:4;left:50%;top:49%;width:58px;height:58px;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-7deg);border:2px solid #b94c3e;border-radius:50%;color:#e6b1a4;background:#8d2821;font:1.35rem var(--serif);box-shadow:inset 0 0 0 4px #8d2821,inset 0 0 0 5px rgba(235,180,160,.35),0 5px 13px rgba(0,0,0,.28);transition:transform .55s var(--ease),opacity .45s}
.envelope-scene.is-opening .wax-seal{transform:translate(-50%,-50%) rotate(15deg) scale(.2);opacity:0}.envelope-scene.is-opening .envelope-flap{transform:rotateX(180deg);z-index:0}.envelope-scene.is-opening .letter-preview{transform:translateY(-34%)}
.envelope-stage h1{margin:0;font:400 clamp(1.45rem,3vw,2rem)/1.4 var(--serif);letter-spacing:.08em}.envelope-note{margin:.75rem 0 1.8rem;color:rgba(241,234,220,.55);font-size:.8rem;letter-spacing:.06em}
.open-letter{display:inline-flex;align-items:center;gap:1rem;padding:.9rem 1.25rem .9rem 1.55rem;border:1px solid rgba(241,234,220,.26);border-radius:100px;color:var(--paper-light);background:transparent;cursor:pointer;letter-spacing:.18em;transition:background .3s,color .3s,transform .3s}
.open-letter:hover{color:var(--ink);background:var(--paper-light);transform:translateY(-2px)}.open-letter svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(24px,4vw,64px);padding-right:calc(clamp(24px,4vw,64px) - var(--sb-gutter));opacity:0;transform:translateY(-20px);pointer-events:none;transition:.7s var(--ease),background .35s,box-shadow .35s}
.site-header.is-visible{opacity:1;transform:none;pointer-events:auto}.site-header.is-scrolled{padding-block:.75rem;background:rgba(244,237,224,.83);backdrop-filter:blur(16px);box-shadow:0 1px rgba(23,25,22,.08)}
.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;font:.84rem var(--serif);letter-spacing:.1em}.brand img{width:34px;height:34px}.header-actions{display:flex;align-items:center;gap:1.2rem}
.date-stamp{padding-left:1.2rem;border-left:1px solid var(--line);color:var(--ink-soft);font-size:.66rem;letter-spacing:.22em}.sound-toggle{display:flex;align-items:center;gap:.55rem;padding:.45rem .7rem;border:0;color:inherit;background:transparent;cursor:pointer;font-size:.68rem;letter-spacing:.08em}
.sound-bars{display:flex;align-items:end;gap:2px;height:13px}.sound-bars i{display:block;width:2px;height:5px;background:var(--red)}.sound-toggle[aria-pressed="true"] i{animation:sound 1s ease-in-out infinite alternate}.sound-toggle[aria-pressed="true"] i:nth-child(2){animation-delay:-.35s}.sound-toggle[aria-pressed="true"] i:nth-child(3){animation-delay:-.7s}@keyframes sound{to{height:13px}}
.auto-read-status{position:fixed;z-index:120;left:calc(50% + var(--sb-gutter) / 2);bottom:clamp(18px,4vh,38px);display:flex;align-items:center;gap:.65rem;transform:translateX(-50%);padding:.7rem 1rem;border:1px solid rgba(23,25,22,.12);border-radius:999px;color:rgba(23,25,22,.68);background:rgba(248,243,233,.84);box-shadow:0 12px 38px rgba(23,25,22,.12);backdrop-filter:blur(14px);font-size:.68rem;letter-spacing:.08em;white-space:nowrap}.auto-read-status[hidden]{display:none}.auto-read-status span{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(157,46,38,.35);animation:readingPulse 1.8s ease-out infinite}@keyframes readingPulse{60%,100%{box-shadow:0 0 0 8px rgba(157,46,38,0)}}
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(370px,.72fr);align-items:center;gap:clamp(3rem,8vw,9rem);padding-top:8rem;padding-bottom:6rem}.hero::before{content:"2026";position:absolute;left:-1.5vw;bottom:2vh;color:rgba(23,25,22,.035);font:700 clamp(9rem,24vw,22rem)/.7 var(--serif);letter-spacing:-.08em;pointer-events:none}
.chapter-kicker{display:flex;align-items:center;gap:1rem;margin:0 0 1.7rem;color:var(--red);font-size:.68rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase}.chapter-kicker span{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;font:.8rem var(--serif);letter-spacing:0}
.hero-copy h1{margin:0;font:500 clamp(3.6rem,7.7vw,8rem)/1.02 var(--serif);letter-spacing:-.055em}.hero-copy h1 span{color:transparent;-webkit-text-stroke:1px var(--ink)}.hero-lead{margin:2.1rem 0 3.2rem;padding-left:1.4rem;border-left:2px solid var(--red);font:clamp(1rem,1.5vw,1.3rem)/1.8 var(--serif);letter-spacing:.08em}
.hero-signature{display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:1rem;row-gap:.12rem;align-items:baseline}.hero-signature span{color:var(--ink-soft);font-size:.65rem;letter-spacing:.25em}.hero-signature strong{font:400 1.45rem var(--hand);letter-spacing:.15em}.hero-signature small{grid-column:2;color:var(--ink-soft);font-size:.68rem;letter-spacing:.05em}
.portrait-frame{position:relative;width:min(100%,470px);justify-self:end;margin:0 1.3rem 0 0;padding:0 0 3.8rem 3.8rem}.portrait-frame::before{content:"";position:absolute;inset:-1.4rem 1.5rem 2.2rem 2.2rem;border:1px solid var(--gold);opacity:.55}.portrait-frame::after{content:"HU YA NAN";position:absolute;right:-1.3rem;top:3.5rem;writing-mode:vertical-rl;font:.58rem var(--sans);letter-spacing:.34em;color:var(--gold)}
.photo-button{position:relative;display:block;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:zoom-in;overflow:hidden}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}.photo-button:hover img{transform:scale(1.025)}
.portrait-image{aspect-ratio:2/3;overflow:hidden;background:#c4bbaa;transition:transform .2s ease-out}.portrait-image img{filter:grayscale(1) contrast(1.05)}.view-hint{position:absolute;right:.8rem;bottom:.8rem;padding:.65rem .8rem;color:var(--paper-light);background:rgba(18,19,16,.76);backdrop-filter:blur(6px);font-size:.65rem;letter-spacing:.08em}.view-hint b{margin-left:.4rem;color:#d4b475}
.portrait-frame figcaption{position:absolute;left:0;bottom:0;z-index:2;width:72%;padding:1.15rem 1.4rem;color:var(--paper-light);background:var(--ink)}.portrait-frame figcaption span{color:#c2ab7e;font-size:.55rem;letter-spacing:.24em}.portrait-frame figcaption p{margin:.55rem 0 0;font:.9rem/1.65 var(--serif);letter-spacing:.08em}
.scroll-cue{position:absolute;left:clamp(24px,6vw,96px);bottom:2.1rem;display:flex;align-items:center;gap:1rem;color:var(--ink-soft);font-size:.6rem;letter-spacing:.24em}.scroll-cue i{position:relative;display:block;width:76px;height:1px;background:var(--line);overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-100%);animation:scrollLine 2.2s ease-in-out infinite}@keyframes scrollLine{50%,100%{transform:translateX(100%)}}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal[data-delay="1"]{transition-delay:.13s}.reveal[data-delay="2"]{transition-delay:.26s}.reveal.is-revealed{opacity:1;transform:none}
.manifesto{min-height:72vh;display:grid;grid-template-columns:1.35fr .52fr;align-items:center;gap:6.5vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.oversized-quote{margin:0;font:500 clamp(3rem,6.5vw,7rem)/1.2 var(--serif);letter-spacing:-.05em}.oversized-quote em{color:var(--red);font-style:normal}.manifesto-note{align-self:end;margin-bottom:5rem;padding-top:1rem;border-top:1px solid var(--ink)}.manifesto-note span{font-size:.59rem;letter-spacing:.25em;color:var(--red)}.manifesto-note p{margin:1rem 0 0;color:var(--ink-soft);font:1rem/1.9 var(--serif)}
.story-section{padding-top:clamp(5.75rem,9vw,9rem);padding-bottom:clamp(5.75rem,9vw,9rem)}.section-heading{display:grid;grid-template-columns:.65fr 1.35fr;align-items:start;margin-bottom:clamp(2.5rem,4.5vw,4.5rem)}.section-heading .chapter-kicker{margin-top:.8rem}.section-heading h2{margin:0;font:500 clamp(2.35rem,4.5vw,4.8rem)/1.22 var(--serif);letter-spacing:-.035em}
.editorial-grid{display:grid}.classroom-grid{grid-template-columns:1.55fr .6fr;gap:clamp(2.5rem,4.5vw,5.5rem);align-items:center}.photo-card{margin:0}.photo-card .photo-button{background:#cfc5b2}.photo-card img{aspect-ratio:4/3}.photo-card figcaption{display:flex;align-items:center;gap:.8rem;margin-top:.8rem;color:var(--ink-soft);font:.72rem var(--serif);letter-spacing:.08em}.photo-card figcaption::before{content:"";width:25px;height:1px;background:var(--red)}.photo-index{position:absolute;left:.7rem;top:.7rem;display:grid;place-items:center;width:33px;height:33px;color:#fff;background:rgba(18,19,16,.74);font-size:.6rem;letter-spacing:.08em}
.margin-copy{position:relative;padding-left:3.3rem}.margin-copy>p{margin:0;color:var(--ink-soft);font:clamp(1rem,1.3vw,1.2rem)/2 var(--serif)}.vertical-word{position:absolute;left:0;top:0;writing-mode:vertical-rl;color:var(--gold);font-size:.58rem;letter-spacing:.35em}.margin-copy blockquote{margin:3rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line);font:1rem/1.9 var(--hand);letter-spacing:.07em}
.together{background:rgba(221,211,193,.35);max-width:none}.together>.section-heading,.together>.memory-collage{width:min(100%,1248px);margin-left:auto;margin-right:auto}.memory-collage{display:grid;grid-template-columns:1.05fr .72fr;grid-template-rows:auto auto;gap:clamp(2rem,4vw,4rem);align-items:start}.collage-a{grid-row:1/3}.collage-a img{aspect-ratio:4/5}.collage-b{margin-top:4rem}.collage-b img{aspect-ratio:4/3}.collage-copy{align-self:end;padding:1rem 0 1rem clamp(1rem,3vw,3rem)}.hand-note{margin:0 0 1rem;font:clamp(1.3rem,2vw,2rem)/1.8 var(--hand);letter-spacing:.05em}.collage-copy>span{color:var(--red);font-size:.67rem;letter-spacing:.18em}
.run-section{position:relative;max-width:none;min-height:88vh;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:clamp(3rem,6vw,7rem);padding-top:clamp(5.5rem,8vw,8rem);padding-bottom:clamp(5.5rem,8vw,8rem);color:var(--paper-light);background:#1b1d19;overflow:hidden}
.run-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(157,46,38,.11),transparent 55%);pointer-events:none}.run-backdrop{position:absolute;right:-2vw;bottom:-2vw;display:flex;flex-direction:column;align-items:end;color:rgba(241,234,220,.035);font:700 clamp(9rem,20vw,20rem)/.7 var(--sans);letter-spacing:-.09em}.run-copy,.relay-photo{position:relative;z-index:2}.chapter-kicker.light{color:#cfae70}.run-copy h2{margin:0;font:500 clamp(2.6rem,5vw,5.3rem)/1.2 var(--serif);letter-spacing:-.045em}.run-copy>p:last-child{max-width:32rem;margin:2.2rem 0 0;color:rgba(248,243,233,.63);font:1rem/2 var(--serif)}
.relay-photo{margin:0;transform:rotate(1.8deg);box-shadow:0 25px 70px rgba(0,0,0,.32)}.relay-photo .photo-button{aspect-ratio:3/2}.relay-photo img{filter:saturate(.78) contrast(1.05)}.relay-photo:hover img{filter:saturate(1) contrast(1.03)}.run-line{position:absolute;left:0;bottom:2.7rem;width:58%;height:2px;background:var(--red)}.relay-photo .view-hint{left:0;right:auto;bottom:0;background:var(--red)}
.memories{padding-bottom:clamp(6.5rem,10vw,10rem)}.film-strip{display:grid;grid-template-columns:1.35fr .85fr .85fr;gap:1.4rem;align-items:end}.film-strip .photo-card:nth-child(1) img{aspect-ratio:1.52}.film-strip .photo-card:nth-child(2) img,.film-strip .photo-card:nth-child(3) img{aspect-ratio:4/5}.film-strip .photo-card:nth-child(2){transform:translateY(3.5rem)}
.letter-section{position:relative;max-width:none;padding-top:clamp(5.5rem,9vw,9rem);padding-bottom:clamp(5.5rem,9vw,9rem);background:linear-gradient(145deg,#d7c9b0,#ede3d2 45%,#d2c1a5);overflow:hidden}
.letter-section::before{content:"LETTER";position:absolute;left:-.05em;bottom:-.2em;color:rgba(23,25,22,.035);font:800 clamp(9rem,25vw,25rem)/.75 var(--sans);letter-spacing:-.09em;pointer-events:none}.letter-paper{position:relative;width:min(100%,890px);margin:auto;padding:clamp(2rem,6vw,6rem) clamp(1.6rem,7vw,7rem) clamp(3rem,7vw,7rem);background:linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.05)),var(--paper-light);box-shadow:0 30px 90px rgba(61,48,27,.18);transform:rotate(-.45deg)}
.letter-paper::before,.letter-paper::after{content:"";position:absolute;pointer-events:none}.letter-paper::before{inset:18px;border:1px solid rgba(157,46,38,.2)}.letter-paper::after{top:0;bottom:0;left:9.5%;width:1px;background:rgba(157,46,38,.11)}
.paper-meta{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--gold);font-size:.6rem;letter-spacing:.19em}.letter-paper .chapter-kicker{margin-top:clamp(2.5rem,6vw,5.5rem)}.letter-paper h2{margin:0 0 2.4rem;font:500 clamp(2.2rem,4vw,3.8rem)/1.3 var(--serif)}.letter-body{font:clamp(1rem,1.4vw,1.17rem)/2.15 var(--serif);letter-spacing:.035em}.letter-body p{margin:0 0 1.25em;text-indent:2em}.letter-body p:first-child{text-indent:0}.written-signature{display:grid;justify-items:end;margin-top:3.3rem;padding-right:clamp(1rem,8vw,6rem);font-family:var(--hand)}.written-signature span{font-size:.78rem;color:var(--ink-soft)}.written-signature strong{margin:.2rem 0;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400}.written-signature small{font-size:.78rem;color:var(--ink-soft)}
.red-stamp{position:absolute;right:clamp(2rem,6vw,5rem);bottom:clamp(2rem,5vw,4rem);width:80px;height:80px;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:8px;border:3px double var(--red);color:var(--red);font:700 1rem/1.1 var(--serif);transform:rotate(-9deg);opacity:.82}.red-stamp span{writing-mode:vertical-rl;letter-spacing:.12em}
footer{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;margin-left:calc(-1 * var(--sb-gutter));padding:2.5rem 1.5rem;padding-left:calc(1.5rem + var(--sb-gutter));color:rgba(248,243,233,.72);background:#171916;text-align:center}footer img{width:54px;filter:invert(1);opacity:.78}footer p{margin:0;font:1.05rem var(--serif);letter-spacing:.12em}footer span{font-size:.56rem;letter-spacing:.24em;color:rgba(248,243,233,.35)}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;color:#fff;background:rgba(11,12,10,.94);opacity:0;transition:opacity .35s ease}.lightbox[open]{display:grid;place-items:center;opacity:1}.lightbox::backdrop{background:rgba(11,12,10,.72);backdrop-filter:blur(8px)}.lightbox figure{width:min(90vw,1180px);height:min(82vh,840px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem;margin:0}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox figcaption{text-align:center;color:rgba(255,255,255,.7);font:1rem var(--serif);letter-spacing:.08em}.lightbox-close{position:fixed;right:clamp(1.2rem,4vw,3rem);top:clamp(1rem,3vw,2.5rem);width:48px;height:48px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:transparent;font:300 2rem/1 var(--sans);cursor:pointer;transition:.25s}.lightbox-close:hover{background:#fff;color:#111;transform:rotate(90deg)}
@media (max-width:900px){
  .hero{grid-template-columns:.85fr 1.15fr;gap:2rem}.hero-copy h1{font-size:clamp(3.3rem,8vw,6rem)}.portrait-frame{width:100%}.manifesto{grid-template-columns:1fr;align-content:center;gap:3rem}.manifesto-note{align-self:auto;margin:0;width:min(100%,32rem)}
  .classroom-grid{grid-template-columns:1fr}.margin-copy{width:min(100%,36rem);margin-left:auto}.memory-collage{grid-template-columns:1fr 1fr}.collage-copy{grid-column:1/3;max-width:38rem}.run-section{grid-template-columns:1fr;min-height:auto}.run-copy{max-width:44rem}.film-strip{grid-template-columns:1.2fr 1fr}.film-strip .photo-card:nth-child(3){grid-column:1/3;width:62%;margin:2rem auto 0}.film-strip .photo-card:nth-child(2){transform:none}
}
@media (max-width:640px){
  .section{padding-inline:20px}.envelope-scene::before{inset:1rem}.envelope-scene::after{inset:1.35rem}.envelope-stage{width:calc(100vw - 40px)}.envelope{width:min(82vw,360px);margin-bottom:2rem}.letter-preview{padding:1.5rem}.letter-preview img{width:34px;height:34px}.envelope-note{max-width:18rem;margin-inline:auto;line-height:1.7}.site-header{padding:.9rem 18px}.brand span{display:none}.date-stamp{display:none}.sound-toggle{padding:.6rem .75rem}.auto-read-status{max-width:calc(100vw - 32px);bottom:16px;font-size:.62rem}.hero{min-height:auto;display:flex;flex-direction:column;padding-top:8rem;padding-bottom:6rem}.hero-copy{position:relative;z-index:2}.hero-copy h1{font-size:clamp(3.5rem,16vw,5.2rem)}.hero-lead{margin-top:1.4rem}.portrait-frame{width:88%;margin:-1rem 0 0 auto}.portrait-frame figcaption{margin-left:-14%;padding-left:0}.scroll-cue{display:none}
  .manifesto{min-height:62vh;padding-top:4rem;padding-bottom:4rem}.oversized-quote{font-size:clamp(2.7rem,13vw,4.5rem)}.story-section{padding-top:5.25rem;padding-bottom:5.25rem}.section-heading{display:block;margin-bottom:2.75rem}.section-heading .chapter-kicker{margin-bottom:1.35rem}.section-heading h2{font-size:clamp(2.3rem,10vw,3.5rem)}.margin-copy{padding-left:2.4rem}.margin-copy blockquote{margin-top:2.25rem}
  .memory-collage{display:block}.collage-a,.collage-b{width:90%;margin:0}.collage-b{width:76%;margin:-1.7rem 0 0 auto}.collage-copy{padding:2.35rem 0 0}.run-section{padding-inline:20px}.run-copy h2{font-size:clamp(2.45rem,11vw,3.7rem)}.relay-photo{margin-top:1rem;transform:rotate(1deg)}.run-backdrop{font-size:8rem}.film-strip{display:block}.film-strip .photo-card{width:88%;margin:0 0 2rem}.film-strip .photo-card:nth-child(even){margin-left:auto}.film-strip .photo-card:nth-child(3){width:88%;margin:0 0 0 auto}.film-strip .photo-card:nth-child(2) img,.film-strip .photo-card:nth-child(3) img{aspect-ratio:4/3}
  .letter-section{padding:4.5rem 12px}.letter-paper{padding:2rem 1.6rem 5.5rem;transform:none}.letter-paper::before{inset:9px}.letter-paper::after{display:none}.paper-meta{font-size:.5rem}.letter-body{font-size:1rem;line-height:2}.written-signature{padding-right:0}.red-stamp{right:1.7rem;bottom:1.5rem;width:66px;height:66px;font-size:.83rem}footer{min-height:210px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.portrait-image{transform:none!important}.envelope-scene.is-opening .letter-preview{transform:none}.auto-read-status{display:none!important}}
