/* ===== Токены ===== */
:root{
  --bg:#070B1A;
  --surface:#0D1430;
  --surface-2:#111C3C;
  --line:rgba(34,228,245,.28);
  --line-soft:rgba(140,155,184,.18);
  --cyan:#22E4F5;
  --cyan-soft:#7EF0FA;
  --volt:#FFC21A;
  --volt-soft:#FFE9A3;
  --gold-deep:#E09A00;
  --silver:#C9D1DC;
  --gold-grad:linear-gradient(135deg,#FFE9A3 0%,#FFC21A 45%,#E09A00 100%);
  --silver-grad:linear-gradient(180deg,#FFFFFF 0%,#E3E8EF 55%,#9AA4B2 100%);
  --gold-glow:0 0 26px rgba(255,194,26,.4);
  --text:#E8F1FF;
  --muted:#8C9BB8;
  --glow:0 0 28px rgba(34,228,245,.45);
  --font-display:"Exo 2","Segoe UI",sans-serif;
  --font-body:Onest,"Segoe UI",system-ui,sans-serif;
  --wrap:1200px;
  --pad:clamp(20px,4vw,32px);
  --radius:18px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.55;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--cyan)}
a:hover{color:var(--cyan-soft)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.05;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Шапка ===== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,11,26,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.logo{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.05em}
.logo svg{flex:none}
.logo-mark{width:52px;height:52px;object-fit:contain}
.logo-pro{color:#FFC21A;text-shadow:0 0 14px rgba(255,194,26,.45)}
.nav{display:flex;gap:28px}
.nav a{color:#B7C4DC;text-decoration:none;font-size:15px;padding:6px 0;position:relative}
.nav a:hover{color:var(--text)}
.nav a[aria-current="page"]{color:var(--text)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--cyan);box-shadow:var(--glow)}
.header-phone{color:var(--text);text-decoration:none;font-weight:600;white-space:nowrap}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);cursor:pointer}
.burger span{display:block;width:18px;height:2px;margin:4px auto;background:currentColor;transition:transform .25s}

@media (max-width:900px){
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line-soft);padding:8px var(--pad) 20px;transform:translateY(-120%);transition:transform .3s ease;z-index:-1}
  .nav.open{transform:none}
  .nav a{font-size:18px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
  .nav a[aria-current="page"]::after{display:none}
  .header-phone{display:none}
  .burger{display:block}
}

