/* =========================================================
   Тимчук Віталій — лендінг
   Палітра: світла база, акцент #0057FF
   Стилістика: flat, кутовата, без заокруглень і тіней
   ========================================================= */

:root{
  --accent:      #0057FF;
  --accent-700:  #0040C2;
  --accent-400:  #3D82FF;
  --accent-050:  #EDF2FF;
  --accent-grad: linear-gradient(135deg, #0057FF 0%, #3D82FF 100%);

  --ink:    #0A0E17;
  --ink-2:  #454C5A;
  --ink-3:  #7A828F;

  --bg:     #FFFFFF;
  --bg-2:   #F4F6FA;
  --bg-3:   #EDF0F6;

  --line:   #DCE1EA;
  --line-2: #C7CEDA;

  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  --wrap: 1200px;
  --pad: 24px;
  --cut: 14px;               /* глибина зрізаного кута */
  --sec: clamp(64px, 8vw, 116px);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3{ margin:0; line-height:1.12; letter-spacing:-0.02em; font-weight:600; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.mono{ font-family:var(--mono); font-weight:500; }
.accent-text{ color:var(--accent); }

.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--accent); color:#fff; padding:12px 20px; font-weight:500;
}
.skip:focus{ left:0; }

.container{
  width:100%;
  max-width:var(--wrap);
  margin:0 auto;
  padding-inline:var(--pad);
}
.container--narrow{ max-width:900px; }

/* ---------------- Кнопки ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 30px;
  font-size:16px; font-weight:500; letter-spacing:-0.01em;
  border:1px solid transparent;
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.btn--primary{
  background:var(--accent-grad);
  color:#fff;
  clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));
}
.btn--primary:hover{ background:var(--accent-700); }
.btn--ghost{
  background:transparent; color:var(--ink); border-color:var(--line-2);
}
.btn--ghost:hover{ border-color:var(--ink); }
.btn--sm{ padding:11px 20px; font-size:15px; --cut:10px; }
.btn--full{ width:100%; }
.btn:focus-visible, a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}

.link-arrow{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:500; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.45);
  padding-bottom:2px;
}
.link-arrow::after{ content:'→'; transition:transform .18s ease; }
.link-arrow:hover::after{ transform:translateX(4px); }

/* ---------------- Шапка ---------------- */
.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(6px);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; min-height:74px;
}
.brand{ display:flex; align-items:center; }
.brand__text{ display:flex; flex-direction:column; line-height:1.2; }
.brand__name{ font-size:16px; font-weight:600; letter-spacing:-0.01em; }
.brand__role{ font-size:12.5px; color:var(--ink-3); }

.nav{ display:flex; align-items:center; gap:30px; }
.nav a{ font-size:15.5px; color:var(--ink-2); transition:color .16s ease; }
.nav a:hover{ color:var(--accent); }
.nav__cta{ color:#fff !important; margin-left:6px; }
.nav__cta:hover{ color:#fff !important; }

.burger{
  display:none; width:44px; height:44px;
  background:none; border:1px solid var(--line); cursor:pointer;
  padding:0; place-items:center; gap:5px; flex-direction:column;
}
.burger span{ display:block; width:20px; height:1.5px; background:var(--ink); transition:transform .2s ease, opacity .2s ease; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* ---------------- Секції ---------------- */
.section{ padding-block:var(--sec); }
.section--alt{ background:var(--bg-2); border-block:1px solid var(--line); }

.shead{ margin-bottom:clamp(36px,4.5vw,60px); }
.shead__label{
  display:flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:12.5px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  margin-bottom:16px;
}
.shead__label .mono{
  background:var(--accent); color:#fff; padding:3px 8px; letter-spacing:.06em;
}
.shead__title{ font-size:clamp(30px,4vw,46px); max-width:20ch; }

.eyebrow{
  font-family:var(--mono); font-size:12.5px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  padding-left:16px; position:relative; margin-bottom:26px;
}
.eyebrow::before{
  content:''; position:absolute; left:0; top:.55em;
  width:8px; height:8px; background:var(--accent);
}

/* ---------------- Hero ---------------- */
.hero{ position:relative; overflow:hidden; }
.hero::before{
  content:''; position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.5), transparent 78%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.5), transparent 78%);
  opacity:.7;
}
.hero__grid{
  position:relative; z-index:1;
  /* Коли повернеться фото: grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr); */
  display:grid; grid-template-columns:1fr;
  gap:clamp(32px,5vw,72px); align-items:center;
  padding-block:clamp(56px,7vw,104px);
}
.hero__title{
  font-size:clamp(38px,6vw,68px);
  font-weight:700; letter-spacing:-0.035em;
  max-width:16ch;
}
.hero__lead{
  margin-top:26px; max-width:56ch;
  font-size:clamp(17px,1.5vw,19.5px); color:var(--ink-2);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.hero__note{ margin-top:20px; font-size:14.5px; color:var(--ink-3); }

.portrait{ margin:0; max-width:290px; margin-left:auto; position:relative; }
.portrait::before{
  content:''; position:absolute; inset:0;
  background:var(--accent-grad); transform:translate(14px,14px); z-index:0;
}
.portrait__ph, .portrait img{
  position:relative; z-index:1;
  width:100%; aspect-ratio:4/5; object-fit:cover;
  border:1px solid var(--line-2); background:var(--bg-3);
}
.portrait__ph{
  display:grid; place-items:center;
  font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--ink-3);
}

