/* ===========================================================
   ЗОЛОТОЙ КЛЮЧИК — аварийная замочная служба
   Палитра: графит #12161A · сталь #E6E9EC · золото #E3B341
            золото тёмное #A97B18 · тревога #C8382A
   Шрифты:  Oswald (заголовки) · Inter (текст) · JetBrains Mono (цифры)
   =========================================================== */

:root{
  --ink:#12161A;
  --ink-soft:#3D454E;
  --steel:#E6E9EC;
  --steel-dark:#C7CDD3;
  --paper:#FFFFFF;
  --gold:#E3B341;
  --gold-deep:#A97B18;
  --gold-light:#F6DC8C;
  --alarm:#C8382A;
  --ok:#4ED07A;
  --grad-gold:linear-gradient(100deg,var(--gold-deep) 0%,var(--gold) 28%,var(--gold-light) 45%,var(--gold) 62%,var(--gold-deep) 100%);
  --w:1140px;
  --r:5px;
  --f-display:"Oswald","PT Sans Narrow","Arial Narrow",sans-serif;
  --f-body:"Inter","Segoe UI",Roboto,system-ui,sans-serif;
  --f-mono:"JetBrains Mono","Consolas",monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 18px}

h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:.01em;margin:0 0 .5em;line-height:1.12}
h1{font-size:clamp(28px,6.2vw,54px);text-transform:uppercase}
h2{font-size:clamp(22px,4.4vw,36px);text-transform:uppercase}
h3{font-size:19px}

.gild{background:var(--grad-gold);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s linear infinite}
@keyframes sheen{0%{background-position:220% 0}100%{background-position:-20% 0}}

.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px}
.hero .eyebrow,.sec--dark .eyebrow{color:var(--gold)}

.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--grad-gold);z-index:99;transition:width .1s linear}
.keyline{display:block;width:100%;height:14px;color:var(--gold)}

