﻿:root {
  --ink: #11110f;
  --paper: #e7e4d9;
  --muted: #929087;
  --lime: #c9ee61;
  --coral: #ff806e;
  --line: rgba(231,228,217,.18);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Trebuchet MS', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display:none!important; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin:0; color:var(--paper); background:var(--ink); font-family:var(--sans); overflow-x:hidden; }
body:before { content:''; position:fixed; inset:0; pointer-events:none; opacity:.18; background:radial-gradient(circle at 8% 15%, rgba(201,238,97,.14), transparent 32%), radial-gradient(circle at 92% 58%, rgba(255,128,110,.13), transparent 30%); }
.grain { position:fixed; inset:0; pointer-events:none; z-index:10; opacity:.055; 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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E"); }
a { color:inherit; }
button { font:inherit; color:inherit; }
.site-header { position:fixed; top:0; left:0; right:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:18px max(20px, calc((100vw - 1180px)/2)); mix-blend-mode:screen; }
.wordmark { display:flex; align-items:center; gap:11px; font-weight:900; letter-spacing:.08em; text-decoration:none; font-size:13px; }
.wordmark span { display:grid; place-items:center; width:37px; height:37px; border:1px solid var(--lime); border-radius:50%; color:var(--lime); font-size:11px; }
.wordmark i { color:var(--muted); font-style:normal; font-size:10px; }
.header-note { color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.menu-dot { padding:8px 0 8px 12px; border:0; background:transparent; color:var(--lime); letter-spacing:4px; cursor:pointer; }
.section-pad { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.hero { position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding-top:95px; padding-bottom:76px; }
.hero-title { max-width:850px; margin:20px 0 25px; font-family:var(--serif); font-size:clamp(64px, 12vw, 174px); font-weight:400; line-height:.83; letter-spacing:-.08em; }
.hero-title span { display:block; color:var(--lime); font-family:var(--sans); font-size:.28em; font-weight:900; letter-spacing:.02em; text-transform:uppercase; margin:0 0 18px 8px; }
.hero-title em { font-style:normal; }
.kicker { margin:0; color:var(--lime); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.hero-lede { max-width:410px; margin:0 0 32px 8px; color:#bbb8ae; font-size:15px; line-height:1.6; }
.hero-actions { display:flex; align-items:center; gap:20px; margin-left:8px; }
.unlock-gate { --unlock-progress:0%; position:relative; width:min(410px,100%); height:66px; padding:4px; border:1px solid var(--line); border-radius:100px; background:linear-gradient(90deg,rgba(201,238,97,.2) var(--unlock-progress),rgba(231,228,217,.04) var(--unlock-progress)); }
.unlock-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding-left:45px; color:var(--paper); font-size:13px; font-weight:700; pointer-events:none; }
.unlock-slider { appearance:none; -webkit-appearance:none; position:relative; display:block; width:100%; height:56px; margin:0; background:transparent; cursor:grab; touch-action:pan-y; }
.unlock-slider:active { cursor:grabbing; }
.unlock-slider::-webkit-slider-runnable-track { height:56px; background:transparent; }
.unlock-slider::-moz-range-track { height:56px; background:transparent; }
.unlock-slider::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:56px; height:56px; border:0; border-radius:50%; background:var(--lime); box-shadow:0 0 20px rgba(201,238,97,.15); }
.unlock-slider::-moz-range-thumb { width:56px; height:56px; border:0; border-radius:50%; background:var(--lime); box-shadow:0 0 20px rgba(201,238,97,.15); }
.unlock-gate:focus-within { outline:2px solid var(--lime); outline-offset:4px; }
.unlock-slider:focus { outline:none; }
#stories { scroll-margin-top:75px; outline:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; padding:0 22px; border:1px solid transparent; border-radius:100px; cursor:pointer; font-size:12px; font-weight:800; letter-spacing:.02em; transition:transform .25s, background .25s, color .25s; }
.button span { font-size:18px; line-height:0; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:var(--ink); background:var(--lime); box-shadow:0 12px 30px rgba(201,238,97,.14); }
.button-primary:hover { background:#e2ff8c; }
.button-ghost { color:var(--paper); border-color:var(--line); background:rgba(255,255,255,.035); }
.button-ghost:hover { border-color:var(--lime); }
.microcopy { color:var(--muted); font-size:10px; line-height:1.4; letter-spacing:.05em; }
.hero-stamp { position:absolute; right:2%; bottom:15%; display:flex; flex-direction:column; align-items:center; justify-content:center; width:108px; height:108px; border:1px solid rgba(255,128,110,.6); border-radius:50%; color:var(--coral); transform:rotate(11deg); text-transform:uppercase; font-size:9px; letter-spacing:.14em; }
.hero-stamp strong { margin-top:6px; font-size:20px; font-weight:400; }
.hero-orbit { position:absolute; right:13%; top:22%; width:clamp(180px, 30vw, 380px); aspect-ratio:1; border:1px solid rgba(201,238,97,.15); border-radius:50%; transform:rotate(-19deg); }
.hero-orbit:before,.hero-orbit:after { content:''; position:absolute; inset:11%; border:1px solid rgba(255,128,110,.13); border-radius:50%; }
.hero-orbit:after { inset:25%; border-color:rgba(201,238,97,.13); }
.hero-orbit span { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--coral); box-shadow:0 0 22px var(--coral); }
.hero-orbit span:nth-child(1){top:7%;left:48%}.hero-orbit span:nth-child(2){right:14%;bottom:25%;background:var(--lime);box-shadow:0 0 22px var(--lime)}.hero-orbit span:nth-child(3){left:14%;bottom:18%;width:4px;height:4px}
.archive { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; padding-top:130px; padding-bottom:150px; }
.section-intro { position:sticky; top:110px; align-self:start; }
.section-intro h2,.interlude h2,.finale h2 { margin:22px 0 25px; font-family:var(--serif); font-size:clamp(46px, 6vw, 82px); font-weight:400; line-height:.9; letter-spacing:-.07em; }
.section-intro h2 em,.interlude h2 em,.finale h2 em { color:var(--coral); font-style:italic; }
.section-intro>p:not(.kicker):not(.archive-status) { max-width:285px; margin:0 0 20px; color:var(--muted); font-size:13px; line-height:1.65; }
code { color:var(--lime); font-size:11px; }
.text-button { padding:0 0 6px; border:0; border-bottom:1px solid var(--lime); background:none; color:var(--paper); cursor:pointer; font-size:12px; }
.text-button span { margin-left:9px; color:var(--lime); }
.archive-status { min-height:20px; margin:15px 0 0; color:var(--lime); font-size:11px; }
.photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-content:start; }
.photo-card { position:relative; min-height:245px; padding:20px; overflow:hidden; border:1px solid rgba(231,228,217,.12); border-radius:4px; background:#2a2b25; text-align:left; cursor:pointer; transition:transform .35s, border-color .35s; }
.photo-card:hover { transform:translateY(-6px) rotate(-1deg); border-color:var(--lime); }
.photo-card:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.photo-card-tall { grid-row:span 2; min-height:505px; background:linear-gradient(145deg,#68704e,#1f2822 58%,#9a5b48); }
.photo-card-wide { grid-column:span 2; min-height:225px; background:linear-gradient(120deg,#453e47,#be745e 52%,#151b1b); }
.photo-card:nth-child(3){background:linear-gradient(145deg,#262e34,#9c9271)}
.photo-card-note { background:var(--lime); color:var(--ink); display:flex; flex-direction:column; justify-content:space-between; }
.photo-index { position:absolute; top:15px; right:17px; font-size:10px; opacity:.7; }
.photo-label { position:absolute; left:20px; bottom:20px; font-family:var(--serif); font-size:22px; line-height:.95; letter-spacing:-.04em; }
.upload-hint { position:absolute; top:18px; left:20px; padding:5px 8px; border:1px solid rgba(255,255,255,.3); border-radius:99px; font-size:9px; letter-spacing:.06em; opacity:.75; }
.secret-mark { font-size:44px; font-weight:400; align-self:center; margin:auto; }
.photo-card.has-image { background-size:cover; background-position:center; }
.photo-card.has-image:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%, rgba(8,10,8,.72)); }
.photo-card.has-image > * { z-index:1; }
.interlude { position:relative; min-height:690px; display:flex; flex-direction:column; justify-content:center; padding-top:80px; padding-bottom:100px; }
.interlude-mark { position:absolute; top:18%; right:12%; color:var(--lime); font-size:140px; font-weight:100; opacity:.25; transform:rotate(18deg); }
.interlude h2 { max-width:760px; font-size:clamp(55px, 9vw, 128px); }
.interlude-copy { max-width:280px; margin:0 0 28px 8px; color:var(--muted); font-size:14px; line-height:1.6; }
.letter { padding-top:100px; padding-bottom:150px; }
.letter-card { position:relative; max-width:700px; margin:0 auto; padding:clamp(28px,6vw,70px); color:var(--ink); background:var(--paper); transform:rotate(-1.2deg); box-shadow:18px 22px 0 rgba(201,238,97,.16); }
.letter-top { display:flex; justify-content:space-between; margin-bottom:60px; font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.letter-greeting { margin:0 0 22px; font-family:var(--serif); font-size:34px; }
.letter-copy { max-width:555px; margin:0; font-family:var(--serif); font-size:clamp(20px,3vw,29px); line-height:1.23; letter-spacing:-.035em; }
.letter-sign { margin:35px 0 0; font-size:13px; font-weight:700; }
.letter-sign span { color:var(--coral); font-size:19px; }
.letter-scribble { position:absolute; right:10%; bottom:7%; color:#827d72; font-family:var(--serif); font-size:11px; font-style:italic; transform:rotate(-9deg); }
.finale { min-height:70svh; padding-top:100px; padding-bottom:120px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.finale h2 { font-size:clamp(64px, 11vw, 150px); }
.finale-copy { margin:0 0 30px 8px; color:var(--muted); font-size:14px; }
.site-footer { display:flex; justify-content:space-between; gap:15px; padding:22px max(20px,calc((100vw - 1180px)/2)); border-top:1px solid var(--line); color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.site-footer a { color:var(--lime); text-decoration:none; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }
.lightbox[hidden] { display:none; }
.lightbox { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:20px; }
.lightbox-backdrop { position:absolute; inset:0; border:0; background:rgba(0,0,0,.78); backdrop-filter:blur(13px); cursor:pointer; }
.lightbox-dialog { position:relative; z-index:1; width:min(700px,100%); max-height:90svh; padding:12px; background:#1e211c; border:1px solid var(--line); }
.lightbox-image-wrap { display:grid; min-height:280px; max-height:74svh; place-items:center; background:#0c0d0c; overflow:hidden; }
.lightbox-image-wrap img { width:100%; max-height:74svh; object-fit:contain; }
.lightbox-dialog p { margin:12px 5px 4px; color:var(--paper); font-family:var(--serif); font-size:19px; }
.lightbox-close { position:absolute; top:-14px; right:-14px; z-index:2; width:35px; height:35px; border:1px solid var(--paper); border-radius:50%; background:var(--ink); color:var(--paper); font-size:22px; cursor:pointer; }
.toast { position:fixed; left:50%; bottom:22px; z-index:50; max-width:calc(100% - 32px); padding:12px 16px; border:1px solid var(--lime); background:var(--ink); color:var(--lime); font-size:12px; transform:translate(-50%,20px); opacity:0; pointer-events:none; transition:.3s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width: 720px) {
  .site-header { padding:13px 16px; }
  .header-note { display:none; }
  .section-pad { width:calc(100% - 32px); }
  .hero { min-height:100svh; padding-top:102px; }
  .hero-orbit { right:-17%; top:17%; width:300px; }
  .hero-title { max-width:100%; font-size:clamp(61px, 19vw, 108px); line-height:.84; margin-top:18px; }
  .hero-title span { margin-left:2px; font-size:15px; }
  .hero-lede { margin-left:2px; max-width:300px; font-size:14px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:13px; margin-left:2px; }
  .hero-actions { width:100%; }
  .microcopy { padding-left:4px; }
  .hero-stamp { right:1%; bottom:12%; width:80px; height:80px; font-size:7px; }
  .hero-stamp strong { font-size:15px; }
  .archive { display:block; padding-top:90px; padding-bottom:95px; }
  .section-intro { position:static; margin-bottom:36px; }
  .section-intro h2,.interlude h2,.finale h2 { font-size:clamp(48px, 15vw, 76px); }
  .section-intro>p:not(.kicker):not(.archive-status) { max-width:310px; }
  .photo-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .photo-card { min-height:180px; padding:14px; }
  .photo-card-tall { min-height:369px; }
  .photo-card-wide { min-height:174px; }
  .photo-label { left:14px; bottom:14px; font-size:18px; }
  .photo-index { top:12px; right:12px; }
  .upload-hint { left:12px; top:12px; font-size:8px; }
  .interlude { min-height:610px; padding-top:60px; padding-bottom:80px; }
  .interlude-mark { top:11%; right:4%; font-size:100px; }
  .interlude-copy { margin-left:2px; }
  .letter { padding-top:58px; padding-bottom:100px; }
  .letter-card { padding:29px 23px 45px; box-shadow:10px 14px 0 rgba(201,238,97,.16); }
  .letter-top { margin-bottom:42px; font-size:8px; }
  .letter-copy { font-size:22px; }
  .letter-scribble { right:7%; bottom:4%; }
  .finale { min-height:66svh; padding-top:80px; padding-bottom:90px; }
  .site-footer { padding:18px 16px; font-size:8px; }
  .site-footer span:nth-child(2) { max-width:120px; text-align:right; line-height:1.4; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
.new-year { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; padding-top:40px; padding-bottom:150px; }
.new-year-copy h2 { margin:22px 0 25px; font-family:var(--serif); font-size:clamp(48px, 6vw, 82px); font-weight:400; line-height:.9; letter-spacing:-.07em; }
.new-year-copy h2 em { color:var(--lime); font-style:italic; }
.new-year-copy>p:not(.kicker) { max-width:350px; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.video-card { overflow:hidden; border:1px solid var(--line); background:#171914; box-shadow:12px 16px 0 rgba(255,128,110,.12); transform:rotate(1.4deg); }
.video-card video { display:block; width:100%; max-height:620px; background:#070807; object-fit:contain; }
.video-caption { display:flex; justify-content:space-between; gap:12px; padding:14px 16px; color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:720px) { .new-year { display:block; padding-top:0; padding-bottom:95px; } .new-year-copy { margin-bottom:36px; } .new-year-copy h2 { font-size:clamp(48px, 15vw, 76px); } .video-card { transform:rotate(.8deg); } .video-caption { font-size:8px; } }

/* История и отдельный фотоархив */
.site-header { background:rgba(17,17,15,.92); backdrop-filter:blur(12px); mix-blend-mode:normal; }
.header-link { color:var(--lime); font-size:12px; font-weight:700; text-decoration:none; }
.button { text-decoration:none; }
.story-intro { padding-top:110px; padding-bottom:110px; }
.story-intro h2,.story-heading h2,.archive-invite h2,.archive-lead h1 { margin:18px 0 28px; font-family:var(--serif); font-size:clamp(46px,7vw,90px); font-weight:400; line-height:.94; letter-spacing:-.065em; }
.story-intro h2 em,.archive-invite h2 em,.archive-lead h1 em { color:var(--coral); }
.story-intro>p:last-child { max-width:550px; color:#c5c2b8; line-height:1.7; }
.story-section { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:70px; padding-top:90px; padding-bottom:100px; border-top:1px solid var(--line); }
.story-heading { position:sticky; top:112px; align-self:start; }
.story-heading h2 { font-size:clamp(42px,5vw,67px); }
.story-body>p { margin:0 0 32px; color:#d1cec4; font-size:clamp(16px,1.6vw,19px); line-height:1.7; }
.story-body>p:last-child { margin-bottom:0; }
.story-notes article { padding:0 0 28px; margin:0 0 28px; border-bottom:1px solid var(--line); }
.story-notes article:last-child { border-bottom:0; margin-bottom:0; }
.story-notes h3 { margin:0 0 12px; color:var(--lime); font-size:13px; letter-spacing:.04em; }
.story-notes article p { margin:0; color:#d1cec4; font-size:16px; line-height:1.65; }
.note-photo { display:block; width:100%; max-width:560px; max-height:420px; margin:0 0 16px; object-fit:contain; object-position:left; background:#1c1e19; }
.image-story { display:grid; grid-template-columns:minmax(120px,240px) 1fr; gap:18px; align-items:center; margin-top:28px; }
.image-story img { display:block; width:100%; max-height:260px; object-fit:contain; background:#171914; }
.image-story p { margin:0; color:#c5c2b8; line-height:1.6; }
.ilya-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.ilya-grid .media-tile:first-child { grid-row:auto; }
.ilya-grid .media-tile img { display:block; width:100%; max-height:520px; object-fit:contain; background:#171914; border:1px solid var(--line); }
.media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:30px 0 45px; }
.media-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.media-tile { min-width:0; margin:0; }
.media-tile video { display:block; width:100%; max-height:480px; aspect-ratio:9/13; object-fit:contain; background:#050505; border:1px solid var(--line); }
.media-tile>img { display:block; width:100%; max-height:480px; aspect-ratio:1; object-fit:cover; background:#191b17; border:1px solid var(--line); }
.media-tile figcaption,.feature-photo figcaption { padding-top:10px; color:#aaa79d; font-size:13px; line-height:1.5; }
.media-tile-single { width:min(340px,100%); margin:22px 0 0; }
.media-tile-single video { aspect-ratio:9/16; }
.feature-photo { margin:0 0 48px; }
.image-button { display:block; width:100%; max-width:620px; padding:0; border:0; background:none; cursor:zoom-in; text-align:left; }
.image-button img { display:block; width:100%; max-height:650px; object-fit:contain; object-position:left; background:#1c1e19; }
.feature-photo figcaption { max-width:620px; font-size:15px; }
.feature-photo>img { display:block; width:100%; max-width:620px; max-height:650px; object-fit:contain; object-position:left; background:#1c1e19; }
.feature-caption { margin:12px 0 0; color:var(--coral); font-family:var(--serif); font-size:clamp(24px,3vw,38px); line-height:1; }
.side-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:30px 0 48px; }
.side-image-grid .feature-photo { margin:0; }
.dima-section { background:linear-gradient(90deg,rgba(201,238,97,.035),transparent 60%); }
.dima-section .story-heading h2 em { color:var(--coral); font-style:italic; }
.dima-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:30px 0 30px; }
.dima-gallery .media-tile:first-child { grid-column:span 2; }
.dima-gallery .media-tile:first-child video { aspect-ratio:16/9; max-height:560px; }
.dima-gallery .media-tile:nth-child(2) video,.dima-gallery .media-tile:nth-child(3) video { aspect-ratio:9/13; }
.dima-sign { color:var(--coral)!important; font-family:var(--serif); font-size:clamp(24px,3vw,38px)!important; line-height:1.1!important; }
.lolo-grid { align-items:start; }
.archive-preview-single { display:flex; align-items:center; justify-content:center; }
.archive-preview-single img { position:static; width:70%; height:90%; object-fit:cover; transform:rotate(3deg); }
.section-photo-end .end-photo img { max-width:390px; }
.finale-photo { margin:20px 0 30px; max-width:260px; }
.finale-photo img { display:block; width:100%; max-height:360px; object-fit:contain; background:#171914; }
.finale-photo figcaption { padding-top:8px; color:var(--muted); font-size:12px; }
.archive-invite { display:grid; grid-template-columns:1fr .75fr; gap:50px; align-items:center; min-height:570px; padding-top:90px; padding-bottom:120px; border-top:1px solid var(--line); }
.archive-invite-copy>p:not(.kicker) { max-width:400px; margin:0 0 30px; color:#c5c2b8; line-height:1.65; }
.archive-preview { position:relative; height:390px; }
.archive-preview img { position:absolute; width:45%; height:72%; object-fit:cover; border:5px solid #252721; box-shadow:0 16px 35px rgba(0,0,0,.35); }
.archive-preview img:nth-child(1) { left:4%; top:17%; transform:rotate(-9deg); }
.archive-preview img:nth-child(2) { left:31%; top:5%; transform:rotate(5deg); }
.archive-preview img:nth-child(3) { left:56%; top:19%; transform:rotate(12deg); }
.archive-main { padding-top:125px; padding-bottom:90px; }
.archive-lead { max-width:850px; margin-bottom:100px; }
.archive-lead>p:last-child { max-width:530px; color:#c5c2b8; line-height:1.7; }
.archive-feature { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; padding:55px 0 80px; border-top:1px solid var(--line); }
.archive-kept { padding:55px 0 80px; border-top:1px solid var(--line); }
.kept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.kept-grid .archive-photo img { height:430px; }
.archive-feature h2,.archive-grid-title h2 { margin:20px 0; font-family:var(--serif); font-size:clamp(40px,5vw,64px); font-weight:400; line-height:.96; letter-spacing:-.06em; }
.archive-feature p:not(.kicker) { max-width:350px; color:#c5c2b8; line-height:1.65; }
.series-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.archive-grid-section { padding:60px 0; border-top:1px solid var(--line); }
.archive-grid-title { margin-bottom:40px; }
.archive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.archive-photo { min-width:0; padding:0; border:0; background:#22241f; color:var(--paper); text-align:left; cursor:zoom-in; }
.archive-photo img { display:block; width:100%; height:260px; object-fit:cover; }
.archive-photo span { display:block; padding:10px 12px 14px; font-size:12px; line-height:1.45; }
.archive-photo:hover img { filter:brightness(1.12); }
.archive-photo:focus-visible,.image-button:focus-visible,.header-link:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.archive-end { padding:75px 0 25px; border-top:1px solid var(--line); }
.archive-end p { margin:0 0 25px; font-family:var(--serif); font-size:clamp(30px,5vw,60px); }
.archive-end .archive-reminder { max-width:530px; color:#c5c2b8; font-family:var(--sans); font-size:16px; line-height:1.7; }
.archive-loader[hidden],.archive-main[hidden] { display:none; }
.archive-loader { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:25px; background:var(--ink); transition:opacity .3s; }
.archive-loader.done { opacity:0; pointer-events:none; }
.archive-loader>div { width:min(560px,100%); }
.archive-loader h1 { margin:18px 0 50px; font-family:var(--serif); font-size:clamp(42px,10vw,82px); font-weight:400; line-height:.95; letter-spacing:-.06em; }
.archive-lead h1 { overflow-wrap:anywhere; }
.mobile-break { display:none; }
.loader-track { width:100%; height:4px; background:#3d4034; }
.loader-track span { display:block; width:0; height:100%; background:var(--lime); }
.loader-percent { color:var(--lime); font-size:12px; text-align:right; }
.lightbox-open { overflow:hidden; }
.hero .reveal { opacity:1; transform:none; }
.hero-title { font-size:clamp(58px,9vw,132px); letter-spacing:-.075em; }
@media (max-width:720px) {
  .archive-loader h1 { font-size:clamp(38px,10vw,52px); line-height:1.02; letter-spacing:-.08em; }
  .hero-title { font-size:clamp(51px,13.2vw,72px); line-height:.92; letter-spacing:-.07em; }
  .hero-orbit { opacity:.45; }
  .header-link { font-size:11px; }
  .story-intro { padding-top:80px; padding-bottom:80px; }
  .story-intro h2,.archive-invite h2,.archive-lead h1 { font-size:clamp(44px,12vw,68px); }
  .story-section { display:block; padding-top:65px; padding-bottom:72px; }
  .story-heading { position:static; margin-bottom:28px; }
  .story-heading h2 { font-size:clamp(41px,11vw,62px); }
  .story-body>p { font-size:16px; }
  .media-grid,.media-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .media-tile video { max-height:340px; }
  .media-tile figcaption { font-size:11px; }
  .image-story { grid-template-columns:1fr; }
  .image-story img { max-width:260px; }
  .ilya-grid { gap:12px; }
  .side-image-grid { gap:12px; }
  .dima-gallery { gap:12px; }
  .feature-photo figcaption { font-size:14px; }
  .archive-invite { display:block; min-height:0; padding-top:75px; padding-bottom:65px; }
  .archive-preview { height:250px; margin-top:35px; }
  .archive-main { padding-top:110px; }
  .archive-lead { margin-bottom:65px; }
  .archive-lead h1 { font-size:clamp(39px,10vw,56px); line-height:1.02; }
  .mobile-break { display:inline; }
  .archive-feature { display:block; padding-top:45px; }
  .archive-kept { padding-top:45px; }
  .kept-grid { grid-template-columns:1fr; }
  .archive-feature>div:first-child { margin-bottom:30px; }
  .series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .archive-photo img { height:220px; }
}