.stats{ position:relative; z-index:1; border-top:1px solid var(--line); background:var(--bg); }
.stats__grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.stat{
  padding:34px 0 34px 28px;
  border-left:1px solid var(--line);
  display:flex; flex-direction:column; gap:6px;
}
.stat:first-child{ border-left:0; padding-left:0; }
.stat__num{ font-size:34px; font-weight:500; letter-spacing:-0.02em; color:var(--accent); line-height:1; }
.stat__label{ font-size:14.5px; color:var(--ink-2); max-width:22ch; }

/* ---------------- Болі ---------------- */
.pains{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.pain{
  margin:0; padding:32px 28px;
  background:var(--bg); font-size:17px; color:var(--ink);
  position:relative;
}
.pain::before{
  content:''; position:absolute; left:0; top:0; width:3px; height:44px; background:var(--accent);
  opacity:0; transition:opacity .18s ease;
}
.pain:hover::before{ opacity:1; }
.pain--out{
  background:var(--accent-grad); color:#fff;
  display:flex; flex-direction:column; justify-content:space-between; gap:22px;
}
.pain--out p{ font-weight:500; }

/* ---------------- Послуги ---------------- */
.services{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.svc{ background:var(--bg); padding:36px 32px; }
.svc--main{
  grid-column:1 / -1;
  background:var(--ink); color:#fff;
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:36px; align-items:start;
  padding:44px 40px;
}
.svc--main .svc__title{ grid-column:1; font-size:clamp(24px,2.6vw,32px); }
.svc--main .svc__tag{
  grid-column:1 / -1;
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-400);
  margin-bottom:-18px;
}
.svc--main .svc__text{ grid-column:1; color:#C3CAD7; }
.svc--main .svc__list{ grid-column:2; grid-row:2 / span 2; }
.svc__title{ font-size:20px; margin-bottom:14px; }
.svc__text{ color:var(--ink-2); font-size:16px; }
.svc__list{ display:flex; flex-direction:column; gap:10px; font-size:15.5px; }
.svc__list li{ padding-left:20px; position:relative; color:#EDF0F6; }
.svc__list li::before{
  content:''; position:absolute; left:0; top:.62em; width:7px; height:7px; background:var(--accent-400);
}
.svc:not(.svc--main){ transition:background-color .18s ease; }
.svc:not(.svc--main):hover{ background:var(--accent-050); }

.exclude{
  margin-top:28px; padding:26px 30px;
  border:1px solid var(--line); border-left:3px solid var(--ink);
  background:var(--bg);
  display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:baseline;
}
.exclude__label{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap; }
.exclude__text{ color:var(--ink-2); font-size:16px; }

/* ---------------- Кейси ---------------- */
.cases{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:24px; }
.case{
  border:1px solid var(--line); background:var(--bg);
  padding:30px 28px 28px;
  display:flex; flex-direction:column; gap:14px;
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
  transition:border-color .18s ease;
}
.case:hover{ border-color:var(--accent); }
.case__field{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.case__title{ font-size:19px; }
.case__body{ margin:0; flex:1; display:flex; flex-direction:column; gap:14px; }
.case__row dt{
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:6px;
}
.case__row dd{ margin:0; font-size:15px; color:var(--ink-2); }
.case__row:last-child{ margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
.case__row:last-child dt{ color:var(--accent); }
.case__row:last-child dd{ color:var(--ink); }
.cases__note{ margin-top:30px; color:var(--ink-2); font-size:16px; max-width:70ch; }

/* ---------------- Процес ---------------- */
.steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.step{ background:var(--bg-2); padding:34px 28px; position:relative; }
.step::after{
  content:''; position:absolute; left:0; top:-1px; height:2px; width:0; background:var(--accent);
  transition:width .28s ease;
}
.step:hover::after{ width:100%; }
.step__num{ font-size:13px; color:var(--accent); letter-spacing:.08em; }
.step__title{ font-size:19px; margin:14px 0 10px; }
.step__text{ color:var(--ink-2); font-size:15.5px; }

.terms{
  margin-top:28px;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.terms__col{ background:var(--bg); padding:28px 30px; }
.terms__label{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:16px;
}
.terms__col--paid .terms__label{ color:var(--accent); }
.terms__list{ display:flex; flex-direction:column; gap:10px; font-size:16px; color:var(--ink); }
.terms__list li{ position:relative; padding-left:18px; }
.terms__list li::before{
  content:''; position:absolute; left:0; top:.6em; width:6px; height:6px; background:var(--accent);
}
.terms__note{
  margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
  font-size:14.5px; color:var(--ink-2);
}

/* ---------------- Чому я ---------------- */
.why{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.why__item{ border-top:2px solid var(--ink); padding-top:24px; }
.why__idx{ font-size:13px; color:var(--accent); letter-spacing:.08em; }
.why__title{ font-size:21px; margin:14px 0 12px; max-width:22ch; }
.why__text{ color:var(--ink-2); font-size:16px; }

/* ---------------- Підтримка ---------------- */
.tiers{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.tier{ background:var(--bg); padding:34px 30px; }
.tier__title{ font-size:20px; margin-bottom:12px; }
.tier__text{ color:var(--ink-2); font-size:15.5px; }
.tier--hl{ background:var(--ink); color:#fff; }
.tier--hl .tier__text{ color:#C3CAD7; }
.tier__tag{
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent-400); margin-bottom:12px;
}

/* ---------------- Оплата частинами ---------------- */
.pay{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(28px,4vw,56px); align-items:start;
}
.pay__lead{ font-size:17.5px; color:var(--ink-2); max-width:56ch; }
.pay__list{ margin-top:28px; display:flex; flex-direction:column; gap:16px; }
.pay__list li{
  position:relative; padding-left:22px;
  font-size:16px; color:var(--ink-2);
}
.pay__list li::before{
  content:''; position:absolute; left:0; top:.62em; width:8px; height:8px;
  background:var(--accent-grad);
}
.pay__list span{ color:var(--ink); font-weight:500; }
.pay__note{
  margin-top:26px; padding:16px 20px;
  border-left:2px solid var(--line-2); background:var(--bg-2);
  font-size:15px; color:var(--ink-2);
}

.pay__legal{ margin-top:18px; font-size:14px; color:var(--ink-3); }
.pay__legal a{ color:var(--accent); border-bottom:1px solid currentColor; }
.pay__legal a:hover{ color:var(--accent-700); }

.banks{ display:grid; gap:20px; }
.bank{
  border:1px solid var(--line); background:var(--bg);
  padding:24px 26px;
  display:flex; align-items:center; gap:18px;
  clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
  transition:border-color .18s ease;
}
.bank:hover{ border-color:var(--accent); }
.bank__logo{ width:56px; height:56px; flex:none; object-fit:contain; }
.bank__name{ font-size:18px; font-weight:600; letter-spacing:-0.01em; }
.bank__note{ margin-top:6px; font-size:14px; color:var(--ink-3); }
.bank__term{
  display:inline-block; margin-top:12px; padding:4px 10px;
  background:var(--accent-050); color:var(--accent);
  font-size:12px; letter-spacing:.06em;
}

/* Дві світлі секції поспіль розділяємо волосяною лінією */
.section:not(.section--alt) + .section:not(.section--alt){ border-top:1px solid var(--line); }

/* ---------------- Стек ---------------- */
.stack{ border:1px solid var(--line); }
.stack__row{
  display:grid; grid-template-columns:230px 1fr; gap:26px; align-items:center;
  padding:20px 26px; border-bottom:1px solid var(--line);
}
.stack__row:last-child{ border-bottom:0; }
.stack__row:nth-child(odd){ background:var(--bg-2); }
.stack__label{ font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); }
.tags{ display:flex; flex-wrap:wrap; gap:8px; }
.tags li{
  padding:6px 12px; font-size:14px; color:var(--ink);
  background:var(--bg); border:1px solid var(--line-2);
}

/* ---------------- FAQ ---------------- */
.faq{ border-top:1px solid var(--line-2); }
.qa{ border-bottom:1px solid var(--line-2); }
.qa summary{
  list-style:none; cursor:pointer;
  padding:24px 46px 24px 0; position:relative;
  font-size:18px; font-weight:500; letter-spacing:-0.01em;
  transition:color .16s ease;
}
.qa summary::-webkit-details-marker{ display:none; }
.qa summary:hover{ color:var(--accent); }
.qa summary::before,
.qa summary::after{
  content:''; position:absolute; right:6px; top:50%; background:var(--accent);
  transition:transform .2s ease, opacity .2s ease;
}
.qa summary::before{ width:14px; height:2px; transform:translateY(-50%); }
.qa summary::after{ width:2px; height:14px; right:12px; transform:translateY(-50%); }
.qa[open] summary::after{ opacity:0; }
.qa__body{ padding:0 60px 26px 0; color:var(--ink-2); font-size:16.5px; }
.qa__body p + p{ margin-top:14px; }

/* ---------------- Контакт ---------------- */
.contact{ background:var(--bg); }
.contact__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(36px,5vw,72px); align-items:start;
}
.contact__title{ font-size:clamp(28px,3.6vw,42px); margin:16px 0 0; max-width:18ch; }
.contact__lead{ margin-top:22px; color:var(--ink-2); font-size:17px; max-width:48ch; }
.contact__list{ margin-top:38px; border-top:1px solid var(--line); }
.contact__list li{
  display:grid; grid-template-columns:120px 1fr; gap:20px; align-items:baseline;
  padding:18px 0; border-bottom:1px solid var(--line);
}
.contact__list .mono{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.contact__list a{ font-size:19px; font-weight:500; color:var(--accent); }
.contact__list a:hover{ text-decoration:underline; }

.form{ border:1px solid var(--line); background:var(--bg-2); padding:clamp(26px,3vw,36px); }
.field{ margin-bottom:20px; }
.field label{
  display:block; margin-bottom:8px;
  font-size:13.5px; font-weight:500; color:var(--ink-2);
}
.req{ color:var(--accent); }
.opt{ color:var(--ink-3); font-weight:400; }
.field input, .field textarea, .field select{
  width:100%; padding:14px 16px;
  font-family:inherit; font-size:16px; color:var(--ink);
  background:var(--bg); border:1px solid var(--line-2); border-radius:0;
  transition:border-color .16s ease;
}
.field textarea{ resize:vertical; min-height:110px; }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%); background-position:calc(100% - 20px) 22px, calc(100% - 14px) 22px; background-size:6px 6px; background-repeat:no-repeat; }
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-3); }
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--accent); }
.field input.is-error, .field textarea.is-error{ border-color:#D93025; }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.form__status{ margin-top:16px; font-size:15px; min-height:1.4em; }
.form__status.is-ok{ color:#0F7B3F; }
.form__status.is-err{ color:#D93025; }
.form__legal{ margin-top:16px; font-size:13px; color:var(--ink-3); }

/* ---------------- Підвал ---------------- */
.footer{ background:var(--ink); color:#fff; padding-block:44px; }
.footer__inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.footer__brand{ display:flex; align-items:center; }
.footer__name{ font-size:16px; font-weight:600; }
.footer__role{ font-size:13.5px; color:#98A1B0; }
.footer__meta{ display:flex; align-items:center; gap:28px; font-size:15px; color:#98A1B0; }
.footer__meta a{ color:#fff; }
.footer__meta a:hover{ color:var(--accent-400); }

/* ---------------- Внутрішня сторінка (розкриття умов) ---------------- */
.nav--page a{ font-size:15px; color:var(--ink-2); }
.nav--page a:hover{ color:var(--accent); }

.page{ padding-block:clamp(48px,6vw,88px); }
.page__title{ font-size:clamp(28px,3.6vw,42px); max-width:24ch; }
.page__lead{ margin-top:20px; color:var(--ink-2); font-size:17px; max-width:64ch; }

.legal{ margin-top:clamp(34px,4vw,52px); display:grid; gap:clamp(24px,3vw,36px); }
.legal__block{
  border:1px solid var(--line); background:var(--bg);
  padding:clamp(24px,3vw,34px);
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.legal__title{ font-size:clamp(20px,2.2vw,24px); }
.legal__provider{ margin-top:12px; font-size:15px; color:var(--ink-2); max-width:62ch; }

.spec-wrap{ margin-top:24px; overflow-x:auto; }
.spec{ width:100%; min-width:420px; border-collapse:collapse; }
.spec th, .spec td{
  border:1px solid var(--line);
  padding:14px 18px; text-align:left; vertical-align:top;
  font-size:15.5px;
}
.spec th{ width:46%; background:var(--bg-2); color:var(--ink-2); font-weight:500; }
.spec td{ color:var(--ink); font-weight:400; }

.legal__link{ margin-top:20px; font-size:15px; color:var(--ink-2); }
.legal__link a{ color:var(--accent); border-bottom:1px solid currentColor; }
.legal__link a:hover{ color:var(--accent-700); }

/* Текст договору */
.doc__meta{ margin-top:14px; font-size:13px; letter-spacing:.06em; color:var(--ink-3); }
.doc{ margin-top:clamp(32px,4vw,48px); }
.doc__section{ padding-top:clamp(26px,3vw,36px); border-top:1px solid var(--line); }
.doc__section + .doc__section{ margin-top:clamp(26px,3vw,36px); }
.doc__title{ font-size:19px; margin-bottom:18px; }
.doc__p{
  position:relative; padding-left:52px;
  font-size:15.5px; color:var(--ink-2); line-height:1.62;
}
.doc__p + .doc__p{ margin-top:12px; }
.doc__num{
  position:absolute; left:0; top:3px;
  font-family:var(--mono); font-size:13px; color:var(--accent);
}
.doc__p b{ color:var(--ink); font-weight:600; }
.doc .spec-wrap{ margin-top:4px; }
.doc .spec{ min-width:380px; }
.doc .spec td.mono{ font-size:14px; letter-spacing:-0.01em; }
.doc .spec a{ color:var(--accent); }

.legal__note a{ color:var(--accent); border-bottom:1px solid currentColor; }
.legal__note{
  margin-top:clamp(28px,3vw,40px); margin-bottom:32px;
  padding:20px 24px; border-left:2px solid var(--line-2); background:var(--bg-2);
  font-size:14.5px; color:var(--ink-2);
}

/* ---------------- Поява при скролі ---------------- */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* ---------------- Адаптив ---------------- */
@media (max-width: 1020px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__aside{ order:-1; }
  .portrait{ margin-left:0; max-width:220px; }
  .steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .why{ grid-template-columns:1fr; gap:28px; }
  .tiers{ grid-template-columns:1fr; }
  .contact__grid{ grid-template-columns:1fr; }
  .svc--main{ grid-template-columns:1fr; gap:22px; }
  .svc--main .svc__list{ grid-column:1; grid-row:auto; }
  .svc--main .svc__tag{ margin-bottom:0; }
  .pay{ grid-template-columns:1fr; }
  .banks{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px){
  .nav:not(.nav--page){
    position:fixed; inset:74px 0 auto 0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--bg); border-bottom:1px solid var(--line);
    padding:8px 0 20px;
    transform:translateY(-140%); transition:transform .25s ease;
    max-height:calc(100vh - 74px); overflow-y:auto;
  }
  .nav.is-open{ transform:none; }
  .nav:not(.nav--page) a{ padding:15px var(--pad); border-bottom:1px solid var(--line); font-size:17px; }
  .nav__cta{ margin:16px var(--pad) 0; justify-content:center; border-bottom:0; }
  .burger{ display:flex; }
  .services{ grid-template-columns:1fr; }
  .stats__grid{ grid-template-columns:1fr; }
  .stat{ border-left:0; border-top:1px solid var(--line); padding:22px 0; }
  .stat:first-child{ border-top:0; }
  .stack__row{ grid-template-columns:1fr; gap:14px; }
  .exclude{ grid-template-columns:1fr; gap:12px; }
  .terms{ grid-template-columns:1fr; }
  .banks{ grid-template-columns:1fr; }
}

@media (max-width: 560px){
  body{ font-size:16px; }
  :root{ --pad:18px; }
  .steps{ grid-template-columns:1fr; }
  .qa__body{ padding-right:0; }
  .contact__list li{ grid-template-columns:1fr; gap:4px; }
  .doc__p{ padding-left:42px; }
  .footer__inner{ flex-direction:column; align-items:flex-start; }
}
