/* =========================================================
   Окна Профи — стили сайта
   Шрифты системные: без загрузки с внешних серверов (152-ФЗ, скорость)
   ========================================================= */

/* ===== Tokens ===== */
:root{
  --text-xs: clamp(.75rem, .72rem + .15vw, .8125rem);
  --text-sm: clamp(.875rem, .84rem + .2vw, .9375rem);
  --text-base: clamp(1rem, .96rem + .2vw, 1.0625rem);
  --text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);
  --text-xl: clamp(1.75rem, 1.35rem + 1.6vw, 2.75rem);
  --text-2xl: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem);

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;

  --font-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"SF Pro Display",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"SF Pro Text",Roboto,"Helvetica Neue",Arial,sans-serif;

  --radius:20px;
  --radius-sm:12px;
  --wrap:1240px;
  --gutter:clamp(1rem, 3vw, 1.5rem);
  --ring: 0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent);
}

:root,[data-theme="light"]{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#eaf0f6;
  --border:#d9e2ec;
  --ink:#0d1b2a;
  --ink-2:#4b5c70;
  --navy:#0c2f4f;
  --navy-2:#0a2540;
  --on-navy:#ffffff;
  --on-navy-2:#b9cde0;
  --accent:#1b81c8;
  --accent-soft:#e3f1fb;
  --hot:#079447;
  --hot-hover:#06813e;
  --hot-ink:#ffffff;
  --hot-soft:#e2f5ea;
  --hl:#6cc0f5;
  --hl-green:#3fd388;
  --shadow-sm:0 1px 2px rgb(13 27 42 / .06);
  --shadow:0 1px 2px rgb(13 27 42 / .05), 0 18px 40px -12px rgb(13 27 42 / .16);
  --shadow-lg:0 30px 60px -20px rgb(12 47 79 / .35);
}
[data-theme="dark"]{
  --bg:#08131f;
  --surface:#0f1e2e;
  --surface-2:#0c1926;
  --border:#203247;
  --ink:#e8eef5;
  --ink-2:#9db0c4;
  --navy:#0a1d31;
  --navy-2:#071624;
  --on-navy:#ffffff;
  --on-navy-2:#a9bfd4;
  --accent:#5cb6ef;
  --accent-soft:#0f2a40;
  --hot:#1eaf5d;
  --hot-hover:#25c46a;
  --hot-ink:#03200e;
  --hot-soft:#0e2a1c;
  --hl:#6cc0f5;
  --hl-green:#3fd388;
  --shadow-sm:0 1px 2px rgb(0 0 0 / .3);
  --shadow:0 1px 2px rgb(0 0 0 / .3), 0 18px 40px -12px rgb(0 0 0 / .55);
  --shadow-lg:0 30px 60px -20px rgb(0 0 0 / .7);
}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,iframe{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
button,input,select,textarea{font:inherit}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--space-4);top:var(--space-4);z-index:100;background:var(--surface);padding:var(--space-3) var(--space-4);border-radius:8px}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;display:inline-block;vertical-align:-.2em}
.ic-lg{width:40px;height:40px;color:var(--accent);justify-self:center}

