/* ═══════════════════════════════════════════════════════════
   Виктория — транспортировка лежачих больных, Тюмень
   Фирменная палитра: красный + белый + графит
   ═══════════════════════════════════════════════════════════ */

:root{
  /* цвет — фирменный красно-белый, как на транспорте компании */
  --ink:        #16181C;
  --ink-2:      #40444C;
  --ink-3:      #6C727C;

  --paper:      #FFFFFF;
  --paper-2:    #F4F4F6;
  --paper-3:    #E7E8EB;

  --deep:       #16181C;
  --deep-2:     #22252B;
  --brand:      #D8232A;
  --brand-2:    #B0161C;

  --accent:     #D8232A;
  --accent-2:   #F04A4A;
  --accent-ink: #A0121A;

  --line:       rgba(22,24,28,.12);
  --line-2:     rgba(22,24,28,.07);
  --line-lt:    rgba(255,255,255,.15);

  /* типографика */
  --serif: "Literata", Georgia, "Times New Roman", serif;
  --sans:  "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  /* геометрия */
  --shell: 1220px;
  --r-s: 8px;
  --r-m: 14px;
  --r-l: 22px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 17px/1.62 var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img,svg{ display:block; max-width:100%; }
a{ color:inherit; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; }

::selection{ background:var(--accent); color:#fff; }

:focus-visible{ outline:2.5px solid var(--accent-2); outline-offset:3px; border-radius:3px; }

.sprite{ position:absolute; width:0; height:0; overflow:hidden; }

.skip-link{
  position:fixed; left:12px; top:-100px; z-index:200;
  background:var(--deep); color:var(--paper);
  padding:12px 18px; border-radius:var(--r-s);
  text-decoration:none; font-weight:600;
  transition:top .2s var(--ease);
}
.skip-link:focus{ top:12px; }

.shell{
  width:100%; max-width:var(--shell);
  margin-inline:auto;
  padding-inline:clamp(18px, 4vw, 40px);
}

/* ── иконки ───────────────────────────────────────────── */
.ico{ width:22px; height:22px; flex:none; }
.ico--lg{ width:32px; height:32px; }

/* ── типографика ──────────────────────────────────────── */
.h2{
  font:600 clamp(30px, 4.2vw, 52px)/1.1 var(--serif);
  letter-spacing:-.02em;
  margin:0 0 18px;
  text-wrap:balance;
}
.h2--light{ color:var(--paper); }

.h3{
  font:600 clamp(21px, 2.4vw, 28px)/1.22 var(--serif);
  letter-spacing:-.015em;
  margin:0 0 14px;
}

.p{ margin:0 0 18px; color:var(--ink-2); max-width:62ch; }
.p--light{ color:rgba(255,255,255,.74); }

.eyebrow{
  margin:0 0 14px;
  font:700 12px/1 var(--sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  display:flex; align-items:center; gap:10px;
}
.eyebrow::after{
  content:""; height:1px; width:44px;
  background:currentColor; opacity:.4;
}
.eyebrow--light{ color:var(--accent-2); }

.u-mark{
  position:relative;
  display:inline-block;
  isolation:isolate;
  white-space:nowrap;
}
.u-mark::before{
  content:"";
  position:absolute; left:-.06em; right:-.06em; bottom:.05em; height:.34em;
  background:var(--accent);
  transform:skewX(-9deg);
  z-index:-1;
}

.tag{
  display:inline-block;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(216,35,42,.1);
  color:var(--accent-ink);
  font:700 11.5px/1 var(--sans);
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* ── кнопки ───────────────────────────────────────────── */
.btn{
  --bg:var(--brand); --fg:#fff; --bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 24px;
  border:1.5px solid var(--bd);
  border-radius:var(--r-s);
  background:var(--bg); color:var(--fg);
  font:700 15px/1 var(--sans);
  letter-spacing:.005em;
  text-decoration:none;
  transition:transform .16s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }

.btn--accent{ --bg:var(--accent); }
.btn--accent:hover{ --bg:var(--accent-2); }

.btn--dark{ --bg:var(--deep); }
.btn--dark:hover{ --bg:var(--brand); }

.btn--light{ --bg:var(--paper); --fg:var(--deep); }
.btn--light:hover{ --bg:#fff; }

.btn--ghost{
  --bg:transparent; --fg:var(--paper); --bd:rgba(255,255,255,.34);
}
.btn--ghost:hover{ --bd:var(--paper); --bg:rgba(255,255,255,.08); }

.btn--sm{ padding:11px 17px; font-size:14px; }
.btn--lg{ padding:17px 30px; font-size:16.5px; }
.btn--block{ width:100%; }

/* ═══════════ HEADER ═══════════ */
.hdr{
  position:sticky; top:0; z-index:90;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.hdr.is-stuck{ border-bottom-color:var(--line); }

.hdr__progress{
  position:absolute; left:0; bottom:-1px; height:2px; width:0;
  background:var(--accent);
  transition:width .1s linear;
}

.hdr__in{
  display:flex; align-items:center; gap:clamp(14px,3vw,34px);
  min-height:76px;
}

.logo{
  display:flex; align-items:center; gap:11px;
  text-decoration:none; flex:none;
}
.logo__mark{
  width:42px; height:42px; flex:none;
  display:grid; place-items:center;
  border-radius:11px;
  background:var(--brand); color:var(--paper);
}
.logo__mark svg{ width:26px; height:26px; }
.logo__txt{ display:flex; flex-direction:column; line-height:1.1; }
.logo__txt b{ font:700 19px/1.1 var(--serif); letter-spacing:-.01em; }
.logo__txt i{
  font:600 10.5px/1.4 var(--sans);
  font-style:normal; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3);
}

.nav{
  display:flex; align-items:center; gap:clamp(10px,1.6vw,22px);
  margin-inline:auto;
}
.nav a{
  position:relative;
  text-decoration:none;
  font:600 15px/1 var(--sans);
  color:var(--ink-2);
  padding:8px 0;
  transition:color .2s var(--ease);
  white-space:nowrap;
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; background:var(--accent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s var(--ease);
}
.nav a:hover{ color:var(--ink); }
.nav a:hover::after,
.nav a.is-active::after{ transform:scaleX(1); }
.nav a.is-active{ color:var(--ink); }

.hdr__act{ display:flex; align-items:center; gap:14px; flex:none; }

.hdr__tel{
  display:flex; align-items:center; gap:9px;
  text-decoration:none;
}
.hdr__tel span{ display:flex; flex-direction:column; line-height:1.15; }
.hdr__tel i{
  font:600 10.5px/1.3 var(--sans); font-style:normal;
  letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3);
}
.hdr__tel b{ font:700 16px/1.2 var(--sans); letter-spacing:-.01em; white-space:nowrap; }
.hdr__tel-dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--accent); flex:none;
  animation:beat 2.4s var(--ease) infinite;
}
@keyframes beat{
  0%,100%{ box-shadow:0 0 0 0 rgba(216,35,42,.5); }
  50%    { box-shadow:0 0 0 7px rgba(216,35,42,0); }
}

.burger{
  display:none;
  width:44px; height:44px;
  border:1px solid var(--line);
  border-radius:var(--r-s);
  background:transparent;
  padding:0; position:relative;
}
.burger span{
  position:absolute; left:12px; width:20px; height:2px;
  background:var(--ink); border-radius:2px;
  transition:transform .28s var(--ease), opacity .18s var(--ease);
}
.burger span:nth-child(1){ top:15px; }
.burger span:nth-child(2){ top:21px; }
.burger span:nth-child(3){ top:27px; }
.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); }

/* ═══════════ HERO ═══════════ */
.hero{
  position:relative;
  background:var(--deep);
  color:var(--paper);
  overflow:hidden;
  padding:clamp(56px,7vw,96px) 0 clamp(64px,7vw,104px);
}
.hero__bg{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero__photo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 38%;
  opacity:.4;
  filter:grayscale(.25) contrast(1.05);
}
.hero__veil{
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(22,24,28,.96) 0%, rgba(22,24,28,.9) 42%, rgba(22,24,28,.62) 72%, rgba(22,24,28,.78) 100%),
    linear-gradient(to bottom, rgba(22,24,28,.7), transparent 30%, rgba(22,24,28,.85));
}
.hero__glow{
  position:absolute; border-radius:50%;
  filter:blur(90px);
}
.hero__glow--a{
  width:640px; height:640px; left:-160px; top:-220px;
  background:radial-gradient(circle, rgba(216,35,42,.4), transparent 68%);
}
.hero__glow--b{
  width:520px; height:520px; right:-140px; bottom:-200px;
  background:radial-gradient(circle, rgba(216,35,42,.34), transparent 68%);
}
.hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 100%);
}

