@font-face{font-family:'Inter Display';src:url('InterDisplay-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--display-l:300 57px/64px 'Inter Display',Inter,sans-serif;--display-m:300 45px/52px 'Inter Display',Inter,sans-serif;--display-s:300 36px/44px 'Inter Display',Inter,sans-serif;--h3:400 24px/32px 'Inter Display',Inter,sans-serif;--body:400 16px/24px Inter,sans-serif;--note:400 14px/20px Inter,sans-serif;--caption:400 12px/16px Inter,sans-serif;--button-radius:16px;--control-radius:16px;--control-fill:rgb(220 216 238 / .10);--control-stroke:rgb(198 195 223 / .20)}
*{box-sizing:border-box}body{margin:0;background:var(--background-primary);color:var(--text-default);font:var(--body)}a{color:inherit;text-decoration:none}button,input,textarea{font-family:Inter,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,.memories-heading h2{font:var(--display-l)!important;letter-spacing:0!important}h3{font:var(--h3);letter-spacing:.32px}em{font-style:normal;color:var(--accent-text)}.body-copy,.lead{font:var(--body)!important;letter-spacing:0;max-width:560px}.note{font:var(--note)}.caption{font:var(--caption)}.secondary{color:var(--text-secondary)}.display-large{font:var(--display-l)}.display-small{font:var(--display-s)}.screen{position:relative;padding:64px max(6vw,28px);display:flex;flex-direction:column;justify-content:center;gap:32px}.screen:nth-of-type(even){background:var(--background-secondary)}.screen h2{margin:0}.section-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;color:var(--text-tertiary);font:var(--caption);letter-spacing:.8px}.section-top span:first-child{color:var(--text-secondary)}.ds-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;width:fit-content;padding:16px 32px;border:0;border-radius:var(--button-radius);background:var(--accent);color:var(--text-default);font:500 14px/20px Inter,sans-serif;cursor:pointer;transition:background .2s}.ds-button:hover{background:rgb(28.94 110.57 251.56)}.ds-button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-text);outline-offset:4px}.site-header,.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px}.site-header img,.site-footer img{width:132px;filter:brightness(0) invert(1)}.site-header{padding:0;margin-bottom:0}.text-link{font:var(--note);color:var(--accent-text)}.hero{justify-content:space-between;gap:40px}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px}.section-number{font:var(--caption);letter-spacing:.8px;color:var(--text-secondary);margin-bottom:24px}.hero h1{margin-bottom:24px}.hero .body-copy{margin:0 0 32px;color:var(--text-secondary)}.screen-bottom{display:flex;justify-content:space-between;gap:20px;font:var(--caption);color:var(--text-tertiary)}.anniversary-art{position:relative;aspect-ratio:1;display:grid;place-items:center}.orbit{position:absolute;border:1px solid var(--map-border);border-radius:50%;inset:0}.orbit-b{inset:8%;border-color:var(--map-fill-end)}.orbit-c{inset:17%;border-color:var(--accent)}.orbit-a:before{content:'';position:absolute;top:16%;left:9%;width:12px;height:12px;border-radius:50%;background:var(--accent-text);box-shadow:0 0 32px var(--accent)}.anniversary-core{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.anniversary-core strong{font:var(--display-l);color:var(--accent-text)}.anniversary-core .caption{max-width:170px;color:var(--text-tertiary)}.anniversary-core .note{color:var(--text-secondary)}.anniversary-line{height:36px;width:1px;background:var(--accent)}.origin-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw;align-items:center}.origin-year{padding-left:8%;color:var(--accent-text)}.year-line{width:1px;height:150px;background:var(--map-border);margin:24px 0}.archive-placeholder{margin-top:32px;min-height:180px;background:var(--map-fill);display:flex;flex-direction:column;justify-content:end;padding:24px;gap:12px;border-radius:16px;color:var(--text-secondary)}.origin-layout h2{margin-bottom:28px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:48px}.timeline article{border-top:1px solid var(--map-border);position:relative;padding:32px 24px 0 0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);position:absolute;top:-5px;left:0}.timeline .display-small{color:var(--accent-text);margin-bottom:24px}.timeline h3{font:300 20px/28px 'Inter Display',Inter,sans-serif;letter-spacing:.28px}.timeline .note{max-width:180px}.timeline-end{margin-top:24px}.map-screen{position:relative;max-width:1600px;margin:0 auto;padding:64px max(6vw,28px);display:flex;align-items:center}.map-screen>section{width:100%}.intro{display:flex;justify-content:space-between;gap:32px;align-items:end}.intro h2{margin-bottom:24px}.stat{border-left:1px solid var(--border);padding-left:32px;flex-shrink:0}.stat strong{font:var(--display-l)!important}.stat p{font:var(--note);color:var(--text-secondary);margin:8px 0 0}.map{position:relative;margin-top:16px}.map svg{width:100%;display:block;overflow:hidden;max-height:56svh}.land{fill:url(#land);stroke:var(--map-border);stroke-width:.65}.point .dot{fill:var(--accent-text);stroke:var(--map-point-border);stroke-width:1}.point .halo{fill:var(--accent);opacity:.15}.point .hit{fill:transparent}.point.active .dot{fill:var(--text-default);stroke:var(--accent);stroke-width:3}.point.active .halo{opacity:.4}.tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-125%);background:var(--text-default);color:var(--text-inverse);padding:12px 16px;border-radius:8px;font:500 14px/20px Inter,sans-serif;z-index:4}.tooltip:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 5px);width:10px;height:10px;transform:rotate(45deg);background:var(--text-default)}.fact-list{margin-top:24px}.fact-list article{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:24px 0;border-top:1px solid var(--border)}.fact-list article>.display-small{color:var(--accent-text)}.fact-list h3{margin-bottom:12px}.fact-list .body-copy{max-width:760px;margin-bottom:0}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin:32px 0}.achievement-grid article{border-top:1px solid var(--map-border);padding-top:24px}.achievement-grid strong{color:var(--accent-text);font-weight:300}.achievement-grid p{margin:20px 0 0;color:var(--text-secondary)}.memories-heading h2{font:var(--display-l)!important;letter-spacing:0!important}.memories-heading>span{font:var(--body)}.photo-number{font:var(--display-l)}.photo-await{font:var(--caption)}.memory-photo figcaption{font:var(--note);padding:16px 4px 20px}.contribution{z-index:3;background:var(--background-primary)!important;text-align:center;align-items:center}.contribution-inner{max-width:720px;display:flex;flex-direction:column;align-items:center;gap:24px}.contribution h2{margin:0 0 8px}.contribution .body-copy{margin:0}.contribution .ds-button{margin-top:16px}.postcard-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:16px}fieldset{border:0;padding:0;margin:0 0 24px}legend{margin-bottom:12px}.card-themes{display:flex;flex-wrap:wrap;gap:8px}.theme-option{position:relative;cursor:pointer}.theme-option input{position:absolute;opacity:0}.theme-option span{display:block;border:1px solid var(--border);border-radius:12px;padding:12px 16px;font:var(--note);color:var(--text-secondary)}.theme-option input:checked+span{border-color:var(--accent);background:var(--map-fill);color:var(--text-default)}.theme-option input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:3px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.ds-input,.ds-textarea{width:100%;border:0;border-bottom:1px solid var(--control-stroke);background:var(--control-fill);border-radius:var(--control-radius);padding:16px;color:var(--text-default);font:var(--note)}.ds-input{min-height:52px}.ds-textarea{min-height:120px;resize:vertical}.ds-input::placeholder{color:var(--text-secondary)}.field-foot{text-align:right;margin-top:-12px;margin-bottom:20px}form>.caption{max-width:360px;margin-top:16px}.postcard-preview{position:relative;overflow:hidden;background:var(--map-fill);border-radius:20px;min-height:420px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--map-border)}.postcard-preview>img{width:100px;filter:brightness(0) invert(1);z-index:1}.postcard-rings{position:absolute;width:430px;height:430px;border:1px solid var(--accent);border-radius:50%;right:-230px;top:-160px;box-shadow:0 0 0 32px var(--map-fill),0 0 0 33px var(--map-border),0 0 0 64px var(--map-fill),0 0 0 65px var(--map-border)}.postcard-copy{position:relative;max-width:360px;margin:40px 0}.postcard-copy h3{font:var(--display-s);margin-bottom:24px;color:var(--accent-text)}.postcard-copy .caption{color:var(--text-secondary);margin-bottom:16px}.postcard-copy .note{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.postcard-copy .body-copy:empty{display:none}.postcard-sign{position:relative;color:var(--text-secondary)}.site-footer{border-top:1px solid var(--border);margin-top:40px;padding-top:24px}.site-footer img{width:95px}.site-nav{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:8px}.site-nav a{font:var(--caption);color:var(--text-tertiary);padding:5px}.site-nav a.active{color:var(--accent-text)}
@media(max-width:900px){.hero-layout{grid-template-columns:1.3fr 1fr;gap:20px}.site-nav{display:none}.screen{padding:48px 6vw}.anniversary-core strong{font:var(--display-s)}.anniversary-core{gap:8px}.anniversary-core .caption{display:none}.postcard-layout{gap:28px}.timeline{grid-template-columns:repeat(3,1fr);gap:32px 0}.map-screen{padding:48px 6vw}.origin-layout{gap:40px}}
@media(max-width:700px){h1,h2,.memories-heading h2{font:var(--display-s)!important}.screen{padding:32px 24px;gap:24px;min-height:100svh}.hero-layout{grid-template-columns:1fr;gap:28px}.hero .anniversary-art{width:230px;justify-self:center}.anniversary-core .note{font:var(--caption)}.anniversary-core strong{font:var(--display-s)}.hero{min-height:100svh}.site-header img{width:100px}.site-header .text-link{font:var(--caption)}.screen-bottom{font:var(--caption)}.screen-bottom span{display:none}.section-top{margin-bottom:20px;align-items:start}.section-top span:last-child{display:none}.origin-layout{grid-template-columns:1fr}.origin-year{padding-left:0;display:flex;align-items:center;gap:24px}.year-line{height:1px;width:48px;margin:0}.origin-year .note{margin:0}.origin-layout .archive-placeholder{min-height:150px}.timeline{grid-template-columns:1fr;margin-top:16px;gap:0}.timeline article{border-top:0;border-left:1px solid var(--map-border);padding:0 0 28px 24px;display:grid;grid-template-columns:90px 1fr;gap:0 16px}.timeline-dot{left:-5px;top:12px}.timeline .display-small{font:var(--h3);grid-row:span 2;margin:0}.timeline h3{font:var(--h3);margin:0 0 8px}.timeline .note{max-width:100%;margin:0}.timeline-end{margin:0}.map-screen{padding:40px 24px;min-height:100svh}.intro{display:block}.stat{margin-top:24px;padding-left:16px}.stat strong{font:var(--display-s)!important}.stat p{display:inline;margin-left:12px}.map{padding-top:0;margin-top:32px}.map svg{max-height:none;min-height:240px}.fact-list article{grid-template-columns:40px 1fr;gap:16px}.fact-list article>.display-small{font:var(--h3)}.fact-list h3{font:var(--h3)}.achievement-grid{gap:32px 24px}.achievement-grid strong{font:var(--display-s)}.achievement-grid p{font:var(--note)!important}.postcard-layout{grid-template-columns:1fr}.postcard-preview{grid-row:1;min-height:360px;padding:24px}.postcard-copy{margin:24px 0}.postcard-copy h3{font:var(--h3)}.site-footer{align-items:start;flex-direction:column}.theme-option span{padding:8px 12px}.memories-heading>span{font:var(--note)}.photo-number{font:var(--display-s)}.photo-await{font:var(--caption)}.memory-photo figcaption{font:var(--caption)}.contribution-inner{gap:24px}}
.map svg{max-height:none}
.ds-button:disabled{opacity:.5;cursor:wait}
/* Symmetric breathing room around the parallax stage. */
.memories{padding-bottom:34svh;height:253svh}
@media(max-width:700px){.memories{padding-bottom:22svh;height:209svh}}
@media(prefers-reduced-motion:reduce){.memories{height:168svh}}
:root{--header-height:96px}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:var(--header-height);padding:0 max(6vw,28px);background:rgb(17 17 19 / .92);backdrop-filter:blur(16px);border-bottom:1px solid rgb(244 244 246 / .06)}
.site-header>a:first-child{display:flex;align-items:center}
.screen,.map-screen{padding-top:calc(var(--header-height) + 32px)}
.hero{justify-content:center;padding-bottom:40px;gap:48px}
.hero .screen-bottom{position:absolute;bottom:40px;left:max(6vw,28px);right:max(6vw,28px)}
.memories-stage{top:var(--header-height);height:calc(100svh - var(--header-height))}
@media(max-width:700px){:root{--header-height:72px}.site-header{padding:0 24px}.hero{padding-bottom:80px;gap:28px}.hero .screen-bottom{left:24px;right:24px;bottom:24px}.screen,.map-screen{padding-top:calc(var(--header-height) + 24px)}}
.memory-image{aspect-ratio:1280/853;overflow:hidden;background:var(--map-fill)}
.memory-image img{width:100%;height:100%;object-fit:contain;display:block}
@font-face{font-family:'Inter Display';src:url('InterDisplay-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
.memories-heading h2{font:600 114px/128px 'Inter Display',Inter,sans-serif!important}
@media(max-width:700px){.memories-heading h2{font:600 72px/88px 'Inter Display',Inter,sans-serif!important}}
:root{--header-background:rgb(17 17 19 / .92)}
:root{color-scheme:light;--background-primary:#fff;--background-secondary:#f4f5f8;--text-default:#152149;--text-secondary:rgb(21 33 73 / .66);--text-tertiary:rgb(21 33 73 / .5);--text-inverse:#fff;--accent:#000078;--accent-text:#000078;--border:#d1d6e3;--map-fill:#e8edfc;--map-fill-end:#d1dbfa;--map-border:#bacaF7;--map-point-border:rgb(.134 38.106 147.007);--control-fill:rgb(26 51 115 / .05);--control-stroke:rgb(26 51 115 / .10);--header-background:rgb(255 255 255 / .92)}
.site-header{background:var(--header-background);border-bottom-color:var(--control-stroke)}
.site-header img,.site-footer img,.postcard-preview>img{filter:none}
.ds-button{color:#fff}.ds-button:hover{background:color-mix(in srgb,var(--accent),var(--text-inverse) 12%)}
.theme-symbol{display:block;width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.memory-photo{box-shadow:0 16px 48px rgb(21 33 73 / .12)}
.contribution{background:var(--background-primary)!important}
@media(max-width:700px){}
/* Wider geography with clean solid markers in both themes. */
.map-screen{max-width:none;padding-left:3vw;padding-right:3vw}
.map-screen .intro{padding-left:3vw;padding-right:3vw}
.map{margin-left:-1vw;margin-right:-1vw}
.point .halo{display:none}
.point .dot{fill:rgb(40.8 119.34 255);stroke:none;stroke-width:0}
.point.active .dot{fill:rgb(40.8 119.34 255);stroke:var(--text-default);stroke-width:2}
.point:hover .dot,.point:focus-visible .dot{fill:rgb(71.4 138.72 255);stroke:var(--text-default);stroke-width:1.5}
@media(max-width:700px){.map-screen{padding-left:16px;padding-right:16px}.map-screen .intro{padding-left:8px;padding-right:8px}.map{margin-left:0;margin-right:0}}
.memory-photo{background:#000078;box-shadow:0 16px 48px rgb(21 33 73 / .16)}
.memory-photo figcaption{color:#fff}
:root{--radius-3xl:20px;--radius-xl:12px}
.memory-photo{border-radius:var(--radius-3xl)}
.memory-image,.memory-image img{border-radius:var(--radius-xl)}
@media(prefers-reduced-motion:reduce){}
/* Birthday treatment: brand blue, confetti, celebratory depth. */
.hero{overflow:hidden;background:radial-gradient(ellipse at 85% 45%,rgb(41 119 255 / .22),transparent 58%),var(--background-primary)!important}
.hero h1 em{background:linear-gradient(100deg,#478bff,#9abfff);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero{background:radial-gradient(ellipse at 85% 45%,#d1dbfa,transparent 65%),var(--background-primary)!important}
.hero h1 em{background:none;color:var(--accent)}
.anniversary-art{background:radial-gradient(circle,rgb(41 119 255 / .20),transparent 66%)}
.orbit-a{border-color:var(--accent-text);box-shadow:0 0 64px rgb(41 119 255 / .10)}
.orbit-b{border-style:dashed;border-color:var(--map-border);animation:celebrate-orbit 90s linear infinite}
.orbit-c{box-shadow:inset 0 0 48px rgb(41 119 255 / .15);border-width:2px}
.birthday-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.birthday-confetti i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size) * .45);border-radius:2px;background:var(--confetti);opacity:.7;transform:rotate(var(--angle));animation:confetti-float var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.birthday-confetti i:nth-child(3n){border-radius:50%;height:var(--size);background:transparent;border:2px solid var(--confetti)}
.hero-layout,.hero .screen-bottom{position:relative;z-index:1}
.hero .screen-bottom{position:absolute}
.screen-number{color:var(--accent-text)}
#growth{background:radial-gradient(ellipse at 5% 100%,rgb(41 119 255 / .10),transparent 60%),var(--background-primary)}
#achievements{background:var(--accent)!important;color:#fff}
#achievements h2,#achievements .achievement-grid strong{color:#fff}
#achievements .section-top,#achievements .section-top span,#achievements .secondary,#achievements .achievement-grid p{color:rgb(255 255 255 / .75)}
#achievements .achievement-grid article{border-color:rgb(255 255 255 / .3)}
.memories{background:radial-gradient(ellipse at 50% 50%,rgb(41 119 255 / .14),transparent 65%),var(--background-primary)}
.memory-photo:nth-child(3n+1){box-shadow:0 24px 70px rgb(41 119 255 / .12)}
.contribution{background:radial-gradient(ellipse at 50% 45%,rgb(41 119 255 / .16),transparent 62%),var(--background-primary)!important}
.contribution{background:radial-gradient(ellipse at 50% 45%,#e8edfc,transparent 65%),var(--background-primary)!important}
#postcards{background:radial-gradient(ellipse at 90% 55%,rgb(41 119 255 / .10),transparent 65%),var(--background-primary)}
@keyframes confetti-float{from{translate:0 -6px;rotate:-8deg}to{translate:8px 16px;rotate:12deg}}
@keyframes celebrate-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.birthday-confetti i,.orbit-b{animation:none}}
/* Shared page gutters, as requested. */
:root{--page-gutter:32px}
.screen,.map-screen,.site-header{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero .screen-bottom{left:var(--page-gutter);right:var(--page-gutter)}
.map-screen .intro{padding-left:0;padding-right:0}
.map{margin-left:0;margin-right:0}
.origin-year{padding-left:0}
.photo-a{--rotation:9deg}
.memories{height:auto;min-height:253svh}
.memory-extra-row{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64svh;padding:0 64px 48px;align-items:center}
.memory-extra-row .extra-photo{position:relative;inset:auto;width:100%;max-width:none}
.memory-extra-row figcaption{min-height:64px}
@media(max-width:700px){.memories{height:auto;min-height:209svh}.memory-extra-row{grid-template-columns:1fr;gap:48px;margin-top:48svh;padding:0 32px 32px}.memory-extra-row .extra-photo{width:90%;justify-self:center}}
@media(prefers-reduced-motion:reduce){.memories{height:auto}}

/* A new centered birthday opening. */
#home{justify-content:center;align-items:center;padding-top:128px;padding-bottom:96px;background:radial-gradient(ellipse at 50% 58%,rgb(41 119 255 / .15),transparent 65%),var(--background-primary)}
.hero-center{position:relative;z-index:1;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:32px}
#home .hero-center h1{font:600 clamp(64px,8.2vw,128px)/1.08 'Inter Display',Inter,sans-serif!important;letter-spacing:-.025em!important;margin:0}
#home .hero-center h1 em{display:inline-block}
.hero-message{font:var(--h4);color:var(--text-secondary);margin:0;max-width:640px}
#home .birthday-confetti{z-index:0}
@media(max-width:700px){#home{padding-top:112px;padding-bottom:64px}.hero-center{gap:28px}#home .hero-center h1{font-size:clamp(42px,9vw,64px)!important}.hero-message{font:var(--body)}}

/* SOGAZ Segmented Control: Active Fill and Active Content. */
:root{--segment-active-fill:rgb(50.06 109.89 196.19 / .15);--segment-active-content:rgb(71.4 138.72 255)}
:root{--segment-active-fill:rgb(0 122 255 / .05);--segment-active-content:rgb(42.69 91.82 232.71)}

/* Light palette sampled from sogaz.ru, 22 October 2026. */
:root{--background-primary:#fff;--background-secondary:#f4f5f8;--text-default:#152149;--text-secondary:rgb(21 33 73 / .66);--text-tertiary:rgb(21 33 73 / .5);--accent:#184de5;--accent-text:#2b5ce9;--border:rgb(26 51 115 / .1);--map-fill:#e9eefc;--map-fill-end:#dce5fb;--map-border:#bdcdf5;--control-fill:rgb(24 77 229 / .05);--control-stroke:rgb(26 51 115 / .1);--header-background:rgb(255 255 255 / .96)}
.ds-button{background:#184de5;color:#fff}
.ds-button:hover{background:#2b5ce9}
#home{background:radial-gradient(ellipse at 50% 45%,rgb(24 77 229 / .07),transparent 65%),#f4f5f8!important}
#home h1 em{color:#000078}
#growth,#postcards{background:#fff}
.memories{background:radial-gradient(ellipse at 50% 50%,rgb(24 77 229 / .05),transparent 70%),#f4f5f8}
.memory-photo{background:#152149;box-shadow:0 16px 48px rgb(21 33 73 / .14)}
.memory-photo figcaption{color:#fff}
#achievements{background:#184de5!important}
.contribution{background:radial-gradient(ellipse at 50% 45%,rgb(24 77 229 / .07),transparent 65%),#f4f5f8!important}
.archive-placeholder{background:rgb(24 77 229 / .05)}
.point .dot{fill:#184de5}
.point.active .dot{fill:#184de5;stroke:#fff}

/* Keep section navigation readable over the brand-colour screen. */
.site-nav a.on-inverse{color:rgb(255 255 255 / .65)}
.site-nav a.on-inverse.active,.site-nav a.on-inverse:hover{color:#fff}
.site-nav a.on-inverse.active{font-weight:600}
.site-nav a.on-inverse:focus-visible{outline-color:#fff}

.memory-photo{background:#184de5}

:root{--page-gutter:48px;--header-height:73px}
.site-header{transition:transform .24s ease}
.site-header.is-hidden{transform:translateY(-100%);pointer-events:none}
.site-header:focus-within{transform:translateY(0);pointer-events:auto}
#geography .stat strong{color:var(--accent-text);font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

.hero-age{margin:0;font:600 clamp(28px,3vw,44px)/1.2 'Inter Display',Inter,sans-serif;color:var(--accent-text)}

.memory-photo,.memory-photo{background:#184de5}
.memory-photo figcaption,.memory-photo figcaption{color:#fff}

/* Light-only landing, with a pinned photo story. */
:root{color-scheme:light;--page-gutter:60px;--background-primary:#fff;--background-secondary:#f4f5f8;--text-default:#152149;--text-secondary:rgb(21 33 73 / .66);--text-tertiary:rgb(21 33 73 / .5);--text-inverse:#fff;--accent:#184de5;--accent-text:#2b5ce9;--border:rgb(26 51 115 / .1);--control-fill:rgb(24 77 229 / .05);--control-stroke:rgb(26 51 115 / .1);--header-background:rgb(255 255 255 / .96)}
.memories-stage{top:0;height:100svh}
.memories-heading{transform:none}
.memories-heading h2{color:#000078}
.memory-extra-row{align-items:start;padding-top:12svh;padding-bottom:36svh}
.memory-extra-row .extra-photo:nth-child(1){margin-top:18svh}
.memory-extra-row .extra-photo:nth-child(2){margin-top:54svh}
.memory-extra-row .extra-photo:nth-child(3){margin-top:4svh}
#card-preview{background:#fff!important}
@media(max-width:700px){.memory-extra-row .extra-photo:nth-child(1){margin-top:0}.memory-extra-row .extra-photo:nth-child(2){margin-top:8svh;justify-self:end}.memory-extra-row .extra-photo:nth-child(3){margin-top:3svh;justify-self:start}}

#geography .stat{display:flex;align-items:center;gap:20px}
#geography .stat p{margin:0;max-width:180px}
.memories{min-height:400svh}
.photo-stack>.extra-photo{position:absolute;width:28vw;max-width:420px}
.photo-stack>.extra-photo:nth-last-child(3){left:5%;top:140%}
.photo-stack>.extra-photo:nth-last-child(2){left:36%;top:185%}
.photo-stack>.extra-photo:nth-last-child(1){right:4%;top:120%}
#you .contribution-inner{max-width:1200px;width:100%;gap:32px}
#you h2{font:600 clamp(42px,6.2vw,96px)/1.12 'Inter Display',Inter,sans-serif!important;color:#000078}
.contribution-message{font:400 clamp(26px,3vw,44px)/1.25 'Inter Display',Inter,sans-serif;margin:0}
#you .body-copy{max-width:760px}
@media(max-width:700px){#geography .stat{gap:12px}#geography .stat p{display:block;margin:0}.photo-stack>.extra-photo{width:48vw}.photo-stack>.extra-photo:nth-last-child(3){left:3%;top:130%}.photo-stack>.extra-photo:nth-last-child(2){left:40%;top:185%}.photo-stack>.extra-photo:nth-last-child(1){right:2%;top:100%}}

/* CRT-style story: only the title pins; photo positions follow document scroll. */
.memories{height:420svh;min-height:420svh;padding-top:34svh;padding-bottom:34svh}
.memories-stage{position:sticky;top:0;height:100svh;z-index:0}
.memories>.photo-stack{position:absolute;top:34svh;left:0;right:0;bottom:0;z-index:1}
.memory-photo{transform:rotate(var(--rotation,0deg));will-change:auto}
.memories .photo-a{top:6svh}
.memories .photo-b{top:42svh}
.memories .photo-c{top:112svh}
.memories .photo-d{top:172svh}
.memories .photo-e{top:134svh}
.memories .photo-f{top:68svh}
.photo-stack>.extra-photo:nth-last-child(3){top:235svh}
.photo-stack>.extra-photo:nth-last-child(2){top:302svh}
.photo-stack>.extra-photo:nth-last-child(1){top:262svh}
@media(max-width:700px){.memories{height:430svh;min-height:430svh;padding-top:22svh;padding-bottom:22svh}.memories>.photo-stack{top:22svh}.memories .photo-a{top:10svh}.memories .photo-b{top:55svh}.memories .photo-c{top:118svh}.memories .photo-d{top:175svh}.memories .photo-e{top:145svh}.photo-stack>.extra-photo:nth-last-child(3){top:235svh}.photo-stack>.extra-photo:nth-last-child(2){top:310svh}.photo-stack>.extra-photo:nth-last-child(1){top:270svh}}

.memories .photo-a{--rotation:-9deg}
.memories .photo-b{--rotation:-8deg}
.photo-stack>.extra-photo:nth-last-child(3){--rotation:-5deg!important}
.memories-heading{transform:translateY(var(--release-shift,0px));will-change:transform}

.map svg,.map svg:active{cursor:default;touch-action:pan-y pinch-zoom}

.map .tooltip{background:#184de5;color:#fff}
.map .tooltip:after{background:#184de5}

#achievements .achievement-grid strong{font:600 114px/1.12 'Inter Display',Inter,sans-serif!important;font-variant-numeric:tabular-nums}
#achievements .achievement-grid p{font:500 32px/1.35 Inter,sans-serif!important;color:#fff}
#achievements .achievement-grid{gap:48px 64px}
@media(max-width:1000px){#achievements .achievement-grid strong{font-size:clamp(48px,7.4vw,96px)!important}#achievements .achievement-grid p{font-size:clamp(20px,2.6vw,32px)!important}}
@media(max-width:600px){#achievements .achievement-grid{grid-template-columns:1fr}#achievements .achievement-grid strong{font-size:64px!important}#achievements .achievement-grid p{font-size:24px!important}}

#geography .stat{border-left:0;padding-left:0;margin-top:24px}

#geography{padding-left:40px;padding-right:40px}
#map svg{max-height:none;width:100%;height:auto}
#map .land{fill:#184de5;stroke:#184de5}
#map .point .dot{fill:#fff;stroke:none}
#map .point:hover .dot,#map .point:focus .dot,#map .point.active .dot{fill:#fff;stroke:#fff;stroke-width:2}
#map .point .halo{fill:#fff;opacity:0}
#map .point:hover .halo,#map .point:focus .halo,#map .point.active .halo{opacity:.24}

#achievements .achievement-grid strong{font-size:88px!important}
#achievements .achievement-grid p{font-size:26px!important}
.memories{height:400svh;min-height:400svh;padding-bottom:0}
.memories-heading{top:80px}
.photo-g{left:4%;top:86svh;width:25vw;--rotation:6deg}
.photo-h{right:6%;top:200svh;width:24vw;--rotation:-7deg}
.photo-i{left:6%;top:316svh;width:24vw;--rotation:5deg}
.photo-g img,.photo-h img,.photo-i img{object-position:center 65%}
#you{justify-content:flex-start;padding-top:120px;min-height:75svh}
@media(max-width:1000px){#achievements .achievement-grid strong{font-size:clamp(48px,7vw,80px)!important}#achievements .achievement-grid p{font-size:22px!important}}
@media(max-width:700px){.memories{height:410svh;min-height:410svh}.photo-g{left:3%;top:90svh;width:43vw}.photo-h{right:2%;top:215svh;width:44vw}.photo-i{left:3%;top:330svh;width:43vw}.memories-heading{top:60px}#you{padding-top:100px}}

/* Vertical page scrolling carries a three-scene horizontal fact story. */
html{scroll-snap-type:y proximity}
#details.facts-story{height:340svh;min-height:340svh;position:relative;background:#184de5;color:#fff;scroll-snap-stop:normal}
.facts-stage{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}
.facts-heading{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;margin:0 60px;padding:32px 0 20px;border-bottom:1px solid rgb(255 255 255 / .35)}
#details .facts-heading h2{font:300 clamp(30px,3vw,48px)/1.1 'Inter Display',Inter,sans-serif!important;margin:0}
.facts-heading>span{font:400 14px/20px Inter,sans-serif;color:rgb(255 255 255 / .72)}
.facts-window{flex:1;min-height:0;position:relative}
.facts-track{display:flex;width:300%;height:100%;will-change:transform}
.fact-scene{width:33.333333%;height:100%;flex:none;position:relative;display:grid;place-items:center;overflow:hidden}
.fact-topic{position:absolute;left:60px;top:28px;font:400 12px/16px Inter,sans-serif;letter-spacing:.08em;color:rgb(255 255 255 / .7);z-index:3}
.fact-statement{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;font:300 clamp(44px,5.5vw,96px)/1.12 'Inter Display',Inter,sans-serif;letter-spacing:-.04em;transform:translateY(-3%);width:76%;pointer-events:none}
.fact-statement>span{display:block;white-space:nowrap}
.fact-script{display:block;object-fit:contain;max-width:80%;height:1.52em;margin:-.05em 0;transform:rotate(-5deg)}
.script-space{width:5.8em}.script-hockey{width:4.3em}.script-art{width:5.4em}
.fact-sticker{position:absolute;object-fit:contain;z-index:3;pointer-events:none;filter:drop-shadow(0 12px 12px rgb(0 0 80 / .12))}
.rocket-sticker{height:80%;width:24%;right:-1%;bottom:1%;transform:rotate(8deg)}
.hockey-sticker{width:28%;height:46%;left:-4%;bottom:6%;transform:rotate(-14deg)}
.art-sticker{width:25%;height:49%;right:-3%;bottom:7%;transform:rotate(12deg)}
.fact-stamp{position:absolute;z-index:3;text-align:center;background:#d7eeff;color:#184de5;border:6px solid #fff;border-radius:12px;padding:16px 24px;line-height:1.35;font:500 clamp(12px,1.15vw,18px)/1.4 Inter,sans-serif;box-shadow:0 8px 16px rgb(0 0 80 / .1)}
.fact-stamp b{font-size:1.4em;font-weight:600}.fact-stamp small{display:block;font-size:.7em;letter-spacing:.1em;margin-top:4px}
.stamp-space{left:5%;top:22%;transform:rotate(-12deg)}
.stamp-hockey{right:6%;top:16%;transform:rotate(10deg);background:#d8ff70}
.stamp-art{left:5%;top:20%;transform:rotate(-10deg);background:#ffe09b}
.fact-backdrop{position:absolute;bottom:-.18em;left:4%;font:300 clamp(160px,25vw,450px)/1 'Inter Display',Inter,sans-serif;letter-spacing:-.07em;color:rgb(134 178 255 / .36);white-space:nowrap;pointer-events:none;z-index:0}
.fact-hockey .fact-backdrop{font-size:clamp(150px,21vw,360px)}
.fact-art .fact-backdrop{left:8%;font-size:clamp(200px,28vw,460px)}
.fact-source{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);font:400 12px/18px Inter,sans-serif;white-space:nowrap;color:rgb(255 255 255 / .72);text-underline-offset:5px}
.fact-source:hover{text-decoration:underline;color:#fff}
.facts-bottom{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;margin:0 60px;padding:18px 0 24px;border-top:1px solid rgb(255 255 255 / .3)}
.facts-hint{font:400 12px/18px Inter,sans-serif;color:rgb(255 255 255 / .72)}
.facts-hint>span{margin-left:16px;font-size:24px;vertical-align:-2px}
.facts-controls{display:flex;gap:8px}.facts-controls button{width:42px;height:42px;padding:0;background:transparent;border:1px solid rgb(255 255 255 / .35);border-radius:50%;color:#fff;cursor:pointer;font:400 12px/1 Inter,sans-serif}
.facts-controls button[aria-pressed=true]{background:#fff;color:#184de5;border-color:#fff}
.facts-controls button:focus-visible,#details a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.facts-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgb(255 255 255 / .15);z-index:5}.facts-progress i{display:block;background:#fff;height:100%;transform-origin:left;transform:scaleX(0)}
@media(max-width:1000px){.facts-heading,.facts-bottom{margin-left:32px;margin-right:48px}.fact-topic{left:32px}.fact-statement{font-size:clamp(38px,5.7vw,64px)}.fact-stamp{padding:12px 16px;border-width:4px}.stamp-space{top:12%;left:4%}.stamp-hockey{right:5%;top:8%}.stamp-art{left:4%;top:10%}.rocket-sticker{width:25%;height:65%;bottom:2%;right:-3%}.fact-statement{transform:translateY(-4%)}}
@media(max-width:600px){#details.facts-story{height:350svh;min-height:350svh}.facts-stage{min-height:520px}.facts-heading{margin:0 24px;padding:24px 0 16px}.facts-heading>span{display:none}.fact-topic{left:24px;top:20px;font-size:10px}.fact-statement{width:94%;font-size:clamp(28px,6.7vw,40px);transform:translateY(-7%)}.fact-sticker{z-index:1}.rocket-sticker{width:35%;height:40%;bottom:0;right:-6%;transform:rotate(16deg)}.hockey-sticker{width:43%;height:34%;left:-8%;bottom:0}.art-sticker{width:36%;height:34%;bottom:1%;right:-6%}.fact-stamp{font-size:10px;padding:8px 12px;border-width:3px}.stamp-space{top:12%;left:7%}.stamp-hockey{top:11%;right:9%}.stamp-art{top:12%;left:8%}.fact-backdrop{font-size:44vw;bottom:5%;left:2%}.fact-hockey .fact-backdrop{font-size:33vw;bottom:7%}.fact-art .fact-backdrop{font-size:50vw;bottom:4%}.fact-source{font-size:10px;bottom:14px;max-width:65%;white-space:normal;text-align:center}.facts-bottom{margin:0 24px;padding:14px 0 20px;gap:12px}.facts-hint{max-width:170px;font-size:10px;line-height:15px}.facts-hint>span{display:none}.facts-controls{gap:6px}.facts-controls button{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){#details.facts-story{height:auto;min-height:0}.facts-stage{position:relative;height:auto;min-height:0}.facts-window{overflow:visible}.facts-track{width:100%;display:block;transform:none!important;will-change:auto}.fact-scene{width:100%;height:82svh;min-height:520px}.facts-bottom,.facts-progress{display:none}}

.photo-g,.photo-h,.photo-i{width:20vw}.photo-g .memory-image,.photo-h .memory-image,.photo-i .memory-image{aspect-ratio:2/3}
@media(max-width:700px){.photo-g,.photo-h,.photo-i{width:36vw}}
/* Keep off-screen scenes from creating a second scroll container. */
.facts-stage{overflow:clip}
.facts-window{overflow:clip}

#map .point .dot{fill:#000078;stroke:none}
#map .point:hover .dot,#map .point:focus .dot,#map .point.active .dot{fill:#000078;stroke:#000078;stroke-width:2}
#map .point .halo{fill:#000078}
/* Long pinned stories require uninterrupted native document scrolling. */
html{scroll-snap-type:none}

.facts-heading,.facts-bottom{border:0}
.facts-bottom{justify-content:flex-end}

#map .point .dot{fill:#fff;stroke:none}
#map .point:hover .dot,#map .point:focus .dot,#map .point.active .dot{fill:#fff;stroke:#000078;stroke-width:2}

#details.facts-story{height:540svh;min-height:540svh}
.facts-track{width:500%}.fact-scene{width:20%}
.fact-script{filter:drop-shadow(1px 0 0 white) drop-shadow(-1px 0 0 white)}
.fact-handwritten{font:italic 700 1.15em/1.3 'Inter Display',Inter,sans-serif;transform:rotate(-5deg)}
.fact-description{font:400 16px/24px Inter,sans-serif;letter-spacing:0;margin:30px 0 0;max-width:680px;color:rgb(255 255 255 / .8)}
.hockey-sticker{left:3%;bottom:7%;width:23%;height:43%;transform:rotate(-8deg)}
.rocket-sticker{right:2%;width:20%;height:69%}
.flag-sticker{left:4%;top:12%;width:19%;height:32%;transform:rotate(-12deg)}
.goal-sticker{right:3%;top:10%;width:21%;height:33%;transform:rotate(9deg)}
.art-sticker{right:2%;width:22%;height:43%}
.palette-sticker{left:3%;top:12%;width:20%;height:32%;transform:rotate(-10deg)}
.repin-sticker{left:3%;bottom:7%;width:21%;height:40%;transform:rotate(-10deg)}
.museum-sticker{right:3%;top:10%;width:20%;height:32%;transform:rotate(9deg)}
.tram-sticker{left:3%;top:12%;width:22%;height:36%;transform:rotate(-9deg)}
.sensor-sticker{right:3%;bottom:7%;width:20%;height:34%;transform:rotate(10deg)}
@media(max-width:600px){#details.facts-story{height:550svh;min-height:550svh}.fact-sticker{max-width:28%;max-height:30%}.hockey-sticker{left:3%;bottom:3%;width:26%;transform:rotate(-5deg)}.fact-description{font-size:12px;line-height:18px;padding:0 20px}.fact-statement{width:94%}.fact-tram .fact-statement,.fact-repin .fact-statement{font-size:clamp(24px,6vw,36px)}}

@media(prefers-reduced-motion:reduce){#details.facts-story{height:auto;min-height:0}.facts-track{width:100%}.fact-scene{width:100%}}

.map-handwritten{display:block;width:460px;max-width:100%;height:auto;margin:-24px 0 -22px -5px}
@media(max-width:700px){.map-handwritten{width:330px;margin-top:-16px;margin-bottom:-16px}}
/* Photographic facts, with a separate opening scene. */
.fact-intro h2{font:300 clamp(36px,5vw,76px)/1.14 'Inter Display',Inter,sans-serif;letter-spacing:-.045em;text-align:center;max-width:88%;margin:0}
.fact-statement{width:80%;transform:translateY(-1%)}
.fact-description{font:400 15px/23px Inter,sans-serif;letter-spacing:0;text-align:center;max-width:none;margin:28px 0 0;color:rgb(255 255 255 / .85);padding:0}
.fact-description br{display:block}.fact-last-line{font-size:.78em}
.script-visited{width:5.8em;height:1.55em}.script-autonomous{width:9em;max-width:90%;height:1.7em}
.cosmonaut-sticker{left:3%;top:10%;width:20%;height:33%;transform:rotate(-10deg)}
.goal-sticker{right:3%;top:9%;width:20%;height:34%}
.palette-sticker{left:3%;top:9%;width:18%;height:32%}
.tram-sticker{left:2%;top:8%;width:21%;height:36%}
.sensor-sticker{right:3%;bottom:7%;width:19%;height:30%}
.hockey-sticker{left:3%;bottom:5%;width:23%;height:40%;transform:rotate(-5deg)}
@media(max-width:600px){
.fact-intro h2{font-size:clamp(27px,7vw,40px);max-width:90%}
.fact-statement{width:96%;font-size:clamp(27px,6.7vw,40px)}
.fact-tram .fact-statement{font-size:clamp(26px,6.7vw,40px)}
.fact-description{font-size:clamp(10px,2.65vw,12px);line-height:1.6;margin-top:24px;padding:0;white-space:nowrap}
.fact-last-line{font-size:.76em}
.cosmonaut-sticker,.palette-sticker,.tram-sticker{left:4%;top:8%;width:25%;height:23%;max-height:23%}
.goal-sticker{right:4%;top:8%;width:25%;height:23%}
.rocket-sticker{right:3%;bottom:3%;width:26%;height:29%;transform:rotate(8deg)}
.hockey-sticker{left:4%;bottom:3%;width:27%;height:26%}
.art-sticker{right:3%;bottom:3%;width:27%;height:25%;transform:rotate(8deg)}
.sensor-sticker{right:4%;bottom:4%;width:25%;height:23%}
}
@media(prefers-reduced-motion:reduce){#details.facts-story{height:auto;min-height:0}.facts-track{width:100%;display:block}.fact-scene{width:100%;height:100svh}}

/* Hockey stickers: sticks above, goal below. */
.fact-hockey .hockey-sticker{top:7%;bottom:auto}
.fact-hockey .goal-sticker{top:auto;bottom:7%}
@media(max-width:600px){.fact-hockey .hockey-sticker{top:7%;bottom:auto}.fact-hockey .goal-sticker{top:auto;bottom:4%}}
