/* LARP Capital — общие стили.
   Все значения — переменные в :root. Внешних ссылок нет: шрифты лежат в /assets/fonts/. */

@font-face{
  font-family:"Larp Serif";
  src:url("/assets/fonts/LarpSerif-Var.woff2") format("woff2");
  font-weight:200 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/Inter-Var.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}

:root{
  /* Цвета */
  --bg:#ffffff;
  --bg-2:#f4f5f7;          /* фон чередующихся секций */
  --ink:#0e0e10;           /* почти чёрный: текст и тёмные блоки */
  --ink-2:#4d525c;         /* вторичный текст */
  --ink-3:#7d828c;         /* подписи */
  --line:rgba(14,14,16,.12);
  --line-2:rgba(14,14,16,.24);
  --on-dark:#f4f5f7;
  --on-dark-2:rgba(244,245,247,.66);
  --line-dark:rgba(244,245,247,.16);

  /* Акцент — одна переменная. Вариант 1: тёмно-синий. Вариант 2: графит (#3b4048). */
  --accent:#1d3557;

  /* Шрифты */
  --f-head:"Larp Serif",Georgia,"Times New Roman",serif;
  --f-body:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  /* Сетка и ритм */
  --max:1280px;
  --gut:clamp(16px,4vw,56px);
  --sec:clamp(72px,10vw,144px);
  --header-h:72px;
  --radius:2px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--f-body);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:500;margin:0;letter-spacing:-.015em;line-height:1.1}
p{margin:0}
a{color:inherit}
img,svg{max-width:100%;display:block}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:var(--gut);top:8px;z-index:100;background:var(--bg);padding:8px 12px}

/* ── Типографика ─────────────────────────────────────────── */
.eyebrow{
  display:flex;align-items:center;gap:14px;margin:0 0 22px;
  font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent);flex:none}
.h-xl{font-size:clamp(34px,5.2vw,74px);line-height:1.04;letter-spacing:-.028em;font-weight:500}
.h-xl span{display:block}
.h-lg{font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:-.022em}
.h-md{font-size:clamp(22px,2vw,27px);line-height:1.2}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-2)}
.ph{background:rgba(29,53,87,.08);padding:0 4px;white-space:nowrap}

/* ── Кнопки ──────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 24px;border:1px solid var(--ink);border-radius:var(--radius);
  font:600 15px/1 var(--f-body);letter-spacing:.01em;text-decoration:none;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.btn-pri{background:var(--ink);color:var(--bg)}
.btn-pri:hover{background:var(--accent);border-color:var(--accent)}
.btn-sec{background:transparent;color:var(--ink)}
.btn-sec:hover{background:var(--ink);color:var(--bg)}
.btn-light{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
.btn-light:hover{background:transparent;color:var(--on-dark)}
.btn .ar{transition:transform .2s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}

/* ── Шапка ───────────────────────────────────────────────── */
.header{
  position:sticky;top:0;z-index:50;height:var(--header-h);
  background:var(--bg);border-bottom:1px solid var(--line);
}
.header .wrap{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo svg{width:28px;height:28px}
.logo b{font:600 19px/1 var(--f-head);letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{position:relative;font-size:15px;text-decoration:none;color:var(--ink-2);padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.lang{display:flex;gap:6px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ink-3)}
.lang a{text-decoration:none;color:var(--ink-3)}
.lang a:hover{color:var(--ink)}
.lang [aria-current="true"]{color:var(--ink)}
.header-cta{flex:none}
.burger{
  display:none;width:44px;height:44px;margin-right:-10px;border:0;background:none;cursor:pointer;
  align-items:center;justify-content:center;color:var(--ink);
}
.burger span,.burger span::before,.burger span::after{
  display:block;width:20px;height:1.5px;background:currentColor;position:relative;transition:transform .2s var(--ease);
}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.nav-open .burger span{background:transparent}
.nav-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.nav-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:960px){
  .burger{display:inline-flex}
  .header .wrap{gap:12px}
  .header-cta{margin-left:auto}
  .nav{
    position:fixed;left:0;right:0;top:var(--header-h);bottom:0;margin:0;
    flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 32px;
    background:var(--bg);border-top:1px solid var(--line);
    visibility:hidden;opacity:0;transition:opacity .2s var(--ease),visibility 0s .2s;overflow-y:auto;
  }
  .nav-open .nav{visibility:visible;opacity:1;transition:opacity .2s var(--ease)}
  .nav-links{flex-direction:column;gap:0}
  .nav-links a{display:block;padding:18px 0;font:500 24px/1.2 var(--f-head);color:var(--ink);border-bottom:1px solid var(--line)}
  .nav-links a[aria-current="page"]{border-bottom-color:var(--line);color:var(--accent)}
  .lang{margin-top:24px;font-size:15px}
  .nav-open{overflow:hidden}
}
@media (max-width:420px){
  .header .wrap{gap:10px}
  .logo{gap:8px}
  .logo svg{width:24px;height:24px}
  .logo b{font-size:16px}
  .header-cta.btn-sm{min-height:36px;padding:0 12px;font-size:13px}
  .burger{width:40px;margin-right:-8px}
}
@media (max-width:340px){.logo b{display:none}}

/* ── Секции ──────────────────────────────────────────────── */
.sec{padding:var(--sec) 0}
.sec-alt{background:var(--bg-2)}
.sec-dark{background:var(--ink);color:var(--on-dark)}
.sec-dark .eyebrow{color:var(--on-dark-2)}
.sec-dark .lead,.sec-dark .muted{color:var(--on-dark-2)}
.sec-head{margin-bottom:clamp(36px,5vw,64px);max-width:860px}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.stack>*+*{margin-top:18px}

/* Первый экран */
.hero{padding:clamp(72px,12vw,168px) 0 clamp(64px,9vw,120px);border-bottom:1px solid var(--line)}
.hero .h-xl{max-width:none}
.hero-sub{margin-top:clamp(28px,3.5vw,44px);max-width:62ch}
.hero-sub p+p{margin-top:10px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(32px,4vw,48px)}

/* Сетки карточек */
.grid{display:grid;gap:0;border-top:1px solid var(--line-2)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cell{padding:clamp(24px,3vw,40px) clamp(20px,2.4vw,36px) clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--line)}
.cell+.cell{padding-left:clamp(20px,2.4vw,36px);border-left:1px solid var(--line)}
.cell h3{margin-bottom:14px}
.cell p{color:var(--ink-2)}
.num{display:block;font:500 14px/1 var(--f-body);letter-spacing:.08em;color:var(--accent);margin-bottom:28px;font-variant-numeric:tabular-nums}
.sec-alt .cell{border-color:var(--line)}
@media (max-width:960px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-4 .cell:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:760px){
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr}
  .cell,.cell+.cell,.grid-4 .cell:nth-child(3){padding-left:0;padding-right:0;border-left:0}
}

/* Форматы */
.model h3{font-size:clamp(28px,3vw,40px);margin-bottom:16px}
.note{margin-top:28px;font-size:15px;color:var(--ink-3)}

/* Безопасность */
.sec-intro{max-width:72ch;margin-bottom:clamp(32px,4vw,48px);font-size:17px}

/* Финальный блок */
.final{text-align:left}
.final .h-lg{max-width:18ch}
.final .lead{margin-top:22px}
.final .hero-cta{margin-top:36px}