.hero__in{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(320px,.85fr);
  gap:clamp(32px,4.5vw,64px);
  align-items:start;
}

.hero__h1{
  font:600 clamp(36px,5.6vw,68px)/1.06 var(--serif);
  letter-spacing:-.028em;
  margin:0 0 22px;
  text-wrap:balance;
}
.hero__lead{
  margin:0 0 32px;
  max-width:58ch;
  font-size:18.5px;
  color:rgba(255,255,255,.76);
}

.hero__cta{ display:flex; flex-wrap:wrap; gap:13px; margin-bottom:clamp(36px,5vw,54px); }

.hero__pillars{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line-lt);
  border:1px solid var(--line-lt);
  border-radius:var(--r-m);
  overflow:hidden;
}
.hero__pillars li{
  background:var(--deep);
  padding:20px 18px;
  display:flex; flex-direction:column; gap:5px;
  transition:background .25s var(--ease);
}
.hero__pillars li:hover{ background:var(--deep-2); }
.hero__pillars .ico{ color:var(--accent-2); margin-bottom:5px; }
.hero__pillars b{ font:700 15.5px/1.25 var(--sans); }
.hero__pillars i{
  font-style:normal; font-size:13.5px; line-height:1.4;
  color:rgba(255,255,255,.56);
}

/* карточка диспетчера */
.dispatch{
  background:linear-gradient(168deg, #23262C, #16181C);
  border:1px solid var(--line-lt);
  border-radius:var(--r-l);
  padding:24px;
  box-shadow:0 26px 60px -30px rgba(0,0,0,.8);
}
.dispatch__top{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line-lt);
}
.dispatch__live{
  display:inline-flex; align-items:center; gap:9px;
  font:700 13px/1 var(--sans);
  color:rgba(255,255,255,.9);
}
.pulse-dot{
  width:9px; height:9px; border-radius:50%;
  background:var(--accent-2); flex:none;
  box-shadow:0 0 0 0 rgba(216,35,42,.55);
  animation:beat2 2s var(--ease) infinite;
}
@keyframes beat2{
  0%,100%{ box-shadow:0 0 0 0 rgba(78,210,142,.5); }
  55%    { box-shadow:0 0 0 8px rgba(78,210,142,0); }
}
.dispatch__time{
  font:600 13px/1 var(--sans);
  color:rgba(255,255,255,.5);
  font-variant-numeric:tabular-nums;
}

.dispatch__price{
  padding:22px 0 14px;
  display:flex; flex-direction:column; gap:4px;
}
.dispatch__price span{ font-size:13.5px; color:rgba(255,255,255,.55); }
.dispatch__price b{
  font:600 clamp(34px,4vw,46px)/1 var(--serif);
  letter-spacing:-.03em;
}
.dispatch__price i{ font-style:normal; color:var(--accent-2); }

.dispatch__ecg{ height:56px; margin-bottom:6px; }
.dispatch__ecg svg{ width:100%; height:100%; }
.ecg-line{
  fill:none; stroke:var(--accent-2); stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:420; stroke-dashoffset:420;
  animation:ecg 3.4s linear infinite;
}
@keyframes ecg{ to{ stroke-dashoffset:-420; } }

.dispatch__list{
  list-style:none; margin:0 0 20px; padding:18px 0 0;
  border-top:1px solid var(--line-lt);
  display:grid; gap:11px;
}
.dispatch__list li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14.5px; line-height:1.4;
  color:rgba(255,255,255,.78);
}
.dispatch__list .ico{ width:17px; height:17px; margin-top:2px; color:var(--accent-2); }

.dispatch__call{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:15px;
  border-radius:var(--r-s);
  background:var(--paper); color:var(--deep);
  font:700 15.5px/1 var(--sans);
  text-decoration:none;
  transition:transform .16s var(--ease), background .2s var(--ease);
}
.dispatch__call:hover{ background:#fff; transform:translateY(-2px); }
.dispatch__note{
  margin:12px 0 0; text-align:center;
  font-size:12.5px; color:rgba(255,255,255,.45);
}

/* ═══════════ TICKER ═══════════ */
.ticker{
  background:var(--accent);
  color:#fff;
  overflow:hidden;
  padding:14px 0;
  border-block:1px solid rgba(0,0,0,.12);
}
.ticker__track{
  display:flex; width:max-content;
  animation:slide 42s linear infinite;
}
.ticker__row{
  display:flex; align-items:center; gap:26px;
  padding-right:26px;
  white-space:nowrap;
}
.ticker__row b{ font:700 14px/1 var(--sans); letter-spacing:.05em; text-transform:uppercase; }
.ticker__row em{ font-style:normal; opacity:.5; }
@keyframes slide{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .ticker__track{ animation:none; } }

/* ═══════════ СЕКЦИИ ═══════════ */
.sec{ padding:clamp(64px,8vw,120px) 0; }

.sec__head{
  display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:clamp(20px,4vw,60px);
  margin-bottom:clamp(36px,5vw,56px);
}
.sec__head .h2{ margin-bottom:0; max-width:16ch; }
.sec__head-note{
  margin:0; max-width:42ch;
  font-size:16px; color:var(--ink-3);
  padding-left:20px;
  border-left:2px solid var(--accent);
}
.sec__head-note--light{ color:rgba(255,255,255,.6); }

/* ── ABOUT ── */
.sec--about{ background:var(--paper); }
.about{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(32px,5vw,72px);
  align-items:stretch;
  margin-bottom:clamp(24px,3vw,38px);
}
.about__sign{
  display:flex; gap:14px; align-items:flex-start;
  margin-top:28px; padding:20px 22px;
  background:var(--paper-2);
  border-left:3px solid var(--brand);
  border-radius:0 var(--r-m) var(--r-m) 0;
}
.about__sign .ico{ color:var(--brand); margin-top:1px; }
.about__sign p{ margin:0; font-size:15.5px; line-height:1.5; color:var(--ink-2); }

.about__pair{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(12px,1.4vw,18px);
  margin-top:clamp(20px,2.4vw,28px);
}
.about__pair figure{ margin:0; }
.about__pair img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:var(--r-m);
  border:1px solid var(--line);
}
.about__pair figcaption{
  margin-top:9px;
  font-size:13px; line-height:1.4; color:var(--ink-3);
}

