.anniversary-page { background: var(--paper); }
.special-closing [hidden] { display:none; }
.archive-header { display:flex; align-items:center; justify-content:space-between; gap:2rem; min-height:100px; padding:1rem clamp(1.25rem,5vw,6rem); border-bottom:1px solid var(--line); }
.archive-header nav { display:flex; align-items:center; gap:2rem; font-size:.8rem; font-weight:700; }
.archive-header nav a { text-decoration:none; }
.archive-header .home-link { border-left:1px solid var(--line); padding-left:2rem; }
.anniversary-hero { padding:2.2rem clamp(1.25rem,5vw,6rem) 6rem; }
.edition { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); font-size:.65rem; text-transform:uppercase; letter-spacing:.13em; }
.anniversary-heading { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:3.2rem 0 3rem; }
.anniversary-heading .eyebrow { margin-bottom:1.2rem; }
.anniversary-heading h1 { max-width:none; margin:0 0 1.2rem -.03em; color:var(--red); font-size:clamp(5rem,13vw,12.5rem); letter-spacing:-.07em; line-height:.85; }
.anniversary-subtitle { margin:0; font-family:var(--serif); font-size:clamp(1.6rem,3vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.anniversary-subtitle em { font-style:normal; color:var(--red); }
.years { min-width:260px; text-align:center; color:var(--red); border-left:1px solid var(--line); padding-left:4vw; }
.years strong { display:block; font-family:var(--serif); font-size:clamp(7rem,15vw,14rem); line-height:.85; letter-spacing:-.085em; }
.years span { display:block; font-size:.8rem; line-height:1.4; margin-top:1.5rem; }
.hero-archive { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(2rem,5vw,6rem); align-items:center; }
.hero-archive figure { margin:0; }
.hero-archive figure img { width:100%; height:auto; }
.hero-archive figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding-top:.8rem; color:var(--muted); font-size:.65rem; }
.hero-archive figcaption span { font-weight:700; color:var(--ink); }
.small-label { font-size:.63rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.hero-editorial h2 { margin:1.2rem 0; font-family:var(--serif); font-size:clamp(2rem,3.2vw,3.5rem); line-height:1.08; letter-spacing:-.04em; font-weight:400; }
.hero-editorial > p { color:var(--muted); font-size:.9rem; }
.hero-editorial .archive-note { margin:1.4rem 0 0; font-size:.68rem; }
.history-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem 7vw; padding:6rem clamp(1.25rem,7vw,8rem); background:var(--cream); border-block:1px solid var(--line); }
.history-intro h2,.archive-section h2 { font-family:var(--serif); font-size:clamp(2.8rem,5vw,5rem); line-height:1.02; letter-spacing:-.05em; font-weight:400; }
.history-intro > p:last-child { max-width:250px; color:var(--muted); font-size:.9rem; }
.history-timeline { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.history-timeline li { display:grid; grid-template-columns:100px 1fr; gap:1.5rem; padding:1.8rem 0; border-bottom:1px solid var(--line); }
.history-timeline li > span { color:var(--red); font-family:var(--serif); font-size:2.2rem; line-height:1.2; letter-spacing:-.04em; }
.history-timeline h3 { font-family:var(--serif); font-size:1.5rem; font-weight:400; margin-bottom:.6rem; line-height:1.2; }
.history-timeline .small-label { margin-bottom:.5rem; color:var(--red); }
.history-timeline div > p:last-child { font-size:.82rem; color:var(--muted); margin:0; }
.history-source { grid-column:1/-1; max-width:950px; font-size:.67rem; color:var(--muted); margin:0; }
.archive-section { padding:6rem clamp(1.25rem,5vw,6rem); }
.archive-section-heading { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:3rem; }
.archive-section-heading h2 { margin:0; }
.archive-section-heading > p { max-width:300px; font-size:.85rem; color:var(--muted); margin:0; }
.archive-grid { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem 2.5rem; }
.archive-grid figure { margin:0; min-width:0; }
.archive-grid figure > a { display:block; position:relative; overflow:hidden; background:var(--cream); }
.archive-grid img { width:100%; height:auto; aspect-ratio:1.48; object-fit:contain; transition:transform .3s; }
.archive-grid figure > a:hover img { transform:scale(1.015); }
.enlarge { position:absolute; bottom:.75rem; right:.75rem; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--paper); font-size:1.15rem; }
.archive-grid figcaption { padding:1.2rem 0; border-bottom:1px solid var(--line); }
.photo-year { color:var(--red); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin:0 0 .6rem; }
.archive-grid h3 { font-family:var(--serif); font-size:1.75rem; letter-spacing:-.03em; line-height:1.15; font-weight:400; margin:0 0 .6rem; }
.archive-grid figcaption p:not(.photo-year) { color:var(--muted); font-size:.78rem; margin:0 0 .5rem; }
.archive-grid figcaption a { font-size:.68rem; text-underline-offset:3px; }
.gallery-note { max-width:800px; font-size:.7rem; color:var(--muted); margin:2rem 0 0; }
.memory-section { display:grid; grid-template-columns:.65fr 1fr; gap:6vw; padding:5rem clamp(1.25rem,7vw,8rem); background:var(--red); color:white; overflow:hidden; align-items:center; }
.memory-number { font-size:clamp(8rem,22vw,21rem); font-family:var(--serif); line-height:.9; letter-spacing:-.09em; color:#fff; opacity:.35; }
.memory-section h2 { font-family:var(--serif); font-size:clamp(2.5rem,4.5vw,4.8rem); font-weight:400; line-height:1.06; letter-spacing:-.045em; }
.memory-section div > p:not(.eyebrow) { max-width:500px; color:#fff; font-size:.85rem; }
.memory-section .mail-hint { margin:1rem 0 0; font-size:.68rem !important; }
.special-closing { padding:6rem 1.25rem; text-align:center; }
.special-closing > p { color:var(--muted); font-size:.72rem; }
.special-closing h2 { font-family:var(--serif); font-size:clamp(3rem,7.5vw,7rem); font-weight:400; line-height:1.03; letter-spacing:-.05em; }
.special-closing em { font-style:normal; color:var(--red); }
.special-closing [role=status]:empty { display:none; }
.photo-dialog { width:min(1100px,96vw); max-height:95dvh; border:0; padding:1.2rem; background:var(--paper); color:var(--ink); }
.photo-dialog::backdrop { background:rgba(15,12,12,.92); }
.dialog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.dialog-toolbar p { margin:0; font-family:var(--serif); font-size:1.3rem; line-height:1.15; }
.photo-dialog button { cursor:pointer; min-width:44px; min-height:44px; padding:.5rem .8rem; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-family:inherit; }
.dialog-close { flex-shrink:0; }
.dialog-image { width:100%; height:60dvh; object-fit:contain; background:#eee9e3; }
.dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
.dialog-bottom div { text-align:center; font-size:.7rem; }
.dialog-bottom p { margin:0 0 .25rem; }
body.photo-open { overflow:hidden; }
a:focus-visible,button:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.memory-section a:focus-visible { outline-color:white; }
@media(max-width:820px) { .archive-header nav { gap:1rem; }.archive-header .home-link { display:none; }.hero-archive { grid-template-columns:1fr; }.years { min-width:180px; }.history-section { grid-template-columns:1fr; gap:2rem; }.history-intro > p:last-child { max-width:none; }.archive-section-heading { flex-direction:column; align-items:start; gap:1rem; }.archive-section-heading > p { max-width:500px; }.memory-section { grid-template-columns:1fr; }.memory-number { display:none; } }
@media(max-width:520px) { .archive-header { min-height:85px; gap:1rem; }.archive-header .brand { width:140px; }.archive-header nav { font-size:.65rem; gap:.8rem; }.archive-header nav a:first-child { display:none; }.edition { flex-direction:column; gap:.3rem; }.anniversary-heading { gap:1rem; padding-top:2.2rem; align-items:end; }.anniversary-heading h1 { font-size:21vw; }.anniversary-subtitle { font-size:1.4rem; }.years { min-width:0; padding-left:.8rem; }.years strong { font-size:23vw; }.years span { font-size:.58rem; margin-top:.8rem; }.hero-editorial h2 { font-size:2.2rem; }.anniversary-hero { padding-bottom:3.5rem; }.history-section,.archive-section { padding-block:3.5rem; }.history-timeline li { grid-template-columns:72px 1fr; gap:1rem; }.history-timeline li > span { font-size:1.8rem; }.archive-grid { grid-template-columns:1fr; gap:2rem; }.memory-section { padding-block:3.5rem; }.special-closing { padding-block:4rem; }.dialog-image { height:48dvh; }.dialog-toolbar p { font-size:1.1rem; } }
@media(prefers-reduced-motion:reduce) { .archive-grid img { transition:none; } }
