/* ═══════════════════════════════════════════════════════════════════════════
   /tariff — конструктор тарифа в стилистике нового лендинга (светлый фон,
   чёрная шапка, зелёный #6fac46, Jost). Разметку калькулятора строит
   pricing.js — классы tb-* здесь только оформляются, логика не меняется.
   ═══════════════════════════════════════════════════════════════════════════ */
@font-face { font-family:Jost; src:url('./Jost-400.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:Jost; src:url('./Jost-500.ttf') format('truetype'); font-weight:500; font-display:swap; }
@font-face { font-family:Jost; src:url('./Jost-700.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face { font-family:Jost; src:url('./Jost-900.ttf') format('truetype'); font-weight:900; font-display:swap; }

:root {
  --green:#6fac46; --green-hover:#5f993b; --green-ink:#46772e; --green-deep:#365c23; --green-light:#8dca68;
  --tint:#e1efd9; --tint-soft:#f3f8ee; --line:#d6ddd0; --line-soft:#e1e7dc;
  --ink:#050505; --text:#1f261b; --muted:#4b5545; --soft:#65705c; --red:#aa2525;
  --radius:18px; --header-h:68px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 16px); background:#f4f4f4; }
body { min-width:0; overflow-x:clip; background:#f4f4f4; color:#000; font:400 16px/1.5 Jost,-apple-system,'Helvetica Neue',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
button, input, textarea { font:inherit; color:inherit; }
button, a, input { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid rgba(111,172,70,.48); outline-offset:3px; }
::selection { background:var(--green); color:#fff; }
.container { width:min(1240px, calc(100% - 48px)); margin-inline:auto; }

.eyebrow { color:var(--green-ink); font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.eyebrow-line { display:flex; align-items:center; gap:12px; }
.eyebrow-line span { display:block; width:32px; height:1px; background:var(--green); }
h1 em, h2 em { font-style:normal; color:var(--green); }

/* ── Кнопки (как на лендинге) ── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid transparent; border-radius:10px; padding:15px 18px; font-size:14px; font-weight:700; line-height:1.2; white-space:nowrap; cursor:pointer; transition:transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
.btn-primary { justify-content:space-between; gap:28px; background:var(--green); color:#fff; }
.btn-primary:hover { transform:translateY(-2px); background:var(--green-hover); }
.btn-primary:disabled { opacity:.65; cursor:wait; transform:none; }
.btn-sm { gap:12px; padding:12px 14px; font-size:12px; }
.btn-outline-light { border-color:rgba(255,255,255,.6); background:transparent; color:#fff; padding:11px 13px; font-size:12px; }
.btn-outline-light:hover { border-color:#fff; background:#fff; color:#000; }

/* ── Шапка ── */
.site-header { position:sticky; top:0; z-index:50; background:var(--ink); color:#fff; border-bottom:1px solid rgba(255,255,255,.15); }
.header-inner { min-height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; flex-shrink:0; }
.logo-crop { display:block; position:relative; width:108px; height:38px; overflow:hidden; flex-shrink:0; }
.logo-crop img { position:absolute; width:115px; max-width:none; height:auto; top:-22px; left:-3px; }
.desktop-nav { display:flex; align-items:center; gap:18px; margin-left:auto; }
.nav-link { display:inline-flex; align-items:center; gap:5px; border:0; background:transparent; color:rgba(255,255,255,.78); font-size:13px; font-weight:500; white-space:nowrap; cursor:pointer; transition:color .2s ease; }
.nav-link:hover, .nav-link.is-current { color:var(--green-light); }
.nav-dropdown { position:relative; }
.nav-dropdown-trigger { padding:22px 0; }
.nav-dropdown-trigger svg { transition:transform .2s ease; }
.nav-dropdown-trigger[aria-expanded="true"] svg { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% - 7px); left:-16px; min-width:250px; padding:9px; background:#101010; border:1px solid rgba(255,255,255,.2); border-radius:14px; box-shadow:0 12px 36px #0004; }
.nav-dropdown-item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 10px; border-radius:8px; color:#fff; font-size:13px; }
.nav-dropdown-item:hover { background:var(--green); }
.header-actions { display:flex; align-items:center; gap:13px; }
.menu-toggle { display:none; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:10px; background:transparent; color:#fff; cursor:pointer; }
.menu-toggle .icon-close, .menu-toggle[aria-expanded="true"] .icon-open { display:none; }
.menu-toggle[aria-expanded="true"] .icon-close { display:block; }
.mobile-menu { position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - var(--header-h)); overflow-y:auto; background:var(--ink); border-top:1px solid rgba(255,255,255,.2); }
.mobile-menu-inner { padding:9px 0 20px; }
.mobile-label { padding:12px 0 5px; color:var(--green-light); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.mobile-link { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(255,255,255,.14); padding:13px 0; color:#fff; font-size:15px; font-weight:500; }
.mobile-menu .btn { width:100%; margin-top:10px; padding:15px 17px; font-size:14px; }
.mobile-menu .btn-outline-light { margin-top:18px; }

/* ── Первый экран ── */
.tariff-hero { position:relative; isolation:isolate; padding-block:56px 72px; }
.tariff-hero::before { content:''; position:absolute; z-index:-1; inset:0 0 0 38%; background:radial-gradient(ellipse at 62% 42%, #a4cd7960, transparent 68%); pointer-events:none; }
.tariff-hero::after { content:''; position:absolute; z-index:-1; inset:30px 0; background-image:radial-gradient(#61834b35 1px, transparent 1px); background-size:22px 22px; mask-image:linear-gradient(90deg, #000, transparent 16%, transparent 86%, #000); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:56px; align-items:center; }
.hero-copy h1 { margin-top:22px; font-size:clamp(42px, 5.4vw, 76px); font-weight:900; line-height:.96; letter-spacing:-.05em; }
.hero-lede { max-width:480px; margin-top:24px; color:#343434; font-size:17px; line-height:1.65; }
.tariff-switch { margin-top:34px; }
.switch-label { display:block; margin-bottom:10px; color:var(--soft); font-size:13px; font-weight:500; }
.switch-track { display:inline-grid; grid-template-columns:repeat(3, auto); gap:4px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 30px #2538180c; }
.tsw { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:10px; color:#3d4a35; font-size:14px; font-weight:700; white-space:nowrap; transition:background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.tsw:hover { background:#eef4e8; color:#1f3a12; }
.tsw.on { background:var(--green); color:#fff; box-shadow:0 6px 16px #6fac4640; }

/* Уголки-рамки — фирменный акцент лендинга (карточки и форма). */
.included::after, .lead-card::after { content:''; position:absolute; inset:10px; z-index:1; pointer-events:none; opacity:.65; background:linear-gradient(#8bbb65,#8bbb65) left top/24px 2px no-repeat, linear-gradient(#8bbb65,#8bbb65) left top/2px 24px no-repeat, linear-gradient(#8bbb65,#8bbb65) right bottom/24px 2px no-repeat, linear-gradient(#8bbb65,#8bbb65) right bottom/2px 24px no-repeat; }
.included { position:relative; padding:34px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 24px 70px #35592514; }
.included-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.included-price { color:var(--green-deep); font-size:30px; font-weight:900; letter-spacing:-.03em; white-space:nowrap; }
.included-price small { margin-left:2px; color:var(--soft); font-size:15px; font-weight:700; letter-spacing:0; }
.included-title { margin-top:6px; font-size:26px; font-weight:700; letter-spacing:-.025em; line-height:1.15; }
.included-list { display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; margin-top:22px; padding-top:22px; border-top:1px solid var(--line-soft); list-style:none; }
.included-list li { display:flex; align-items:flex-start; gap:10px; color:#2f372a; font-size:14.5px; line-height:1.45; }
.included-list svg { flex:none; width:20px; height:20px; padding:4px; border-radius:6px; background:var(--tint); color:#4e8b32; }

/* ── Калькулятор ── */
.builder-section { padding-block:32px 96px; }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.section-intro h2 { margin-top:12px; font-size:clamp(32px, 3.8vw, 52px); font-weight:900; line-height:1; letter-spacing:-.045em; }
.section-intro > p { max-width:420px; color:var(--muted); font-size:16px; line-height:1.7; }

.tb { display:grid; grid-template-columns:minmax(0,1fr) 384px; gap:24px; align-items:start; }
.tb > .tb-step:only-child { grid-column:1 / -1; }
.tb-config { display:flex; flex-direction:column; gap:20px; min-width:0; }
.tb-step { position:relative; padding:28px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 16px 45px #39502310; }
.tb-step-head { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.tb-step-n { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:var(--ink); color:var(--green-light); font-size:15px; font-weight:900; }
.tb-step-head h3 { font-size:22px; font-weight:700; letter-spacing:-.02em; line-height:1.2; }
.tb-step-head p { margin-top:4px; color:var(--soft); font-size:14px; }

.tb-cams { display:flex; flex-direction:column; gap:14px; }
.tb-cam { padding:18px; background:#f8faf6; border:1px solid #dce5d4; border-radius:14px; }
.tb-cam.is-empty { background:#fbfcfa; border-style:dashed; }
.tb-cam-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.tb-cam-head b { display:flex; align-items:center; gap:10px; font-size:16px; font-weight:700; }
.tb-cam-head b::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px #6fac4626; }
.tb-cam.is-empty .tb-cam-head b::before { background:#c3cdbb; box-shadow:none; }
.tb-cam-sum { margin-left:auto; padding:6px 11px; border-radius:99px; background:var(--tint); color:#396a25; font-size:13px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tb-cam.is-empty .tb-cam-sum { padding-inline:0; background:transparent; color:#8a9482; font-weight:500; }
.tb-del { display:grid; place-items:center; flex:none; width:32px; height:32px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--soft); font-size:19px; line-height:1; cursor:pointer; transition:color .2s ease, border-color .2s ease; }
.tb-del:hover { border-color:#e2a9a9; color:var(--red); }

.tb-chips { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:8px; }
.tb-chip { position:relative; display:flex; align-items:center; gap:10px; min-height:50px; padding:10px 14px 10px 42px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#2b3325; font-size:14.5px; font-weight:500; line-height:1.25; text-align:left; cursor:pointer; transition:border-color .2s ease, background-color .2s ease; }
.tb-chip::before { content:''; position:absolute; top:50%; left:14px; width:18px; height:18px; margin-top:-9px; border:1.5px solid #bfcab6; border-radius:5px; background:#fff center / 12px no-repeat; }
.tb-chip:hover { border-color:var(--green); }
.tb-chip.on { border-color:var(--green); background:#eff6e9; box-shadow:inset 0 0 0 1px var(--green); }
.tb-chip.on::before { border-color:var(--green); background-color:var(--green); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.tb-chip-p { margin-left:auto; padding-left:8px; color:#7a8572; font-size:13px; font-style:normal; font-weight:600; white-space:nowrap; }
.tb-chip.on .tb-chip-p { color:#396a25; }

.tb-cams-actions { display:flex; gap:10px; margin-top:14px; }
.tb-add { flex:1; min-height:50px; border:1.5px dashed #b9c8ad; border-radius:12px; background:transparent; color:var(--green-deep); font-size:15px; font-weight:700; cursor:pointer; transition:border-color .2s ease, background-color .2s ease; }
.tb-add:hover { border-color:var(--green); background:#eff6e9; }
.tb-reset { flex:none; min-height:50px; padding:0 18px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--soft); font-size:14px; font-weight:600; cursor:pointer; transition:color .2s ease, border-color .2s ease; }
.tb-reset:hover:not(:disabled) { border-color:#e2a9a9; color:var(--red); }
.tb-reset:disabled { opacity:.45; cursor:default; }

.tb-radio { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.tb-opt { position:relative; display:flex; align-items:flex-start; gap:12px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; transition:border-color .2s ease, background-color .2s ease; }
.tb-opt + .tb-opt { margin-top:12px; }
.tb-radio .tb-opt + .tb-opt { margin-top:0; }
.tb-opt:hover { border-color:#a9c393; }
.tb-opt.on, .tb-opt:has(input:checked) { border-color:var(--green); background:var(--tint-soft); box-shadow:inset 0 0 0 1px var(--green); }
.tb-opt input { flex:none; width:18px; height:18px; margin-top:2px; accent-color:var(--green); cursor:pointer; }
.tb-opt span { display:flex; flex-direction:column; gap:4px; min-width:0; }
.tb-opt b { font-size:15px; font-weight:700; line-height:1.3; }
.tb-opt i { color:var(--soft); font-size:13px; font-style:normal; line-height:1.45; }

/* Итог — тёмная карточка, как тёмные секции лендинга. */
.tb-sum { position:sticky; top:calc(var(--header-h) + 20px); min-width:0; max-height:calc(100vh - var(--header-h) - 40px); overflow-y:auto; border-radius:var(--radius); scrollbar-width:thin; }
.tb-sum-in { position:relative; overflow:hidden; padding:28px; border:1px solid #2c3a24; border-radius:var(--radius); background:radial-gradient(ellipse at 90% 0%, #33502466 0%, transparent 58%), linear-gradient(160deg, #111a0d, #070a06); color:#f1f5ed; box-shadow:0 24px 60px #1a2a1030; }
.tb-sum-in::before { content:''; position:absolute; inset:0; background:linear-gradient(#a4ce8212 1px, transparent 1px), linear-gradient(90deg, #a4ce8212 1px, transparent 1px); background-size:32px 32px; mask-image:linear-gradient(180deg, #000, transparent 60%); pointer-events:none; }
.tb-sum-in > * { position:relative; }
.tb-sum-title { margin-bottom:18px; color:#99c87a; font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.tb-sum-lines { display:flex; flex-direction:column; gap:11px; padding-bottom:18px; border-bottom:1px solid #ffffff1f; }
.tb-line { display:flex; gap:12px; color:#bfc6ba; font-size:14px; }
.tb-line span { min-width:0; }
.tb-line b { margin-left:auto; color:#f1f5ed; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tb-sum-total { display:flex; flex-direction:column; gap:16px; padding:20px 0 18px; }
.tb-sum-mo { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.tb-sum-mo span, .tb-sum-once span { color:#a2af98; font-size:13px; }
.tb-sum-mo b { color:#fff; font-size:40px; font-weight:900; line-height:1; letter-spacing:-.04em; white-space:nowrap; font-variant-numeric:tabular-nums; transform-origin:left center; }
.tb-sum-once { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px dashed #ffffff29; }
.tb-sum-once b { color:#fff; font-size:21px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; transform-origin:right center; }
.tb-gift { margin-bottom:20px; color:#bac9ae; font-size:13px; line-height:1.5; }
.tb-gift-on { display:block; padding:12px 14px; border:1px solid #6fac4655; border-radius:12px; background:#6fac461f; color:#c9e7b3; font-weight:500; }
.tb-cta { width:100%; }
@keyframes tb-bump { 0% { transform:scale(1); } 35% { transform:scale(1.045); color:#c9e7b3; } 100% { transform:scale(1); } }
.is-bump { animation:tb-bump .45s cubic-bezier(.2,.7,.2,1); }

/* Статический прайс — без JS. */
.tb-static { display:grid; }
.tb-static-row { display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--line-soft); color:var(--muted); font-size:15px; }
.tb-static-row b { margin-left:auto; color:#000; white-space:nowrap; }
.tb-static p { padding:18px 0 8px; color:var(--muted); line-height:1.6; }

/* Итог на телефоне. */
.tb-bar { position:fixed; left:12px; right:12px; bottom:12px; z-index:40; display:flex; align-items:center; gap:14px; padding:10px 10px 10px 18px; border:1px solid #2c3a24; border-radius:16px; background:#0b1109f2; color:#fff; box-shadow:0 12px 36px #0005; transform:translateY(calc(100% + 28px)); transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.tb-bar[hidden] { display:none; }
.tb-bar.is-visible { transform:none; }
.tb-bar-sum { display:flex; flex-direction:column; min-width:0; margin-right:auto; line-height:1.2; }
.tb-bar-sum span { color:#99c87a; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.tb-bar-mo { margin-top:2px; font-size:20px; font-weight:900; letter-spacing:-.03em; white-space:nowrap; font-variant-numeric:tabular-nums; transform-origin:left center; }
.tb-bar-once { color:#bac9ae; font-size:12px; white-space:nowrap; }
@media (min-width:981px) { .tb-bar { display:none !important; } }

/* ── Заявка ── */
.lead-section { padding-block:88px 96px; border-top:1px solid #e3e8df; }
.lead-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; }
.lead-copy h2 { margin-top:12px; font-size:clamp(38px, 4.8vw, 66px); font-weight:900; line-height:.98; letter-spacing:-.05em; }
.lead-lede { max-width:440px; margin-top:22px; color:var(--muted); font-size:16px; line-height:1.7; }
.stat-pill { display:inline-flex; align-items:center; gap:8px; margin-top:28px; padding:8px 12px; border-radius:99px; background:var(--tint); color:#396a25; font-size:12px; font-weight:700; }
.stat-pill i { width:8px; height:8px; border-radius:50%; background:var(--green); }
.lead-card { position:relative; padding:36px; background:#fff; border:1px solid #c7d6ba; border-radius:var(--radius); box-shadow:0 16px 50px #3249210b; }
.lead-form-title { margin-top:12px; font-size:28px; font-weight:900; line-height:1.05; letter-spacing:-.035em; }
.form-fields { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 20px; margin-top:26px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.field > span { font-size:12px; font-weight:700; }
.form-fields > .full { grid-column:1 / -1; }
.form-input { width:100%; min-width:0; padding:13px 14px; border:1px solid #cfcfcf; border-radius:10px; background:#fff; color:#000; font-size:15px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.form-input::placeholder { color:#8a8f86; }
.form-input:focus { border-color:var(--green); box-shadow:0 0 0 3px #6fac4626; }
textarea.form-input { min-height:112px; resize:vertical; line-height:1.5; }
.lf-hp { position:absolute; left:-10000px; width:1px; height:1px; opacity:0; pointer-events:none; }
.consents { display:grid; gap:10px; }
.consent { display:flex; align-items:flex-start; gap:10px; color:#555; font-size:14px; line-height:1.45; cursor:pointer; }
.consent input { flex:none; width:16px; height:16px; margin-top:2px; accent-color:var(--green); }
.consent a, .form-note a { color:#477b2b; text-decoration:underline; text-underline-offset:3px; }
.form-submit { width:100%; margin-top:24px; padding-block:16px; font-size:15px; }
.form-error { margin-top:14px; color:var(--red); font-size:14px; }
.form-note { margin-top:14px; color:var(--soft); font-size:14px; text-align:center; }
.lead-done { display:flex; min-height:360px; flex-direction:column; align-items:flex-start; justify-content:center; }
.lead-done-mark { display:grid; place-items:center; width:52px; height:52px; margin-bottom:20px; border-radius:14px; background:var(--green); color:#fff; }
.lead-done > p:not(.eyebrow) { margin-top:12px; color:var(--muted); font-size:15px; line-height:1.6; }

/* ── Подвал ── */
.site-footer { padding:32px 0; background:#000; color:#fff; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-inner > p { max-width:460px; color:#a0a0a0; font-size:13px; }
.site-footer .logo-crop { width:82px; height:29px; }
.site-footer .logo-crop img { width:87px; top:-17px; left:-2px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:13px; }
.footer-links a, .footer-legal a { color:#79b442; }
.footer-links a:hover, .footer-legal a:hover { color:#9bd763; }
.footer-legal { margin-top:24px; padding-top:22px; border-top:1px solid #292929; color:#929292; font-size:12px; line-height:1.7; }
.footer-legal p + p { margin-top:12px; }

/* ── Появление блоков (только при включённом JS) ── */
.js .rv { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.js .rv.on { opacity:1; transform:none; }
.js .hero-grid > .rv + .rv, .js .lead-grid > .rv + .rv { transition-delay:.1s; }

/* ── Адаптив ── */
@media (max-width:1100px) {
  .desktop-nav, .header-actions { display:none; }
  .menu-toggle { display:grid; }
  .hero-grid { gap:36px; }
  .included { padding:28px; }
  .included-list { grid-template-columns:1fr; gap:12px; }
  .tb { grid-template-columns:minmax(0,1fr) 340px; }
  .tb-radio { grid-template-columns:1fr; }
}
@media (min-width:1101px) { .mobile-menu { display:none !important; } }
@media (max-width:980px) {
  .hero-grid { grid-template-columns:1fr; }
  .included-list { grid-template-columns:1fr 1fr; }
  .tb { grid-template-columns:1fr; }
  .tb-sum { position:static; max-height:none; overflow:visible; }
  .lead-grid { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:767px) {
  :root { --header-h:64px; }
  .container { width:calc(100% - 40px); }
  .tariff-hero { padding-block:36px 48px; }
  .tariff-hero::before { inset:30% 0 0; }
  .hero-lede { font-size:16px; }
  .switch-track { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); width:100%; }
  .tsw { padding:10px 6px; font-size:13px; }
  .included { padding:24px 20px; }
  .included-price { font-size:26px; }
  .included-title { font-size:22px; }
  .included-list { grid-template-columns:1fr; }
  .builder-section { padding-block:16px 64px; }
  .section-intro { display:block; margin-bottom:24px; }
  .section-intro > p { margin-top:16px; font-size:15px; }
  .tb-step { padding:22px 16px; }
  .tb-step-head { margin-bottom:18px; }
  .tb-step-head h3 { font-size:20px; }
  .tb-cam { padding:14px 12px; }
  .tb-cam-head { flex-wrap:wrap; }
  .tb-chips { grid-template-columns:1fr; }
  .tb-cams-actions { flex-direction:column; }
  .tb-sum-in { padding:24px 20px; }
  .tb-sum-mo b { font-size:36px; }
  .lead-section { padding-block:56px 72px; }
  .lead-card { padding:26px 18px; }
  .form-fields { grid-template-columns:1fr; gap:16px; }
  .lead-done { min-height:280px; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .js .rv { opacity:1; transform:none; }
}