/* растягиваем фото на высоту текстовой колонки, чтобы низ секции был ровным */
.about__photo{
  margin:0;
  border-radius:var(--r-l);
  overflow:hidden;
  border:1px solid var(--line);
  display:flex; flex-direction:column;
}
.about__photo img{
  width:100%; flex:1 1 auto;
  min-height:min(58vh, 420px);
  object-fit:cover;
  transition:transform .8s var(--ease);
}
.about__photo:hover img{ transform:scale(1.03); }
.about__photo figcaption{
  padding:13px 18px;
  background:var(--paper-2);
  font-size:13.5px; line-height:1.45; color:var(--ink-3);
}

.stats{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  overflow:hidden;
}
.stat{
  background:var(--paper);
  padding:clamp(22px,3vw,32px) clamp(18px,2.4vw,26px);
  display:flex; flex-direction:column; gap:6px;
  transition:background .25s var(--ease);
}
.stat:hover{ background:#fff; }
.stat__num{
  font:600 clamp(30px,3.4vw,44px)/1 var(--serif);
  letter-spacing:-.035em;
  color:var(--brand);
  font-variant-numeric:tabular-nums;
}
.stat span{ font-size:14.5px; line-height:1.35; color:var(--ink-3); }

/* ── SERVICES ── */
.sec--services{ background:var(--paper-2); }

.srv{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,1.6vw,20px);
}
.srv__card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}
.srv__card:hover{
  transform:translateY(-4px);
  border-color:rgba(216,35,42,.4);
  box-shadow:0 22px 44px -26px rgba(22,24,28,.42);
}

.srv__media{
  display:block; position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--paper-3);
}
.srv__media img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease);
}
.srv__card:hover .srv__media img{ transform:scale(1.05); }
.srv__media .tag{
  position:absolute; left:14px; top:14px;
  background:var(--brand); color:#fff;
  box-shadow:0 6px 16px -6px rgba(22,24,28,.5);
}

.srv__body{
  padding:clamp(20px,2.4vw,26px);
  display:flex; flex-direction:column; flex:1;
}
.srv__card .ico--lg{ color:var(--brand); margin-bottom:14px; }
.srv__card h3{
  font:600 21px/1.2 var(--serif);
  letter-spacing:-.015em;
  margin:0 0 10px;
}
.srv__card h3 a{
  text-decoration:none;
  background-image:linear-gradient(var(--brand),var(--brand));
  background-size:0 1.5px; background-repeat:no-repeat;
  background-position:0 100%;
  transition:background-size .3s var(--ease), color .2s var(--ease);
}
.srv__card h3 a:hover{ color:var(--brand); background-size:100% 1.5px; }
.srv__card p{
  margin:0 0 20px;
  font-size:15px; line-height:1.5; color:var(--ink-3);
  flex:1;
}
.srv__price{
  display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;
  padding-top:16px; margin-bottom:16px;
  border-top:1px solid var(--line-2);
}
.srv__price b{
  font:600 27px/1 var(--serif);
  letter-spacing:-.025em; color:var(--ink);
}
.srv__price span{ font-size:13.5px; color:var(--ink-3); }

.srv__acts{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.srv__btn{
  display:inline-flex; align-items:center; gap:8px;
  background:none; border:0; padding:0;
  font:700 14.5px/1 var(--sans);
  color:var(--brand);
  text-decoration:none;
  transition:gap .2s var(--ease);
}
.srv__btn .ico{ width:18px; height:18px; }
.srv__btn:hover{ gap:13px; }

.srv__order{
  border:1.5px solid var(--line);
  background:transparent;
  border-radius:var(--r-s);
  padding:9px 15px;
  font:700 14px/1 var(--sans);
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.srv__order:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* кому нужна услуга */
.whom{ margin-top:clamp(44px,5vw,70px); }
.whom__h{ margin-bottom:24px; }
.whom__list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1px;
  background:var(--line);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.whom__list li{
  background:var(--paper-2);
  padding:24px 22px 26px;
  display:flex; flex-direction:column; gap:7px;
  transition:background .25s var(--ease);
}
.whom__list li:hover{ background:var(--paper); }
.whom__list span{
  font:700 12px/1 var(--sans);
  letter-spacing:.1em; color:var(--accent);
  margin-bottom:4px;
}
.whom__list b{ font:700 16.5px/1.3 var(--sans); }
.whom__list i{ font-style:normal; font-size:14px; line-height:1.45; color:var(--ink-3); }

/* ── CALCULATOR ── */
.sec--calc{ background:var(--deep); color:var(--paper); }
.calc{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(30px,4vw,64px);
  align-items:start;
}
.calc__facts{
  list-style:none; margin:26px 0 0; padding:0;
  display:grid; gap:12px;
}
.calc__facts li{
  display:flex; align-items:center; gap:11px;
  font-size:15.5px; color:rgba(255,255,255,.8);
}
.calc__facts .ico{ width:18px; height:18px; color:var(--accent-2); }

.calc__box{
  background:linear-gradient(168deg,#23262C,#16181C);
  border:1px solid var(--line-lt);
  border-radius:var(--r-l);
  padding:clamp(24px,3vw,34px);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.8);
}
.calc__field{
  border:0; padding:0; margin:0 0 26px;
}
.calc__field legend{
  padding:0; margin-bottom:13px;
  font:700 13px/1 var(--sans);
  letter-spacing:.09em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  display:flex; align-items:center; gap:10px;
}
.calc__field legend output{
  font:700 15px/1 var(--sans);
  letter-spacing:0; text-transform:none;
  color:var(--accent-2);
  font-variant-numeric:tabular-nums;
}

.chips{ display:flex; flex-wrap:wrap; gap:9px; }
.chip input{ position:absolute; opacity:0; pointer-events:none; }
.chip span{
  display:block;
  padding:11px 17px;
  border:1.5px solid var(--line-lt);
  border-radius:999px;
  font:600 14.5px/1 var(--sans);
  color:rgba(255,255,255,.72);
  cursor:pointer;
  transition:all .2s var(--ease);
}
.chip span:hover{ border-color:rgba(255,255,255,.42); color:var(--paper); }
.chip input:checked + span{
  background:var(--accent); border-color:var(--accent); color:#fff;
}
.chip input:focus-visible + span{ outline:2.5px solid var(--accent-2); outline-offset:3px; }

.range{
  -webkit-appearance:none; appearance:none;
  width:100%; height:4px;
  background:rgba(255,255,255,.18);
  border-radius:4px;
  outline-offset:8px;
}
.range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:22px; height:22px; border-radius:50%;
  background:var(--accent); border:3px solid #1B1E23;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.2);
  transition:transform .16s var(--ease);
}
.range::-webkit-slider-thumb:hover{ transform:scale(1.15); }
.range::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:var(--accent); border:3px solid #1B1E23;
  cursor:pointer;
}
.range__scale{
  display:flex; justify-content:space-between;
  margin-top:9px;
  font-size:12.5px; color:rgba(255,255,255,.42);
}