/* ===== Topbar ===== */
.topbar{background:var(--navy-2);color:var(--on-navy-2);font-size:var(--text-xs)}
.topbar-inner{display:flex;gap:var(--space-6);align-items:center;min-height:38px}
.topbar-inner > *{display:inline-flex;align-items:center;gap:var(--space-2)}
.topbar-inner a{margin-inline-start:auto;text-decoration:none}
.topbar-inner a:hover{color:var(--on-navy)}
.topbar .ic{opacity:.8}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex;align-items:center;gap:var(--space-6);min-height:76px}
.logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.logo-img{height:50px;width:auto;border-radius:8px}
[data-theme="dark"] .logo-img,[data-theme="dark"] .f-brand img{background:#fff;padding:4px 6px}
.nav{display:flex;gap:var(--space-1);margin-inline-start:auto}
.nav a{font-size:var(--text-sm);font-weight:600;text-decoration:none;color:var(--ink-2);padding:var(--space-2) var(--space-3);border-radius:999px;transition:background .2s,color .2s}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.header-actions{display:flex;align-items:center;gap:var(--space-3)}
.phone{text-decoration:none;text-align:right;white-space:nowrap;line-height:1.25}
.phone-num{display:block;font-weight:800;font-size:1.0625rem;color:var(--ink);letter-spacing:-.01em}
.phone-note{display:block;font-size:.6875rem;color:var(--ink-2)}
.icon-btn{
  width:44px;height:44px;display:grid;place-items:center;border-radius:12px;cursor:pointer;
  background:var(--surface);border:1px solid var(--border);color:var(--ink);transition:background .2s;
}
.icon-btn:hover{background:var(--surface-2)}
.icon-btn svg{width:20px;height:20px}
[data-theme="light"] .i-moon,[data-theme="dark"] .i-sun{display:none}
.burger{display:none;flex-direction:column;gap:4px}
.burger span{width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:var(--space-3) var(--space-6);border-radius:999px;font-size:var(--text-sm);
  font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .15s ease,background .2s ease,box-shadow .2s ease,border-color .2s;
  min-height:48px;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn-sm{min-height:44px;padding-inline:var(--space-5)}
.btn-lg{min-height:58px;padding-inline:var(--space-8);font-size:var(--text-base)}
.btn-primary{background:var(--hot);color:var(--hot-ink);box-shadow:0 10px 24px -10px color-mix(in srgb,var(--hot) 70%,transparent)}
.btn-primary:hover{background:var(--hot-hover)}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-light{background:rgb(255 255 255 / .1);color:var(--on-navy);border-color:rgb(255 255 255 / .28)}
.btn-light:hover{background:rgb(255 255 255 / .18)}
.btn-outline{background:transparent;color:var(--on-navy);border-color:rgb(255 255 255 / .45)}
.btn-outline:hover{background:rgb(255 255 255 / .12)}

/* ===== Hero ===== */
.hero{position:relative;background:var(--bg)}
.hero-grid{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
  background:var(--navy);color:var(--on-navy);min-height:clamp(560px,72vh,700px);
}
.hero-copy{
  position:relative;isolation:isolate;
  padding:clamp(var(--space-12),6vw,var(--space-20)) clamp(var(--space-8),4vw,var(--space-16)) clamp(7rem,10vw,9rem);
  padding-inline-start:max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter)));
  display:flex;flex-direction:column;justify-content:center;
}
/* Мотив оконной рамы: крупная сетка «створок» на фоне */
.hero-copy::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg, transparent calc(50% - 1px), rgb(255 255 255 / .06) calc(50% - 1px), rgb(255 255 255 / .06) calc(50% + 1px), transparent calc(50% + 1px)),
    linear-gradient(0deg, transparent calc(62% - 1px), rgb(255 255 255 / .06) calc(62% - 1px), rgb(255 255 255 / .06) calc(62% + 1px), transparent calc(62% + 1px)),
    radial-gradient(120% 90% at 0% 0%, rgb(27 129 200 / .35), transparent 60%),
    radial-gradient(90% 80% at 100% 100%, rgb(7 148 71 / .22), transparent 60%);
}
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-3);align-self:flex-start;
  font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--on-navy-2);margin-bottom:var(--space-6)
}
.eyebrow::before{content:"";width:28px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 50%,var(--hot) 50%)}
.hero-h1{font-size:var(--text-2xl);letter-spacing:-.035em;line-height:1.02;max-width:14ch}
.hero-h1 .hl{color:var(--hl)}
.hero-h1 .hl-green{color:var(--on-navy)}
.hero-h1 .hl-green:first-child{color:var(--hl-green)}
.lead{margin-top:var(--space-6);color:var(--on-navy-2);max-width:52ch;font-size:var(--text-lg);line-height:1.55}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero-media{margin:0;position:relative;overflow:hidden}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0,transparent 9%);pointer-events:none}

