/* «Свой человек» — палитра и типографика из ТЗ */
:root{
  --ivory:#FFFFF0;
  --charcoal:#36454F;
  --gold:#CFB53B;
  --rose:#D8A1A1;
  --ink:#22303A;
  --line:rgba(54,69,79,.16);
  --card:#FFFDF2;
  --maxw:1140px;
  --r:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--charcoal);
  font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.eyebrow,.btn,.p-amount,.step-n,.topnav,.gauge-val{font-family:Montserrat,Arial,Helvetica,sans-serif}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.08;font-weight:700;letter-spacing:-.02em;margin:.2em 0 .5em}
h1 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.2;font-weight:600;letter-spacing:-.01em;margin:0 0 .7em}
h3{font-size:1.06rem;font-weight:600;letter-spacing:.01em;margin:0 0 .45em}
h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:0 0 .9em}
p{margin:0 0 1em}
a{color:var(--charcoal)}
img,svg{max-width:100%}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--gold);color:var(--ink);padding:.5em 1em;z-index:99}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:88px 24px}
.wrap.narrow{max-width:780px}
.center{text-align:center}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--gold);margin:0 0 .8em}
.lead{font-size:1.2rem}
.lead-2{font-size:1.1rem;max-width:660px;margin:0 auto 2.4em}
.micro{font-size:.85rem;opacity:.7}