.switch{ display:flex; align-items:flex-start; gap:13px; cursor:pointer; }
.switch input{ position:absolute; opacity:0; pointer-events:none; }
.switch__ui{
  width:46px; height:26px; flex:none; margin-top:2px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  position:relative;
  transition:background .22s var(--ease);
}
.switch__ui::after{
  content:""; position:absolute; top:3px; left:3px;
  width:20px; height:20px; border-radius:50%;
  background:var(--paper);
  transition:transform .22s var(--ease);
}
.switch input:checked + .switch__ui{ background:var(--brand-2); }
.switch input:checked + .switch__ui::after{ transform:translateX(20px); }
.switch input:focus-visible + .switch__ui{ outline:2.5px solid var(--accent-2); outline-offset:3px; }
.switch__lbl{
  display:flex; flex-direction:column; gap:3px;
  font:600 15.5px/1.3 var(--sans);
  color:var(--paper);
}
.switch__lbl i{ font-style:normal; font-weight:400; font-size:13.5px; color:rgba(255,255,255,.5); }

.calc__out{
  border-top:1px solid var(--line-lt);
  padding-top:22px; margin-bottom:20px;
}
.calc__out > div{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.calc__out span{ font-size:14.5px; color:rgba(255,255,255,.6); }
.calc__out b{
  font:600 clamp(30px,4vw,42px)/1 var(--serif);
  letter-spacing:-.03em;
  color:var(--accent-2);
  font-variant-numeric:tabular-nums;
}
.calc__break{
  list-style:none; margin:16px 0 0; padding:0;
  display:grid; gap:7px;
}
.calc__break li{
  display:flex; justify-content:space-between; gap:14px;
  font-size:13.5px; color:rgba(255,255,255,.55);
  padding-bottom:7px;
  border-bottom:1px dashed rgba(255,255,255,.12);
}
.calc__break li b{
  font:600 13.5px/1.4 var(--sans); color:rgba(255,255,255,.85);
  font-variant-numeric:tabular-nums;
}
.calc__disclaimer{
  margin:12px 0 0; text-align:center;
  font-size:12.5px; color:rgba(255,255,255,.4);
}

/* ── HOW ── */
.sec--how{ background:var(--paper); }
.steps{
  list-style:none; margin:0 0 clamp(44px,5vw,72px); padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(18px,2.4vw,30px);
  counter-reset:s;
}
.step{ position:relative; padding-top:26px; }
.step::before{
  content:""; position:absolute; top:0; left:0; right:0;
  height:2px; background:var(--line);
}
.step::after{
  content:""; position:absolute; top:0; left:0;
  height:2px; width:0; background:var(--accent);
  transition:width .9s var(--ease) .15s;
}
.step.is-in::after{ width:44px; }
.step__n{
  display:block;
  font:600 15px/1 var(--sans);
  color:var(--accent);
  letter-spacing:.05em;
  margin-bottom:14px;
}
.step h3{
  font:600 clamp(20px,2.2vw,25px)/1.22 var(--serif);
  letter-spacing:-.018em;
  margin:0 0 10px;
}
.step p{ margin:0 0 20px; font-size:15.5px; line-height:1.55; color:var(--ink-3); }
.step__img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:var(--r-m);
  border:1px solid var(--line);
}

/* ── ГАЛЕРЕЯ ── */
.sec--gal{ background:var(--deep); color:var(--paper); }
.gal{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(10px,1.2vw,16px);
}
.gal__item{
  margin:0; position:relative;
  border-radius:var(--r-m);
  overflow:hidden;
  background:var(--deep-2);
}
.gal__item img{
  width:100%; height:100%; object-fit:cover;
  aspect-ratio:4/3;
  transition:transform .7s var(--ease), filter .4s var(--ease);
}
.gal__item--big{ grid-column:span 2; }
.gal__item--big img{ aspect-ratio:auto; height:100%; }
.gal__item figcaption{
  position:absolute; inset:auto 0 0 0;
  padding:34px 16px 14px;
  background:linear-gradient(to top, rgba(10,11,13,.92), transparent);
  font-size:13.5px; line-height:1.4;
  color:rgba(255,255,255,.9);
  opacity:0; transform:translateY(8px);
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.gal__item--big figcaption{ opacity:1; transform:none; font-size:15px; padding:44px 20px 20px; }
.gal__item:hover img{ transform:scale(1.06); }
.gal__item:hover figcaption{ opacity:1; transform:none; }
@media (hover:none){ .gal__item figcaption{ opacity:1; transform:none; } }

.adv{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  overflow:hidden;
}
.adv__item{
  background:var(--paper);
  padding:clamp(24px,2.8vw,32px);
  transition:background .25s var(--ease);
}
.adv__item:hover{ background:#fff; }
.adv__item .ico--lg{ color:var(--brand); margin-bottom:16px; }
.adv__item h3{ font:600 19.5px/1.25 var(--serif); letter-spacing:-.015em; margin:0 0 9px; }
.adv__item p{ margin:0; font-size:15px; line-height:1.5; color:var(--ink-3); }

.adv__item--cta{
  background:var(--brand); color:var(--paper);
  display:flex; flex-direction:column; align-items:flex-start;
}
.adv__item--cta:hover{ background:var(--brand-2); }
.adv__item--cta h3{ color:var(--paper); }
.adv__item--cta p{ color:rgba(255,255,255,.75); margin-bottom:18px; }

/* ── RENT ── */
.sec--rent{ background:var(--paper-2); }
.rent{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);
  gap:clamp(18px,2.6vw,32px);
  align-items:start;
}
.rent__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(14px,1.6vw,18px);
}
.rent__card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-m);
  padding:24px;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease);
}
.rent__card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px -26px rgba(22,24,28,.4);
}
.rent__media{
  margin:-24px -24px 18px;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid var(--line-2);
}
.rent__media img{
  width:100%; height:100%;
  object-fit:contain;
  padding:14px;
  transition:transform .6s var(--ease);
}
.rent__card:hover .rent__media img{ transform:scale(1.05); }
.rent__card .ico--lg{ color:var(--brand); margin-bottom:16px; }
.rent__card h3{ font:600 17.5px/1.28 var(--serif); letter-spacing:-.012em; margin:0 0 8px; }
.rent__card p{ margin:0 0 16px; font-size:14px; line-height:1.5; color:var(--ink-3); }
.rent__price{
  font:700 20px/1 var(--sans);
  letter-spacing:-.02em;
  color:var(--accent);
  padding-top:14px;
  border-top:1px solid var(--line-2);
}
.rent__price span{ font-size:13px; font-weight:500; color:var(--ink-3); }