.messengers{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-8);font-size:var(--text-sm);color:var(--on-navy-2)}
.messengers span{margin-inline-end:var(--space-2)}
.msg-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--border);transition:transform .15s ease,box-shadow .15s ease}
.messengers .msg-ic{background:#fff;border-color:transparent}
.msg-ic svg{width:24px;height:24px;display:block}
.msg-ic.tg{color:#26a5e4}
.msg-ic.wa{color:#25d366}
.msg-ic:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.msg-row{display:inline-flex;gap:var(--space-2)}

/* Факты — карточка поверх нижнего края hero */
.facts{
  list-style:none;margin:calc(-1 * clamp(4.5rem,6vw,5.5rem)) 0 0;padding:0;position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);
}
.facts li{padding:var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-1)}
.facts li + li{border-inline-start:1px solid var(--border)}
.facts b{font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--accent)}
.facts li:nth-child(even) b{color:var(--hot)}
.facts span{font-size:var(--text-sm);color:var(--ink-2);line-height:1.4}

/* ===== Sections ===== */
.section{padding-block:clamp(var(--space-16),8vw,7rem)}
.section.alt{background:var(--surface)}
.sec-head{max-width:760px}
.kicker{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3)
}
.kicker::before{content:"";width:18px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 50%,var(--hot) 50%)}
.sec-title{font-size:var(--text-xl)}
.sec-sub{margin-top:var(--space-4);color:var(--ink-2);max-width:62ch;font-size:var(--text-lg);line-height:1.5}

/* Проблемы */
.chips{list-style:none;padding:0;margin:var(--space-10) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}
.chips a{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:100%;
  padding:var(--space-5) var(--space-5);min-height:76px;text-decoration:none;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  font-weight:600;line-height:1.3;transition:border-color .2s,transform .2s,box-shadow .2s
}
.chips a .ic{color:var(--ink-2);transition:transform .2s,color .2s}
.chips a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.chips a:hover .ic{color:var(--accent);transform:translateX(3px)}
.chips li.chip-green a{background:var(--hot-soft);border-color:color-mix(in srgb,var(--hot) 30%,transparent)}
.chips li.chip-green a .ic{color:var(--hot)}

/* Бренды */
.brands{list-style:none;padding:0;margin:var(--space-6) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.brands li{
  font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;color:var(--ink-2);
  padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:8px;background:var(--bg)
}

/* Услуги */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-10)}
.svc{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s
}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.svc-media{position:relative;overflow:hidden}
.svc-media img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;transition:transform .5s ease}
.svc:hover .svc-media img{transform:scale(1.04)}
.price-tag{
  position:absolute;left:var(--space-3);bottom:var(--space-3);
  background:var(--surface);color:var(--ink);font-weight:800;font-size:var(--text-sm);
  padding:var(--space-1) var(--space-3);border-radius:999px;box-shadow:var(--shadow-sm)
}
.svc-body{padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.svc h3{font-size:var(--text-lg);letter-spacing:-.015em}
.svc p{font-size:var(--text-sm);color:var(--ink-2)}

/* Прайс */
.prices-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.prices-side{position:sticky;top:110px}
.prices-side .sec-sub{font-size:var(--text-base)}
.tabs{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-8)}
.tabs button{
  cursor:pointer;text-align:left;font-size:var(--text-base);font-weight:600;
  padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--border);
  background:var(--surface);color:var(--ink-2);display:flex;justify-content:space-between;align-items:center;transition:border-color .2s,background .2s,color .2s
}
.tabs button::after{content:"→";opacity:0;transition:opacity .2s,transform .2s;transform:translateX(-4px)}
.tabs button:hover{border-color:var(--accent);color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tabs button[aria-selected="true"]::after{opacity:1;transform:none}
[data-theme="dark"] .tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:#04121f}
.side-card{margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-sm);background:var(--accent-soft);display:grid;gap:var(--space-4)}
.side-card p{font-size:var(--text-sm);color:var(--ink-2)}
.side-card .btn{justify-self:start}

