/* Общие токены дизайна и база для сайта и приложения. Владелец: общий файл, менять осторожно. */
/* Golos 700 и Playfair 800 не грузим (−45 КБ): жирное рисуется начертанием 600 без искусственного утолщения */
@font-face{font-family:"Golos Text";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Golos Text";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Golos Text";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/golos/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/playfair/playfair-display-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/playfair/playfair-display-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2212}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/playfair/playfair-display-cyrillic-600-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/playfair/playfair-display-latin-600-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2212}

:root{
  --ink:#17130F; --ink-2:#4A423A; --mute:#8C8278;
  --paper:#FBF7F2; --paper-2:#F4EDE3; --card:#FFFFFF; --line:#EBE2D6;
  --night:#14110F; --night-2:#211C18; --night-line:#3A322B; --on-night:#F6EFE6; --on-night-mute:#B5A999;
  --accent:#FF5A36; --accent-hover:#EE4420; --accent-ink:#FFFFFF; --accent-soft:#FFE9E2;
  --gold:#E3BD83; --gold-ink:#3B2A12;
  --ok:#1E9E6A; --warn:#D9822B; --bad:#D64545;
  --r-card:14px; --r-lg:22px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(60,40,20,.06),0 6px 18px rgba(60,40,20,.06);
  --shadow-2:0 2px 6px rgba(60,40,20,.08),0 18px 44px rgba(60,40,20,.12);
  --font-ui:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --wrap:1160px; --gutter:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-synthesis-weight:none}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;font-weight:600}
p{margin:0;text-wrap:pretty}
.num{font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--r-pill);border:1.5px solid transparent;font-weight:600;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s,box-shadow .15s,border-color .15s}
.btn:active{transform:translateY(1px)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px rgba(255,90,54,.28)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-gold{background:var(--gold);color:var(--gold-ink)}
.btn-sm{min-height:38px;padding:0 16px;font-size:14px}
.btn-lg{min-height:56px;padding:0 30px;font-size:17px}
.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.input{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
textarea.input{padding:12px 14px;min-height:96px;resize:vertical}
.input:focus{border-color:var(--ink)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;letter-spacing:.02em;background:var(--accent-soft);color:var(--accent-hover)}
.badge-gold{background:var(--gold);color:var(--gold-ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
