:root{
  --page-bg:#080406;
  --surface:#130b0f;
  --card:#1c1218;
  --card-2:#261920;
  --line:#372329;
  --ink:#f7eff1;
  --ink-2:#bba7ac;
  --ink-3:#8d7a80;
  --brand:#e41827;
  --brand-dark:#b60606;
  --brand-deep:#7b0911;
  --go:#0d9737;
  --go-hi:#32ce62;
  --gold:#fafd00;
  --radius:14px;
  --radius-sm:10px;
  --gap:16px;
  --sp:clamp(28px,5vw,56px);
  --shadow:0 18px 40px rgba(0,0,0,.45);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}

html{font-size:62.5%;scroll-behavior:smooth;scrollbar-color:var(--brand) var(--surface)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--page-bg);
  background-image:radial-gradient(1200px 600px at 50% -10%,rgba(228,24,39,.16),transparent 65%);
  background-attachment:fixed;
  color:var(--ink);
  font-family:'Figtree',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:1.7rem;
  font-weight:400;
  line-height:1.65;
  letter-spacing:normal;
}

::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--surface)}
::-webkit-scrollbar-thumb{background:var(--brand);border-radius:8px;border:2px solid var(--surface)}
::-webkit-scrollbar-thumb:hover{background:var(--brand-dark)}

h1,h2,h3,h4{font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--ink);margin:0 0 16px}
h1{font-size:clamp(3.2rem,6.4vw,5.6rem)}
h2{font-size:clamp(2.4rem,3.6vw,3.4rem)}
h3{font-size:clamp(1.9rem,2.4vw,2.2rem)}
h4{font-size:1.75rem;font-weight:700}
p{margin:0 0 16px;color:var(--ink-2)}
p:last-child{margin-bottom:0}
strong,b{color:var(--ink);font-weight:800}
a{color:var(--brand);text-decoration:none}
a:hover,a:focus{text-decoration:none}
ul,ol{margin:0 0 16px;padding-left:22px;color:var(--ink-2)}
li{margin-bottom:8px}
img{max-width:100%;height:auto}
em{font-style:normal}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

.ico{width:1em;height:1em;display:inline-block;vertical-align:-.125em;fill:currentColor;flex:none}
.ico-lg{width:1.4em;height:1.4em}

/* ── buttons ── */
.btn-brand,.btn-ghost,.btn-go{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-weight:800;font-size:1.6rem;line-height:1.1;
  letter-spacing:.01em;white-space:nowrap;
  padding:15px 26px;border-radius:999px;border:0;cursor:pointer;
  text-align:center;position:relative;overflow:hidden;isolation:isolate;
  transition:box-shadow .22s ease,filter .22s ease,color .22s ease;
}
.btn-brand{background:var(--brand);color:#fff;box-shadow:0 10px 26px rgba(228,24,39,.32)}
.btn-brand::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,var(--brand-dark),var(--brand-dark));
  transform-origin:bottom;transform:scaleY(0);
}
.btn-brand::after{
  content:"";position:absolute;inset:0;z-index:-2;background:var(--brand);
}
.btn-go{background:var(--go);color:#fff;box-shadow:0 10px 26px rgba(13,151,55,.3)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--line)}
.btn-block{width:100%}
.btn-sm{padding:11px 18px;font-size:1.45rem}
.btn-lg{padding:18px 34px;font-size:1.8rem}

@media (min-width:1024px){
  .btn-brand:hover{filter:brightness(1.06);box-shadow:0 14px 34px rgba(228,24,39,.46)}
  .btn-go:hover{filter:brightness(1.08);box-shadow:0 14px 34px rgba(13,151,55,.44)}
  .btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
}

/* интервальная анимация брендовой кнопки: заливка поднимается снизу */
@keyframes sbFillRise{
  0%,72%{transform:scaleY(0)}
  84%{transform:scaleY(1)}
  100%{transform:scaleY(0)}
}
.cta-pulse::before{animation:sbFillRise 6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .cta-pulse::before{animation:none}
}

.wide-only{display:inline}
.narrow-only{display:none}
@media (max-width:420px){
  .wide-only{display:none}
  .narrow-only{display:inline}
}

/* ── milligram задаёт кнопкам height/uppercase/nowrap: снимаем, компоненты ниже задают своё ── */
button,input[type=button],input[type=submit],input[type=reset]{
  height:auto;padding:0;margin:0;border:0;border-radius:0;
  background:none;color:inherit;
  font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:normal;text-transform:none;white-space:normal;text-align:left;
}
table{width:100%;border-collapse:collapse;font-size:1.55rem}
hr{border:0;border-top:1px solid var(--line);margin:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