.rent__form{
  background:var(--deep);
  color:var(--paper);
  border-radius:var(--r-l);
  padding:clamp(24px,2.8vw,32px);
  position:sticky; top:96px;
}
.rent__form h3{ font:600 22px/1.22 var(--serif); letter-spacing:-.018em; margin:0 0 8px; }
.rent__form > p{ margin:0 0 22px; font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.6); }

/* ── формы ── */
.fld{ display:block; margin-bottom:16px; }
.fld > span{
  display:block; margin-bottom:7px;
  font:600 12.5px/1 var(--sans);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-3);
}
.fld input, .fld textarea, .fld select{
  width:100%;
  padding:13px 15px;
  border:1.5px solid var(--line);
  border-radius:var(--r-s);
  background:var(--paper);
  font-size:15.5px;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.fld textarea{ resize:vertical; min-height:78px; }
.fld select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E7C77' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center; background-size:18px;
  padding-right:42px;
}
.fld input:focus, .fld textarea:focus, .fld select:focus{
  outline:none; border-color:var(--brand); background:#fff;
}
.fld input.is-err, .fld textarea.is-err{ border-color:var(--accent); }

.rent__form .fld > span, .cnt__form .fld > span{ color:rgba(255,255,255,.5); }
.rent__form .fld input, .rent__form .fld select,
.cnt__form .fld input, .cnt__form .fld textarea{
  background:rgba(255,255,255,.06);
  border-color:var(--line-lt);
  color:var(--paper);
}
.rent__form .fld input::placeholder, .cnt__form .fld input::placeholder,
.cnt__form .fld textarea::placeholder{ color:rgba(255,255,255,.32); }
.rent__form .fld input:focus, .rent__form .fld select:focus,
.cnt__form .fld input:focus, .cnt__form .fld textarea:focus{
  border-color:var(--accent-2); background:rgba(255,255,255,.1);
}
.rent__form .fld select{ color:var(--paper); }
.rent__form .fld select option{ background:var(--deep); color:var(--paper); }

.form__note{
  margin:12px 0 0; text-align:center;
  font-size:12.5px; line-height:1.5; color:var(--ink-3);
}
.rent__form .form__note, .cnt__form .form__note{ color:rgba(255,255,255,.42); }
.form__note a{ color:inherit; }

.form__ok{
  margin:14px 0 0; padding:13px 16px;
  border-radius:var(--r-s);
  background:rgba(78,210,142,.14);
  border:1px solid rgba(78,210,142,.35);
  color:#3FA46F;
  font:600 14.5px/1.45 var(--sans);
  text-align:center;
}
.rent__form .form__ok, .cnt__form .form__ok, .modal .form__ok{ color:#7BE0AC; }

/* ── REVIEWS ── */
.sec--reviews{ background:var(--brand); color:var(--paper); }
.sec--reviews .sec__head-note{ border-left-color:rgba(255,255,255,.5); }
/* на красном фоне светлый акцент не читается — ведём надзаголовок белым */
.sec--reviews .eyebrow--light{ color:rgba(255,255,255,.9); }

/* карточки отзывов — разной длины, поэтому колонки, а не грид */
.revs{
  columns:2;
  column-gap:clamp(14px,1.8vw,20px);
  margin-bottom:clamp(30px,3.6vw,46px);
}
.rev{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  background:var(--paper);
  color:var(--ink);
  border-radius:var(--r-l);
  padding:clamp(22px,2.4vw,28px);
  margin-bottom:clamp(14px,1.8vw,20px);
  box-shadow:0 18px 40px -28px rgba(10,11,13,.55);
}
.rev__head{ display:flex; align-items:center; gap:13px; margin-bottom:12px; }
.rev__ava{
  width:44px; height:44px; flex:none;
  display:grid; place-items:center;
  border-radius:50%;
  background:var(--paper-2);
  color:var(--brand);
  font:700 19px/1 var(--sans);
}
.rev__who{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rev__who b{ font:700 16.5px/1.25 var(--sans); }
.rev__who i{ font-style:normal; font-size:13px; color:var(--ink-3); }

.rev__stars{
  color:var(--brand);
  font-size:15px; letter-spacing:.16em;
  margin-bottom:12px;
}
.rev blockquote{
  margin:0 0 18px;
  font-size:15.5px; line-height:1.6;
  color:var(--ink-2);
}
.rev__shot{
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 15px;
  border:1.5px solid var(--line);
  border-radius:var(--r-s);
  background:transparent;
  font:700 13.5px/1 var(--sans);
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.rev__shot .ico{ width:17px; height:17px; }
.rev__shot:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

.why__list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-m);
  overflow:hidden;
}
.why__list li{
  display:flex; align-items:center; gap:11px;
  padding:16px 18px;
  background:var(--brand);
  font:600 15.5px/1.3 var(--sans);
}
.why__list .ico{ width:18px; height:18px; flex:none; color:#fff; opacity:.75; }

.why__cta{
  margin-top:clamp(18px,2.2vw,26px);
  padding:clamp(22px,2.6vw,30px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-m);
  display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:18px;
}
.why__cta p{ margin:0; font:600 18px/1.35 var(--sans); }
.why__cta-btns{ display:flex; flex-wrap:wrap; gap:11px; }

/* ── FAQ ── */
.sec--faq{ background:var(--paper); }
.faq{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.faq__side{ position:sticky; top:100px; }
.faq__side .p{ margin-bottom:22px; }

.acc{
  border-bottom:1px solid var(--line);
}
.acc:first-child{ border-top:1px solid var(--line); }
.acc summary{
  list-style:none;
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:22px 0;
  cursor:pointer;
  font:600 clamp(17px,1.9vw,19.5px)/1.4 var(--sans);
  transition:color .2s var(--ease);
}
.acc summary::-webkit-details-marker{ display:none; }
.acc summary:hover{ color:var(--brand); }
.acc__ico{
  width:26px; height:26px; flex:none; margin-top:2px;
  border-radius:50%;
  border:1.5px solid var(--line);
  position:relative;
  transition:background .22s var(--ease), border-color .22s var(--ease), transform .28s var(--ease);
}
.acc__ico::before,.acc__ico::after{
  content:""; position:absolute; inset:0; margin:auto;
  background:var(--ink);
  transition:opacity .2s var(--ease), background .2s var(--ease);
}
.acc__ico::before{ width:11px; height:1.7px; }
.acc__ico::after{ width:1.7px; height:11px; }
.acc[open] .acc__ico{ background:var(--brand); border-color:var(--brand); transform:rotate(180deg); }
.acc[open] .acc__ico::before{ background:var(--paper); }
.acc[open] .acc__ico::after{ opacity:0; }
.acc__body{ padding:0 0 24px; max-width:68ch; }
.acc__body p{ margin:0; font-size:16px; line-height:1.6; color:var(--ink-3); }
.acc[open] .acc__body{ animation:accIn .3s var(--ease); }
@keyframes accIn{ from{ opacity:0; transform:translateY(-6px); } }

/* ── CONTACTS ── */
.sec--contacts{ background:var(--deep); color:var(--paper); }
.cnt{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.85fr);
  gap:clamp(32px,4.5vw,72px);
  align-items:start;
}
.cnt__tels{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:12px; margin:28px 0 24px;
}
.cnt__tels a{
  display:flex; align-items:center; gap:13px;
  padding:17px 19px;
  border:1px solid var(--line-lt);
  border-radius:var(--r-m);
  text-decoration:none;
  transition:background .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease);
}
.cnt__tels a:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.34);
  transform:translateY(-2px);
}
.cnt__tels .ico{ color:var(--accent-2); }
.cnt__tels span{ display:flex; flex-direction:column; gap:2px; }
.cnt__tels i{
  font-style:normal; font:600 11px/1.3 var(--sans);
  letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.cnt__tels b{ font:700 18px/1.2 var(--sans); letter-spacing:-.015em; white-space:nowrap; }

.cnt__meta{
  list-style:none; margin:0 0 28px; padding:0;
  display:grid; gap:13px;
}
.cnt__meta li{ display:flex; align-items:flex-start; gap:12px; font-size:15.5px; line-height:1.45; color:rgba(255,255,255,.72); }
.cnt__meta .ico{ width:19px; height:19px; margin-top:2px; color:rgba(255,255,255,.4); }
.cnt__meta a{ text-decoration:none; border-bottom:1px solid rgba(255,255,255,.28); }
.cnt__meta a:hover{ border-bottom-color:var(--accent-2); color:var(--accent-2); }

.socials{ display:flex; flex-wrap:wrap; gap:10px; }
.social{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 16px 10px 13px;
  border:1px solid var(--line-lt);
  border-radius:999px;
  text-decoration:none;
  font:600 14px/1 var(--sans);
  color:rgba(255,255,255,.82);
  transition:all .22s var(--ease);
}
.social .ico{ width:19px; height:19px; }
.social:hover{
  background:var(--paper); color:var(--deep);
  border-color:var(--paper);
  transform:translateY(-2px);
}

.cnt__form{
  background:linear-gradient(168deg,#23262C,#16181C);
  border:1px solid var(--line-lt);
  border-radius:var(--r-l);
  padding:clamp(24px,3vw,34px);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.8);
}
.cnt__form h3{ font:600 23px/1.22 var(--serif); letter-spacing:-.018em; margin:0 0 8px; }
.cnt__form > p{ margin:0 0 24px; font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.6); }