.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
table.price{width:100%;border-collapse:collapse}
table.price th{
  text-align:left;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);font-weight:700;padding:var(--space-4) var(--space-6);background:var(--surface-2);
}
table.price th:last-child,table.price td:last-child{text-align:right;white-space:nowrap}
table.price td{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);border-top:1px solid var(--border);vertical-align:middle}
table.price tbody tr{transition:background .15s}
table.price tbody tr:hover{background:var(--accent-soft)}
table.price td:last-child{font-weight:800;font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums}

/* Шаги */
.steps{list-style:none;padding:0;margin:var(--space-12) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);position:relative}
.steps li{position:relative;padding-top:var(--space-16)}
.steps li::before{content:"";position:absolute;top:22px;left:56px;right:calc(-1 * var(--space-5));height:2px;background:repeating-linear-gradient(90deg,var(--border) 0 8px,transparent 8px 14px)}
.steps li:last-child::before{display:none}
.steps .num{
  position:absolute;top:0;left:0;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);background:var(--navy);color:#fff
}
.steps li:nth-child(even) .num{background:var(--hot)}
[data-theme="dark"] .steps .num{background:var(--accent);color:#04121f}
[data-theme="dark"] .steps li:nth-child(even) .num{background:var(--hot);color:var(--hot-ink)}
.steps h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.steps p{font-size:var(--text-sm);color:var(--ink-2)}

/* CTA */
.cta-section{padding-block:clamp(var(--space-12),6vw,var(--space-20));background:var(--bg)}
.cta{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;
  padding:clamp(var(--space-8),5vw,var(--space-16));border-radius:calc(var(--radius) + 8px);
  background:var(--navy);color:var(--on-navy);box-shadow:var(--shadow-lg)
}
.cta::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg, transparent calc(70% - 1px), rgb(255 255 255 / .07) calc(70% - 1px), rgb(255 255 255 / .07) calc(70% + 1px), transparent calc(70% + 1px)),
    linear-gradient(0deg, transparent calc(50% - 1px), rgb(255 255 255 / .07) calc(50% - 1px), rgb(255 255 255 / .07) calc(50% + 1px), transparent calc(50% + 1px)),
    radial-gradient(70% 120% at 100% 0%, rgb(27 129 200 / .45), transparent 60%),
    radial-gradient(60% 120% at 0% 100%, rgb(7 148 71 / .3), transparent 60%);
}
.cta h2{font-size:var(--text-xl);max-width:18ch}
.cta p{margin-top:var(--space-4);color:var(--on-navy-2);max-width:46ch;font-size:var(--text-lg)}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.faq-side{position:sticky;top:110px}
.faq-side .sec-sub{font-size:var(--text-base);margin-bottom:var(--space-6)}
.faq-list{display:grid;gap:var(--space-3)}
.faq-list details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}
.faq-list details[open]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-sm)}
.faq-list summary{
  cursor:pointer;font-weight:700;font-size:var(--text-base);padding:var(--space-5) var(--space-6);
  list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);align-items:center
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"";flex:0 0 28px;height:28px;border-radius:50%;background:var(--accent-soft);
  background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));
  background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;
  background-color:var(--accent-soft);transition:transform .25s
}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 var(--space-6) var(--space-6);color:var(--ink-2);font-size:var(--text-sm);max-width:70ch;margin-top:calc(-1 * var(--space-2))}

/* Контакты */
.contacts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:stretch}
.contacts{margin:var(--space-8) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.contacts > div{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}
.contacts > div.wide{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.contacts dt{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--space-1)}
.contacts > div.wide dt{margin:0}
.contacts dd{margin:0;font-size:var(--text-base);font-weight:600}
.contacts a{color:var(--accent);text-decoration:none}
.contacts a:hover{text-decoration:underline}
.contacts .msg-ic{width:44px;height:44px}
.map-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--surface-2);min-height:380px}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
[data-theme="dark"] .map-card iframe{filter:invert(.9) hue-rotate(180deg) saturate(.7)}
.map-ph{position:absolute;inset:0;display:grid;place-content:center;gap:var(--space-4);text-align:center;padding:var(--space-6);background:var(--surface-2);border-radius:inherit;z-index:1}
.map-ph p{font-size:var(--text-sm);color:var(--ink-2);max-width:34ch}
.map-ph .btn{justify-self:center}

