/* Документ, типографика, шапка, меню, футер. Цвета — только из tokens.css. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;background:var(--paper);scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-text)/var(--lh-text) var(--font-text);
  -webkit-font-smoothing:antialiased;overflow-x:clip;font-variant-numeric:lining-nums tabular-nums}
img,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{-webkit-tap-highlight-color:transparent;font:inherit}
h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance;overflow-wrap:break-word;font-weight:600}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:-.025em}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:-.015em}
h3{font-size:var(--fs-h3);line-height:1.15}
p{margin:0 0 1em;max-width:var(--measure);text-wrap:pretty}
small,.muted{color:var(--muted)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 max(var(--gutter),var(--sa-l)) 0 max(var(--gutter),var(--sa-r))}
.wrap--n{max-width:var(--narrow)}
.skip{position:absolute;left:var(--gutter);top:-80px;z-index:70;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:6px}
.skip:focus{top:10px}
main:focus{outline:none}
.lede{font:italic 400 clamp(1.15rem,.6vw + 1rem,1.5rem)/1.35 var(--font-display);color:var(--muted);max-width:50ch}
.page-head{padding:clamp(28px,6vw,80px) 0 clamp(20px,4vw,48px)}
.page-head .lede{margin:14px 0 0}
.kicker{font:600 .8rem/1.2 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}

/* шапка */
.bar{position:sticky;top:0;z-index:50;height:calc(var(--header-h) + var(--sa-t));padding:var(--sa-t) max(12px,var(--sa-r)) 0 max(12px,var(--sa-l));
  display:flex;align-items:center;gap:8px;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.brand{font:700 1.15rem/1 var(--font-display);letter-spacing:.02em;text-decoration:none;white-space:nowrap;margin-right:auto;padding:10px 4px}
.nav{display:none;align-items:center;gap:2px;font-size:.95rem}
.nav a{text-decoration:none;padding:10px 10px;border-radius:8px;color:var(--muted);white-space:nowrap}
.nav a:hover{color:var(--ink);background:var(--panel)}
.nav a[aria-current=page]{color:var(--ink);font-weight:600}
.menu-btn,.menu-close{font:600 .95rem/1 var(--font-text);color:var(--ink);background:none;border:1.5px solid var(--ink);border-radius:999px;min-height:40px;padding:0 16px;cursor:pointer}
@media (min-width:900px){.nav{display:flex}.menu-btn{display:none}}

/* меню на телефоне */
.menu{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;padding:var(--sa-t) var(--gutter) 32px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.menu::backdrop{background:var(--ink);opacity:.4}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);border-bottom:1px solid var(--line);margin-bottom:12px}
.menu-links{list-style:none;margin:0;padding:0}
.menu-links a{display:block;padding:12px 0;font:600 clamp(1.8rem,8vw,2.6rem)/1.05 var(--font-display);text-decoration:none;border-bottom:1px solid var(--line)}
.menu-links a[aria-current=page]{color:var(--accent)}

/* футер */
.foot{border-top:1px solid var(--line);padding:clamp(36px,6vw,72px) var(--gutter) calc(32px + var(--sa-b));font-size:var(--fs-small);margin-top:clamp(48px,8vw,120px)}
.foot-in{max-width:var(--wrap);margin:0 auto;display:grid;gap:28px 48px}
.foot-brand{font:700 clamp(2rem,5vw,3.6rem)/1 var(--font-display);margin:0}
.foot-dates{font:italic 400 1.1rem/1.3 var(--font-display);color:var(--muted);margin:8px 0 0}
.foot-col h2{font:600 .85rem/1.2 var(--font-text);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li a{display:inline-block;padding:6px 0;font-size:1rem;text-decoration:none}
.foot-col li a:hover,.foot-col li a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}
@media (min-width:760px){.foot-in{grid-template-columns:1.6fr 1fr 1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.bar,.menu,.skip{display:none}}