/* ═══════════ FOOTER ═══════════ */
.ftr{
  background:var(--deep);
  color:rgba(255,255,255,.7);
  border-top:1px solid var(--line-lt);
  padding:clamp(46px,5vw,68px) 0 30px;
}
.ftr__in{
  display:grid;
  grid-template-columns:minmax(230px,1.3fr) repeat(2,minmax(150px,1fr)) minmax(210px,1fr);
  gap:clamp(24px,3vw,44px);
  padding-bottom:36px;
  border-bottom:1px solid var(--line-lt);
}
.logo--ftr{ margin-bottom:16px; }
.logo--ftr .logo__mark{ background:rgba(255,255,255,.1); color:var(--paper); }
.logo--ftr .logo__txt b{ color:var(--paper); }
.logo--ftr .logo__txt i{ color:rgba(255,255,255,.45); }
.ftr__brand p{ margin:0; font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.5); max-width:38ch; }

.ftr__nav, .ftr__contacts{ display:flex; flex-direction:column; gap:11px; }
.ftr__nav b, .ftr__contacts b{
  font:700 12px/1 var(--sans);
  letter-spacing:.11em; text-transform:uppercase;
  color:var(--paper); margin-bottom:5px;
}
.ftr__nav a, .ftr__contacts a{
  text-decoration:none; font-size:14.5px;
  color:rgba(255,255,255,.6);
  transition:color .2s var(--ease);
  width:fit-content;
}
.ftr__nav a:hover, .ftr__contacts a:hover{ color:var(--accent-2); }
.ftr__contacts span{ font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.5); }
.ftr__tel{ font:700 17px/1.2 var(--sans) !important; color:var(--paper) !important; letter-spacing:-.015em; }
.ftr__tel:hover{ color:var(--accent-2) !important; }

.ftr__bottom{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px;
  padding-top:24px;
  font-size:13px; color:rgba(255,255,255,.4);
}
.ftr__bottom a{ text-decoration:none; border-bottom:1px solid rgba(255,255,255,.2); }
.ftr__bottom a:hover{ color:var(--accent-2); }
.ftr__disc{ margin-left:auto; }

/* ═══════════ FAB ═══════════ */
.fab{
  position:fixed; right:18px; bottom:18px; z-index:80;
  display:flex; flex-direction:column; gap:10px;
}
.fab__btn{
  width:52px; height:52px;
  display:grid; place-items:center;
  border:0; border-radius:50%;
  box-shadow:0 12px 26px -10px rgba(22,24,28,.6);
  transition:transform .2s var(--ease), opacity .25s var(--ease), visibility .25s;
}
.fab__btn:hover{ transform:translateY(-3px); }
.fab__btn--call{
  background:var(--accent); color:#fff;
  display:none;
}
.fab__btn--up{
  background:var(--deep); color:var(--paper);
  opacity:0; visibility:hidden;
}
.fab__btn--up.is-on{ opacity:1; visibility:visible; }

/* ═══════════ MODAL ═══════════ */
.modal{ position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:18px; }
.modal[hidden]{ display:none; }
.modal__back{
  position:absolute; inset:0;
  background:rgba(10,11,13,.7);
  backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
  animation:fade .28s var(--ease);
}
.modal__win{
  position:relative;
  width:100%; max-width:452px;
  max-height:92vh; overflow-y:auto;
  background:var(--paper);
  border-radius:var(--r-l);
  padding:clamp(26px,3.4vw,36px);
  box-shadow:0 40px 90px -30px rgba(10,11,13,.7);
  animation:pop .34s var(--ease);
}
@keyframes fade{ from{ opacity:0; } }
@keyframes pop{ from{ opacity:0; transform:translateY(22px) scale(.97); } }
.modal__x{
  position:absolute; top:14px; right:14px;
  width:38px; height:38px;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%;
  background:transparent; color:var(--ink-2);
  transition:background .2s var(--ease), color .2s var(--ease);
}
.modal__x:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.modal__win h3{ font:600 26px/1.2 var(--serif); letter-spacing:-.02em; margin:0 0 9px; }
.modal__lead{ margin:0 0 24px; font-size:15px; line-height:1.5; color:var(--ink-3); }