/* Footer */
.site-footer{background:var(--navy-2);color:var(--on-navy-2);padding-block:var(--space-16) var(--space-8)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-10)}
.f-brand{display:inline-block;margin-bottom:var(--space-3)}
.f-brand img{height:56px;width:auto;border-radius:8px;background:#fff;padding:4px 6px}
.f-note{margin-top:var(--space-3);font-size:var(--text-sm);max-width:40ch}
.f-phone{display:inline-block;margin-top:var(--space-4);font-size:var(--text-lg);font-weight:800;color:var(--on-navy);text-decoration:none}
.f-head{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy);margin-bottom:var(--space-4)}
.site-footer nav a{display:block;font-size:var(--text-sm);text-decoration:none;padding-block:var(--space-1)}
.site-footer nav a:hover{color:var(--on-navy)}
.legal{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid rgb(255 255 255 / .12)}
.legal p{font-size:var(--text-xs)}
.legal a{color:var(--on-navy-2)}
.legal a:hover{color:var(--on-navy)}
.legal p.legal-links{margin-top:var(--space-2)}
.legal .small{margin-top:var(--space-3);max-width:90ch;opacity:.75}

/* Мобильная панель */
.mobile-bar{display:none}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .phone-note{display:none}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1040px){
  .nav{display:none}
  .burger{display:flex}
  .header-actions{margin-inline-start:auto}
  .header-inner{position:relative}
  .nav.open{
    display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;
    background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-2) var(--gutter) var(--space-5);
    box-shadow:var(--shadow)
  }
  .nav.open a{padding:var(--space-4) 0;border-radius:0;border-bottom:1px solid var(--border);font-size:var(--text-base)}
  .nav.open a:hover{background:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-10)}
  .steps li:nth-child(2)::before{display:none}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts li:nth-child(3){border-inline-start:0}
  .facts li:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (max-width:900px){
  .topbar{display:none}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-media{order:-1;aspect-ratio:16/9}
  .hero-media::after{background:linear-gradient(0deg,var(--navy) 0,transparent 30%)}
  .hero-copy{padding:var(--space-8) var(--gutter) 7rem}
  .hero-h1{max-width:none}
  .prices-grid,.faq-grid,.contacts-grid{grid-template-columns:1fr}
  .prices-side,.faq-side{position:static}
  .tabs{flex-direction:row;flex-wrap:wrap}
  .tabs button{flex:1 1 auto;justify-content:center;padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}
  .tabs button::after{display:none}
  .side-card{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > div:first-child{grid-column:1 / -1}
}
@media (max-width:640px){
  html{scroll-padding-top:76px}
  .header-inner{min-height:64px;gap:var(--space-3)}
  .logo-img{height:38px}
  .phone,.header-cta{display:none}
  .hero-cta .btn{flex:1 1 100%}
  .lead{font-size:var(--text-base)}
  .facts li{padding:var(--space-4)}
  .chips{grid-template-columns:1fr}
  .chips a{min-height:60px;padding:var(--space-4)}
  .svc-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;row-gap:var(--space-6)}
  .steps li{padding:0 0 0 64px;min-height:46px}
  .steps li::before{display:none}
  .cta{border-radius:var(--radius)}
  .cta-actions,.cta-actions .btn{width:100%}
  .contacts{grid-template-columns:1fr}
  .map-card{min-height:300px}
  .footer-grid{grid-template-columns:1fr}
  .sec-sub{font-size:var(--text-base)}

  /* Прайс → карточки */
  .panel{background:transparent;border:0;box-shadow:none;border-radius:0}
  table.price thead{display:none}
  table.price tbody,table.price tr,table.price td{display:block;width:100%}
  table.price tr{
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
    padding:var(--space-4);margin-bottom:var(--space-2);display:flex !important;justify-content:space-between;gap:var(--space-4);align-items:center
  }
  table.price td{border:0;padding:0;width:auto !important}
  table.price td:last-child{color:var(--accent);flex:0 0 auto}
  table.price tbody tr:hover{background:var(--surface)}

  body{padding-bottom:76px}
  .mobile-bar{
    display:grid;grid-template-columns:64px 64px 1fr;gap:var(--space-2);position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-top:1px solid var(--border);padding:var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom))
  }
  .mobile-bar a{
    display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;border-radius:14px;
    text-decoration:none;font-weight:700;background:var(--surface-2)
  }
  .mobile-bar svg{width:28px;height:28px}
  .mobile-bar .mb-tg{color:#26a5e4}
  .mobile-bar .mb-call{background:var(--hot);color:var(--hot-ink)}
  .mobile-bar .mb-call svg{width:22px;height:22px}
}

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

