/* ══════════════════════════════════════════════════════════════════
   Лабазан — главная. Дизайн-система «Гроссбух на льне»:
   учётная строгость (проводки, докрутка цифр, штемпели) +
   льняной стол с параллаксом + стеклянные поверхности (Apple-glass).
   Подстраницы живут на pages/subpage.css (переводятся следом).
   ══════════════════════════════════════════════════════════════════ */

    /* ============ ШРИФТЫ (self-hosted) ============ */
    /* Unbounded 500 */
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/unbounded-cyrillic-ext-500-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/unbounded-cyrillic-500-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/unbounded-latin-500-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    /* Unbounded 600 */
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/unbounded-cyrillic-ext-600-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/unbounded-cyrillic-600-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/unbounded-latin-600-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    /* Manrope 400 */
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-ext-400-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-400-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap;
      src: url('./assets/fonts/manrope-latin-400-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    /* Manrope 500 */
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-ext-500-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-500-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap;
      src: url('./assets/fonts/manrope-latin-500-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    /* Manrope 600 */
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-ext-600-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-600-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap;
      src: url('./assets/fonts/manrope-latin-600-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    /* Manrope 700 */
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-ext-700-normal.woff2') format('woff2');
      unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap;
      src: url('./assets/fonts/manrope-cyrillic-700-normal.woff2') format('woff2');
      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
    @font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap;
      src: url('./assets/fonts/manrope-latin-700-normal.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

    /* ============ БАЗА ============ */
    :root {
      --paper: #f7f6f1;
      --linen: #eae3d0;              /* льняной стол под бумагой */
      --ink: #141210;
      --rule: rgba(20, 18, 16, .14);
      --rule-strong: rgba(20, 18, 16, .38);
      --stamp: #c8281c;
      --sh: 62, 36, 22;              /* тёплый тон теней, как на текущем сайте */
      --elev-2:
        0 1px 2px rgba(var(--sh), .08),
        0 6px 14px rgba(var(--sh), .10),
        0 22px 44px rgba(var(--sh), .12);
      --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
      /* Стекло (Apple-style): полупрозрачная тёплая бумага + blur, лён просвечивает
         и движется под поверхностями при параллаксе. */
      --glass: rgba(252, 250, 244, .58);
      --glass-strong: rgba(252, 250, 244, .74);
      --glass-line: rgba(20, 18, 16, .10);
      --glass-edge: rgba(255, 255, 255, .65);
      --blur: saturate(1.15) blur(16px);
      --radius: 18px;
      --radius-s: 12px;
      --font-display: 'Unbounded', 'Manrope', system-ui, sans-serif;
      --font-text: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
      --font-mono: ui-monospace, 'Cascadia Code', Consolas, 'SFMono-Regular', Menlo, monospace;
    }

    /* ============ СВИРКЛ (суперэллипс на стеклянных поверхностях) ============
       Прогрессивное улучшение. Chromium ≥139 форматирует сам угол border-box,
       поэтому рамка, тень (--elev-2) и backdrop-blur идут по свирклу вместе с фоном.
       Safari/Firefox без поддержки оставляют обычный border-radius — деградация без
       поломки. :where() держит специфичность 0, чтобы не спорить с правилами ниже.
       Хочешь другую кривизну — заменить `squircle` на `superellipse(<число>)`. */
    @supports (corner-shape: squircle) {
      :where(
        .pricing li, .tool, .card, .demo-cta, .demo-cta__btn,
        .cta, .lead__form, .lead__submit,
        .faq details, .pledge li, .cookie-banner, .question-card
      ) { corner-shape: squircle; }
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--linen);
      color: var(--ink);
      font-family: var(--font-text);
      font-size: 1rem;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    /* Льняной стол: фиксированный тайл с медленным параллаксом (JS-лерп 12%).
       Запас высоты 1200px покрывает сдвиг на всей длине страницы. */
    .bg-linen {
      position: fixed;
      z-index: -1;
      top: 0; left: 0; right: 0;
      height: calc(100vh + 1200px);
      background: var(--linen) url('./assets/bg-variants/tabasaran-linen-seamless.webp') repeat top left / 300px;
      will-change: transform;
      pointer-events: none;
    }
    img, svg { max-width: 100%; display: block; }
    a { color: inherit; }
    :focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 1px; }
    ::selection { background: var(--ink); color: var(--paper); }

    .shell { width: min(1280px, 100vw - 48px); margin-inline: auto; }
    .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    .skip-link {
      position: absolute; left: -9999px; top: 0; z-index: 100;
      background: var(--ink); color: var(--paper);
      padding: 10px 18px; font-family: var(--font-mono); font-size: .8rem;
      text-decoration: none;
    }
    .skip-link:focus-visible { left: 12px; top: 12px; outline-color: var(--stamp); }

    /* моно-метки, номера проводок */
    .tag {
      font-family: var(--font-mono);
      font-size: .72rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--ink);
    }
    .tag b { color: var(--stamp); font-weight: 700; }
    .sec__head {
      display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
      padding: 14px 0;
      border-bottom: 1px solid var(--rule);
    }
    .sec__title {
      font-family: var(--font-display);
      font-weight: 600;
      font-size: clamp(1.5rem, 4.2vw, 2.6rem);
      line-height: 1.15;
      letter-spacing: -.01em;
      margin: clamp(28px, 5vw, 56px) 0 clamp(14px, 2.4vw, 22px);
      text-wrap: balance;
    }
    .sec__lead { max-width: 62ch; font-size: clamp(1rem, 1.4vw, 1.125rem); color: rgba(20,18,16,.82); }
    section { border-top: 1px solid var(--rule); padding: clamp(48px, 8vw, 104px) 0; }

    /* подчёркивание со сдвигом */
    .u {
      color: var(--ink);
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-decoration-color: var(--rule-strong);
      text-underline-offset: 3px;
      transition: text-underline-offset .2s ease-out, text-decoration-color .2s ease-out;
    }
    .u:hover { text-underline-offset: 7px; text-decoration-color: var(--stamp); }

    /* штемпель */
    .stamp {
      display: inline-block;
      font-family: var(--font-mono);
      font-size: .66rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--stamp);
      border: 1.5px solid var(--stamp);
      padding: 3px 9px 2px;
      transform: rotate(-3deg);
    }

    /* ============ ШАПКА (липкое стекло) ============ */
    .site-header {
      position: sticky; top: 0; z-index: 50;
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border-bottom: 1px solid var(--glass-line);
    }
    .site-header .shell {
      display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
      padding: 18px 0;
    }
    .brand {
      font-family: var(--font-display); font-weight: 600; font-size: 1.05rem;
      letter-spacing: .04em; text-decoration: none; margin-right: auto; /* прижимает Блог+телефон вправо */
    }
    .brand span { color: var(--stamp); }
    .site-header a[href^="tel"] { font-family: var(--font-mono); font-size: .85rem; text-decoration: none; }
    .site-header a[href^="tel"]:hover { color: var(--stamp); }
    /* Блог — приглушённый инструмент, не пункт первого экрана: мельче, серый, у самого телефона. */
    .site-nav { margin-right: 2px; }
    .site-nav a { font-family: var(--font-mono); font-size: .72rem; color: color-mix(in srgb, var(--ink) 45%, transparent); text-decoration: none; }
    .site-nav a:hover { color: var(--stamp); }
    @media (max-width: 380px) {
      .site-header .shell { gap: 8px; }
      .site-header a[href^="tel"] { font-size: .74rem; white-space: nowrap; }
      .site-nav a { font-size: .66rem; }
      .brand { font-size: .85rem; letter-spacing: .02em; }
    }

    /* ============ HERO: обещание крупно + бланк-доказательство ============ */
    .hero { border-top: 0; padding-top: clamp(36px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
    .hero__eyebrow { margin-bottom: clamp(14px, 2vw, 22px); }
    .hero__grid { display: grid; gap: clamp(28px, 4vw, 56px); }
    .hero__title {
      font-family: var(--font-display); font-weight: 600;
      font-size: clamp(1.45rem, 3.4vw, 2.5rem);
      line-height: 1.2; letter-spacing: -.01em; text-wrap: balance;
    }
    .hero__title--main {
      font-size: clamp(2rem, 5.8vw, 4.4rem);
      line-height: 1.06; letter-spacing: -.02em;
      max-width: 18ch;
    }
    .hero__title em { font-style: normal; color: var(--stamp); }
    .hero__lead { margin-top: clamp(14px, 2vw, 20px); max-width: 46ch; font-size: clamp(1rem, 1.5vw, 1.15rem); color: rgba(20,18,16,.82); }
    .hero .ledger { max-width: 46ch; }
    @media (min-width: 900px) {
      .hero__grid { grid-template-columns: 1.15fr .85fr; align-items: center; }
    }

    /* Форма заявки в hero: оффер слева, захват справа. Панель компактнее
       обычной .lead__form, повёрнута как лист на столе. */
    .hero__leadform {
      align-self: center;
      gap: 14px;
      padding: clamp(18px, 2.4vw, 26px);
      transform: rotate(.4deg);
    }
    @media (max-width: 899.98px) { .hero__leadform { transform: none; } }
    .hero__leadform-title {
      font-family: var(--font-display); font-weight: 500;
      font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: -.01em;
    }
    .hero__leadform-sub { margin-top: -6px; font-size: .9rem; color: rgba(20,18,16,.78); }
    .hero__leadform-sign { font-family: var(--font-mono); font-size: .75rem; color: rgba(20,18,16,.66); }

    /* Стагер входа hero: метка → заголовок → лид → условия → CTA. Только на загрузке. */
    @media (prefers-reduced-motion: no-preference) {
      .hero__eyebrow, .hero__title--main, .hero__lead, .hero .ledger, .hero__sign, .hero__leadform {
        animation: rise-in .48s var(--ease-out) both;
      }
      .hero__title--main { animation-delay: .07s; }
      .hero__lead        { animation-delay: .15s; }
      .hero .ledger      { animation-delay: .21s; }
      .hero__sign        { animation-delay: .27s; }
      .hero__leadform    { animation-name: rise-in-leadform; animation-delay: .36s; }
    }
    /* панель повёрнута — вернуть поворот после анимации */
    @keyframes rise-in-leadform {
      from { opacity: 0; transform: translateY(14px) rotate(.4deg); }
      to   { opacity: 1; transform: rotate(.4deg); }
    }
    @media (prefers-reduced-motion: no-preference) and (max-width: 899.98px) {
      .hero__leadform { animation-name: rise-in; }
    }
    @keyframes rise-in {
      from { opacity: 0; transform: translateY(14px); }
      to   { opacity: 1; transform: none; }
    }
    @keyframes stamp-in {
      from { opacity: 0; transform: rotate(-7deg) scale(1.5); }
      60%  { opacity: 1; }
      to   { opacity: 1; transform: rotate(-3deg) scale(1); }
    }

    /* пары «кто делает / кабинеты» как строки книги */
    .ledger { margin-top: clamp(18px, 2.5vw, 28px); }
    .ledger > div {
      display: flex; align-items: baseline; gap: 10px;
      padding: 10px 0;
      border-bottom: 1px dashed var(--rule);
    }
    .ledger dt { font-family: var(--font-mono); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(20,18,16,.72); }
    .ledger .fill { flex: 1; border-bottom: 1px dotted var(--rule-strong); transform: translateY(-4px); }
    .ledger dd { font-weight: 700; }

    .cta {
      display: inline-flex; align-items: center; gap: 12px;
      background: var(--stamp); color: var(--paper);
      font-family: var(--font-display); font-weight: 500; font-size: .95rem;
      text-decoration: none;
      padding: 16px 26px;
      margin-top: clamp(20px, 3vw, 30px);
      border-radius: var(--radius-s);
      box-shadow: 0 1px 2px rgba(200, 40, 28, .2), 0 6px 16px rgba(200, 40, 28, .22);
      transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out);
    }
    .cta svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; transition: transform .2s var(--ease-out); }
    @media (hover: hover) and (pointer: fine) {
      .cta:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(200, 40, 28, .18), 0 14px 30px rgba(200, 40, 28, .3); }
      .cta:hover svg { transform: translate(2px, -2px); }
    }
    .cta:active { transform: translateY(0) scale(.97); box-shadow: 0 1px 2px rgba(200, 40, 28, .2); transition-duration: .1s; }
    .cta:focus-visible { outline-color: var(--stamp); outline-offset: 4px; }
    .hero__sign { margin-top: 12px; font-family: var(--font-mono); font-size: .78rem; color: rgba(20,18,16,.72); }

    /* ============ КАССОВАЯ ЛЕНТА ============ */
    .tape {
      border-top: 1px solid var(--glass-edge);
      border-bottom: 1px solid var(--glass-line);
      overflow: hidden;
      padding: 10px 0;
      background:
        repeating-linear-gradient(90deg, var(--rule) 0 6px, transparent 6px 18px) top / 100% 1px no-repeat,
        var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      box-shadow: 0 6px 16px rgba(var(--sh), .10), 0 18px 36px rgba(var(--sh), .08);
    }
    .tape__track { display: flex; width: max-content; animation: tape 46s linear infinite; }
    .tape__unit {
      font-family: var(--font-mono); font-variant-numeric: tabular-nums;
      font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
      white-space: nowrap; padding-right: .6em;
    }
    .tape__unit b { color: var(--stamp); font-weight: 700; }
    @keyframes tape { to { transform: translateX(-50%); } }

    /* ============ 001 ИНСТРУМЕНТЫ ============ */
    .tools { display: grid; gap: clamp(12px, 1.6vw, 18px); margin-top: clamp(24px, 4vw, 40px); }
    @media (min-width: 820px) { .tools { grid-template-columns: repeat(3, 1fr); } }
    .tool {
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border: 1px solid var(--glass-line);
      border-top-color: var(--glass-edge);
      border-radius: var(--radius);
      box-shadow: var(--elev-2);
      padding: clamp(20px, 3vw, 32px);
      text-decoration: none; color: inherit;
      display: flex; flex-direction: column; gap: 12px;
      transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out), background-color .2s ease;
    }
    @media (hover: hover) and (pointer: fine) {
      .tool:hover {
        background: var(--glass-strong);
        transform: translateY(-3px);
        box-shadow:
          0 2px 4px rgba(var(--sh), .08),
          0 12px 26px rgba(var(--sh), .14),
          0 34px 60px rgba(var(--sh), .14);
      }
    }
    .tool:active { transform: translateY(0) scale(.99); transition-duration: .1s; }
    .tool__eyebrow { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(20,18,16,.72); }
    .tool__eyebrow b { color: var(--stamp); font-weight: 700; margin-right: .5em; }
    .tool h3 { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.3; }
    .tool p { font-size: .95rem; color: rgba(20,18,16,.8); flex: 1; }
    .tool__action {
      display: inline-flex; align-items: baseline; gap: 8px;
      font-weight: 700; font-size: .95rem;
      border-bottom: 2px solid var(--stamp);
      align-self: flex-start; padding-bottom: 3px;
      transition: gap .2s ease-out;
    }
    .tool:hover .tool__action { gap: 14px; }
    .tool__action b { color: var(--stamp); font-weight: 700; }
    .tool small { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .06em; color: rgba(20,18,16,.62); }
    .tools-more { margin-top: 18px; font-size: .95rem; }
    .tools-more b { color: var(--stamp); }
    .tools-more--bridge { margin-top: 10px; font-size: .9rem; color: rgba(20, 18, 16, .72); max-width: 62ch; }

    /* ============ 002 АКЦЕНТНАЯ СТРОКА ============ */
    .accent-line {
      margin-top: clamp(20px, 3vw, 32px);
      font-weight: 700; font-size: clamp(1rem, 1.5vw, 1.15rem);
      border-left: 3px solid var(--stamp);
      padding-left: 16px;
      max-width: 56ch;
    }

    /* ============ 003 ПРОЗРАЧНОСТЬ ============ */
    .pledge { list-style: none; display: grid; gap: clamp(12px, 1.6vw, 18px); margin-top: clamp(24px, 4vw, 40px); }
    @media (min-width: 720px) { .pledge { grid-template-columns: 1fr 1fr; } }
    .pledge li {
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border: 1px solid var(--glass-line);
      border-top-color: var(--glass-edge);
      border-radius: var(--radius);
      box-shadow: var(--elev-2);
      padding: clamp(16px, 2.4vw, 24px) clamp(20px, 3vw, 32px);
    }
    .pledge h3 { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.02rem, 1.6vw, 1.2rem); margin: 0 0 8px; }
    .pledge p { font-size: .95rem; color: rgba(20,18,16,.8); max-width: 44ch; }

    /* ============ 002 УСЛУГИ И ЦЕНЫ ============ */
    .pricing { list-style: none; display: grid; gap: clamp(12px, 1.6vw, 18px); margin-top: clamp(24px, 4vw, 40px); }
    .pricing li {
      position: relative; /* якорь stretched-link: вся карточка кликается через .pricing__cta::after */
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border: 1px solid var(--glass-line);
      border-top-color: var(--glass-edge);
      border-radius: var(--radius);
      box-shadow: var(--elev-2);
      padding: clamp(20px, 3vw, 30px);
      display: grid; gap: clamp(16px, 2.4vw, 28px);
      transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out);
    }
    @media (min-width: 720px) {
      .pricing li { grid-template-columns: 1fr auto; align-items: start; }
    }
    @media (hover: hover) and (pointer: fine) {
      .pricing li:hover {
        transform: translateY(-3px);
        box-shadow:
          0 2px 4px rgba(var(--sh), .08),
          0 12px 26px rgba(var(--sh), .14),
          0 34px 60px rgba(var(--sh), .14);
      }
    }
    .pricing__body { display: flex; flex-direction: column; gap: 10px; }
    .pricing h3 { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
    .pricing__manifesto { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.1; }
    .pricing__intro { font-size: .95rem; color: rgba(20,18,16,.78); max-width: 60ch; }
    .pricing__aside {
      display: flex; flex-direction: column; gap: 12px;
      align-items: flex-start; min-width: max-content;
    }
    @media (min-width: 720px) { .pricing__aside { align-items: flex-end; text-align: right; } }
    .pricing__price { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.6rem); line-height: 1.05; color: var(--stamp); }
    .pricing__price span { display: block; font-size: .72rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: rgba(20,18,16,.66); margin-top: 4px; }
    .pricing p { font-size: .92rem; color: rgba(20,18,16,.8); }
    .pricing__accent { font-weight: 700; color: var(--stamp); font-size: .88rem; }
    .pricing__cta {
      display: inline-flex; align-items: center; gap: 8px;
      font-weight: 700; font-size: .95rem; color: var(--ink);
      text-decoration: none; /* бордовая линия ниже — своя, браузерное подчёркивание глушим */
      border-bottom: 2px solid var(--stamp); padding-bottom: 3px;
      transition: gap .2s ease-out;
    }
    .pricing__cta b { color: var(--stamp); font-weight: 700; }
    .pricing__cta:hover { gap: 14px; }
    /* Stretched link: клик по любой точке карточки ведёт на страницу услуги */
    .pricing__cta::after { content: ''; position: absolute; inset: 0; border-radius: var(--radius); }
    .pricing__cta:focus-visible::after { outline: 2px solid var(--ink); outline-offset: 3px; }
    .pricing__cta:focus-visible { outline: none; }
    .pricing__lead { border-top-color: var(--stamp); }
    /* строка-перебивка в потоке карточек (не карточка): сброс стекла */
    .pricing li.pricing__break {
      background: none; border: 0; box-shadow: 0 0 0 transparent;
      -webkit-backdrop-filter: none; backdrop-filter: none;
      padding: clamp(4px, 1vw, 10px) 0; display: block;
    }
    @media (hover: hover) and (pointer: fine) {
      .pricing li.pricing__break:hover { transform: none; box-shadow: 0 0 0 transparent; }
    }
    .pricing__break .accent-line { margin-top: 0; }
    .pricing__foot { margin-top: 18px; font-family: var(--font-mono); font-size: .8rem; color: rgba(20,18,16,.72); }

    /* ============ 006 ОБО МНЕ ============ */
    .about__grid { display: grid; gap: clamp(24px, 4vw, 56px); margin-top: clamp(24px, 4vw, 40px); }
    @media (min-width: 900px) { .about__grid { grid-template-columns: 1.1fr .9fr; align-items: start; } }
    .about__note { margin-top: 16px; font-size: .95rem; color: rgba(20,18,16,.78); max-width: 46ch; }

    /* ============ 007 FAQ ============ */
    .faq { margin-top: clamp(24px, 4vw, 40px); display: grid; gap: 10px; }
    .faq details {
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border: 1px solid var(--glass-line);
      border-top-color: var(--glass-edge);
      border-radius: var(--radius-s);
      box-shadow: 0 1px 2px rgba(var(--sh), .06), 0 6px 14px rgba(var(--sh), .08);
      padding: 0 clamp(16px, 2.4vw, 24px);
      transition: background-color .2s ease;
    }
    .faq details[open] { background: var(--glass-strong); }
    .faq summary {
      list-style: none; cursor: pointer;
      display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
      padding: clamp(14px, 2vw, 20px) 0;
      font-family: var(--font-display); font-weight: 500; font-size: clamp(.95rem, 1.6vw, 1.15rem);
    }
    .faq summary::-webkit-details-marker { display: none; }
    .faq summary:focus-visible { outline: 2px solid var(--stamp); outline-offset: 4px; border-radius: 4px; }
    .faq summary b {
      font-family: var(--font-mono); font-weight: 400; color: var(--stamp);
      transition: transform .25s var(--ease-out); flex: none;
    }
    .faq details[open] summary b { transform: rotate(45deg); }
    .faq details > p { padding: 0 0 clamp(16px, 2vw, 22px); max-width: 62ch; color: rgba(20,18,16,.82); font-size: .97rem; }

    /* ============ 008 ЗАЯВКА ============ */
    .lead__grid { display: grid; gap: clamp(28px, 4vw, 64px); margin-top: clamp(24px, 4vw, 40px); }
    @media (min-width: 900px) { .lead__grid { grid-template-columns: 1fr 1fr; align-items: start; } }
    .lead__sign { margin-top: 18px; font-family: var(--font-mono); font-size: .8rem; color: rgba(20,18,16,.72); }
    .lead__form {
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      border: 1px solid var(--glass-line);
      border-top-color: var(--glass-edge);
      border-radius: var(--radius);
      box-shadow: var(--elev-2);
      padding: clamp(20px, 3vw, 32px); display: grid; gap: 18px;
    }
    .lead__field label {
      display: block;
      font-family: var(--font-mono); font-size: .72rem; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase;
      margin-bottom: 8px;
    }
    .lead__field input[type="text"] {
      width: 100%;
      font: inherit; color: var(--ink);
      background: rgba(255, 255, 255, .5);
      border: 1px solid var(--glass-line);
      padding: 12px 14px;
      border-radius: var(--radius-s);
      transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    }
    .lead__field input[type="text"]::placeholder { color: rgba(20,18,16,.42); }
    .lead__field input[type="text"]:focus {
      outline: none;
      background: rgba(255, 255, 255, .72);
      border-color: var(--stamp);
      box-shadow: 0 0 0 3px rgba(200, 40, 28, .16);
    }
    .lead__hp { position: absolute; left: -9999px; top: auto; }
    /* статусы отправки (lead-form.js ставит data-kind) */
    .lead__status { min-height: 1.4em; margin: 0; font-size: .92rem; }
    .lead__status[data-kind="ok"] { color: #2f7a3f; font-weight: 700; }
    .lead__status[data-kind="error"] { color: var(--stamp); font-weight: 700; }
    .lead__status[data-kind="pending"] { color: rgba(20, 18, 16, .66); }
    /* интро колонка заявки */
    .lead__subtitle { max-width: 46ch; font-size: clamp(1rem, 1.4vw, 1.125rem); color: rgba(20,18,16,.82); }
    .lead__consent { display: flex; gap: 12px; align-items: flex-start; font-size: .85rem; color: rgba(20,18,16,.8); cursor: pointer; }
    .lead__consent input { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--stamp); flex: none; }
    .lead__submit {
      display: inline-flex; align-items: center; justify-content: center; gap: 12px;
      background: var(--stamp); color: var(--paper);
      font-family: var(--font-display); font-weight: 500; font-size: 1rem;
      border: 0; cursor: pointer;
      padding: 17px 26px;
      border-radius: var(--radius-s);
      box-shadow: 0 1px 2px rgba(200, 40, 28, .2), 0 6px 16px rgba(200, 40, 28, .22);
      transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out);
    }
    .lead__submit svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; }
    @media (hover: hover) and (pointer: fine) {
      .lead__submit:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(200, 40, 28, .18), 0 14px 30px rgba(200, 40, 28, .3); }
    }
    .lead__submit:active { transform: translateY(0) scale(.97); box-shadow: 0 1px 2px rgba(200, 40, 28, .2); transition-duration: .1s; }
    .lead__submit:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }

    /* ============ ФУТЕР ============ */
    .site-footer {
      border-top: 1px solid var(--glass-edge);
      background: var(--glass);
      -webkit-backdrop-filter: var(--blur);
      backdrop-filter: var(--blur);
      padding: clamp(40px, 6vw, 72px) 0 clamp(28px, 4vw, 40px);
    }
    .site-footer__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 3vw, 2rem); }
    .site-footer__title span { color: var(--stamp); }
    .site-footer__grid { display: grid; gap: clamp(24px, 3vw, 40px); margin-top: clamp(24px, 4vw, 40px); }
    @media (min-width: 720px) { .site-footer__grid { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1100px) { .site-footer__grid { grid-template-columns: repeat(4, 1fr); } }
    .site-footer__label {
      font-family: var(--font-mono); font-size: .7rem; font-weight: 700;
      letter-spacing: .14em; text-transform: uppercase; color: var(--stamp);
      margin-bottom: 10px;
    }
    .site-footer p { font-size: .92rem; padding: 3px 0; }
    .site-footer .req { color: rgba(20,18,16,.72); }
    .site-footer__year {
      margin-top: clamp(28px, 4vw, 48px); padding-top: 16px;
      border-top: 1px solid var(--rule);
      font-family: var(--font-mono); font-size: .78rem; color: rgba(20,18,16,.62);
    }

/* ── Cookie-баннер (consent.js инжектит разметку; классы его) ── */
.cookie-banner {
  position: fixed;
  right: 12px; bottom: 12px; left: 12px;
  z-index: 70;
  margin-inline: auto;
  max-width: 760px;
  display: flex; flex-direction: column; gap: 12px;
  padding: 16px 18px;
  background: var(--glass-strong);
  -webkit-backdrop-filter: var(--blur);
  backdrop-filter: var(--blur);
  border: 1px solid var(--glass-line);
  border-top-color: var(--glass-edge);
  border-radius: 14px;
  box-shadow: var(--elev-2);
  opacity: 0; transform: translateY(14px);
  transition: opacity .3s var(--ease-out), transform .3s var(--ease-out);
}
.cookie-banner.is-visible { opacity: 1; transform: none; }
.cookie-banner__text { margin: 0; font-size: .9rem; color: rgba(20, 18, 16, .84); }
.cookie-banner__text a { color: var(--stamp); }
.cookie-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-banner__btn {
  font: inherit; font-weight: 700; font-size: .9rem;
  padding: 10px 16px; cursor: pointer;
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-s);
  background: transparent; color: var(--ink);
  transition: transform .16s var(--ease-out), border-color .2s ease;
}
.cookie-banner__btn:hover { border-color: var(--stamp); }
.cookie-banner__btn:active { transform: scale(.97); }
.cookie-banner__btn--accept {
  background: var(--stamp); border-color: var(--stamp); color: var(--paper);
  box-shadow: 0 1px 2px rgba(200, 40, 28, .2), 0 6px 16px rgba(200, 40, 28, .22);
}
.cookie-banner__btn:focus-visible { outline: 2px solid var(--stamp); outline-offset: 2px; }
@media (min-width: 560px) {
  .cookie-banner { flex-direction: row; align-items: center; justify-content: space-between; }
  .cookie-banner__actions { flex-shrink: 0; }
}

/* Слабые устройства: вместо дорогого blur — плотное стекло */
@media (pointer: coarse) {
  :root { --blur: none; --glass: rgba(252, 250, 244, .88); --glass-strong: rgba(252, 250, 244, .95); }
}

/* Якоря не ныряют под липкую стеклянную шапку */
section[id], [id="check"], [id="lead"] { scroll-margin-top: 84px; }

    /* ============ ДВИЖЕНИЕ ============ */
    @media (prefers-reduced-motion: no-preference) {
      @supports (animation-timeline: view()) {
        .reveal {
          animation: rise linear both;
          animation-timeline: view();
          animation-range: entry 5% entry 32%;
        }
      }
    }
    @keyframes rise {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation: none !important;
        transition: none !important;
      }
      html { scroll-behavior: auto; }
    }