/* Заголовок внутренних страниц */
.page-head{padding:clamp(64px,9vw,128px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.stub{
  border:1px dashed var(--line-2);padding:clamp(28px,4vw,48px);color:var(--ink-3);
  font-size:15px;letter-spacing:.02em;text-align:center;
}
.stub+.stub{margin-top:16px}

/* ── Подвал ──────────────────────────────────────────────── */
.footer{border-top:1px solid var(--line-dark);background:var(--ink);color:var(--on-dark-2);padding:clamp(56px,7vw,88px) 0 32px;font-size:14.5px}
.footer a{text-decoration:none;color:var(--on-dark-2)}
.footer a:hover{color:var(--on-dark)}
.f-top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,3fr) minmax(0,2fr);gap:32px}
.f-top h2{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);margin-bottom:18px}
.f-top ul{list-style:none;margin:0;padding:0}
.f-top li+li{margin-top:10px}
.f-brand b{display:block;font:500 24px/1 var(--f-head);color:var(--on-dark);margin-bottom:14px}
.f-risk{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--line-dark);font-size:13px;line-height:1.65;max-width:110ch}
.f-bottom{margin-top:28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.footer .lang a,.footer .lang span{color:var(--on-dark-2)}
.footer .lang [aria-current="true"]{color:var(--on-dark)}
@media (max-width:860px){.f-top{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
@media (max-width:480px){.f-top{grid-template-columns:1fr}}

/* ── Появление при скролле (только если JS работает) ─────── */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important}
  .js .rv{opacity:1;transform:none}
}

/* ── Анкета (apply) ──────────────────────────────────────── */
.page-lead{margin-top:18px}
.sec-form{padding-top:clamp(40px,5vw,72px)}
.form-wrap{max-width:760px}
.progress{height:2px;background:var(--line);margin-bottom:clamp(28px,4vw,44px)}
.progress-bar{display:block;height:100%;width:33.34%;background:var(--accent);transition:width .3s var(--ease)}
.step{border:0;margin:0;padding:0;min-width:0}
.step[hidden]{display:none}
.step-title{padding:0;margin-bottom:28px;font:500 clamp(24px,2.4vw,32px)/1.15 var(--f-head);letter-spacing:-.015em}
.step-of{display:block;margin-bottom:10px;font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.field label{font-weight:600;font-size:15px}
.opt{font-weight:400;color:var(--ink-3)}
.hint{font-size:14px;color:var(--ink-3);margin-top:-4px}
.field input[type="text"],.field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg);
  font:16px/1.5 var(--f-body);color:var(--ink);transition:border-color .15s var(--ease);
}
.field textarea{resize:vertical;min-height:96px}
/* Выпадающий список */
.select{position:relative}
.select::after{
  content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;margin-top:-6px;pointer-events:none;
  border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:rotate(45deg);
}
.field select{
  width:100%;padding:13px 44px 13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);
  background:var(--bg);font:16px/1.5 var(--f-body);color:var(--ink);
  -webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s var(--ease);
}
.field select:invalid{color:var(--ink-3)}
.field select option{color:var(--ink)}
.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
/* Несколько вариантов — список с галочками */
.field.group{border:0;padding:0;margin:0 0 24px;min-width:0}
.field.group legend{padding:0;margin-bottom:8px;font-weight:600;font-size:15px}
.field.group .hint{margin:0 0 6px}
.opt-list{border-top:1px solid var(--line)}
.opt-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line);cursor:pointer;font-size:15.5px}
.opt-row input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--ink)}
.opt-row:hover span{color:var(--ink)}
.opt-row span{color:var(--ink-2)}
.opt-row input:checked+span{color:var(--ink)}
.field.group[aria-invalid="true"] .opt-list{border-top-color:#9b1c1c}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.field [aria-invalid="true"]{border-color:#9b1c1c}
.err{font-size:14px;color:#9b1c1c;min-height:0}
.err:empty{display:none}
.field.check{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px}
.field.check input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.field.check label{flex:1;font-weight:400;font-size:15px;line-height:1.5}
.field.check .err{flex-basis:100%;padding-left:32px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.form-nav [hidden]{display:none}
.form-msg{margin-top:16px;font-size:15px;color:#9b1c1c}
.form-msg:empty{display:none}
.form-msg.ok{color:var(--ink-2)}
.how{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.notice{padding:18px 20px;border:1px solid var(--line-2);margin-bottom:24px}
.done{border:1px solid var(--line-2);padding:clamp(24px,4vw,40px)}
.done:focus{outline:none}
.done p{margin:14px 0 24px;color:var(--ink-2)}
.linkbtn{margin-top:20px;padding:0;border:0;background:none;font:inherit;font-size:15px;color:var(--ink-2);text-decoration:underline;cursor:pointer}
.linkbtn:hover{color:var(--ink)}
@media (max-width:480px){.form-nav .btn{flex:1 1 100%}}

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-h{margin-bottom:28px}
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;
  font:500 clamp(18px,1.6vw,21px)/1.35 var(--f-head);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font:300 26px/1 var(--f-body);color:var(--ink-2)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 40px 24px 0;color:var(--ink-2);max-width:68ch}

/* ── Документы (политика, риски, соглашение) ─────────────── */
.doc{max-width:760px}
.doc h2{font-size:clamp(22px,2vw,27px);margin:44px 0 14px}
.doc h3{font-size:19px;margin:28px 0 10px}
.doc p,.doc li{color:var(--ink-2);margin:0 0 14px}
.doc ul,.doc ol{padding-left:22px;margin:0 0 14px}
.doc .doc-date{font-size:14px;color:var(--ink-3);margin-bottom:28px}

/* ── Текстовый блок ──────────────────────────────────────── */
.prose{max-width:760px}
.prose p{color:var(--ink-2);font-size:17px}
.prose p+p{margin-top:14px}

/* ── Таблица сравнения ───────────────────────────────────── */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:520px;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{text-align:left;padding:18px 16px 18px 0;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{font:500 clamp(20px,2vw,26px)/1.2 var(--f-head);border-bottom:1px solid var(--line-2);padding-bottom:16px}
.cmp tbody th{font-weight:600;color:var(--ink);width:32%}
.cmp td{color:var(--ink-2)}

/* ── Черновики: подсветка при ?drafts в адресе ───────────── */
.show-drafts [data-draft]{outline:2px dashed #c2410c;outline-offset:-2px;position:relative}
.show-drafts [data-draft]::before{
  content:"черновик";position:absolute;top:6px;right:6px;z-index:5;padding:2px 8px;
  background:#c2410c;color:#fff;font:600 11px/1.6 var(--f-body);letter-spacing:.06em;text-transform:uppercase;
}
.show-drafts .faq details[data-draft]::before{top:4px;right:44px}

/* ── Колонки-списки («делаем / не делаем») ──────────────── */
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px)}
@media (max-width:760px){.cols-2{grid-template-columns:1fr}}
.col-list h3{padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.col-list ul{list-style:none;margin:0;padding:0}
.col-list li{position:relative;padding:15px 0 15px 28px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.col-list li::before{content:"";position:absolute;left:2px;top:26px;width:12px;height:1.5px;background:var(--accent)}
.col-list ul.neg li::before{content:"×";background:none;width:auto;height:auto;top:13px;left:1px;font:400 18px/1 var(--f-body);color:var(--ink-3)}

/* ── Заметки («Как мы думаем») ───────────────────────────── */
.notes{border-top:1px solid var(--line-2);max-width:860px}
.note-item{padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid var(--line)}
.note-item .num{margin-bottom:16px}
.note-item h2{margin-bottom:14px}
.note-item p{color:var(--ink-2);max-width:68ch}
.note-item p+p{margin-top:12px}

/* ── Первый экран: сетка и графика ──────────────────────── */
.hero{position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:80px 80px;background-position:-1px -1px;
  -webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 75%);mask-image:linear-gradient(100deg,transparent 35%,#000 75%);
  opacity:.55;
}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,5vw,80px);align-items:center}
.hero-grid .h-xl{font-size:clamp(34px,4.5vw,66px)}
.hero-kicker{margin-bottom:28px;color:var(--accent)}
.hero-art{width:100%;height:auto;color:var(--ink)}
.ha-grid line{stroke:var(--line);stroke-width:1}
.ha-frame{fill:none;stroke:var(--ink);stroke-width:1.2}
.ha-thin{stroke:var(--line-2);stroke-width:1}
.ha-mark{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:square}
.ha-dot{fill:var(--accent)}
.ha-ticks line{stroke:var(--ink-3);stroke-width:1}
@media (prefers-reduced-motion:no-preference){
  .js .ha-mark{stroke-dasharray:260;stroke-dashoffset:260;animation:ha-draw 1.6s .3s var(--ease) forwards}
  .js .ha-dot{opacity:0;animation:ha-fade .6s 1.6s var(--ease) forwards}
}
@keyframes ha-draw{to{stroke-dashoffset:0}}
@keyframes ha-fade{to{opacity:1}}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-art{display:none}
  .hero::before{-webkit-mask-image:linear-gradient(180deg,transparent 40%,#000 100%);mask-image:linear-gradient(180deg,transparent 40%,#000 100%);opacity:.35}
}

/* ── Шапка при прокрутке ─────────────────────────────────── */
.header{transition:box-shadow .25s var(--ease)}
.scrolled .header{box-shadow:0 1px 0 var(--line),0 8px 24px rgba(14,14,16,.06)}

/* ── Карточки: тонкая линия акцента при наведении ────────── */
.cell{position:relative}
.cell::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--accent);transition:width .35s var(--ease)}
.cell+.cell::before{left:-1px}
@media (hover:hover){.cell:hover::before{width:100%}}

/* ── Финальный тёмный блок: сетка ────────────────────────── */
.sec-dark.final{position:relative;overflow:hidden}
.sec-dark.final::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%);
  opacity:.5;
}
.sec-dark.final .wrap{position:relative}
/* Заголовок первого экрана: строки переносятся сами и выравниваются по длине */
.hero .h-xl span{display:inline}
.hero .h-xl{text-wrap:balance;max-width:none}
@media (max-width:960px){.hero-grid .h-xl{font-size:clamp(34px,6.6vw,58px)}}

/* ── Проверка аккаунта ───────────────────────────────────── */
.verify{max-width:760px;border:1px solid var(--line-2);background:var(--bg);padding:clamp(24px,4vw,44px)}
.verify h2{margin-bottom:20px}
.verify label{display:block;font-weight:600;font-size:15px;margin-bottom:8px}
.verify-row{display:flex;gap:10px}
.verify-row input{flex:1;min-width:0;padding:13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);font:16px/1.5 var(--f-body);color:var(--ink);background:var(--bg)}
.verify-row input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
@media (max-width:480px){.verify-row{flex-direction:column}}
.verify-result{margin:16px 0 0;padding-left:14px;border-left:2px solid transparent;font-weight:500}
.verify-result:empty{display:none}
.verify-result.is-ok{border-color:#166534;color:#166534}
.verify-result.is-warn{border-color:var(--ink-3);color:var(--ink-2)}
.verify-result.is-bad{border-color:#9b1c1c;color:#9b1c1c}
.verify .hint{display:block;margin-top:14px}

/* ── Экран «Проверьте ответы» ────────────────────────────── */
.step.review[hidden]{display:none}
.review-list{margin:0 0 8px;border-top:1px solid var(--line-2)}
.review-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.review-row dt{font-size:14.5px;color:var(--ink-2)}
.review-row dd{margin:0;font-weight:500}
.review-row .linkbtn{margin:0;font-size:14px}
@media (max-width:560px){.review-row{grid-template-columns:1fr auto}.review-row dt{grid-column:1/-1}}

/* ── Указатель разделов (широкие экраны) ─────────────────── */
.toc{display:none}
@media (min-width:1400px){
  .toc{display:block;position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:20;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s .3s}
  .toc.is-shown{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}
  .toc ol{list-style:none;margin:0;padding:0}
  .toc a{display:flex;align-items:center;gap:10px;padding:5px 0;text-decoration:none;color:var(--ink-3);font:500 12px/1 var(--f-body);letter-spacing:.08em;font-variant-numeric:tabular-nums}
  .toc a::before{content:"";width:10px;height:1px;background:var(--line-2);transition:width .25s var(--ease),background .25s}
  .toc .toc-l{opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;white-space:nowrap;text-transform:uppercase;font-size:11px;background:var(--bg);padding:2px 4px}
  .toc a:hover .toc-l,.toc a.is-active .toc-l{opacity:1;transform:none}
  .toc a.is-active{color:var(--ink)}
  .toc a.is-active::before{width:24px;background:var(--accent)}
}

/* ── Записки ─────────────────────────────────────────────── */
.memo-meta{font:600 12px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.print-row{margin-top:32px}

/* ── Печать: чистый документ без навигации ───────────────── */
@media print{
  @page{margin:18mm}
  body{font-size:11pt;background:#fff;color:#000}
  .header,.footer .f-top,.footer .f-bottom,.toc,.final,.print-row,.skip,.burger{display:none !important}
  .footer{background:#fff;color:#000;padding:0;border:0}
  .footer .f-risk{border-top:1px solid #999;color:#333;margin-top:12mm}
  .sec,.page-head{padding:6mm 0}
  .sec-alt{background:#fff}
  .rv{opacity:1 !important;transform:none !important}
  .note-item{break-inside:avoid}
  a{text-decoration:none;color:#000}
  .page-head::before{content:"LARP Capital";display:block;font:600 12pt var(--f-head);margin-bottom:6mm;padding-bottom:3mm;border-bottom:1px solid #000}
}
@media (min-width:1400px){
  .toc a{position:relative}
  .toc .toc-l{position:absolute;left:100%;top:50%;margin-left:8px;transform:translate(-4px,-50%);box-shadow:0 0 0 1px var(--line)}
  .toc a:hover .toc-l{opacity:1;transform:translate(0,-50%)}
  .toc a.is-active .toc-l{opacity:0}
  .toc a.is-active:hover .toc-l{opacity:1}
}
.note-item p.memo-meta{max-width:none}

/* ════ Визуальный проход «вау» ════════════════════════════════ */
:root{
  --hero-bg:#0b0d12;
}

/* ── Тёмный первый экран ─────────────────────────────────── */
.hero-dark{background:var(--hero-bg);color:var(--on-dark);border-bottom:0;isolation:isolate}
.hero-dark::before{
  background-image:linear-gradient(rgba(244,245,247,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(244,245,247,.06) 1px,transparent 1px);
  opacity:1;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 45%,#000 20%,transparent 75%);
}
@media (prefers-reduced-motion:no-preference){.hero-dark::before{animation:grid-breathe 9s ease-in-out infinite alternate}}
@keyframes grid-breathe{from{opacity:.55}to{opacity:1}}
.hero-dark::after{content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;mix-blend-mode:overlay}
.hero-light{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(600px circle at var(--mx,70%) var(--my,40%),rgba(70,110,180,.22),transparent 60%),
             radial-gradient(900px circle at 85% 0%,rgba(29,53,87,.55),transparent 60%);
  transition:background-position .2s;
}
.hero-dark .wrap{z-index:1}
.hero-dark .h-xl{color:#fff}
.hero-dark .lead{color:rgba(244,245,247,.72)}
.hero-dark .hero-kicker{color:#9fb4d6}
.hero-dark .hero-kicker::before{background:#9fb4d6}
.hero-dark .btn-pri{background:#fff;color:var(--ink);border-color:#fff}
.hero-dark .btn-pri:hover{background:transparent;color:#fff}
.hero-dark .btn-sec{color:#fff;border-color:rgba(255,255,255,.35)}
.hero-dark .btn-sec:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero-dark .ha-grid line{stroke:rgba(244,245,247,.07)}
.hero-dark .ha-frame{stroke:rgba(244,245,247,.85)}
.hero-dark .ha-thin{stroke:rgba(244,245,247,.25)}
.hero-dark .ha-ticks line{stroke:rgba(244,245,247,.4)}
.hero-dark .ha-mark{stroke:#7f9cd0}
.hero-dark .ha-dot{fill:#c9d6ee}
.hero-dark .hero-art{filter:drop-shadow(0 0 40px rgba(90,130,200,.18))}
.hero-dark{padding-top:clamp(96px,13vw,190px);padding-bottom:clamp(88px,11vw,160px)}

/* Шапка над тёмным экраном (пока он вверху) */
.header{transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .25s var(--ease)}
.hero-top .header{background:var(--hero-bg);border-bottom-color:rgba(244,245,247,.1)}
.hero-top .logo,.hero-top .logo b{color:#fff}
.hero-top .nav-links a{color:rgba(244,245,247,.7)}
.hero-top .nav-links a:hover,.hero-top .nav-links a[aria-current="page"]{color:#fff;border-bottom-color:#fff}
.hero-top .header .lang a{color:rgba(244,245,247,.5)}
.hero-top .header .lang [aria-current="true"]{color:#fff}
.hero-top .header-cta{background:#fff;color:var(--ink);border-color:#fff}
.hero-top .burger{color:#fff}
@media (max-width:960px){
  .hero-top.nav-open .header{background:var(--bg);border-bottom-color:var(--line)}
  .hero-top.nav-open .logo,.hero-top.nav-open .logo b,.hero-top.nav-open .burger{color:var(--ink)}
  .hero-top.nav-open .header-cta{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .hero-top .nav-links a{color:var(--ink)}
  .hero-top .header .lang a{color:var(--ink-3)}
  .hero-top .header .lang [aria-current="true"]{color:var(--ink)}
}

/* ── Крупные контурные номера разделов ───────────────────── */
.sec-head,.sec-head-2{position:relative}
.sec-num{
  position:absolute;right:0;top:-.28em;z-index:0;pointer-events:none;
  font:400 clamp(96px,14vw,200px)/1 var(--f-head);letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1px var(--line-2);
}
.sec-head{max-width:none}
.sec-head .h-lg,.sec-head .eyebrow{position:relative;z-index:1;max-width:860px}
.sec-head-2 .sec-num{right:auto;left:-.04em;top:-.62em;font-size:clamp(110px,15vw,220px);opacity:.7}
.sec-head-2 .eyebrow,.sec-head-2 .h-lg{position:relative;z-index:1}
.sec-alt .sec-num{-webkit-text-stroke-color:rgba(14,14,16,.14)}
@media (max-width:760px){.sec-num{font-size:88px;top:-.1em}.sec-head-2 .sec-num{font-size:96px;top:-.45em}}

/* ── Ступенчатое появление ───────────────────────────────── */
.grid .cell.rv:nth-child(2),.cols-2 .col-list.rv:nth-child(2){transition-delay:.08s}
.grid .cell.rv:nth-child(3){transition-delay:.16s}
.grid .cell.rv:nth-child(4){transition-delay:.24s}
.js .rv{transform:translateY(22px)}
.js .rv.in{transform:none}

/* ── Кнопки: тонкая анимация ─────────────────────────────── */
.btn{position:relative;overflow:hidden;letter-spacing:.015em}
.btn-pri::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
@media (hover:hover){.btn-pri:hover::after{transform:translateX(120%)}}

/* ── Тёмные блоки: зерно ─────────────────────────────────── */
.sec-dark.final::after,.footer::after{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;mix-blend-mode:overlay}
.footer{position:relative;overflow:hidden}

/* ── Огромная надпись в подвале ──────────────────────────── */
.f-mark{
  margin-top:clamp(40px,6vw,72px);white-space:nowrap;user-select:none;
  font:500 clamp(56px,13.6vw,196px)/.82 var(--f-head);letter-spacing:-.045em;
  color:transparent;background:linear-gradient(180deg,rgba(244,245,247,.16),rgba(244,245,247,0) 92%);
  -webkit-background-clip:text;background-clip:text;
  margin-bottom:calc(-1 * clamp(10px,2vw,28px));
}
@media print{.f-mark,.hero-light,.sec-num{display:none !important}.hero-dark{background:#fff;color:#000}}
@media (max-width:760px){.sec-num{display:none}}
.f-mark{font-size:clamp(56px,17.5vw,248px)}

/* ════ Сдержанный проход (разбор арт-директора) ════════════════ */
/* Убираем декоративный шум */
.sec-num,.toc,.f-mark{display:none !important}
.btn-pri::after{display:none}
.cell::before{display:none}
.sec-dark.final::before,.sec-dark.final::after,.footer::after{display:none}

/* Первый экран: тише */
.hero-dark::before{display:none;animation:none}
.hero-dark::after{display:none}
.hero-light{background:radial-gradient(900px circle at 80% 10%,rgba(29,53,87,.42),transparent 65%)}
.hero-dark .hero-art{filter:none;opacity:.55}
.hero-dark .ha-mark{stroke:#9fb4d6;stroke-width:2}
.hero-dark{padding-top:clamp(88px,11vw,160px);padding-bottom:clamp(88px,10vw,144px)}
.hero-dark .lead{color:rgba(244,245,247,.62)}
.hero-kicker{margin-bottom:32px}

/* Типографика: тоньше и спокойнее */
h1,h2,h3,h4{font-optical-sizing:auto;font-weight:400}
.h-xl,.hero-grid .h-xl{font-weight:400;letter-spacing:-.022em;line-height:1.06}
.h-lg{font-weight:400;letter-spacing:-.018em;line-height:1.1}
.h-md,.cell h3{font-size:clamp(20px,1.7vw,23px);font-weight:400;letter-spacing:-.005em;line-height:1.25}
.model h3{font-weight:400;font-size:clamp(26px,2.6vw,34px)}
.lead{font-weight:400}
.logo b{font-weight:500}

/* Подпись раздела */
.eyebrow{font-size:11.5px;font-weight:500;letter-spacing:.16em;color:var(--ink-3);gap:12px;margin-bottom:20px}
.eyebrow::before{width:20px;background:var(--line-2)}
.hero-dark .hero-kicker{color:rgba(244,245,247,.55)}
.hero-dark .hero-kicker::before{background:rgba(244,245,247,.3)}

/* Карточки: без «таблицы» */
.grid{border-top:0;column-gap:clamp(28px,3.5vw,56px);row-gap:clamp(32px,4vw,48px)}
.cell,.cell+.cell{padding:28px 0 0;border:0;border-top:1px solid var(--line)}
.cell p{font-size:15.5px;line-height:1.65;max-width:42ch}
.cell h3{margin-bottom:12px}
.num{font:500 12px/1 var(--f-body);letter-spacing:.12em;color:var(--ink-3);margin-bottom:20px}
@media (max-width:960px){.grid-4 .cell:nth-child(3){padding-left:0}}
.col-list h3{border-bottom-color:var(--line)}
.col-list li{padding:14px 0 14px 26px}

/* Ритм секций */
:root{--bg-2:#f7f7f5;--sec:clamp(64px,8.5vw,128px)}
.sec{padding-bottom:calc(var(--sec) * .75)}
.sec-head{margin-bottom:clamp(32px,4vw,56px)}

/* Иерархия текста */
.stack p:not(.lead),.sec-intro{color:var(--ink-2)}
.stack .lead{color:var(--ink)}
.sec-intro{font-size:16.5px;max-width:64ch}
.note{font-size:14px}

/* Кнопки */
.btn{min-height:50px;padding:0 28px;font-weight:500;font-size:14.5px;letter-spacing:.02em}
.btn-sm{min-height:40px;padding:0 18px;font-size:13.5px}
.hero-top .header-cta{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.hero-top .header-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero-dark .btn-sec{border-color:rgba(255,255,255,.28)}
.nav-links a{font-size:14.5px}

/* Финал и подвал */
.final .lead{max-width:52ch}
.footer{background:var(--hero-bg);border-top:1px solid rgba(244,245,247,.08)}
.f-brand b{font-weight:400}
.f-top h2{font-weight:500;color:var(--on-dark-2)}
.f-risk{color:rgba(244,245,247,.45);max-width:96ch}

/* Внутренние страницы: одна линия, меньше пустоты */
.page-head{border-bottom:0;padding-bottom:clamp(32px,4vw,48px)}
.page-head+.sec,.page-head+section{padding-top:clamp(24px,3vw,40px)}

/* Мобильная версия и анкета */
@media (max-width:560px){
  .hero-cta .btn{flex:1 1 100%}
  .f-top{gap:28px}
  .f-top li+li{margin-top:6px}
}
.field label,.field.group legend{font-weight:500}
.step-of{font-weight:500}

/* ════ Артефакты: гильош ═══════════════════════════════════ */
/* Эмблема первого экрана: вращающаяся розетка + печать */
.hero-emblem{position:relative;width:100%;aspect-ratio:1;max-width:460px;justify-self:end}
.hero-emblem img{position:absolute;inset:0;width:100%;height:100%}
.he-rosette{opacity:.7}
.he-seal{inset:23% !important;width:54% !important;height:54% !important;opacity:.9}
@media (prefers-reduced-motion:no-preference){
  .he-rosette{animation:spin 240s linear infinite}
  .he-seal{animation:spin 400s linear infinite reverse}
}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:960px){
  .hero-emblem{position:absolute;right:-30%;top:50%;transform:translateY(-50%);width:90vw;max-width:none;opacity:.35;pointer-events:none}
  .hero-dark .hero-grid{position:static}
  .hero-dark .hero-main{position:relative;z-index:1}
}

/* Лента-кайма */
.band{height:64px;background-repeat:repeat-x;background-position:center;background-size:auto 64px}
.band-dark{background-image:url("/assets/img/art/band-dark.svg");margin:0 auto;opacity:.6}
.band-light{background-image:url("/assets/img/art/band-light.svg");margin-bottom:clamp(40px,5vw,64px);opacity:.7}
.hero-dark+.band{margin-top:clamp(28px,3vw,44px)}

/* Заголовки внутренних страниц */
.page-head.has-art{position:relative;overflow:hidden;min-height:clamp(260px,26vw,380px);display:flex;align-items:flex-end}
.page-head.has-art .wrap{position:relative;z-index:1;width:100%}
.ph-art{position:absolute;right:max(-80px,calc((100vw - var(--max)) / 2 - 80px));top:50%;transform:translateY(-50%);width:clamp(260px,32vw,460px);height:auto;pointer-events:none}
.ph-rosette{opacity:.55}
.ph-waves{opacity:.8;width:clamp(300px,38vw,560px)}
.ph-seal{opacity:.55;width:clamp(220px,24vw,340px);right:max(24px,calc((100vw - var(--max)) / 2 + 56px))}
@media (prefers-reduced-motion:no-preference){.ph-rosette,.ph-seal{animation:spin-c 300s linear infinite}}
@media (max-width:760px){.ph-art{opacity:.22;right:-35%;width:80vw}.ph-seal{right:-20%}}

/* Финальный блок */
.final-art{position:absolute;right:-12%;top:50%;transform:translateY(-50%);width:clamp(420px,52vw,760px);opacity:.35;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.final-art{animation:spin-c 300s linear infinite}}
@keyframes spin-c{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}
@media (max-width:760px){.final-art{opacity:.15;right:-50%}}
@media print{.band,.hero-emblem,.ph-art,.final-art{display:none !important}}
.ph-waves{-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
.hero-dark+.band{margin-top:0;margin-bottom:8px}
.he-rosette{opacity:.85}
.footer{padding-top:0}.footer .band-light{margin-top:0}

/* ════ Территория «Реестр»: бумага, чернила, штемпель ═══════════ */
:root{
  --bg:#f4f1ea;          /* бумага */
  --bg-2:#ece7dc;        /* чередующиеся разделы — тон плотнее */
  --ink:#16130f;         /* чернила */
  --ink-2:#4a443b;
  --ink-3:#857d70;
  --line:rgba(22,19,15,.12);
  --line-2:rgba(22,19,15,.24);
  --accent:#8a1e1e;      /* штемпель — только печати, штемпели, полоса прогресса */
  --hero-bg:#16130f;
  --on-dark:#f4f1ea;
  --on-dark-2:rgba(244,241,234,.66);
  --line-dark:rgba(244,241,234,.14);
}
body{background:var(--bg)}
.header{background:var(--bg)}
::selection{background:var(--ink);color:var(--bg)}
.hero{border-bottom:1px solid var(--line)}
.hero::before{display:none}
.hero-light{display:none}
.ph{background:rgba(138,30,30,.08)}
.field input[type="text"],.field textarea,.field select,.verify,.verify-row input{background:#fbf9f4}
.col-list li::before{background:var(--ink-3)}

/* ── Карточка позиции ────────────────────────────────────── */
.pcard{
  position:relative;justify-self:end;width:100%;max-width:440px;
  background:#fbf9f4;border:1px solid var(--line-2);
  padding:34px 32px 26px;box-shadow:0 1px 0 var(--line),0 24px 48px -28px rgba(22,19,15,.35);
  transform:rotate(-1.2deg);
}
.pc-perf{position:absolute;left:0;right:0;top:10px;border-top:1.5px dashed var(--line-2)}
.pc-head{display:flex;justify-content:space-between;padding:10px 0 14px;border-bottom:1px solid var(--ink);
  font:600 11px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-variant-numeric:tabular-nums}
.pc-body{margin:0}
.pc-row{display:grid;grid-template-columns:42% 1fr;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.pc-row dt{font-size:13px;color:var(--ink-3);letter-spacing:.02em}
.pc-row dd{margin:0;height:14px}
.redact{display:block;height:12px;background:var(--ink);border-radius:1px}
.redact[data-w="62"]{width:62%}.redact[data-w="48"]{width:48%}.redact[data-w="70"]{width:70%}
.redact[data-w="56"]{width:56%}.redact[data-w="40"]{width:40%}
.pc-status{border-bottom:0;min-height:58px}
.pc-stamp{
  position:absolute;right:26px;bottom:52px;transform:rotate(-8deg);
  border:2px solid var(--accent);outline:1px solid var(--accent);outline-offset:3px;
  padding:7px 14px;color:var(--accent);opacity:.88;
  font:700 13px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;
  -webkit-mask-image:radial-gradient(circle at 30% 40%,#000 60%,rgba(0,0,0,.75) 75%,#000 90%);mask-image:radial-gradient(circle at 30% 40%,#000 60%,rgba(0,0,0,.75) 75%,#000 90%);
}
.pc-note{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line-2);font-size:12px;color:var(--ink-3);letter-spacing:.02em}
@media (prefers-reduced-motion:no-preference){
  .js .redact{transform-origin:left;transform:scaleX(0);animation:redact-in .5s var(--ease) forwards}
  .js .pc-row:nth-child(1) .redact{animation-delay:.35s}.js .pc-row:nth-child(2) .redact{animation-delay:.5s}
  .js .pc-row:nth-child(3) .redact{animation-delay:.65s}.js .pc-row:nth-child(4) .redact{animation-delay:.8s}
  .js .pc-row:nth-child(5) .redact{animation-delay:.95s}
  .js .pc-stamp{opacity:0;animation:stamp-in .35s 1.4s cubic-bezier(.2,1.6,.4,1) forwards}
}
@keyframes redact-in{to{transform:scaleX(1)}}
@keyframes stamp-in{from{opacity:0;transform:rotate(-8deg) scale(1.6)}to{opacity:.88;transform:rotate(-8deg) scale(1)}}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .pcard{justify-self:start;max-width:420px;margin-top:8px;transform:rotate(-.8deg)}
}

/* ── Штемпели шагов процесса ─────────────────────────────── */
#process .num{
  display:inline-block;padding:6px 10px;border:1.5px solid var(--accent);color:var(--accent);
  font-weight:700;letter-spacing:.14em;transform:rotate(-3deg);margin-bottom:22px;
}
#process .num::before{content:"№ "}
#process .cell:nth-child(even) .num{transform:rotate(2deg)}

/* ── Артефакты страниц и подвал ──────────────────────────── */
.ph-ledger{opacity:.5;width:clamp(300px,36vw,520px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}
.ph-seal{opacity:.7}
.f-brand{position:relative}
.f-seal{width:64px;height:64px;opacity:.7;margin-bottom:18px}
.footer{padding-top:clamp(56px,7vw,88px)}
@media print{.pcard,.f-seal{display:none !important}}
.pc-stamp{bottom:64px}.pc-status{min-height:66px}
.js .pcard.pc-done .redact{animation:none;transform:none}
.js .pcard.pc-done .pc-stamp{animation:none;opacity:.88;transform:rotate(-8deg)}
.ph-seal{opacity:.55}

/* ════ Без «игровых» элементов: эмблема-гильош на светлом первом экране ════ */
:root{--accent:#1d3557}
#process .num{display:block;padding:0;border:0;color:var(--ink-3);font-weight:500;letter-spacing:.12em;transform:none;margin-bottom:20px}
#process .num::before{content:none}
#process .cell:nth-child(even) .num{transform:none}
.hero-emblem-ink .he-rosette{opacity:.9}
.hero-emblem-ink .he-seal{opacity:.85}
.hero-emblem-ink{max-width:480px}
@media (max-width:960px){.hero-emblem-ink{opacity:.18}}

/* Узоры в заголовках страниц: без вращения и без сдвига transform —
   всегда целиком внутри блока, по вертикали по центру (Safari резал печать пополам) */
.ph-art,.ph-rosette,.ph-seal,.ph-waves,.ph-ledger{animation:none !important;transform:none !important;top:7%;bottom:auto;height:86%;width:auto;max-width:46vw}
.ph-seal{right:max(24px,calc((100vw - var(--max)) / 2 + 56px))}
@media (max-width:760px){.ph-art{height:80%;top:10%;max-width:none;opacity:.2}}
.ph-emblem{aspect-ratio:1}
.ph-emblem .he-rosette,.ph-emblem .he-seal{position:absolute;inset:0;width:100%;height:100%}

/* ════ Фото-фактуры ═══════════════════════════════════════ */
/* Бумага: едва заметная фактура под всем сайтом */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:url("/assets/img/photo/paper.jpg") center/1200px auto repeat;opacity:.55;mix-blend-mode:multiply}
body{isolation:isolate}
/* Полоса свет/тень между разделами */
.photo-band{height:clamp(220px,32vw,460px);overflow:hidden;background:var(--ink)}
.photo-band img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}
@media (prefers-reduced-motion:no-preference){.photo-band img{transform:scale(1.04);transition:transform 1.6s var(--ease)}.photo-band:hover img{transform:scale(1)}}
/* Чёрный мрамор под финальным блоком */
.final-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;pointer-events:none}
.sec-dark.final .wrap{position:relative;z-index:1}
@media print{body::before,.photo-band,.final-photo{display:none !important}}

/* ════ Смысловые схемы ════════════════════════════════════ */
.sec-diagram{padding-top:0}
.dg-wrap{margin:0;padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:rgba(251,249,244,.7)}
.dg{width:100%;height:auto;display:block;overflow:visible}
.dg-box{fill:#fbf9f4;stroke:var(--ink);stroke-width:1.2}
.dg-you{stroke:var(--accent);stroke-width:2}
.dg-chip{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 3}
.dg-h{font:400 26px var(--f-head);fill:var(--ink)}
.dg-s{font:400 15px var(--f-body);fill:var(--ink-3)}
.dg-ink{fill:var(--ink)}
.dg-l{font:500 13px var(--f-body);letter-spacing:.04em;fill:var(--ink-2)}
.dg-strong{fill:var(--ink);font-size:14px}
.dg-line{fill:none;stroke:var(--ink);stroke-width:1.4}
.dg-dash{stroke-dasharray:6 5}
.dg-no{stroke:var(--ink-3);stroke-dasharray:2 5}
.dg-xc{fill:var(--bg);stroke:var(--ink);stroke-width:1.2}
.dg-x{stroke:var(--ink);stroke-width:1.8}
.dg-fill{fill:var(--ink)}
.dg-axis{stroke:var(--ink);stroke-width:1}
.dg-bar{fill:none;stroke:var(--ink);stroke-width:1.2}
.dg-loss{stroke:var(--ink-3);stroke-dasharray:4 4}
.dg-fee{stroke:var(--accent);stroke-width:1.2}
.dg-bg{fill:#fbf9f4}
.dg-hl{stroke:var(--accent);stroke-width:2}
.dg-cap{margin:18px 0 0;font-size:15px;color:var(--ink-2);max-width:72ch}
@media (max-width:640px){.dg-wrap{padding:14px;overflow-x:auto}.dg{min-width:620px}}
.dg-sm{font-size:12px;letter-spacing:.02em}

/* Финальный блок: светлая гильош-розетка с печатью вместо мрамора */
.final-photo{display:none}
.final-emblem{position:absolute;right:max(-120px,calc((100vw - var(--max)) / 2 - 120px));top:8%;height:84%;aspect-ratio:1;pointer-events:none}
.final-emblem img{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.final-emblem .fe-seal{inset:23%;width:54%;height:54%;opacity:.6}
@media (max-width:760px){.final-emblem{right:-45%;opacity:.4}}
@media print{.final-emblem{display:none !important}}

/* ════ Финальная полировка (аудит арт-директора) ════════════ */
.page-head .h-lg{font-size:clamp(38px,5.2vw,68px);letter-spacing:-.024em;line-height:1.06}
.page-head:has(+ .sec-form) .wrap{max-width:760px}
@media (min-width:761px){
  .ph-rosette,.ph-seal,.ph-emblem{right:max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)))}
  .final-emblem{right:max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)));top:12%;height:76%}
}
@media (min-width:961px){#fee .cell h3{min-height:2.4em;text-wrap:balance}}
.f-risk{max-width:none;padding-right:max(0px,calc(100% - 92ch))}
@media (max-width:480px){
  .f-top{grid-template-columns:1fr 1fr;row-gap:36px}
  .f-brand,.f-top>:last-child{grid-column:1/-1}
}
@media (min-width:861px){.two>.stack{padding-top:46px}}
.col-list ul.neg li::before{top:19px;font-size:15px;line-height:1}
.opt-row input,.field.check input{-webkit-appearance:none;appearance:none;width:18px;height:18px;flex:none;
  border:1px solid var(--line-2);border-radius:var(--radius);background:#fbf9f4;cursor:pointer;
  transition:background-color .15s,border-color .15s,box-shadow .15s}
.opt-row:hover input,.field.check input:hover{border-color:var(--ink-3)}
.opt-row input:checked,.field.check input:checked{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 3px #fbf9f4}
.opt-row input:focus-visible,.field.check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.faq summary::after,.faq details[open] summary::after{content:"";top:50%;right:4px;width:13px;height:1px;margin-top:-.5px;background:var(--ink-2);font:inherit}
.faq summary::before{content:"";position:absolute;top:50%;right:10px;width:1px;height:13px;margin-top:-6.5px;background:var(--ink-2);transition:opacity .2s var(--ease)}
.faq details[open] summary::before{opacity:0}
.faq summary:hover::before,.faq summary:hover::after{background:var(--ink)}
.memo-meta{border-bottom:0;padding-bottom:0;margin-bottom:14px}
.cmp tbody th{font-weight:500}
.cmp th,.cmp td{padding-right:24px}
.cmp td{font-variant-numeric:tabular-nums}
@media (max-width:960px){.hero-emblem{transform:none;top:0;bottom:0;margin:auto 0;height:90vw}}
.dg-cap{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
@media (max-width:640px){
  .dg-wrap{overflow:visible;padding:16px}
  .dg-scroll{margin:0 -16px;padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .dg-scroll .dg{min-width:600px;scroll-snap-align:start}
}

/* ════ Конверсия ══════════════════════════════════════════ */
/* Первый вопрос анкеты на первом экране */
.hero-start{margin-top:clamp(28px,3.5vw,44px);max-width:560px;padding:22px 22px 18px;border:1px solid var(--line-2);background:rgba(251,249,244,.85)}
.hero-start label{display:block;font-weight:500;font-size:15px;margin-bottom:12px}
.hs-row{display:flex;gap:10px}
.hs-row .select{flex:1;min-width:0}
.hs-row select{width:100%;padding:13px 44px 13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fbf9f4;font:16px/1.5 var(--f-body);color:var(--ink);-webkit-appearance:none;appearance:none}
.hs-row select:invalid{color:var(--ink-3)}
.hs-note{margin-top:12px;font-size:13.5px;color:var(--ink-3)}
.hs-note a{color:var(--ink-2)}
@media (max-width:520px){.hs-row{flex-direction:column}.hs-row .btn{width:100%}}
/* Полоса доверия */
.trust{border-bottom:1px solid var(--line);background:rgba(251,249,244,.6)}
.trust ul{list-style:none;margin:0 auto;display:flex;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}
.trust li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--ink)}
.ts-mark{width:18px;height:18px;flex:none;border:1px solid var(--accent);border-radius:50%;position:relative}
.ts-mark::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:8px;border:solid var(--accent);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
@media (max-width:860px){.trust ul{flex-direction:column;gap:12px}}
/* Кнопка после схем */
.dg-cta{display:flex;align-items:center;gap:18px;margin-top:28px}
.dg-cta span{font-size:14px;color:var(--ink-3)}
/* Нижняя кнопка на телефоне */
.m-cta{display:none}
@media (max-width:760px){
  .m-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(244,241,234,.96);border-top:1px solid var(--line)}
  .m-cta .btn{width:100%}
  .m-cta-t{font-weight:400;opacity:.7}
  body{padding-bottom:72px}
  .nav-open .m-cta{display:none}
}
/* «Что будет дальше» рядом с анкетой */
.sec-form .form-wrap{max-width:var(--max)}
@media (min-width:1000px){
  .sec-form .form-wrap{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:72px;justify-content:center;align-items:start}
  .sec-form .done{grid-column:1}
  .next-steps{grid-column:2;grid-row:1 / span 2;position:sticky;top:calc(var(--header-h) + 24px)}
  .page-head:has(+ .sec-form) .wrap{max-width:calc(760px + 72px + 300px)}
}
.next-steps{margin-top:40px;padding:24px;border:1px solid var(--line);background:rgba(251,249,244,.7)}
.next-steps h2{font:400 20px/1.2 var(--f-head);margin-bottom:16px}
.next-steps ol{list-style:none;margin:0;padding:0}
.next-steps li{position:relative;padding:14px 0 14px 36px;border-top:1px solid var(--line)}
.ns-n{position:absolute;left:0;top:16px;font:500 12px/1 var(--f-body);letter-spacing:.1em;color:var(--ink-3)}
.next-steps b{display:block;font-weight:500;font-size:15px;margin-bottom:4px}
.next-steps p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.55}
.prefilled select{border-color:var(--accent)}
@media (min-width:1000px){.sec-form .apply-form{grid-column:1;grid-row:1}}
@media (min-width:1000px){.page-head:has(+ .sec-form) .wrap{max-width:calc(760px + 72px + 300px + 2 * var(--gut))}}

/* Схемы с заголовком раздела — полный отступ сверху */
#fee-scheme,#flow{padding-top:var(--sec)}

/* ════ Содержательные блоки главной ════════════════════════ */
/* Рекомендация: пояснения + образец документа */
.reco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(40px,7vw,112px);align-items:start}
.reco-solo{grid-template-columns:1fr}
.reco-solo .reco-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
@media (max-width:1100px){.reco-solo .reco-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.reco-solo .reco-list{grid-template-columns:1fr}}
.reco-main .lead{max-width:52ch;margin-bottom:clamp(28px,3vw,40px)}
.reco-list{list-style:none;margin:0;padding:0;counter-reset:rl;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.reco-list li{padding:22px 0 24px;border-top:1px solid var(--line-2)}
.reco-list li::before{counter-increment:rl;content:counter(rl,decimal-leading-zero);display:block;margin-bottom:14px;font:500 12px/1 var(--f-body);letter-spacing:.12em;color:var(--ink-3)}
.reco-list h3{margin-bottom:8px}
.reco-list p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6}
.specimen{margin:0;position:sticky;top:calc(var(--header-h) + 32px);background:#fbf9f4;border:1px solid var(--line-2);
  padding:0 28px 22px;box-shadow:0 1px 0 var(--line),0 30px 60px -36px rgba(22,19,15,.45)}
.sp-head{display:flex;justify-content:space-between;padding:16px 0 14px;border-bottom:1px solid var(--ink);
  font:600 11px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.sp-head span:last-child{color:var(--accent)}
.sp-title{margin:22px 0 8px;font:400 22px/1.25 var(--f-head)}
.sp-body{margin:0}
.sp-row{display:grid;grid-template-columns:36% 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.sp-row dt{color:var(--ink-3)}
.sp-row dd{margin:0;font-weight:500}
.sp-foot{margin-top:16px;font-size:12.5px;color:var(--ink-3)}
@media (max-width:960px){.reco{grid-template-columns:1fr}.specimen{position:static;max-width:480px}}
@media (max-width:560px){.reco-list{grid-template-columns:1fr}.specimen{padding:0 18px 18px}}
/* Формула прибыли */
#formula{padding-top:0}
.fx{margin:0;padding:clamp(28px,4vw,56px) clamp(20px,4vw,56px);background:#fbf9f4;border:1px solid var(--line-2)}
.fx-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;font:400 clamp(21px,2.5vw,34px)/1.3 var(--f-head);color:var(--ink)}
.fx-t i{font-style:italic}
.fx-t sup{font:500 .45em/1 var(--f-body);color:var(--accent);margin-left:2px;vertical-align:super}
.fx-t:first-child{color:var(--accent)}
.fx-notes{list-style:none;margin:clamp(24px,3vw,36px) 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 32px}
.fx-notes li{position:relative;padding-left:24px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.fx-m{position:absolute;left:0;top:1px;font:500 11px/1.6 var(--f-body);color:var(--accent)}
@media (max-width:760px){.fx-notes{grid-template-columns:1fr}}
/* Ключевые условия */
.facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.fact{padding:22px 28px 26px 0;border-bottom:1px solid var(--line-2)}
.fact dt{margin-bottom:10px;font:600 11px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.fact dd{margin:0;font:400 19px/1.4 var(--f-head);color:var(--ink)}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.facts{grid-template-columns:1fr}.fact{padding-right:0}}
/* Записки */
.memos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.memo-card{display:flex;flex-direction:column;gap:14px;padding:28px 26px;background:#fbf9f4;border:1px solid var(--line);
  color:inherit;text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease)}
.memo-card:hover{border-color:var(--ink);transform:translateY(-2px)}
.memo-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.memo-card .memo-meta{font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.memo-card p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6;flex:1}
.memo-more{font-size:14px;font-weight:500;color:var(--accent)}
@media (max-width:900px){.memos{grid-template-columns:1fr}}
.fx-line{font-size:clamp(20px,2.1vw,29px);gap:8px 14px}
/* Фото архитектуры */
.photo-band{height:clamp(240px,36vw,520px)}
.photo-band img{filter:grayscale(1) contrast(1.06) brightness(.92)}
.two-img{display:block;width:100%;max-width:440px;aspect-ratio:4/5;object-fit:cover;margin-top:clamp(28px,3vw,44px);filter:grayscale(1) contrast(1.05)}
@media (max-width:760px){.two-img{aspect-ratio:3/2;max-width:100%}}
@media (min-width:761px){.two-img{max-width:360px;aspect-ratio:1/1}}

/* ════ Выпадающий список в стиле сайта (main.js заменяет системный) ════ */
.cs{position:relative}
.cs select{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.select.cs::after{display:none}
.cs-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:12px 16px;
  background:#fbf9f4;border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer;text-align:left;
  font:16px/1.4 var(--f-body);color:var(--ink);transition:border-color .2s var(--ease)}
.cs-btn.is-empty{color:var(--ink-3)}
.cs-btn::after{content:"";flex:none;width:8px;height:8px;margin-top:-4px;border:solid var(--ink-2);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s var(--ease)}
.cs-btn[aria-expanded="true"]{border-color:var(--ink)}
.cs-btn[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:4px}
.cs-btn:hover{border-color:var(--ink-2)}
.cs-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cs select[aria-invalid="true"] + .cs-btn{border-color:#9b1c1c}
.cs-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;margin:0;padding:6px 0;list-style:none;
  background:#fbf9f4;border:1px solid var(--ink);box-shadow:0 24px 48px -24px rgba(22,19,15,.45);max-height:320px;overflow:auto}
.cs-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;
  font:400 17px/1.3 var(--f-head);color:var(--ink);font-variant-numeric:lining-nums}
.cs-list li + li{border-top:1px solid var(--line)}
.cs-list li.is-active{background:var(--bg-2)}
.cs-list li[aria-selected="true"]{color:var(--accent)}
.cs-list li[aria-selected="true"]::after{content:"";width:5px;height:10px;margin-right:4px;border:solid var(--accent);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.hs-row .cs-btn{height:100%}
.hero{overflow:visible;overflow-x:clip;position:relative;z-index:3}
/* «Написать нам» */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.contact-head .lead{margin-top:16px;max-width:40ch}
.contact-form{display:grid;gap:18px;max-width:640px}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fbf9f4;font:16px/1.5 var(--f-body);color:var(--ink)}
.contact-form .btn{justify-self:start}
.field input[type="email"]{width:100%;padding:13px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fbf9f4;font:16px/1.5 var(--f-body);color:var(--ink)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

/* ════ Гильоши и ленты на фоне разделов ═════════════════════
   Розетки, волны и печать стоят за текстом крупно и бледно;
   ленты-гильоши отделяют разделы. Всё декоративное, без событий мыши. */
.sec{position:relative;overflow:clip}
.sec>.wrap{position:relative;z-index:1}
.sec::after{content:"";position:absolute;z-index:0;pointer-events:none;background:no-repeat center/contain}
/* светлые разделы — волны слева сверху, растворяются к центру */
.sec:not(.sec-alt):not(.sec-dark)::after{background-image:url("/assets/img/art/waves-dark.svg");
  width:clamp(420px,46vw,720px);aspect-ratio:1;left:calc(-1 * clamp(120px,10vw,200px));top:-6%;opacity:.5;
  -webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent);mask-image:radial-gradient(closest-side,#000 30%,transparent)}
/* плотные разделы — розетка справа, наполовину за краем */
.sec-alt::after{background-image:url("/assets/img/art/rosette-dark.svg");
  width:clamp(460px,50vw,780px);aspect-ratio:1;right:calc(-1 * clamp(180px,16vw,300px));top:50%;transform:translateY(-50%);opacity:.55}
/* лента-гильош по верхнему краю плотных разделов и тёмного финала */
.sec-alt::before,.final::before{content:"";position:absolute;left:0;right:0;top:0;z-index:0;pointer-events:none;
  height:44px;background:url("/assets/img/art/band-dark.svg") repeat-x center/auto 44px;opacity:.7}
.final::before{background-image:url("/assets/img/art/band-light.svg");opacity:.9}
/* отдельные разделы главной */
#principles::after{right:auto;left:calc(-1 * clamp(180px,16vw,300px))}
#terms::after{background-image:url("/assets/img/art/seal-dark.svg");opacity:.32;width:clamp(380px,38vw,600px)}
#memos::after{opacity:.45}
#recommendation::after{left:auto;right:calc(-1 * clamp(120px,10vw,200px));top:auto;bottom:-10%}
.sec-form::after,.sec-form::before{display:none}
/* карточки и таблицы поверх узора — плотный фон, чтобы текст читался */
.cell,.fact,.memo-card,.specimen,.faq,.dg-wrap{position:relative}
.sec-alt .cell{background:transparent}
@media (max-width:760px){
  .sec::after{opacity:.28 !important;width:110vw !important}
  .sec-alt::after{right:-55vw}
  #principles::after{left:-55vw}
  .sec-alt::before,.final::before{height:32px;background-size:auto 32px}
}
@media print{.sec::after,.sec::before{display:none !important}}
.sec:not(.sec-alt):not(.sec-dark)::after{opacity:.8}
.sec-alt::after{opacity:.7}
#terms::after{opacity:.42}
/* Открытое меню на телефоне: шапка закреплена, чтобы кнопка закрытия была видна при любой прокрутке */
.nav-open .header{position:fixed;left:0;right:0;top:0}
@media (max-width:760px){.sec::after{opacity:.45 !important}}

/* ════ Правки 17.10 ════════════════════════════════════════ */
/* Без надзаголовков: заголовки разделов сразу, ближе к верху */
.eyebrow,.hero-kicker{display:none !important}
.sec{padding-top:calc(var(--sec) * .78)}
.page-head{padding-top:clamp(52px,7vw,104px)}
/* Карточка «Консультация»: без «липкости», ровные строки, не заходит под ленту */
.specimen{position:relative;top:auto;margin-bottom:8px}
.sp-row{grid-template-columns:32% 1fr;align-items:baseline}
.sp-row dd{line-height:1.45}
#recommendation{padding-bottom:calc(var(--sec) * .9)}
/* Список: плавная прокрутка внутри и мягкое появление */
.cs-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media (prefers-reduced-motion:no-preference){.cs-list:not([hidden]){animation:cs-in .16s var(--ease)}}
@keyframes cs-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* Метод: кольца слоёв + шаги */
.method{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.method-fig{margin:0}
.method-svg{display:block;width:100%;height:auto;overflow:visible}
.method-fig figcaption{margin-top:14px;font-size:13px;color:var(--ink-3);text-align:center}
.mr{stroke:var(--ink);stroke-width:1;fill:#fbf9f4}
.mr-1{fill:#f6f2ea}.mr-2{fill:#efe9dd}.mr-3{fill:#e6ddcc}
.mr-4{fill:var(--accent);stroke:var(--accent)}
.mr-orbit{fill:none;stroke:var(--ink-3);stroke-width:.8;stroke-dasharray:2 5;opacity:.7}
.mr-t{font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;fill:var(--ink-2)}
.mr-core{font:400 22px/1 var(--f-head);fill:#f4f1ea}
.mr-core-s{font:500 10px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;fill:rgba(244,241,234,.75)}
.mr-arrow{stroke:var(--ink-2);stroke-width:1.2;fill:none}
.mr-ah{fill:var(--ink-2)}
@media (prefers-reduced-motion:no-preference){
  .js .method-fig .mr-orbit{animation:mr-turn 90s linear infinite;transform-origin:260px 260px}
  .js .method-fig .mr-orbit:nth-of-type(odd){animation-direction:reverse}
}
@keyframes mr-turn{to{transform:rotate(360deg)}}
.method-main .lead{max-width:52ch;margin-bottom:clamp(24px,3vw,36px)}
.method-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.method-steps li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:18px 0 20px;border-bottom:1px solid var(--line)}
.ms-n{font:500 12px/1.9 var(--f-body);letter-spacing:.12em;color:var(--accent)}
.method-steps h3{margin-bottom:6px}
.method-steps p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6}
@media (max-width:960px){.method{grid-template-columns:1fr}.method-fig{max-width:440px;margin:0 auto}}
/* Как проходит работа: линия этапов */
.journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,40px);position:relative}
.journey::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--ink)}
.jr-node{position:relative;padding-top:36px}
.jr-dot{position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;background:var(--bg-2);border:1px solid var(--ink)}
.jr-node:last-child .jr-dot{background:var(--accent);border-color:var(--accent)}
.jr-n{display:block;margin-bottom:12px;font:500 12px/1 var(--f-body);letter-spacing:.12em;color:var(--ink-3)}
.jr-node h3{margin-bottom:8px}
.jr-node p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6}
.jr-outs{display:grid;gap:0;margin-top:10px;background:var(--bg);border:1px solid var(--line-2);padding:2px 14px;box-shadow:0 1px 0 var(--line)}
.jr-out{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:14.5px}
.jr-out:last-child{border-bottom:none}
.jr-out b{flex:none;font-weight:600}
.jr-plus b{color:var(--accent)}
.jr-minus b{color:var(--ink-3)}
@media (max-width:860px){
  .journey{grid-template-columns:1fr;gap:28px;padding-left:30px}
  .journey::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .jr-node{padding-top:0}
  .jr-dot{left:-30px;top:2px}
}
.mr-core-s{font-size:8.5px;letter-spacing:.1em}
/* Первый экран: обрезать только по бокам (розетка), снизу — не обрезать, чтобы выпадающий список
   поверх следующего блока был виден целиком (в Safari overflow-x:clip резал и по вертикали) */
.hero{overflow:visible;clip-path:inset(0 0 -800px 0)}
/* Таблица сравнения на телефоне — карточками: строка = название, под ним значения с подписями столбцов */
@media (max-width:640px){
  .cmp{min-width:0}
  .cmp thead{display:none}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:auto}
  .cmp tr{padding:16px 0;border-bottom:1px solid var(--line-2)}
  .cmp tbody th{border:0;padding:0 0 8px;width:auto;font:500 18px/1.3 var(--f-head)}
  .cmp td{display:grid;grid-template-columns:36% 1fr;gap:12px;border:0;padding:4px 0;font-size:14.5px}
  .cmp td::before{content:attr(data-label);color:var(--ink-3);font-family:var(--f-head)}
  .table-wrap{overflow:visible}
}
/* Лента сверху раздела лежит на собственном фоне и выше фонового узора — узоры не накладываются */
.sec-alt::before{z-index:1;background-color:var(--bg-2)}
.final::before{z-index:1;background-color:var(--hero-bg)}
/* ════ «Как мы думаем»: калькулятор и самопроверка ════════════ */
.memos-more{display:inline-block;margin-top:28px;font-weight:500;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.memos-more:hover{color:var(--ink)}
/* калькулятор */
.rc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,6vw,88px);align-items:start}
.rc-main .lead{max-width:50ch;margin-bottom:28px}
.rc-fields{display:grid;gap:22px}
.rc-field label{display:block;font-weight:500;font-size:15px;margin-bottom:8px}
.rc-in{display:flex;align-items:center;border:1px solid var(--line-2);background:#fbf9f4;border-radius:var(--radius);max-width:260px}
.rc-in input{flex:1;min-width:0;border:0;background:none;padding:12px 14px;font:500 18px/1.2 var(--f-body);color:var(--ink);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.rc-in input::-webkit-outer-spin-button,.rc-in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rc-in span{padding:0 14px;color:var(--ink-3)}
.rc-in:focus-within{border-color:var(--ink)}
.rc-range{display:block;width:100%;max-width:420px;margin-top:10px;accent-color:var(--accent)}
.rc-res{background:#fbf9f4;border:1px solid var(--line-2);padding:clamp(22px,3vw,32px);box-shadow:0 24px 48px -32px rgba(22,19,15,.4)}
.rc-out{margin:0;display:grid;gap:0}
.rc-out div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.rc-out div:first-child{padding-top:0}
.rc-out dt{color:var(--ink-2);font-size:15px}
.rc-out dd{margin:0;font:400 clamp(24px,2.6vw,32px)/1 var(--f-head);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.rc-out div:last-child dd{color:var(--accent)}
.rc-bar{display:flex;height:12px;margin-top:22px;background:var(--bg-2);overflow:hidden}
.rc-bar span{display:block;height:100%;transition:width .35s var(--ease)}
.rc-bar-keep{background:var(--ink)}
.rc-bar-loss{background:repeating-linear-gradient(45deg,var(--accent) 0 3px,transparent 3px 7px)}
.rc-legend{display:flex;justify-content:space-between;margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.rc-note{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
@media (max-width:900px){.rc{grid-template-columns:1fr}}
/* самопроверка */
.sc{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.sc-side{position:sticky;top:calc(var(--header-h) + 32px)}
.sc-side .lead{margin-bottom:24px}
.sc-score{padding:24px;border:1px solid var(--line-2);background:#fbf9f4}
.sc-num{display:block;font:400 40px/1 var(--f-head);font-variant-numeric:tabular-nums lining-nums}
.sc-lab{display:block;margin-top:6px;font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.sc-text{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-2);font-size:15px;line-height:1.55}
.sc.is-done .sc-text{color:var(--ink);font:400 19px/1.4 var(--f-head)}
.sc-cta{margin-top:18px}
.sc-list{list-style:none;margin:0;padding:0;counter-reset:sc;border-top:1px solid var(--line-2)}
.sc-q{position:relative;padding:20px 0 20px 44px;border-bottom:1px solid var(--line)}
.sc-q::before{counter-increment:sc;content:counter(sc,decimal-leading-zero);position:absolute;left:0;top:23px;font:500 12px/1 var(--f-body);letter-spacing:.12em;color:var(--ink-3)}
.sc-q > p:first-child{margin:0 0 12px;font:400 18px/1.4 var(--f-head);color:var(--ink)}
.sc-opts{display:flex;gap:8px}
.sc-opts label{position:relative;cursor:pointer}
.sc-opts input{position:absolute;opacity:0;width:1px;height:1px}
.sc-opts span{display:inline-block;min-width:72px;padding:8px 16px;text-align:center;border:1px solid var(--line-2);background:#fbf9f4;font-size:14.5px;transition:background .15s,color .15s,border-color .15s}
.sc-opts label:hover span{border-color:var(--ink)}
.sc-opts input:checked + span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.sc-opts input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.sc-why{margin:12px 0 0;padding-left:12px;border-left:2px solid var(--accent);font-size:14px;color:var(--ink-2)}
.sc-q.is-risk::before{color:var(--accent)}
@media (max-width:900px){.sc{grid-template-columns:1fr}.sc-side{position:static}}
@media (max-width:900px){
  .sc{display:flex;flex-direction:column;gap:24px}
  .sc-side{display:contents}
  .sc-side .lead{order:0;margin:0}
  .sc-list{order:1}
  .sc-score{order:2}
  .sc-side .rc-note{order:3;margin-top:-8px}
}
/* ════ О компании: центры компетенций ═══════════════════════ */
.centers{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:start}
.centers-fig{margin:0;position:sticky;top:calc(var(--header-h) + 32px)}
.centers-fig figcaption{margin-top:14px;font-size:13px;color:var(--ink-3);text-align:center}
.centers-svg{display:block;width:100%;height:auto}
.cq{fill:#f6f2ea;stroke:var(--ink);stroke-width:1;transition:fill .25s var(--ease)}
.cq-orbit{fill:none;stroke:var(--ink-3);stroke-width:.8;stroke-dasharray:2 5;opacity:.6;pointer-events:none}
.cq-n{font:500 11px/1 var(--f-body);letter-spacing:.12em;fill:var(--ink-3);pointer-events:none}
.cq-t{font:400 20px/1 var(--f-head);fill:var(--ink);pointer-events:none}
.cq-core{fill:var(--accent)}
.cq-core-t{font:400 19px/1 var(--f-head);fill:#f4f1ea}
@media (prefers-reduced-motion:no-preference){.js .cq-orbit{animation:mr-turn 120s linear infinite;transform-origin:260px 260px}}
.centers:has(.cc[data-c="1"]:is(:hover,:focus-visible)) .cq-1,
.centers:has(.cc[data-c="2"]:is(:hover,:focus-visible)) .cq-2,
.centers:has(.cc[data-c="3"]:is(:hover,:focus-visible)) .cq-3,
.centers:has(.cc[data-c="4"]:is(:hover,:focus-visible)) .cq-4{fill:#e2d8c4}
.centers-main .lead{max-width:56ch;margin-bottom:clamp(24px,3vw,36px)}
.cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cc{padding:22px 22px 20px;background:#fbf9f4;border:1px solid var(--line);transition:border-color .2s var(--ease)}
.cc:hover,.cc:focus-visible{border-color:var(--ink);outline:none}
.cc-n{display:block;margin-bottom:12px;font:500 12px/1 var(--f-body);letter-spacing:.12em;color:var(--accent)}
.cc h3{margin-bottom:8px}
.cc-lead{margin:0 0 14px;color:var(--ink-2);font-size:15px;line-height:1.55}
.cc-dl{margin:0;border-top:1px solid var(--line)}
.cc-dl div{padding:10px 0 0}
.cc-dl dt{font:600 10.5px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.cc-dl dd{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}
.cc-dl div:last-child dd{font:italic 400 16px/1.4 var(--f-head)}
@media (max-width:1100px){.cc-grid{grid-template-columns:1fr}}
@media (max-width:900px){.centers{grid-template-columns:1fr}.centers-fig{position:static;max-width:420px;margin:0 auto}}