/* ===== Кнопки ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:12px;font-family:var(--font-body);font-weight:600;font-size:17px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s}
.btn-primary{background:var(--gold-grad);color:#1A1405;box-shadow:var(--gold-glow),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-primary:hover{color:#1A1405;box-shadow:0 0 44px rgba(255,194,26,.65),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-ghost{border-color:var(--line);color:var(--text);background:transparent}
.btn-ghost:hover{color:var(--text);border-color:var(--cyan)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* ===== Секции ===== */
.section{padding:clamp(72px,10vw,120px) 0}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:clamp(36px,5vw,56px)}
.section-head h2{font-size:clamp(32px,4.4vw,48px);background:var(--silver-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head p{color:var(--muted);max-width:420px}
.page-hero{padding:clamp(64px,9vw,104px) 0 clamp(32px,5vw,56px)}
.page-hero h1{font-size:clamp(40px,6vw,72px);margin-bottom:20px;background:var(--silver-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.page-hero p{color:#B7C4DC;font-size:19px;max-width:620px}

/* ===== Главный экран ===== */
.hero{position:relative;overflow:hidden;padding:clamp(80px,12vw,140px) 0 clamp(56px,8vw,96px)}
.hero .wrap{position:relative;z-index:1}
.circuit{position:absolute;top:0;right:-30px;width:min(820px,95vw);height:auto;pointer-events:none}
.circuit .trace{fill:none;stroke:var(--cyan);stroke-width:1.6;opacity:.45;stroke-dasharray:100;stroke-dashoffset:100;animation:draw 1.4s ease-out forwards}
.circuit .pulse{fill:none;stroke:var(--cyan-soft);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 100;stroke-dashoffset:7;opacity:0;filter:drop-shadow(0 0 6px var(--cyan)) drop-shadow(0 0 2px #fff);animation-name:pulse;animation-timing-function:linear;animation-iteration-count:infinite}
.circuit .pulse.volt{stroke:var(--volt-soft);filter:drop-shadow(0 0 6px var(--volt)) drop-shadow(0 0 2px #fff)}
.circuit .node{fill:var(--bg);stroke:var(--cyan);stroke-width:1.6;opacity:.8}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pulse{0%{opacity:1;stroke-dashoffset:7}100%{opacity:1;stroke-dashoffset:-100}}
@media (max-width:760px){.circuit{opacity:.5;right:-220px}}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.hero-tag{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--cyan);font-size:14px}
.hero-tag.volt{border-color:rgba(255,194,26,.5);color:var(--volt)}
.hero h1{font-weight:800;font-size:clamp(38px,5.4vw,78px);line-height:1.02;max-width:1000px;margin-bottom:28px}
.hero-note{margin-top:20px;color:var(--muted);font-size:15px}
.hero h1.glow-all{position:relative;background:linear-gradient(110deg,#FFFFFF 0%,#E3E8EF 30%,#B4BDCA 55%,#F4F7FA 75%,#C9D1DC 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(34,228,245,.45))}
.hero h1 .h1-sparks{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);pointer-events:none;overflow:visible}
.h1-sparks path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.h1-sparks .s-glow{stroke:var(--cyan);stroke-width:4;opacity:.55;filter:blur(2px)}
.h1-sparks .s-core{stroke:#F2FEFF;stroke-width:1.4}
.h1-sparks .gold.s-glow{stroke:var(--volt);stroke-width:5;opacity:.8}
.h1-sparks .gold.s-core{stroke:#FFF1C2;stroke-width:1.8}
.hero-lead{font-size:clamp(18px,2vw,20px);color:#B7C4DC;max-width:600px;margin-bottom:36px}

/* ===== Веер услуг ===== */
.fan{position:relative;height:420px;margin-top:20px}
.fan-card{position:absolute;left:50%;top:40px;width:210px;height:280px;margin-left:-105px;transform-origin:50% 160%;will-change:transform}
.fan-card a{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}
.fan-card a:hover,.fan-card a:focus-visible{transform:translateY(-22px);border-color:var(--cyan);background:var(--surface-2);box-shadow:0 0 40px rgba(34,228,245,.45),inset 0 0 24px rgba(34,228,245,.12)}
.fan-card:hover,.fan-card:focus-within{z-index:10}
.fan-card .media{height:140px;display:flex;align-items:center;justify-content:center}
.fan-card .media img{max-height:140px;filter:drop-shadow(0 0 14px rgba(34,228,245,.35));transition:filter .3s ease,transform .3s ease}
.fan-card a:hover .media img{filter:drop-shadow(0 0 22px rgba(34,228,245,.6));transform:scale(1.06)}
.fan-card h3{font-size:20px;margin-bottom:6px}
.fan-card .from{color:var(--volt);font-size:15px;font-weight:600}
.fan-card a:hover .from{color:var(--volt-soft)}

@media (max-width:760px){
  .fan{height:auto;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px var(--pad) 24px;margin:0 calc(var(--pad) * -1)}
  .fan-card{position:relative;left:auto;top:auto;margin:0;flex:none;width:72%;max-width:260px;scroll-snap-align:center;transform:none!important}
  .fan-card a:hover{transform:none}
}

/* ===== Заглушка картинки ===== */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px;text-align:center;padding:10px;line-height:1.3}
.ph svg{color:var(--cyan)}

/* ===== Преимущества ===== */
.pros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);border-top:1px solid var(--line-soft);padding-top:40px}
.pros h3{font-size:22px;margin-bottom:12px}
.pros p{color:var(--muted)}
.pros svg{margin-bottom:20px;color:var(--volt);filter:drop-shadow(0 0 8px rgba(255,194,26,.4))}
@media (max-width:760px){.pros{grid-template-columns:1fr}}
.intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);margin-bottom:clamp(40px,6vw,64px)}
.intro h2{font-size:clamp(30px,3.8vw,44px);background:var(--silver-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-text p{color:#C9D4E8;font-size:18px;margin-bottom:16px}
.intro-text p:last-child{margin-bottom:0}
.pros-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,40px)}
@media (max-width:980px){.pros-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.intro{grid-template-columns:1fr}}
@media (max-width:560px){.pros-4{grid-template-columns:1fr}}

/* ===== Шаги ===== */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:step;position:relative}
.step{padding:0 28px 0 0;position:relative}
.step-num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--volt);font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--volt);background:var(--bg);position:relative;z-index:1;margin-bottom:24px;box-shadow:var(--gold-glow)}

.step h3{font-size:22px;margin-bottom:10px}
.step p{color:var(--muted)}
@media (max-width:760px){
  .steps{grid-template-columns:1fr;gap:36px}
  .step{padding:0 0 0 76px}
  .step-num{position:absolute;left:0;top:-4px;margin:0}
}

/* ===== Отзывы ===== */
.reviews{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.review{flex:none;width:min(380px,82vw);scroll-snap-align:start;padding:28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft)}
.review p{color:#C9D4E8;margin-bottom:20px}
.review strong{font-family:var(--font-display);font-size:18px}
.reviews-nav{display:flex;gap:10px}
.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}
.icon-btn:hover{border-color:var(--cyan);color:var(--cyan)}

/* ===== Работы ===== */
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
@media (max-width:760px){.works{grid-template-columns:1fr}}
.work h3{font-size:20px;margin-top:16px}
.ba{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);user-select:none}
.ba-layer{position:absolute;inset:0}
.ba-layer img{width:100%;height:100%;object-fit:cover}
.ba-layer .ph{border:none;border-radius:0}
.ba-before{background:#0A1024}
.ba-after{clip-path:inset(0 0 0 var(--pos,50%));background:var(--surface-2)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;margin-left:-1px;background:var(--cyan);box-shadow:var(--glow);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--cyan);background:var(--bg)}
.ba-label{position:absolute;bottom:14px;padding:4px 10px;border-radius:8px;background:rgba(7,11,26,.8);font-size:13px;color:var(--text);pointer-events:none}
.ba-label.l{left:14px}.ba-label.r{right:14px}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

/* ===== Прайс ===== */
.chips{position:sticky;top:72px;z-index:20;background:rgba(7,11,26,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.chips .wrap{display:flex;gap:10px;overflow-x:auto;padding-top:14px;padding-bottom:14px;scrollbar-width:none}
.chips a{flex:none;padding:9px 16px;border-radius:999px;border:1px solid var(--line);color:#B7C4DC;text-decoration:none;font-size:15px}
.chips a:hover,.chips a.active{color:var(--bg);background:var(--cyan);border-color:var(--cyan)}
.visit{margin-top:28px;display:inline-flex;flex-direction:column;gap:6px;max-width:560px;padding:14px 20px;border-radius:12px;border:1px solid rgba(255,194,26,.6);color:var(--text);box-shadow:var(--gold-glow)}
.visit strong{font-weight:600;font-size:18px}
.visit span{font-size:14px;color:var(--muted)}
.price-cat{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:56px 0;border-bottom:1px solid var(--line-soft);scroll-margin-top:150px}
.price-cat:last-child{border-bottom:0}
.price-side{position:sticky;top:160px;align-self:start}
.price-side .media{height:180px;margin-bottom:20px}
.price-side .media img{max-height:180px;margin:0 auto;filter:drop-shadow(0 0 18px rgba(34,228,245,.35))}
.price-side h2{font-size:30px;margin-bottom:6px}
.price-side .from{color:var(--volt);font-weight:600}
.price-group h3{font-size:16px;font-family:var(--font-body);font-weight:600;color:var(--muted);margin:28px 0 8px}
.price-group:first-child h3{margin-top:0}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px dashed var(--line-soft)}
.price-row span:first-child{color:#D5DEEE}
.price-row span:last-child{flex:none;font-weight:600;white-space:nowrap}
@media (max-width:760px){
  .price-cat{grid-template-columns:1fr;padding:40px 0}
  .price-side{position:static;display:flex;align-items:center;gap:16px}
  .price-side .media{width:96px;height:96px;margin:0;flex:none}
  .price-side .media img{max-height:96px}
  .price-side h2{font-size:24px}
  .price-row{flex-direction:column;gap:2px}
}

/* ===== Калькулятор ===== */
.calc{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,48px);align-items:start}
.calc-tabs{display:flex;flex-wrap:wrap;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:none}
.calc-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#B7C4DC;font:inherit;font-size:15px;cursor:pointer}
.calc-tab:hover{color:var(--text);border-color:var(--cyan)}
.calc-tab[aria-selected="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}
.calc-tab .badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--cyan);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.calc-tab[aria-selected="true"] .badge{background:var(--bg)}
.calc-list h3{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--muted);margin:24px 0 4px}
.calc-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line-soft)}
.calc-row.on .calc-name{color:var(--text)}
.calc-name{color:#C9D4E8}
.calc-price{color:var(--muted);font-size:15px;white-space:nowrap}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.calc-row.on .stepper{border-color:var(--volt);box-shadow:0 0 14px rgba(255,194,26,.25)}
.stepper button{width:40px;height:40px;border:0;background:transparent;color:var(--text);font-size:20px;cursor:pointer}
.stepper button:hover{color:var(--cyan)}
.stepper input{width:52px;height:40px;border:0;background:transparent;color:var(--text);text-align:center;font:inherit;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc-sum{position:sticky;top:96px;padding:clamp(22px,3vw,32px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.calc-sum h3{font-size:22px;margin-bottom:16px}
.calc-lines{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;margin-bottom:20px}
.calc-line{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:#C9D4E8}
.calc-line span:last-child{white-space:nowrap;color:var(--text)}
.calc-empty{color:var(--muted);margin-bottom:20px}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:18px;border-top:1px solid var(--line-soft)}
.calc-total span{color:var(--muted)}
.calc-total strong{font-family:var(--font-display);font-size:clamp(30px,3.6vw,40px);color:var(--volt);text-shadow:0 0 20px rgba(255,194,26,.45)}
.calc-note{margin:14px 0 22px;font-size:14px;color:var(--muted);line-height:1.5}
.calc-sum .btn{width:100%}
.calc-reset{display:block;margin:12px auto 0;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}
.calc-reset:hover{color:var(--text)}
@media (max-width:900px){.calc{grid-template-columns:1fr}.calc-sum{position:static}}
@media (max-width:560px){.calc-tabs{flex-wrap:nowrap}}
@media (max-width:560px){.calc-row{grid-template-columns:minmax(0,1fr) auto}.calc-price{grid-column:1;grid-row:2;margin-top:-10px}.stepper{grid-column:2;grid-row:1/3}}

/* ===== Контакты и форма ===== */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.contact-list{display:flex;flex-direction:column;gap:22px}
.contact-list .big{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--text);text-decoration:none}
.contact-list .big:hover{color:var(--cyan)}
.contact-list .mail{font-size:19px;color:#C9D4E8;text-decoration:none}
.contact-note{color:var(--muted)}
.contact-person{display:flex;flex-direction:column;gap:4px;margin-bottom:-8px}
.contact-label{font-size:14px;color:var(--muted)}
.contact-name{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--volt);text-shadow:0 0 18px rgba(255,194,26,.4)}
.form{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,4vw,36px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.form h2{font-size:28px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:15px;color:#B7C4DC}
.field input,.field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:12px;border:1px solid var(--line-soft);background:var(--bg);color:var(--text);font:inherit}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,228,245,.2)}
.field input::placeholder,.field textarea::placeholder{color:#5F6E8C}
.form small{color:var(--muted);font-size:13px}

/* ===== CTA-полоса ===== */
.cta-band{position:relative;padding:clamp(56px,8vw,88px) 0;background:radial-gradient(60% 120% at 50% 100%,rgba(34,228,245,.10),transparent 70%)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.cta-band h2{font-size:clamp(30px,4vw,44px);max-width:620px;background:var(--silver-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== Подвал ===== */
.site-footer{padding:48px 0 calc(48px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:15px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.site-footer a{color:#B7C4DC;text-decoration:none}
.site-footer a:hover{color:var(--volt)}
.footer-links{display:flex;flex-wrap:wrap;gap:20px}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-slogan{color:var(--volt);font-size:14px;line-height:1.5}
.footer-brand .logo{font-size:18px}
.footer-brand .logo-mark{width:38px;height:38px}

/* ===== Окно с номером (компьютер) ===== */
.phone-pop{position:fixed;z-index:90;width:300px;padding:22px 22px 20px;border-radius:16px;background:var(--surface-2);border:1px solid var(--cyan);box-shadow:0 0 40px rgba(34,228,245,.35),0 20px 50px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:10px}
.phone-pop[hidden]{display:none}
.phone-pop-label{font-size:14px;color:var(--muted)}
.phone-pop-num{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--text);user-select:all}
.phone-pop-copy{margin-top:6px;min-height:48px;width:100%}
.phone-pop-close{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}
.phone-pop-close:hover{color:var(--text)}

/* ===== Мобильная панель связи ===== */
.mobile-bar{display:none}
@media (max-width:760px){
  .mobile-bar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(7,11,26,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line-soft)}
  .mobile-bar a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid var(--line);color:var(--text)}
  .mobile-bar a.call{background:var(--gold-grad);color:#1A1405;border-color:var(--volt)}
  body{padding-bottom:76px}
}

/* ===== Переход между страницами ===== */
.transition{position:fixed;inset:0;z-index:100;pointer-events:none;background:var(--bg);opacity:1;transition:opacity .45s ease}
.transition svg{position:absolute;inset:0;width:100%;height:100%}
.transition .t-trace{fill:none;stroke:var(--cyan);stroke-width:1.6;opacity:.5}
.transition .t-pulse{fill:none;stroke:var(--cyan-soft);stroke-width:3;stroke-linecap:round;stroke-dasharray:5 100;stroke-dashoffset:5;filter:drop-shadow(0 0 6px var(--cyan));opacity:0}
body.is-ready .transition{opacity:0}
body.is-leaving .transition{opacity:1;transition-duration:.25s}
body.is-leaving .transition .t-trace{stroke-dasharray:100;stroke-dashoffset:100;animation:draw .45s ease-out forwards}
body.is-leaving .transition .t-pulse{animation:pulse .55s linear forwards}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .circuit .trace{stroke-dashoffset:0}
  .hero h1 .h1-sparks{display:none}
  .circuit .pulse{display:none}
}

/* ===== Молнии ===== */
.bolt{position:absolute;pointer-events:none;overflow:visible}
.bolt path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.bolt .b-glow{stroke:var(--volt);stroke-width:5;opacity:.4;filter:blur(3px)}
.bolt .b-core{stroke:#FFF9DC;stroke-width:1.6}
.bolt .b-branch{stroke:var(--volt);stroke-width:1;opacity:.75}
.steps .bolt{inset:0;width:100%;height:100%;z-index:0}
.step{z-index:1}
.cta-band .bolt{left:0;width:100%;height:24px}
.cta-band .bolt.top{top:-12px}
.cta-band .bolt.bottom{bottom:-12px}

/* ===== Линии с бегущим импульсом ===== */
.site-header::after,.pros::after{content:"";position:absolute;height:1px;width:160px;left:-160px;background:linear-gradient(90deg,transparent,var(--cyan-soft),transparent);box-shadow:0 0 8px var(--cyan);animation:runline 7s linear infinite}
.site-header::after{bottom:-1px}
.pros{position:relative}
.pros::after{top:-1px;animation-duration:6s;animation-delay:1.5s}
.nav a[aria-current="page"]::after{background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan) 40%,#fff 50%,var(--cyan) 60%,var(--cyan) 100%);background-size:300% 100%;animation:gleam 2.6s linear infinite}
@keyframes runline{0%{left:-160px}45%{left:100%}100%{left:100%}}
@keyframes gleam{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.site-header::after,.pros::after{display:none}}