/* ---------- ШАПКА ---------- */
.top{background:var(--ink);color:var(--steel);padding:10px 0;font-size:14px;position:relative;z-index:2}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top__brand{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:18px;display:flex;align-items:center;gap:8px}
.top__brand svg{width:22px;height:22px;color:var(--gold);flex:none}
.top__geo{font-family:var(--f-mono);font-size:12px;color:var(--steel-dark)}
.top__phone{font-family:var(--f-mono);font-size:17px;font-weight:700;color:#fff;text-decoration:none;white-space:nowrap}
.top__phone:hover{color:var(--gold)}

/* ---------- ГЕРОЙ ---------- */
.hero{background:radial-gradient(120% 90% at 78% 40%,#232C36 0%,var(--ink) 62%);color:var(--paper);padding:28px 0 46px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(1.5px 1.5px at 12% 30%,var(--gold),transparent),
                   radial-gradient(1.5px 1.5px at 74% 18%,var(--gold-light),transparent),
                   radial-gradient(1px 1px at 40% 72%,var(--gold),transparent),
                   radial-gradient(1.5px 1.5px at 88% 66%,var(--gold),transparent),
                   radial-gradient(1px 1px at 25% 88%,var(--gold-light),transparent),
                   radial-gradient(1px 1px at 60% 45%,var(--gold),transparent);
  animation:dust 9s ease-in-out infinite alternate}
@keyframes dust{to{transform:translateY(-14px)}}
.hero__grid{display:grid;gap:26px;align-items:center;grid-template-columns:minmax(0,1fr);position:relative}
@media(min-width:920px){.hero__grid{grid-template-columns:minmax(0,1.05fr) 400px}}
.hero h1{margin-bottom:14px}
.hero h1 em{font-style:normal;display:block}
.hero__sub{color:#AAB3BC;max-width:34em;margin:0 0 22px}

.status{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);background:#1D242B;border:1px solid #2E373F;padding:7px 13px;border-radius:100px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(78,208,122,.7);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(78,208,122,0)}100%{box-shadow:0 0 0 0 rgba(78,208,122,0)}}
.status b{color:var(--gold);font-weight:700}

.stats{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 26px;padding:0;list-style:none}
.stats li{min-width:96px}
.stats b{display:block;font-family:var(--f-mono);font-size:27px;color:var(--gold);line-height:1.1;font-variant-numeric:tabular-nums}
.stats span{font-size:12px;color:#8B949D;text-transform:uppercase;letter-spacing:.06em}

.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.05em;font-size:17px;padding:15px 26px;border-radius:var(--r);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease}
.btn:active{transform:translateY(1px)}
.btn--call{background:var(--grad-gold);background-size:200% 100%;color:#241A03;font-weight:600;box-shadow:0 6px 22px rgba(227,179,65,.28);animation:sheen 6s linear infinite}
.btn--call:hover{box-shadow:0 10px 30px rgba(227,179,65,.45);transform:translateY(-2px)}
.btn--ghost{border-color:#4A525A;color:var(--steel)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* цилиндр */
.cyl{width:100%;max-width:400px;margin:0 auto;filter:drop-shadow(0 18px 44px rgba(0,0,0,.55))}
.cyl .body{fill:#232B33;stroke:#39434C;stroke-width:2}
.cyl .plug{fill:#2C353E;stroke:var(--gold);stroke-width:2;transform-origin:150px 150px;animation:turn 3.4s cubic-bezier(.7,0,.2,1) .9s forwards}
@keyframes turn{to{transform:rotate(32deg)}}
.cyl .kw{fill:#0C0F12}
.cyl .pin{fill:var(--gold);animation:drop .5s cubic-bezier(.5,1.7,.6,1) forwards}
.cyl .pin:nth-of-type(1){animation-delay:.15s}
.cyl .pin:nth-of-type(2){animation-delay:.30s}
.cyl .pin:nth-of-type(3){animation-delay:.45s}
.cyl .pin:nth-of-type(4){animation-delay:.60s}
.cyl .pin:nth-of-type(5){animation-delay:.75s}
@keyframes drop{from{transform:translateY(-26px);opacity:0}to{transform:translateY(0);opacity:1}}
.cyl .shear{stroke:var(--gold);stroke-width:1;stroke-dasharray:3 4;opacity:0;animation:fadein .4s .95s forwards}
@keyframes fadein{to{opacity:.55}}
.cyl .key{transform:translateX(-96px);animation:insert .8s cubic-bezier(.4,0,.2,1) .1s forwards}
@keyframes insert{to{transform:translateX(0)}}
.cyl .keybody{fill:var(--gold)}
.cyl .glow{fill:var(--gold);opacity:0;animation:flash .7s 3.9s forwards}
@keyframes flash{40%{opacity:.25}100%{opacity:0}}

/* ---------- СЕКЦИИ ---------- */
.sec{padding:52px 0;position:relative}
.sec--steel{background:var(--steel)}
.sec--dark{background:var(--ink);color:var(--steel)}
.sec--dark h2{color:var(--paper)}
.sec__lead{max-width:52em;color:var(--ink-soft);margin-top:-6px}
.sec--dark .sec__lead{color:#9AA3AC}

.rv{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

/* услуги */
.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:26px}
.card{position:relative;background:var(--paper);border:1px solid var(--steel-dark);border-radius:var(--r);padding:22px;transition:transform .25s ease,box-shadow .25s ease}
.card::before{content:"";position:absolute;inset:0;border-radius:var(--r);padding:2px;background:var(--grad-gold);opacity:0;transition:opacity .25s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(18,22,26,.14)}
.card:hover::before{opacity:1}
.card__ico{width:38px;height:38px;color:var(--gold-deep);margin-bottom:12px;transition:transform .3s ease,color .3s ease}
.card:hover .card__ico{transform:scale(1.12) rotate(-6deg);color:var(--gold)}
.card h3{margin-bottom:6px}
.card p{margin:0 0 12px;font-size:15px;color:var(--ink-soft)}
.card .price{font-family:var(--f-mono);font-size:19px;font-weight:700}
.card .price small{font-family:var(--f-body);font-weight:400;font-size:13px;color:var(--ink-soft)}

/* цены */
.table{width:100%;border-collapse:collapse;margin-top:24px;font-size:15px;background:var(--paper);box-shadow:0 10px 30px rgba(18,22,26,.08)}
.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--steel-dark)}
.table th{font-family:var(--f-display);text-transform:uppercase;font-size:14px;letter-spacing:.04em;background:var(--ink);color:var(--steel)}
.table tbody tr{transition:background .18s ease}
.table tbody tr:hover{background:#FBF3DF}
.table td:last-child{font-family:var(--f-mono);font-weight:700;white-space:nowrap;text-align:right;color:var(--gold-deep)}

/* мастер */
.master{display:grid;gap:26px;grid-template-columns:minmax(0,1fr);align-items:start}
@media(min-width:720px){.master{grid-template-columns:210px minmax(0,1fr)}}
.master__frame{position:relative;padding:9px}
.master__frame::before,.master__frame::after{content:"";position:absolute;width:32px;height:32px;border:2px solid var(--gold)}
.master__frame::before{top:0;left:0;border-right:0;border-bottom:0}
.master__frame::after{bottom:0;right:0;border-left:0;border-top:0}
.master__photo{aspect-ratio:1/1;background:#2A323A;border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;color:#8B949D;text-align:center;padding:12px}
.master__name{font-family:var(--f-display);font-size:27px;text-transform:uppercase;margin:0 0 4px;color:var(--paper)}
.master__meta{font-family:var(--f-mono);font-size:13px;color:var(--gold);margin-bottom:12px}
.sec--dark .master p{color:#9AA3AC}

/* шаги */
.steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));position:relative}
.steps li{counter-increment:s;padding-left:48px;position:relative;font-size:15px;color:var(--ink-soft)}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-2px;font-family:var(--f-mono);font-size:15px;font-weight:700;color:#241A03;background:var(--grad-gold);width:32px;height:32px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(227,179,65,.35)}
.steps b{display:block;font-family:var(--f-display);text-transform:uppercase;font-size:16px;color:var(--ink)}
.steps__line{position:absolute;left:16px;right:16px;top:14px;height:2px;background:var(--gold);opacity:.3;transform:scaleX(0);transform-origin:left;transition:transform 1.1s ease .2s;display:none}
@media(min-width:1000px){.steps__line{display:block}.in .steps__line{transform:scaleX(1)}}

/* закон */
.legal{background:linear-gradient(150deg,#1B222A,#12161A);color:var(--steel);border-radius:var(--r);padding:28px;border-left:4px solid var(--alarm);box-shadow:0 16px 40px rgba(18,22,26,.18)}
.legal h2{color:var(--paper)}
.legal p{color:#9AA3AC}
.legal ul{margin:12px 0 0;padding-left:0;list-style:none;font-size:15px;color:#9AA3AC}
.legal li{margin-bottom:8px;padding-left:26px;position:relative}
.legal li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}

/* районы */
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0 0;list-style:none}
.chips li{font-family:var(--f-mono);font-size:13px;padding:8px 13px;border-radius:100px;background:var(--paper);border:1px solid var(--steel-dark);color:var(--ink-soft);transition:border-color .18s ease,color .18s ease,background .18s ease}
.chips li:hover{border-color:var(--gold);color:var(--gold-deep);background:#FDF7E6}

/* FAQ */
.faq{margin-top:24px;border-top:1px solid var(--steel-dark)}
.faq details{border-bottom:1px solid var(--steel-dark)}
.faq summary{cursor:pointer;padding:17px 0;font-family:var(--f-display);text-transform:uppercase;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px;transition:color .18s ease}
.faq summary:hover{color:var(--gold-deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);color:var(--gold);font-size:21px;transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 16px;font-size:15px;color:var(--ink-soft)}

/* финал */
.final{background:radial-gradient(90% 120% at 50% 0%,#2A323C,var(--ink));text-align:center;color:var(--paper);padding:58px 0}
.final h2{margin-bottom:8px}
.final p{color:#9AA3AC;margin:0 0 22px}
.final .cta-row{justify-content:center}

/* города */
.cities{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0;margin:24px 0 0;list-style:none}
.cities a{display:block;padding:12px 14px;background:var(--paper);border:1px solid var(--steel-dark);border-radius:var(--r);text-decoration:none;font-weight:500;transition:border-color .18s ease,color .18s ease,transform .18s ease}
.cities a:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateX(3px)}
.cities .soon{opacity:.4;pointer-events:none}
.cities .soon::after{content:" — скоро";font-family:var(--f-mono);font-size:11px}

/* подвал */
.foot{background:var(--ink);color:#8B949D;padding:36px 0 96px;font-size:14px}
.foot a{color:var(--steel)}
.foot__grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* липкая кнопка */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--grad-gold);background-size:200% 100%;animation:sheen 6s linear infinite;border-top:2px solid var(--gold-deep);padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.callbar__txt{font-size:12px;line-height:1.25;color:#241A03;font-weight:600}
.callbar__phone{font-family:var(--f-mono);font-weight:700;font-size:18px;color:var(--ink);text-decoration:none;background:var(--paper);padding:10px 17px;border-radius:var(--r);white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.2)}
@media(min-width:900px){.callbar{display:none}.foot{padding-bottom:36px}}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1!important;transform:none!important}
  .cyl *{transform:none!important;opacity:1!important}
  .steps__line{transform:scaleX(1)!important}
}

/* ===========================================================
   V4 — φ = 1.618: пропорции, доверие, первый экран решает всё
   =========================================================== */

:root{
  /* шкала кеглей по золотому сечению от 16px */
  --t0:16px; --t1:25.9px; --t2:41.9px; --t3:67.8px;
  --s1:16px; --s2:25.9px; --s3:41.9px; --s4:67.8px;  /* отступы */
}

/* сетка героя 1.618 : 1 */
@media(min-width:920px){
  .hero__grid{grid-template-columns:1.618fr 1fr;gap:var(--s3)}
}
.hero{padding:var(--s2) 0 var(--s3)}
.sec{padding:var(--s4) 0}

/* ---------- ТЕЛЕФОН КАК ГЛАВНЫЙ ОБЪЕКТ ---------- */
.phoneblock{
  display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap;
  margin:0 0 var(--s1);padding:var(--s1);
  background:rgba(227,179,65,.06);border:1px solid rgba(227,179,65,.28);border-radius:var(--r);
  position:relative;
}
.phoneblock::after{ /* пульсирующее золотое кольцо */
  content:"";position:absolute;inset:-1px;border-radius:var(--r);border:1px solid var(--gold);
  opacity:0;animation:ring 2.6s ease-out infinite;pointer-events:none;
}
@keyframes ring{0%{opacity:.7;transform:scale(1)}70%{opacity:0;transform:scale(1.035)}100%{opacity:0}}
.phoneblock__num{
  font-family:var(--f-mono);font-weight:700;font-size:clamp(22px,4.6vw,32px);
  color:var(--paper);text-decoration:none;letter-spacing:-.01em;white-space:nowrap;
}
.phoneblock__num:hover{color:var(--gold)}
.phoneblock__note{font-size:13px;color:#8B949D;line-height:1.35}
.phoneblock__note b{color:var(--gold);font-weight:600}

/* ---------- ПОЛОСА ДОВЕРИЯ (в первом экране) ---------- */
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:var(--s1) 0 0;padding:0;list-style:none}
@media(min-width:620px){.trust{grid-template-columns:repeat(4,1fr)}}
.trust li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.3;color:#AAB3BC}
.trust svg{width:17px;height:17px;color:var(--gold);flex:none;margin-top:1px}
.trust b{display:block;color:var(--paper);font-weight:600;font-size:13px}

/* ---------- ПЕЧАТЬ-ГАРАНТИЯ ---------- */
.seal{position:absolute;right:16px;bottom:16px;width:112px;height:112px;z-index:3;pointer-events:none}
@media(max-width:919px){.seal{position:static;margin:var(--s1) auto 0;width:96px;height:96px}}
.seal__rot{transform-origin:60px 60px;animation:spin 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seal text{fill:var(--gold);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em}
.seal circle{fill:none;stroke:var(--gold);opacity:.75}
.seal .core{fill:rgba(227,179,65,.08);stroke:var(--gold);stroke-width:1.5;opacity:1}
.seal .k{stroke:var(--gold);stroke-width:1.6;fill:none}

/* ---------- ЛИПКАЯ ШАПКА (десктоп) ---------- */
.sticky{
  position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(18,22,26,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid #262E36;padding:9px 0;transform:translateY(-100%);transition:transform .3s ease;
}
.sticky.on{transform:none}
.sticky .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
.sticky__brand{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;color:var(--steel);font-size:16px}
.sticky__num{font-family:var(--f-mono);font-weight:700;font-size:19px;color:var(--gold);text-decoration:none}
@media(max-width:899px){.sticky{display:none}}

/* ---------- МАСТЕР БЕЗ ФОТО: ЖЕТОН ---------- */
.badge{
  background:linear-gradient(140deg,#1E252D,#12161A);border:1px solid #2A323B;border-left:3px solid var(--gold);
  border-radius:var(--r);padding:var(--s2);position:relative;overflow:hidden;
}
.badge::after{ /* тиснёный ключ на фоне */
  content:"";position:absolute;right:-30px;top:50%;width:190px;height:190px;transform:translateY(-50%);
  background:radial-gradient(circle at 40% 50%,rgba(227,179,65,.12),transparent 62%);pointer-events:none;
}
.badge__name{font-family:var(--f-display);font-size:var(--t1);text-transform:uppercase;color:var(--paper);margin:0 0 2px;line-height:1.1}
.badge__role{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.badge__facts{list-style:none;padding:14px 0;margin:0 0 16px;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid #2A323B;border-bottom:1px solid #2A323B}
.badge__facts li{font-size:14px;color:#AAB3BC;display:flex;gap:8px;align-items:center}
.badge__facts i{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
.badge__num{font-family:var(--f-mono);font-size:clamp(20px,3.4vw,27px);font-weight:700;color:var(--paper);text-decoration:none;display:inline-block}
.badge__num:hover{color:var(--gold)}

/* магнитная кнопка */
.btn--call{will-change:transform}

/* ===========================================================
   V5 — плавающий док справа (мобильный): MAX + звонок
   Прячется при скролле вниз, возвращается при скролле вверх.
   =========================================================== */

.callbar{display:none!important}          /* нижнюю полосу заменил док */
.foot{padding-bottom:var(--s3)}

.dock{
  position:fixed;right:14px;bottom:20px;z-index:70;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .28s ease;
}
.dock.hide{transform:translateX(150%) scale(.85);opacity:0;pointer-events:none}
@media(min-width:900px){.dock{display:none}}

.dock__btn{
  position:relative;width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.dock__btn svg{width:29px;height:29px;position:relative;z-index:2}
.dock__btn:active{transform:scale(.94)}



/* --- ЗВОНОК: красная, пульсирующая --- */
.dock__call{background:linear-gradient(145deg,#E24A3A,#B3261A);color:#fff}
.dock__call::before,.dock__call::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #E24A3A;
  animation:wave 2.4s cubic-bezier(.2,.6,.3,1) infinite;
}
.dock__call::after{animation-delay:1.2s}
@keyframes wave{
  0%{transform:scale(1);opacity:.75}
  100%{transform:scale(2.1);opacity:0}
}
.dock__call svg{animation:shake 3.4s ease-in-out infinite;transform-origin:center}
@keyframes shake{
  0%,86%,100%{transform:rotate(0)}
  88%{transform:rotate(-14deg)}
  90%{transform:rotate(12deg)}
  92%{transform:rotate(-10deg)}
  94%{transform:rotate(8deg)}
  96%{transform:rotate(-5deg)}
}

@media(prefers-reduced-motion:reduce){
  .dock__call::before,.dock__call::after,.dock__call svg{animation:none}
  .dock{transition:none}
}


/* ===========================================================
   V6 — мобильный первый экран: меньше текста, замок на виду
   =========================================================== */

@media(max-width:919px){
  /* колонка "растворяется" — её дети становятся ячейками сетки,
     это позволяет вклинить замок между заголовком и телефоном */
  .hero__col{display:contents}
  .hero__head{order:1}
  .cyl{order:2}
  .hero__act{order:3}
  .hero__grid{gap:var(--s1)}
  .cyl{max-width:250px}
  .seal{display:none}          /* печать дублирует полосу доверия — на мобильном лишняя */
}

@media(max-width:640px){
  .hero{padding:var(--s1) 0 var(--s2)}
  .hero__sub{display:none}                      /* длинный подзаголовок — под нож */
  .hero h1{font-size:clamp(26px,7.4vw,34px);margin-bottom:8px}
  .status{margin-bottom:10px}
  .stats{gap:18px;margin-bottom:var(--s1)}
  .stats li:nth-child(4){display:none}          /* остаются: приезд · цена · 24/7 */
  .stats b{font-size:22px}
  .trust li:nth-child(2),.trust li:nth-child(4){display:none}  /* остаются: по закону · фикс. цена */
  .phoneblock{padding:12px;gap:10px}
  .phoneblock__note{font-size:12px}
  .cyl{max-width:230px}
}


/* ===========================================================
   V7 — кнопка MAX: подложка под официальный логотип
   Градиент и форма — «сквиркл», как у иконки приложения.
   Сам знак НЕ перерисован: сюда подставляется официальный файл.
   =========================================================== */

.dock__max{
  border-radius:24%;                                  /* сквиркл, как у иконки в сторе */
  background:linear-gradient(135deg,#4E7BF2 0%,#6A5BEC 42%,#A44BE8 100%);
  color:#fff;
  box-shadow:0 10px 26px rgba(90,80,230,.42), inset 0 1px 0 rgba(255,255,255,.28);
  overflow:hidden;
}
.dock__max::before{                                    /* блик по стеклу */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,.30),rgba(255,255,255,0) 46%);
}
.dock__max::after{                                     /* мягкое сияние вокруг */
  content:"";position:absolute;inset:-6px;border-radius:30%;z-index:-1;
  background:radial-gradient(circle,rgba(124,91,236,.55),transparent 70%);
  filter:blur(3px);
  animation:maxglow 3.6s ease-in-out infinite;
}
@keyframes maxglow{50%{opacity:.55;transform:scale(1.06)}}
.dock__max:hover{transform:translateY(-2px)}

.dock__logo{width:66%;height:66%;position:relative;z-index:2;display:block;object-fit:contain}
.dock__max svg{width:66%;height:66%}

@media(prefers-reduced-motion:reduce){.dock__max::after{animation:none}}

/* готовая иконка приложения — во всю кнопку, подложка не нужна */
.dock__max--icon{background:none;box-shadow:0 10px 26px rgba(90,80,230,.45)}
.dock__max--icon::before{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,0) 44%);border-radius:24%}
.dock__logo--full{width:100%;height:100%;border-radius:24%}

/* ===========================================================
   V8 — по мокапу: логотип-ключ, цифры с иконками, лента доверия
   =========================================================== */

/* --- ЛОГОТИП: ключ + двухстрочный знак --- */
.top__brand{gap:11px;align-items:center}
.brandmark{display:flex;flex-direction:column;line-height:1.02}
.brandmark span:first-child{font-size:12px;letter-spacing:.12em;color:var(--steel-dark)}
.brandmark span:last-child{font-size:17px;letter-spacing:.06em;color:var(--paper)}
.top__brand svg{width:30px;height:30px}

/* --- ЦИФРЫ С ИКОНКАМИ --- */
.stats{display:flex;gap:0;flex-wrap:wrap;margin:0 0 var(--s2);padding:0;list-style:none}
.stats li{
  min-width:0;flex:1 1 120px;padding:0 var(--s1);position:relative;
  display:flex;flex-direction:column;gap:2px;
}
.stats li+li::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:rgba(227,179,65,.22)}
.stats li:first-child{padding-left:0}
.stats__ico{width:38px;height:38px;color:var(--gold);margin-bottom:10px}
.stats b{font-size:22px}
.stats span{text-transform:none;letter-spacing:0;font-size:13px;color:#8B949D}

/* мобильный: плитки 2×2, как в макете */
@media(max-width:640px){
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .stats li{
    flex:none;padding:12px;border:1px solid #262E36;border-radius:var(--r);
    background:rgba(227,179,65,.04);flex-direction:row;align-items:center;gap:10px;
  }
  .stats li+li::before{display:none}
  .stats li:first-child{padding-left:12px}
  .stats li:nth-child(4){display:flex}          /* на плитках место есть — возвращаем */
  .stats__ico{width:30px;height:30px;margin:0;flex:none}
  .stats b{font-size:16px;line-height:1.15}
  .stats span{font-size:11px}
  .stats__txt{display:flex;flex-direction:column;min-width:0}
}

/* --- ТЕЛЕФОН: с трубкой слева --- */
.phoneblock{align-items:center;gap:14px;background:rgba(227,179,65,.05);border-color:rgba(227,179,65,.22);padding:16px 18px}
.phoneblock__ico{width:32px;height:32px;color:var(--gold);flex:none}
.phoneblock__body{display:flex;flex-direction:column;gap:3px;min-width:0}

/* --- ЛЕНТА ДОВЕРИЯ (отдельная полоса под героем) --- */
.trustband{background:#161B21;border-top:1px solid #232B33;border-bottom:1px solid #232B33;padding:var(--s2) 0}
.trustband__title{
  text-align:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:#7C858E;margin:0 0 var(--s2);
}
.trustband__grid{display:grid;gap:var(--s1);grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:0}
@media(min-width:820px){.trustband__grid{grid-template-columns:repeat(4,1fr)}}
.trustband li{text-align:center;padding:0 12px;position:relative}
.trustband li+li::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:rgba(227,179,65,.16)}
@media(max-width:819px){.trustband li:nth-child(odd)::before{display:none}}
.trustband svg{width:34px;height:34px;color:var(--gold);margin:0 auto 12px}
.trustband b{display:block;font-size:15px;color:var(--paper);margin-bottom:5px}
.trustband p{margin:0;font-size:13px;color:#8B949D;line-height:1.4}

/* --- место под реальные отзывы (включим, когда будут) --- */
.proof{background:var(--ink);border-top:1px solid #232B33;padding:var(--s2) 0;color:#8B949D}
.proof__grid{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:center}
.proof__seal{width:96px;height:96px;flex:none}
.proof__seal .seal__rot{animation:spin 26s linear infinite}
.proof b{color:var(--paper);font-size:17px;display:block;margin-bottom:4px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em}
.proof__note{font-size:13px;max-width:32em}

/* старую полосу доверия внутри героя отключаем */
.trust{display:none}

/* блики вокруг цилиндра — как на рендере */
.cyl .halo{fill:none;stroke:var(--gold);opacity:.10}
.cyl .flare{fill:var(--gold);opacity:0;animation:flare .9s 3.9s forwards}
@keyframes flare{40%{opacity:.5}100%{opacity:0}}

/* ===========================================================
   V9 — воздух между блоками, чистая боевая версия
   =========================================================== */

.proof{display:none}                       /* служебный блок вырезан */

/* телефон не липнет к кнопкам */
.hero .cta-row{margin-bottom:var(--s2)}
.phoneblock{margin:0}

/* заголовок ленты доверия отодвигаем от иконок */
.trustband{padding:var(--s3) 0}
.trustband__title{margin:0 0 var(--s3)}
.trustband__grid{gap:var(--s2) var(--s1);row-gap:var(--s3)}
.trustband svg{margin-bottom:14px}

@media(max-width:640px){
  .hero .cta-row{margin-bottom:18px}
  .trustband{padding:var(--s2) 0 var(--s3)}
  .trustband__title{margin-bottom:var(--s2);letter-spacing:.18em}
  .trustband__grid{row-gap:var(--s2)}
}

/* печать в подвале */
.foot__seal{display:flex;justify-content:flex-start;align-items:center;color:var(--gold);opacity:.75}
.foot__seal svg{width:96px;height:96px}
.foot__seal .seal__rot{transform-origin:60px 60px;animation:spin 26s linear infinite}
@media(prefers-reduced-motion:reduce){.foot__seal .seal__rot{animation:none}}

/* V10 — заголовок ленты доверия: ещё воздуха до иконок */
.trustband__title{margin:0 0 var(--s4)}
.trustband__grid{padding-top:4px}
@media(max-width:640px){
  .trustband__title{margin-bottom:var(--s3)}
}

/* ===========================================================
   V11 — зелёная кнопка звонка, сноска под прайсом
   =========================================================== */

/* кнопка вызова: зелёная, пульсирующая (красный читался как «тревога/отмена») */
.dock__call{background:linear-gradient(145deg,#33CE6B,#12924C)}
.dock__call::before,.dock__call::after{border-color:#33CE6B}
.dock__call{box-shadow:0 10px 26px rgba(30,170,90,.42)}

/* сноска под прайсом */
.table__note{margin:16px 0 0;font-size:14px;color:var(--ink-soft);max-width:52em}
