@charset "UTF-8";

:root { color-scheme: dark; --bg:#111210; --paper:#eeeee8; --muted:#96978f; --line:#35362f; --green:#608d6b; --green-ink:#081b0e; --page-width:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:102px; }
body { margin:0; background:var(--bg); color:var(--paper); font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
body.modal-open,body.intro-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { border:0; }
button:focus-visible,a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
::selection { background:var(--paper); color:var(--bg); }
figure,p,h1,h2,h3 { margin:0; }
[hidden] { display:none !important; }
.mono,.eyebrow,.media-top,.media-bottom,.film-center-subtitle { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:10px; letter-spacing:1px; font-weight:400; }
.muted { color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.entry-screen { position:fixed; z-index:80; inset:0; overflow:auto; display:grid; grid-template-rows:auto 1fr; padding:32px 56px; background:var(--bg); opacity:1; transition:opacity .45s; }
.entry-screen.is-leaving { opacity:0; pointer-events:none; }
.entry-top { width:min(100%,1120px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.entry-top { padding-bottom:24px; border-bottom:1px solid var(--line); }
.entry-top>.mono { color:var(--muted); font-size:9px; }
.entry-content { align-self:center; text-align:center; padding:40px 0; }
.entry-content>.eyebrow { justify-content:center; color:var(--muted); font-family:inherit; font-size:12px; letter-spacing:3px; }
.entry-content h2 { font-size:76px; letter-spacing:-3px; line-height:1.2; margin-top:25px; font-weight:500; }
.entry-description { margin-top:22px; color:var(--muted); font-size:13px; line-height:1.8; }
.entry-open { display:flex; flex-direction:column; align-items:center; width:fit-content; margin:36px auto 0; padding:12px 28px; background:transparent; }
.entry-touch { position:relative; display:grid; place-items:center; width:86px; height:86px; border:1px solid #a0a297; border-radius:50%; transition:background .25s,color .25s; }
.entry-touch::before { content:""; position:absolute; inset:-10px; border:1px solid var(--line); border-radius:50%; animation:entry-pulse 3s ease-in-out infinite; }
.entry-open:hover .entry-touch { background:var(--paper); color:var(--bg); }
.entry-open:focus-visible { outline:none; }
.entry-open:focus-visible .entry-touch { outline:2px solid var(--paper); outline-offset:7px; }
.entry-open-label { display:flex; align-items:center; gap:33px; margin-top:23px; font-size:13px; }
.entry-open-label>span { font-size:21px; }
.entry-open-hint { margin-top:10px; color:var(--muted); font-size:10px; }
@keyframes entry-pulse { 0%,100% { transform:scale(1); opacity:.6; } 50% { transform:scale(1.1); opacity:1; } }
.skip-link { position:fixed; z-index:100; top:-80px; left:20px; padding:14px; background:var(--paper); color:var(--bg); }
.skip-link:focus { top:14px; }
.site-header,.page-section,.site-footer { width:min(var(--page-width),calc(100% - 112px)); margin-inline:auto; }
.site-header { height:100px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:center; gap:10px; font-size:19px; letter-spacing:1px; font-weight:600; white-space:nowrap; }
.wordmark-dot { margin-left:-10px; }
.brand-mark { flex-shrink:0; }
.desktop-nav { display:flex; gap:36px; font-size:12px; }
.desktop-nav a { color:#b3b3aa; transition:color .2s; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--paper); }
.desktop-nav sup { font-size:9px; padding-left:5px; }
.header-note { font-size:11px; color:var(--muted); letter-spacing:1px; }
.tiny-cross { color:var(--paper); margin-right:10px; font-size:16px; }
.hero { padding-top:72px; display:grid; grid-template-columns:1fr 1.08fr; column-gap:66px; }
.hero-copy { padding-top:6px; }
.eyebrow { display:flex; align-items:center; gap:13px; font-size:10px; }
.short-line { display:inline-block; width:24px; height:1px; background:currentColor; }
h1 { margin-top:35px; font-size:clamp(48px,5.65vw,78px); line-height:1.21; font-weight:500; letter-spacing:-4px; }
.title-stop { margin-left:-4px; }
.hero-description { margin-top:27px; color:#a9aaa0; font-size:13px; line-height:2; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; padding:10px 0; border:0; border-bottom:1px solid #7c7d74; background:transparent; font-size:12px; }
.text-link span { font-size:20px; line-height:1; transition:transform .2s; }
.text-link:hover span { transform:translate(3px,2px); }
.hero-link { margin-top:31px; }
.hero-footnote { display:flex; justify-content:space-between; margin-top:50px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.hero-footnote .mono { font-size:9px; }
.hero-figure { align-self:end; }
.media-placeholder { position:relative; display:block; width:100%; padding:0; background:var(--green); color:var(--green-ink); overflow:hidden; text-align:left; transition:background .25s; }
.media-placeholder:hover { background:#6d9b78; }
.media-placeholder:focus-visible { outline-color:var(--paper); }
.hero-media { aspect-ratio:1.15; }
.media-top,.media-bottom { position:absolute; z-index:2; left:21px; right:21px; display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:9px; line-height:1.5; }
.media-top { top:19px; }
.media-bottom { bottom:17px; }
.media-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; font-size:12px; letter-spacing:3px; padding:50px 24px; text-align:center; }
.crosshair { font-family:Arial,sans-serif; font-weight:200; font-size:30px; line-height:1; opacity:.65; }
.viewfinder { position:absolute; inset:70px 54px; border:1px solid #173d2538; }
.viewfinder::before,.viewfinder::after { content:""; position:absolute; background:var(--green); }
.viewfinder::before { left:24px; right:24px; top:-1px; bottom:-1px; }
.viewfinder::after { left:-1px; right:-1px; top:24px; bottom:24px; }
.expand-icon { font-size:22px; line-height:1; }
.hero-figure>figcaption { display:flex; justify-content:space-between; margin-top:12px; gap:12px; color:var(--muted); font-size:10px; line-height:1.7; }
.hero-figure>figcaption .mono { font-size:8px; white-space:nowrap; }
.opening-timeline { grid-column:1/-1; display:flex; align-items:center; gap:26px; padding:38px 0 0; color:var(--muted); }
.opening-timeline .mono { font-size:8px; white-space:nowrap; }
.timeline-ruler { position:relative; height:12px; flex:1; border-top:1px solid var(--line); background:repeating-linear-gradient(90deg,transparent 0 15px,var(--line) 15px 16px); background-size:100% 5px; background-repeat:no-repeat; }
.timeline-ruler::before { content:""; position:absolute; top:-4px; left:0; width:5px; height:7px; background:var(--paper); }
.memories { padding-top:114px; }
.section-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:22px; border-top:1px solid var(--line); }
.section-top>.mono { font-size:9px; }
.section-intro { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-top:36px; margin-bottom:48px; }
h2 { font-size:clamp(30px,3.5vw,46px); font-weight:500; line-height:1.38; letter-spacing:-1.6px; }
.section-intro>p { padding-bottom:4px; color:var(--muted); font-size:12px; line-height:1.9; }
.memory-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:60px; row-gap:56px; }
.memory-one { grid-column:1/8; }
.memory-two { grid-column:8/13; padding-top:118px; }
.group-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.group-photo-grid .memory { grid-column:auto; padding-top:0; }
.group-photo-grid .memory-two { margin-top:68px; }
.memory-three { grid-column:1/6; padding-top:36px; }
.memory-four { grid-column:6/13; }
.photo-landscape { aspect-ratio:1.55; }
.photo-portrait { aspect-ratio:.94; }
.photo-square { aspect-ratio:1.1; }
.memory figcaption { display:flex; align-items:baseline; gap:18px; margin-top:19px; }
.caption-number { color:var(--muted); font-size:9px; }
.memory h3 { font-size:14px; font-weight:400; line-height:1.7; letter-spacing:.3px; }
.memory figcaption p { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.8; }
.margin-note { padding:2px 0 40px 40px; }
.margin-note>.mono { color:var(--muted); font-size:8px; }
.margin-note p { font-family:"Songti SC","STSong",serif; font-size:24px; line-height:1.7; margin-top:17px; }
.note-arrow { display:block; margin-top:6px; font-family:serif; font-size:32px; }
.more-memories { margin-top:54px; padding:23px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.more-memories>span { color:var(--muted); font-size:12px; }
.more-memories .text-link { border-bottom:0; padding:6px 0; }
.extra-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-top:30px; }
.extra-gallery .media-placeholder { aspect-ratio:1.5; }
.extra-gallery figcaption { color:var(--muted); font-size:11px; margin-top:11px; }
.film { padding-top:100px; padding-bottom:110px; }
.film .section-intro { margin-bottom:34px; }
.mobile-break { display:none; }
.film-placeholder { aspect-ratio:16/9; }
.film-placeholder .media-top,.film-placeholder .media-bottom { left:28px; right:28px; }
.film-placeholder .media-top { top:24px; }
.film-placeholder .media-bottom { bottom:24px; }
.film-center { position:absolute; inset:45px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.play-icon { display:grid; place-items:center; width:76px; height:76px; border:1px solid #173d2566; border-radius:50%; transition:transform .25s,background .25s; }
.play-icon svg { margin-left:5px; }
.film-placeholder:hover .play-icon { transform:scale(1.08); background:#173d2512; }
.film-center-title { margin-top:22px; font-size:16px; letter-spacing:3px; }
.film-center-subtitle { margin-top:11px; font-size:8px; }
.film-caption { display:flex; align-items:center; justify-content:space-between; margin-top:17px; font-size:11px; }
.film-caption>.mono { font-size:8px; }
.small-square { display:inline-block; width:5px; height:5px; background:var(--paper); vertical-align:middle; margin-right:9px; }
.letter { padding-top:115px; padding-bottom:0; }
.letter-layout { display:grid; grid-template-columns:1fr 1.06fr; gap:80px; padding-top:46px; }
.letter-asterisk { font-family:Arial,sans-serif; font-size:76px; line-height:1; font-weight:200; }
.letter-heading h2 { margin-top:18px; font-size:64px; line-height:1.3; letter-spacing:-3px; }
.letter-heading>p { color:var(--muted); margin-top:26px; font-size:12px; }
.letter-body { padding-top:9px; font-size:14px; line-height:2.2; color:#b6b7ad; }
.letter-body>p { margin-bottom:22px; }
.letter-body .letter-greeting { color:var(--paper); font-size:17px; margin-bottom:30px; }
.letter-body .letter-emphasis { color:var(--paper); font-size:23px; line-height:1.8; letter-spacing:.4px; margin:32px 0 26px; }
.letter-signature { display:flex; align-items:center; gap:13px; margin-top:39px; color:var(--paper); font-size:11px; }
.signature-line { width:27px; height:1px; background:var(--paper); }
.draft-note { display:block; color:#787a70; font-size:10px; margin-top:22px; }
.ending { background:var(--paper); color:var(--bg); width:100%; padding:64px 0 44px; }
.ending-inner { width:min(var(--page-width),calc(100% - 112px)); margin-inline:auto; }
.ending .section-top { border-color:#c4c6ba; }
.ending h2 { margin-top:60px; text-align:center; font-size:68px; line-height:1.25; letter-spacing:-3px; }
.ending-description { text-align:center; margin-top:25px; color:#62665a; font-size:13px; line-height:1.9; }
.future-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; width:88%; margin:52px auto 0; }
.future-notes>div { border-top:1px solid #c4c6ba; padding-top:18px; }
.future-notes .mono { font-size:8px; color:#62665a; }
.future-notes h3 { margin-top:19px; font-size:17px; font-weight:500; }
.future-notes p { margin-top:12px; font-size:12px; line-height:1.9; color:#62665a; }
.group-figure { width:78%; margin:48px auto 0; }
.group-media { aspect-ratio:2.15; }
.group-media:focus-visible { outline-color:var(--bg); }
.group-figure figcaption { margin-top:18px; font-size:11px; text-align:center; color:#62665a; }
.end-credits { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:64px; padding-top:24px; border-top:1px solid #c4c6ba; font-size:11px; }
.end-credits>.mono { font-size:9px; }
.site-footer { height:106px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-footer .wordmark { font-size:15px; }
.site-footer>span { font-size:10px; color:var(--muted); }
.back-to-top { display:flex; align-items:center; gap:20px; font-size:11px; }
.back-to-top span { font-size:20px; }
.mobile-nav { display:none; }
.reading-progress { position:fixed; z-index:30; top:0; left:0; right:0; height:2px; pointer-events:none; }
#reading-progress-bar { height:100%; background:var(--paper); transform:scaleX(0); transform-origin:left; }
.music-control { position:fixed; z-index:25; right:24px; bottom:24px; display:flex; align-items:center; gap:13px; min-height:52px; padding:11px 17px; border:1px solid #515449; background:var(--bg); color:var(--paper); border-radius:2px; }
.music-control:hover { border-color:var(--paper); }
.music-bars { display:flex; gap:3px; align-items:center; height:21px; width:22px; }
.music-bars i { display:block; width:2px; height:6px; background:currentColor; transform-origin:center; animation:music-equalizer .9s ease-in-out infinite alternate; animation-play-state:paused; }
.music-bars i:nth-child(2) { height:17px; animation-delay:-.3s; }
.music-bars i:nth-child(3) { height:12px; animation-delay:-.6s; }
.music-bars i:nth-child(4) { height:19px; animation-delay:-.1s; }
.music-control.is-playing .music-bars i { animation-play-state:running; }
.music-control-copy { display:flex; flex-direction:column; gap:4px; text-align:left; font-size:10px; }
.music-track-name { font-size:9px; color:var(--muted); }
@keyframes music-equalizer { from { transform:scaleY(.35); } to { transform:scaleY(1); } }

dialog { color:var(--paper); background:var(--bg); border:1px solid var(--line); padding:0; max-height:90dvh; }
dialog::backdrop { background:#000d; }
.lightbox { width:min(980px,calc(100% - 40px)); }
.lightbox-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:12px 20px; }
.lightbox-header>.mono { color:var(--muted); }
.icon-button { display:grid; place-items:center; background:transparent; width:44px; height:44px; border:1px solid transparent; font-size:20px; }
.icon-button:hover { border-color:var(--line); }
.lightbox-media { position:relative; background:var(--green); color:var(--green-ink); height:min(59dvh,580px); display:flex; align-items:center; justify-content:center; }
.lightbox-media .media-center { gap:20px; }
.lightbox-media img { display:block; width:100%; height:100%; object-fit:contain; }
.lightbox-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; }
.lightbox-footer h2 { font-size:17px; letter-spacing:0; }
.lightbox-footer p { color:var(--muted); font-size:12px; margin-top:7px; line-height:1.7; }
.lightbox-controls { display:flex; gap:8px; flex-shrink:0; }
.video-dialog { width:min(960px,calc(100% - 40px)); }
.video-stage { aspect-ratio:16/9; background:var(--green); color:var(--green-ink); display:grid; place-items:center; }
.video-stage video { width:100%; height:100%; max-height:70dvh; background:#000; }
.video-empty { text-align:center; padding:24px; }
.empty-film-icon { font-size:48px; }
.video-empty h2 { font-size:24px; letter-spacing:0; margin-top:12px; }
.video-empty p { margin-top:15px; font-size:13px; line-height:1.9; }
.video-empty>.mono { display:block; margin-top:25px; font-size:8px; }
.video-dialog-note { padding:18px 22px; font-size:11px; color:var(--muted); }

@media(min-width:1600px) { .hero { padding-top:88px; } }
@media(max-width:1100px) {
  .site-header,.page-section,.site-footer,.ending-inner { width:calc(100% - 72px); }
  .ending { width:100%; }
  .hero { column-gap:36px; padding-top:56px; }
  h1 { font-size:59px; }
  .hero-footnote { margin-top:32px; }
  .hero-media { aspect-ratio:1; }
  .desktop-nav { gap:22px; }
  .header-note { font-size:10px; }
  .memory-grid { column-gap:36px; }
  .letter-layout { gap:48px; }
  .letter-heading h2 { font-size:54px; }
}
@media(max-width:760px) {
  .entry-screen { padding:24px 24px max(24px,env(safe-area-inset-bottom)); }
  .entry-top { padding-bottom:19px; }
  .entry-top .wordmark { font-size:16px; }
  .entry-top>.mono { font-size:7px; letter-spacing:.4px; }
  .entry-content { padding:30px 0; }
  .entry-content>.eyebrow { font-size:10px; letter-spacing:2px; }
  .entry-content h2 { font-size:55px; letter-spacing:-2px; margin-top:21px; }
  .entry-description { font-size:11px; margin-top:20px; }
  .entry-open { margin-top:27px; padding:10px 23px; }
  .entry-touch { width:76px; height:76px; }
  .entry-open-label { margin-top:21px; font-size:12px; }
  .entry-open-hint { font-size:9px; }
  .music-control { right:16px; bottom:calc(68px + env(safe-area-inset-bottom)); width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; justify-content:center; }
  .music-control-copy { display:none; }
  html { scroll-padding-top:24px; }
  .site-header,.page-section,.site-footer,.ending-inner { width:calc(100% - 40px); }
  .site-header { height:76px; }
  .wordmark { font-size:17px; gap:8px; }
  .brand-mark { width:21px; height:21px; }
  .wordmark-dot { margin-left:-8px; }
  .header-note { font-size:10px; letter-spacing:0; }
  .tiny-cross { margin-right:5px; }
  .desktop-nav { display:none; }
  .hero { display:flex; flex-direction:column; padding-top:38px; }
  .hero-copy { padding-top:0; }
  .eyebrow { font-size:9px; letter-spacing:.8px; }
  h1 { font-size:clamp(46px,11.8vw,76px); margin-top:25px; line-height:1.24; letter-spacing:-2.5px; }
  .hero-description { margin-top:23px; font-size:12px; line-height:1.9; }
  .hero-link { margin-top:21px; gap:40px; }
  .hero-footnote { margin-top:30px; padding-top:14px; font-size:9px; }
  .hero-footnote .mono { font-size:8px; }
  .hero-figure { width:100%; margin-top:26px; }
  .hero-media { aspect-ratio:1.3; }
  .media-top,.media-bottom { left:15px; right:15px; font-size:8px; letter-spacing:.5px; }
  .media-top { top:14px; }
  .media-bottom { bottom:13px; }
  .media-center { font-size:11px; letter-spacing:2px; }
  .viewfinder { inset:48px 35px; }
  .hero-figure>figcaption { font-size:9px; margin-top:10px; }
  .hero-figure>figcaption .mono { font-size:7px; }
  .opening-timeline { width:100%; gap:14px; padding-top:28px; }
  .opening-timeline .mono { font-size:7px; letter-spacing:.4px; }
  .memories { padding-top:67px; }
  .section-top { padding-top:17px; }
  .section-top>.mono { font-size:7px; letter-spacing:.5px; }
  .section-intro { display:block; margin-top:28px; margin-bottom:30px; }
  h2 { font-size:32px; letter-spacing:-1px; line-height:1.4; }
  .section-intro>p { margin-top:19px; font-size:11px; line-height:1.9; }
  .memory-grid { display:block; }
  .memory { padding-top:0; margin-top:35px; }
  .memory:first-child { margin-top:0; }
  .memory-two { width:84%; margin-left:auto; }
  .group-photo-grid .memory { width:100%; margin-left:0; }
  .group-photo-grid .memory-two { margin-top:32px; }
  .photo-portrait { aspect-ratio:.98; }
  .memory-three { width:88%; }
  .photo-square { aspect-ratio:1.12; }
  .memory-four { margin-top:20px; }
  .memory figcaption { margin-top:14px; gap:13px; }
  .memory h3 { font-size:13px; }
  .memory figcaption p { font-size:10px; }
  .margin-note { padding:12px 0 24px 26px; }
  .margin-note p { font-size:21px; margin-top:12px; }
  .note-arrow { font-size:26px; }
  .more-memories { margin-top:34px; padding:18px 0; gap:10px; }
  .more-memories>span { font-size:10px; }
  .more-memories .text-link { font-size:11px; gap:16px; white-space:nowrap; }
  .extra-gallery { grid-template-columns:1fr; gap:22px; padding-top:23px; }
  .extra-gallery .media-top { font-size:7px; left:10px; top:10px; }
  .extra-gallery .media-top>span:last-child,.extra-gallery .media-bottom { display:none; }
  .extra-gallery .media-center { padding:25px 12px; font-size:10px; letter-spacing:1px; gap:8px; }
  .extra-gallery .crosshair { font-size:24px; }
  .extra-gallery figcaption { font-size:10px; }
  .film { padding-top:71px; padding-bottom:72px; }
  .mobile-break { display:block; }
  .film .section-intro { margin-bottom:26px; }
  .film-placeholder { aspect-ratio:1.35; }
  .film-placeholder .media-top,.film-placeholder .media-bottom { left:15px; right:15px; }
  .film-placeholder .media-top { top:14px; }
  .film-placeholder .media-bottom { bottom:14px; font-size:8px; }
  .film-placeholder .media-bottom .mono { font-size:7px; }
  .play-icon { width:56px; height:56px; }
  .play-icon svg { width:16px; height:19px; }
  .film-center-title { font-size:13px; letter-spacing:1px; margin-top:15px; }
  .film-center-subtitle { margin-top:9px; font-size:7px; }
  .film-caption { font-size:10px; gap:12px; line-height:1.7; margin-top:13px; }
  .film-caption>.mono { font-size:7px; letter-spacing:.3px; }
  .letter { padding-top:72px; padding-bottom:0; }
  .letter-layout { display:block; padding-top:28px; }
  .letter-heading { position:relative; }
  .letter-asterisk { position:absolute; top:0; right:12px; font-size:69px; }
  .letter-heading h2 { margin-top:0; font-size:42px; letter-spacing:-2px; }
  .letter-heading h2 br:last-child { display:none; }
  .letter-heading>p { margin-top:18px; font-size:11px; }
  .letter-body { padding-top:35px; font-size:13px; line-height:2.2; }
  .letter-body>p { margin-bottom:21px; }
  .letter-body .letter-greeting { font-size:16px; margin-bottom:23px; }
  .letter-body .letter-emphasis { font-size:22px; margin:28px 0 24px; }
  .letter-signature { margin-top:30px; font-size:10px; }
  .draft-note { font-size:9px; }
  .ending { width:100%; padding-top:29px; padding-bottom:29px; }
  .ending h2 { font-size:49px; margin-top:43px; letter-spacing:-2px; }
  .ending-description { font-size:12px; margin-top:20px; }
  .future-notes { grid-template-columns:1fr; gap:25px; width:100%; margin-top:35px; }
  .future-notes>div { padding-top:15px; }
  .future-notes h3 { margin-top:12px; font-size:16px; }
  .future-notes p { margin-top:9px; font-size:11px; }
  .group-figure { width:100%; margin-top:32px; }
  .group-media { aspect-ratio:1.45; }
  .group-media .media-center { font-size:11px; letter-spacing:1px; }
  .group-media .media-top { font-size:7px; }
  .group-figure figcaption { font-size:10px; margin-top:14px; }
  .end-credits { display:block; margin-top:35px; padding-top:20px; }
  .end-credits>.mono { font-size:7px; letter-spacing:.5px; }
  .end-credits>span:last-child { display:block; font-size:10px; margin-top:12px; }
  .site-footer { height:auto; flex-wrap:wrap; row-gap:19px; padding:29px 0 96px; }
  .site-footer .wordmark { font-size:14px; }
  .site-footer>span { order:3; width:100%; font-size:9px; }
  .back-to-top { font-size:10px; gap:12px; }
  .mobile-nav { display:flex; position:fixed; z-index:20; left:0; right:0; bottom:0; padding:0 14px env(safe-area-inset-bottom); background:#111210f5; border-top:1px solid var(--line); }
  .mobile-nav a { position:relative; flex:1; text-align:center; padding:17px 2px; color:var(--muted); font-size:10px; }
  .mobile-nav a.active { color:var(--paper); }
  .mobile-nav a.active::before { content:""; position:absolute; left:calc(50% - 10px); right:calc(50% - 10px); top:-1px; height:2px; background:var(--paper); }
  .lightbox,.video-dialog { width:calc(100% - 24px); max-height:88dvh; }
  .lightbox-header { padding:6px 10px; }
  .lightbox-media { height:49dvh; }
  .lightbox-footer { padding:16px 14px; gap:10px; }
  .lightbox-footer h2 { font-size:14px; }
  .lightbox-footer p { font-size:10px; }
  .lightbox-controls { gap:0; }
  .lightbox-controls .icon-button { width:39px; }
  .video-stage { aspect-ratio:1.1; }
  .video-empty h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { html:not(.motion-full) { scroll-behavior:auto; } html:not(.motion-full) *,html:not(.motion-full) *::before,html:not(.motion-full) *::after { transition:none !important; animation:none !important; } }