/* Появление при прокрутке */
.reveal{opacity:0;transform:translateY(16px)}
.reveal.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ===== Юридические страницы ===== */
.doc-page .site-header{position:sticky}
.doc-back{margin-inline-start:auto;font-size:var(--text-sm);font-weight:600;color:var(--accent);text-decoration:none}
.doc{max-width:860px;padding-block:var(--space-12) var(--space-16)}
.doc .eyebrow{color:var(--ink-2)}
.doc h1{font-size:var(--text-xl);margin-bottom:var(--space-6)}
.doc h2{font-size:var(--text-lg);margin:var(--space-10) 0 var(--space-3)}
.doc p,.doc li{color:var(--ink);font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-3)}
.doc ul{padding-left:1.2em}
.doc a{color:var(--accent)}
.doc-req{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}
.fill{background:#fff2a8;color:#3d3200;padding:0 .25em;border-radius:4px}
.table-scroll{overflow-x:auto;margin-bottom:var(--space-4)}
.doc-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);min-width:620px}
.doc-table th,.doc-table td{border:1px solid var(--border);padding:var(--space-3);text-align:left;vertical-align:top}
.doc-table th{background:var(--surface-2)}
.doc-page .site-footer{padding-block:var(--space-6)}
.doc-page .legal{margin-top:0;border-top:0;padding-top:0}

/* ===== Cookie-баннер ===== */
.cookie-banner{position:fixed;z-index:80;left:50%;transform:translateX(-50%);bottom:var(--space-5);width:min(760px,calc(100% - 2rem));
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  padding:var(--space-4) var(--space-5);display:flex;gap:var(--space-4);align-items:center}
.cookie-banner[hidden]{display:none}
.cookie-banner p{font-size:var(--text-xs);color:var(--ink-2)}
.cookie-banner a{color:var(--accent)}
.cookie-actions{display:flex;gap:var(--space-2);flex:0 0 auto}
.cookie-banner .btn{min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}
@media (max-width:640px){
  .cookie-banner{flex-direction:column;align-items:stretch;bottom:88px}
  .cookie-actions .btn{flex:1}
}

/* ===== Диалог согласия ===== */
.consent-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);
  width:min(520px,calc(100% - 2rem));padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:var(--shadow-lg)}
.consent-dialog::backdrop{background:rgb(6 18 30 / .6);backdrop-filter:blur(3px)}
.consent-dialog h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}
.consent-dialog p{font-size:var(--text-sm);color:var(--ink-2);margin-bottom:var(--space-4)}
.consent-dialog a{color:var(--accent)}
.consent-dialog .btn{width:100%;justify-content:center;color:var(--hot-ink)}
.consent-dialog .btn.is-disabled{background:var(--surface-2);color:var(--ink-2);box-shadow:none;cursor:not-allowed}
.cd-check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);margin-bottom:var(--space-5);cursor:pointer}
.cd-check input{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--hot)}
.consent-hint{color:#d0412f!important}
.cd-close{position:absolute;top:var(--space-3);right:var(--space-3);width:36px;height:36px;border:0;background:none;color:var(--ink-2);font-size:1.5rem;cursor:pointer}