/* Кнопки */
.btn{
  display:inline-block;background:var(--gold);color:var(--ink);text-decoration:none;
  font-weight:600;font-size:.92rem;letter-spacing:.03em;padding:.85em 1.7em;border:1px solid var(--gold);
  border-radius:var(--r);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn:hover{background:#c2a72f;transform:translateY(-1px);box-shadow:0 6px 18px rgba(207,181,59,.28)}
.btn-lg{padding:1em 2.1em;font-size:1rem}
.btn-sm{padding:.55em 1.1em;font-size:.82rem}
.btn-ghost{background:transparent;color:var(--charcoal);border-color:var(--line)}
.btn-ghost:hover{background:rgba(207,181,59,.1);border-color:var(--gold);box-shadow:none}

/* Шапка */
.topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 24px;background:rgba(255,255,240,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:600;letter-spacing:.02em}
.topnav{display:flex;align-items:center;gap:22px;font-size:.86rem}
.topnav a{text-decoration:none;opacity:.85}
.topnav a:hover{opacity:1;color:var(--gold)}

/* Герой */
.hero{
  max-width:var(--maxw);margin:0 auto;padding:72px 24px 40px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0 1em}

/* Подпись: кольцо-уроборос как шкала */
.report-card{
  margin:0;background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:26px 26px 22px;box-shadow:0 18px 50px -28px rgba(34,48,58,.45);
}
.rc-head{font-family:Montserrat,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:14px}
.gauge{position:relative;width:196px;margin:0 auto 18px}
.gauge-svg{display:block;transform:rotate(-90deg)}
.g-track{fill:none;stroke:rgba(54,69,79,.12);stroke-width:9}
.g-fill{
  fill:none;stroke:var(--gold);stroke-width:9;stroke-linecap:round;
  stroke-dasharray:515;stroke-dashoffset:515;animation:fill 1.6s .3s cubic-bezier(.22,.9,.25,1) forwards;
}
@keyframes fill{to{stroke-dashoffset:108}} /* 79% от 515 */
.g-tri{fill:none;stroke:var(--rose);stroke-width:2}
.gauge-val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge-val strong{font-size:2.6rem;font-weight:700;line-height:1}
.gauge-val strong span{font-size:1.1rem;font-weight:500;opacity:.6}
.gauge-val em{font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;opacity:.65;margin-top:4px}
.rc-rows{margin:0;border-top:1px solid var(--line)}
.rc-rows div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.rc-rows dt{opacity:.72}
.rc-rows dd{margin:0;font-family:Montserrat,sans-serif;font-weight:600}
.rc-note{font-size:.9rem;margin:14px 0 0;opacity:.8}

/* Полосы */
.band{background:#FBF9EA;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pain .wrap{padding:76px 24px}
.pain h2{color:var(--ink)}
.author-band{background:var(--ink);color:#F3EFE0;border:0}
.author-band h2,.author-band .eyebrow{color:#fff}
.author-band .eyebrow{color:var(--gold)}
.author-band a{color:var(--gold)}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}
.case{border-left:2px solid var(--gold);padding:2px 0 2px 16px}
.case h3{color:var(--rose)}
.case p{font-size:.95rem;margin:0}

/* Сетки и карточки */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card p{margin:0;font-size:.95rem;opacity:.85}

/* Шаги — реальная последовательность, поэтому нумерация оправдана */
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;margin:0 0 40px}
.steps li{border-top:2px solid var(--gold);padding-top:16px}
.step-n{display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:10px}
.steps p{font-size:.95rem;opacity:.85;margin:0}

/* Тарифы */
.tariffs{align-items:stretch}
.tariff{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px}
.tariff.is-featured{border-color:var(--gold);box-shadow:0 12px 34px -22px rgba(207,181,59,.6)}
.p-flag{position:absolute;top:-11px;left:22px;background:var(--gold);color:var(--ink);font-family:Montserrat,sans-serif;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.28em .7em;border-radius:2px;margin:0}
.p-amount{font-size:1.7rem;font-weight:700;margin:.1em 0 .7em}
.p-amount span{font-size:.85rem;font-weight:500;opacity:.6}
.tariff ul{list-style:none;padding:0;margin:0 0 20px;font-size:.93rem}
.tariff li{padding-left:18px;position:relative;margin-bottom:.45em}
.tariff li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border:1.5px solid var(--gold);border-radius:50%}
.tariff .btn{margin-top:auto;text-align:center}

/* Отзывы */
.quote{margin:0;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--rose);border-radius:var(--r);padding:22px}
.quote p{font-size:1rem;font-style:italic}
.quote footer{font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:600;opacity:.75}

/* Финальный CTA и форма */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.lead-form{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:26px}
.lead-form label{display:block;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:14px}
.lead-form input[type=text],.lead-form textarea{
  display:block;width:100%;margin-top:6px;padding:.7em .8em;font-family:Georgia,serif;font-size:1rem;
  color:var(--charcoal);background:#fff;border:1px solid var(--line);border-radius:var(--r);
}
.lead-form input:focus,.lead-form textarea:focus{border-color:var(--gold);outline:none}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-family:Georgia,serif!important;font-size:.85rem!important}
.check input{margin-top:.25em;accent-color:var(--gold)}
.form-msg{font-size:.88rem;margin:12px 0 0;min-height:1.2em}
.form-msg.ok{color:#3F7D4E}
.form-msg.err{color:#A5453F}

/* Футер */
.footer{background:var(--ink);color:#E9E4D4;margin-top:0}
.footer .wrap{padding:56px 24px 40px}
.footer a{color:#E9E4D4;text-decoration:none;display:block;margin-bottom:.55em;font-size:.93rem}
.footer a:hover{color:var(--gold)}
.disclaimer{font-size:.82rem;line-height:1.6;opacity:.72;border-left:2px solid var(--gold);padding-left:16px;margin-bottom:36px}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.14)}
.method{font-family:Montserrat,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:24px 0 0}

/* Текстовые страницы (политика, оферта) */
.doc{max-width:800px;margin:0 auto;padding:56px 24px 80px}
.doc h1{font-size:clamp(1.6rem,3.6vw,2.4rem)}
.doc h2{font-size:1.15rem;margin-top:2em}
.doc table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1em 0}
.doc th,.doc td{border:1px solid var(--line);padding:.6em .7em;text-align:left;vertical-align:top}
.doc th{background:#FBF9EA;font-family:Montserrat,sans-serif;font-size:.82rem}
.doc ul{padding-left:1.2em}
.back{display:inline-block;font-family:Montserrat,sans-serif;font-size:.85rem;margin-bottom:1.5em;text-decoration:none;color:var(--gold)}

/* Адаптивность */
@media (max-width:960px){
  .hero{grid-template-columns:1fr;gap:36px;padding-top:48px}
  .grid-4,.grid-3,.steps,.cta-grid,.foot-cols,.cases{grid-template-columns:1fr 1fr}
  .topnav a:not(.btn){display:none}
}
@media (max-width:620px){
  body{font-size:17px}
  .wrap{padding:56px 18px}
  .hero{padding:36px 18px}
  .grid-4,.grid-3,.steps,.cta-grid,.foot-cols,.cases{grid-template-columns:1fr}
  .hero-actions .btn{width:100%;text-align:center}
  .report-card{padding:20px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .g-fill{stroke-dashoffset:108}
  html{scroll-behavior:auto}
}