/* ═══════════════════════════════════════════════════════════
   СТРАНИЦА УСЛУГИ
   ═══════════════════════════════════════════════════════════ */

.sp-hero{
  position:relative;
  background:var(--deep);
  color:var(--paper);
  overflow:hidden;
  padding:clamp(30px,4vw,44px) 0 clamp(52px,6vw,76px);
}
.sp-hero__bg{ position:absolute; inset:0; }
.sp-hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:center 40%;
  opacity:.45; filter:grayscale(.2);
}
.sp-hero__veil{
  position:absolute; inset:0;
  background:
    linear-gradient(95deg, rgba(22,24,28,.97) 0%, rgba(22,24,28,.9) 45%, rgba(22,24,28,.6) 100%),
    linear-gradient(to bottom, rgba(22,24,28,.75), transparent 35%, rgba(22,24,28,.9));
}
.sp-hero__in{ position:relative; }

.crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:9px;
  font-size:13.5px;
  color:rgba(255,255,255,.45);
  margin-bottom:clamp(24px,3vw,38px);
}
.crumbs a{ text-decoration:none; transition:color .2s var(--ease); }
.crumbs a:hover{ color:var(--accent-2); }
.crumbs [aria-current]{ color:rgba(255,255,255,.8); }

.sp-hero__badge{
  display:inline-block;
  padding:7px 14px; border-radius:999px;
  background:var(--brand); color:#fff;
  font:700 11.5px/1 var(--sans);
  letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:20px;
}
.sp-hero__h1{
  font:600 clamp(32px,5vw,58px)/1.08 var(--serif);
  letter-spacing:-.028em;
  margin:0 0 18px;
  max-width:20ch;
  text-wrap:balance;
}
.sp-hero__lead{
  margin:0 0 clamp(28px,3.4vw,38px);
  max-width:62ch;
  font-size:18px;
  color:rgba(255,255,255,.76);
}

.sp-hero__row{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(20px,3vw,44px);
  padding-bottom:clamp(28px,3.4vw,40px);
  margin-bottom:clamp(28px,3.4vw,40px);
  border-bottom:1px solid var(--line-lt);
}
.sp-hero__price{ display:flex; flex-direction:column; gap:4px; }
.sp-hero__price b{
  font:600 clamp(34px,4.4vw,50px)/1 var(--serif);
  letter-spacing:-.03em;
  color:var(--accent-2);
}
.sp-hero__price span{ font-size:13.5px; color:rgba(255,255,255,.5); }
.sp-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; }

.sp-facts{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-lt);
  border:1px solid var(--line-lt);
  border-radius:var(--r-m);
  overflow:hidden;
}
.sp-facts li{
  background:rgba(22,24,28,.86);
  padding:20px 18px;
  display:flex; flex-direction:column; gap:5px;
}
.sp-facts .ico{ color:var(--accent-2); margin-bottom:5px; }
.sp-facts b{ font:700 15.5px/1.25 var(--sans); }
.sp-facts i{ font-style:normal; font-size:13.5px; line-height:1.4; color:rgba(255,255,255,.55); }

/* что входит */
.sp-what{ background:var(--paper); }
.sp-what__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(30px,4vw,64px);
  align-items:start;
}
.sp-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:0;
}
.sp-list li{
  display:flex; align-items:flex-start; gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line-2);
  font-size:16px; line-height:1.5;
}
.sp-list li:first-child{ border-top:1px solid var(--line-2); }
.sp-list .ico{ width:19px; height:19px; margin-top:3px; color:var(--brand); }

.sp-what__photo{
  margin:0; position:sticky; top:100px;
  border-radius:var(--r-l); overflow:hidden;
  border:1px solid var(--line);
}
.sp-what__photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.sp-what__photo figcaption{
  padding:14px 18px; background:var(--paper-2);
  font-size:13.5px; line-height:1.45; color:var(--ink-3);
}

/* порядок работы */
.sp-flow{ background:var(--deep); color:var(--paper); }
.sp-flow__list{
  list-style:none; margin:0 0 clamp(30px,4vw,50px); padding:0;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,26px);
}
.sp-flow__list li{
  padding-top:22px;
  border-top:2px solid var(--line-lt);
  position:relative;
}
.sp-flow__list li::after{
  content:""; position:absolute; top:-2px; left:0;
  height:2px; width:0; background:var(--brand);
  transition:width .8s var(--ease) .1s;
}
.sp-flow__list li.is-in::after{ width:40px; }
.sp-flow__list span{
  display:block; margin-bottom:12px;
  font:700 13px/1 var(--sans);
  letter-spacing:.1em; color:var(--accent-2);
}
.sp-flow__list h3{ font:600 20px/1.24 var(--serif); letter-spacing:-.015em; margin:0 0 9px; }
.sp-flow__list p{ margin:0; font-size:15px; line-height:1.55; color:rgba(255,255,255,.62); }

.sp-gal{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(10px,1.2vw,16px);
}
.sp-gal figure{
  margin:0; position:relative;
  border-radius:var(--r-m); overflow:hidden;
  background:var(--deep-2);
}
.sp-gal img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  transition:transform .7s var(--ease);
}
.sp-gal figure:hover img{ transform:scale(1.05); }
.sp-gal figcaption{
  position:absolute; inset:auto 0 0 0;
  padding:30px 14px 13px;
  background:linear-gradient(to top, rgba(10,11,13,.92), transparent);
  font-size:13.5px; color:rgba(255,255,255,.9);
}

/* цены */
.sp-price{ background:var(--paper-2); }
.sp-price__box{
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(20px,2.6vw,34px);
  align-items:start;
}
.sp-price__list{
  list-style:none; margin:0; padding:0;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  overflow:hidden;
}
.sp-price__list li{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
  padding:19px clamp(18px,2.2vw,26px);
  border-bottom:1px solid var(--line-2);
}
.sp-price__list li:last-child{ border-bottom:0; }
.sp-price__list span{ font-size:16px; }
.sp-price__list b{
  font:600 21px/1 var(--serif);
  letter-spacing:-.02em; color:var(--brand);
  white-space:nowrap;
}
.sp-price__cta{
  background:var(--deep); color:var(--paper);
  border-radius:var(--r-l);
  padding:clamp(22px,2.6vw,30px);
}
.sp-price__cta p{ margin:0 0 18px; font-size:15.5px; line-height:1.5; color:rgba(255,255,255,.7); }
.sp-price__cta .btn{ width:100%; }

.sp-faq{ background:var(--paper); }

