/* ============ БАЗА: reset + елементи ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);
     font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.14;text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(2rem,1.3rem+3.2vw,3.4rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,1.1rem+1.6vw,2.1rem);letter-spacing:-.015em}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1rem}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:6px}

/* Утиліта для доступності */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0}

.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