/* другие услуги */
.sp-other{ background:var(--paper-2); }
.sp-other__grid{
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:clamp(12px,1.4vw,18px);
}
.sp-other__card{
  display:block; text-decoration:none;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-m);
  overflow:hidden;
  transition:transform .26s var(--ease), box-shadow .26s var(--ease), border-color .26s var(--ease);
}
.sp-other__card:hover{
  transform:translateY(-4px);
  border-color:rgba(216,35,42,.4);
  box-shadow:0 18px 36px -24px rgba(22,24,28,.45);
}
.sp-other__card img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  transition:transform .6s var(--ease);
}
.sp-other__card:hover img{ transform:scale(1.05); }
.sp-other__body{
  display:flex; flex-direction:column; gap:4px;
  padding:15px 16px 17px;
}
.sp-other__body b{ font:700 15.5px/1.25 var(--sans); }
.sp-other__body i{ font-style:normal; font-size:13.5px; color:var(--brand); font-weight:600; }

.sp-cta{ background:var(--deep); color:var(--paper); }

@media (max-width:1080px){
  .sp-facts{ grid-template-columns:repeat(2,1fr); }
  .sp-flow__list{ grid-template-columns:repeat(2,1fr); }
  .sp-what__grid{ grid-template-columns:1fr; }
  .sp-what__photo{ position:static; }
  .sp-price__box{ grid-template-columns:1fr; }
  .sp-other__grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:720px){
  .sp-facts{ grid-template-columns:1fr; }
  .sp-flow__list{ grid-template-columns:1fr; }
  .sp-gal{ grid-template-columns:1fr; }
  .sp-other__grid{ grid-template-columns:repeat(2,1fr); }
  .sp-hero__cta{ width:100%; }
  .sp-hero__cta .btn{ flex:1 1 100%; }
}

/* ═══════════ ЛАЙТБОКС ═══════════ */
.lb{ position:fixed; inset:0; z-index:130; display:grid; place-items:center; padding:clamp(14px,3vw,34px); }
.lb[hidden]{ display:none; }
.lb__back{
  position:absolute; inset:0;
  background:rgba(10,11,13,.85);
  backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
  animation:fade .25s var(--ease);
}
.lb__win{
  position:relative; margin:0;
  max-width:min(760px,100%);
  max-height:92vh;
  display:flex; flex-direction:column;
  animation:pop .3s var(--ease);
}
.lb__win img{
  width:100%; max-height:80vh; object-fit:contain;
  border-radius:var(--r-m);
  background:#fff;
}
.lb__win figcaption{
  margin-top:12px; text-align:center;
  font-size:13.5px; color:rgba(255,255,255,.7);
}
.lb__x{
  position:absolute; top:-6px; right:-6px;
  transform:translate(50%,-50%);
  width:40px; height:40px;
  display:grid; place-items:center;
  border:0; border-radius:50%;
  background:var(--paper); color:var(--ink);
  box-shadow:0 8px 20px -8px rgba(0,0,0,.6);
  transition:background .2s var(--ease), color .2s var(--ease);
}
.lb__x:hover{ background:var(--brand); color:#fff; }

/* ═══════════ REVEAL ═══════════ */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .ecg-line{ animation:none; stroke-dashoffset:0; }
  .pulse-dot,.hdr__tel-dot{ animation:none; }
}

/* ═══════════ АДАПТИВ ═══════════ */
@media (max-width:1180px){
  .nav{ gap:12px; }
  .nav a{ font-size:14px; }
  .hdr__tel i{ display:none; }
}

@media (max-width:1080px){
  .hero__in{ grid-template-columns:1fr; }
  .hero__pillars{ grid-template-columns:repeat(4,1fr); }
  .srv{ grid-template-columns:repeat(2,1fr); }
  .adv{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(3,1fr); }
  .stat:last-child{ grid-column:span 2; }
  .dispatch{ max-width:520px; }
  .calc{ grid-template-columns:1fr; }
  .rent{ grid-template-columns:1fr; }
  .rent__form{ position:static; }
  .cnt{ grid-template-columns:1fr; }
  .why{ grid-template-columns:1fr; }
  .about{ grid-template-columns:1fr; }
  .ftr__in{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:960px){
  .burger{ display:block; }
  .hdr__act .btn{ display:none; }

  .nav{
    position:fixed; inset:76px 0 auto;
    margin:0;
    flex-direction:column; align-items:stretch;
    gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:8px clamp(18px,4vw,40px) 20px;
    box-shadow:0 24px 40px -26px rgba(22,24,28,.5);
    max-height:0; overflow:hidden;
    opacity:0; visibility:hidden;
    transition:max-height .35s var(--ease), opacity .25s var(--ease), visibility .25s;
  }
  .nav.is-open{ max-height:70vh; opacity:1; visibility:visible; overflow-y:auto; }
  .nav a{
    padding:14px 0;
    font-size:17px;
    border-bottom:1px solid var(--line-2);
  }
  .nav a::after{ display:none; }

  .faq{ grid-template-columns:1fr; }
  .faq__side{ position:static; }
  .why__list{ grid-template-columns:repeat(2,1fr); }
  .gal{ grid-template-columns:repeat(2,1fr); }
  .gal__item--big{ grid-column:span 2; grid-row:auto; }
  .gal__item--big img{ aspect-ratio:16/9; }
  .sec__head{ flex-direction:column; align-items:flex-start; }
  .sec__head .h2{ max-width:none; }
}

@media (max-width:720px){
  body{ font-size:16px; }
  .hdr__in{ min-height:68px; }
  .nav{ inset-block-start:68px; }
  .hdr__tel b{ font-size:15px; }
  .logo__txt i{ display:none; }

  .hero{ padding-top:40px; }
  .hero__pillars{ grid-template-columns:1fr 1fr; }
  .hero__cta .btn{ flex:1 1 100%; }

  .stats{ grid-template-columns:1fr 1fr; }
  .stat:last-child{ grid-column:span 2; }
  .srv{ grid-template-columns:1fr; }
  .adv{ grid-template-columns:1fr; }
  .gal__item figcaption{ font-size:12.5px; padding:26px 12px 11px; }

  .ftr__in{ grid-template-columns:1fr; gap:28px; }
  .ftr__disc{ margin-left:0; }

  .fab__btn--call{ display:grid; }

  .revs{ columns:1; }
  .why__list{ grid-template-columns:1fr; }
  .why__cta{ flex-direction:column; align-items:flex-start; }
  .why__cta-btns{ width:100%; }
  .why__cta-btns .btn{ flex:1; }
}

@media (max-width:440px){
  .hero__pillars{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr; }
  .stat:last-child{ grid-column:auto; }
  .eyebrow::after{ display:none; }
  .chips{ gap:7px; }
  .chip span{ padding:10px 14px; font-size:13.5px; }
  .cnt__tels{ grid-template-columns:1fr; }
}

@media print{
  .hdr,.fab,.modal,.ticker,.hero__bg{ display:none !important; }
  body{ background:#fff; color:#000; }
  .reveal{ opacity:1; transform:none; }
}
