@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#07110d;
  --panel:#0b1712;
  --panel2:#0e1d17;
  --green:#8cff47;
  --green2:#39e67b;
  --text:#f3f7f4;
  --muted:#8c9a92;
  --line:rgba(255,255,255,.11);
  --wrap:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Manrope,system-ui,sans-serif;overflow-x:hidden;
}
body.modal-open{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
h1,h2,h3,p{margin-top:0}
::selection{background:var(--green);color:#06100b}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin:auto}

#ambient-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2;opacity:.62}
.noise{
  position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.cursor-glow{
  position:fixed;z-index:-1;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(98,255,84,.11) 0%,rgba(98,255,84,0) 65%);
  transform:translate(-50%,-50%);pointer-events:none;left:50%;top:50%;
}

.header{
  position:fixed;z-index:80;left:0;right:0;top:0;
  border-bottom:1px solid var(--line);
  background:rgba(7,17,13,.72);backdrop-filter:blur(18px);
}
.header__inner{height:78px;display:flex;align-items:center;gap:34px}
.logo{display:flex;align-items:center;gap:12px;min-width:max-content}
.logo__icon{width:42px;height:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;transform:skew(-10deg)}
.logo__icon i{background:var(--green);border-radius:2px;animation:logoBars 1.8s ease-in-out infinite}
.logo__icon i:nth-child(2){animation-delay:.15s}.logo__icon i:nth-child(3){animation-delay:.3s}
@keyframes logoBars{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.logo__text b{display:block;letter-spacing:.09em;font-size:17px}
.logo__text em{display:block;color:var(--muted);font-size:8px;font-style:normal;letter-spacing:.19em;margin-top:1px}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{font-size:12px;color:#b7c1bb;letter-spacing:.06em;transition:.25s}
.nav a:hover{color:var(--green)}
.header__right{display:flex;align-items:center;gap:16px}
.header__phone{display:flex;flex-direction:column;text-align:right}
.header__phone small{font-size:9px;color:var(--muted);text-transform:uppercase}
.header__phone strong{font-size:14px}
.round-btn{border:1px solid var(--line);width:44px;height:44px;border-radius:50%;background:transparent;color:var(--green);font-size:19px;transition:.25s}
.round-btn:hover{background:var(--green);color:#06100b;transform:rotate(45deg)}
.menu-btn{display:none;background:none;border:0;width:42px;height:42px;padding:10px}
.menu-btn i{display:block;height:2px;background:#fff;margin:7px 0}

.hero{position:relative;padding-top:78px;min-height:100vh;overflow:hidden}
.hero__grid{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.07fr .93fr;gap:58px;align-items:center;padding:58px 0 112px}
.hero__orb{position:absolute;border-radius:50%;filter:blur(20px);pointer-events:none}
.hero__orb--one{width:420px;height:420px;background:rgba(46,255,134,.09);right:7%;top:12%;animation:orbFloat 8s ease-in-out infinite}
.hero__orb--two{width:280px;height:280px;background:rgba(140,255,71,.07);left:22%;bottom:5%;animation:orbFloat 11s ease-in-out infinite reverse}
@keyframes orbFloat{50%{transform:translate3d(20px,-35px,0) scale(1.08)}}
.hero__status{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.14em;color:#bac8c0;margin-bottom:27px}
.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 7px rgba(140,255,71,.09);animation:pulse 1.8s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(140,255,71,0)}}
.hero h1{
  font-size:clamp(54px,6.25vw,94px);line-height:.86;letter-spacing:-.065em;font-weight:800;margin-bottom:38px;
}
.hero h1 span{display:block}
.outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75)}
.accent{color:var(--green)}
.hero__bottom{display:grid;grid-template-columns:.86fr 1.14fr;gap:30px;align-items:end}
.hero__bottom p{margin:0;color:#9daaa3;line-height:1.7;font-size:14px}
.hero__actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cta,.mega-button{
  border:0;background:var(--green);color:#08100c;border-radius:999px;
  min-height:60px;padding:0 8px 0 24px;font-weight:800;display:inline-flex;align-items:center;gap:22px;
  letter-spacing:.035em;font-size:12px;position:relative;overflow:hidden;
}
.cta::before,.mega-button::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%);animation:shine 3.8s infinite}
@keyframes shine{55%,100%{transform:translateX(130%)}}
.cta b,.mega-button b{width:46px;height:46px;border-radius:50%;background:#08100c;color:var(--green);display:grid;place-items:center;font-size:17px;position:relative;z-index:1}
.cta span,.mega-button span{position:relative;z-index:1}
.text-link{font-size:12px;color:#bdc8c2;border-bottom:1px solid #6d7872;padding-bottom:3px}
.text-link:hover{color:var(--green);border-color:var(--green)}

.hero__visual{min-width:0}
.visual-shell{
  position:relative;aspect-ratio:1/1;border-radius:34px;border:1px solid var(--line);overflow:hidden;
  background:
    radial-gradient(circle at 62% 32%,rgba(140,255,71,.12),transparent 22%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  transform-style:preserve-3d;box-shadow:0 40px 100px rgba(0,0,0,.32)
}
.visual-grid{
  position:absolute;inset:0;opacity:.24;
  background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 90%)
}
.route-line{position:absolute;inset:0}
.route-line svg{width:100%;height:100%;overflow:visible}
.route-line path{fill:none;stroke:rgba(140,255,71,.38);stroke-width:1.7;stroke-dasharray:6 9;animation:dash 14s linear infinite}
.route-line circle{fill:var(--green);filter:drop-shadow(0 0 8px var(--green))}
@keyframes dash{to{stroke-dashoffset:-180}}
.floating-tag{
  position:absolute;z-index:5;padding:9px 12px;border-radius:12px;border:1px solid var(--line);
  background:rgba(8,20,14,.73);backdrop-filter:blur(10px);font-size:10px;display:flex;gap:8px;
  animation:tagFloat 4s ease-in-out infinite
}
.floating-tag span{color:var(--green)}
.tag-1{left:9%;top:20%}.tag-2{right:6%;top:38%;animation-delay:.7s}.tag-3{left:18%;bottom:12%;animation-delay:1.3s}
@keyframes tagFloat{50%{transform:translateY(-9px)}}
.truck-art{position:absolute;left:13%;right:11%;bottom:25%;height:150px;filter:drop-shadow(0 24px 25px rgba(0,0,0,.45))}
.truck-art__box{position:absolute;left:0;bottom:28px;width:66%;height:120px;background:linear-gradient(150deg,#8cff47,#45e971);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);border-radius:8px 4px 5px 7px}
.truck-art__logo{font-size:36px;font-weight:800;letter-spacing:.08em;color:#07110d;position:absolute;left:25px;top:31px}
.truck-art__line{position:absolute;left:25px;right:25px;bottom:28px;height:2px;background:rgba(7,17,13,.35)}
.truck-art__cab{position:absolute;left:64%;bottom:28px;width:29%;height:89px;background:#d9e5dd;clip-path:polygon(0 0,70% 0,100% 38%,100% 100%,0 100%);border-radius:5px}
.truck-art__cab span{position:absolute;left:19%;top:13px;width:57%;height:32px;background:#294238;clip-path:polygon(0 0,74% 0,100% 100%,0 100%)}
.wheel{position:absolute;bottom:0;width:44px;height:44px;border-radius:50%;background:#0a0f0c;border:10px solid #334139;box-shadow:inset 0 0 0 4px #9aaba1}
.w1{left:14%}.w2{right:13%}
.visual-metric{position:absolute;z-index:5;display:flex;flex-direction:column}
.visual-metric small{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.visual-metric strong{font-size:21px}
.metric-a{right:9%;bottom:8%}.metric-b{left:7%;top:6%}
.scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 18px var(--green);animation:scan 4.2s linear infinite}
@keyframes scan{0%{top:10%;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:92%;opacity:0}}

.marquee{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:rgba(9,22,16,.72);backdrop-filter:blur(8px)}
.marquee__track{display:flex;align-items:center;width:max-content;gap:25px;padding:16px 0;animation:marquee 26s linear infinite}
.marquee span{font-size:11px;letter-spacing:.12em;color:#aebbb4;font-weight:700}
.marquee i{font-style:normal;color:var(--green)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding:120px 0;position:relative}
.section-number{font-size:10px;letter-spacing:.18em;color:var(--green);font-weight:800}
.intro{border-bottom:1px solid var(--line)}
.intro__grid{display:grid;grid-template-columns:.45fr 1.2fr .7fr;gap:55px}
.intro__main h2,.section-top h2,.price-head h2,.review-title h2,.final-cta h2{
  font-size:clamp(38px,4.8vw,68px);line-height:.95;letter-spacing:-.055em;margin:0;font-weight:700
}
.intro__main p{max-width:680px;color:var(--muted);font-size:15px;line-height:1.8;margin:26px 0 0}
.intro__stats{display:grid;grid-template-columns:1fr;gap:24px}
.intro__stats div{border-left:1px solid var(--line);padding-left:18px}
.intro__stats strong{font-size:34px;display:block;color:var(--green);line-height:1}
.intro__stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}

.section-top{display:grid;grid-template-columns:.45fr 1.55fr;gap:55px;align-items:start;margin-bottom:64px}
.section-top h2 span,.price-head h2 span,.review-title h2 span{color:#607068}
.service-list{border-top:1px solid var(--line)}
.service-row{
  display:grid;grid-template-columns:80px 1.25fr 1fr 60px;align-items:center;gap:20px;
  min-height:116px;border-bottom:1px solid var(--line);transition:.3s;cursor:pointer;position:relative;overflow:hidden
}
.service-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(140,255,71,.12),transparent);transform:translateX(-100%);transition:.45s}
.service-row:hover::before{transform:translateX(0)}
.service-row:hover{padding-left:16px}
.service-row__num{color:var(--green);font-size:11px;position:relative}
.service-row h3{font-size:28px;letter-spacing:-.03em;margin:0;position:relative}
.service-row p{color:var(--muted);font-size:13px;margin:0;position:relative}
.service-row b{justify-self:end;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--green);position:relative;transition:.3s}
.service-row:hover b{background:var(--green);color:#06100b;transform:rotate(45deg)}

.price-section{background:#0a1510;border-block:1px solid var(--line)}
.price-head{display:grid;grid-template-columns:1.1fr .6fr;gap:80px;align-items:end;margin-bottom:58px}
.price-head p{color:var(--muted);line-height:1.8;margin:0}
.price-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.price-card{
  min-height:330px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:22px;padding:24px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;transform-style:preserve-3d
}
.price-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(140,255,71,.08);right:-80px;bottom:-80px;filter:blur(4px)}
.price-card--hot{background:linear-gradient(145deg,rgba(140,255,71,.14),rgba(255,255,255,.03));border-color:rgba(140,255,71,.42)}
.price-card__badge{position:absolute;right:16px;top:16px;font-size:8px;letter-spacing:.1em;background:var(--green);color:#07110d;padding:6px 8px;border-radius:999px;font-weight:900}
.price-card__top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
.price-card__top i{font-style:normal;color:var(--green)}
.price-card h3{margin:84px 0 14px;font-size:18px}
.price-value{font-size:13px;color:var(--muted)}
.price-value b{font-size:32px;color:#fff;letter-spacing:-.04em}
.price-card p{color:var(--muted);font-size:12px;margin:auto 0 0;line-height:1.65;max-width:210px}
.demo-note{font-size:10px;color:#66736c;margin:16px 0 0}

.process{overflow:hidden}
.process-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(57,230,123,.06);filter:blur(20px);right:-150px;top:20%;animation:orbFloat 10s ease-in-out infinite}
.timeline{position:relative;margin-left:28%;max-width:760px}
.timeline__line{position:absolute;left:29px;top:0;bottom:0;width:1px;background:var(--line)}
.timeline__line i{display:block;width:1px;height:0;background:var(--green);box-shadow:0 0 10px var(--green);transition:height .2s linear}
.timeline__item{display:grid;grid-template-columns:60px 1fr;gap:26px;position:relative;padding:10px 0 58px}
.timeline__item>span{
  width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;
  background:var(--bg);font-size:10px;color:var(--green);z-index:2
}
.timeline__item h3{font-size:30px;letter-spacing:-.035em;margin:2px 0 8px}
.timeline__item p{color:var(--muted);font-size:13px;margin:0}

.review-section{background:#0a1510;border-top:1px solid var(--line)}
.review-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.review-title{position:sticky;top:130px;align-self:start}
.review-title h2{margin-top:22px}
.review-title p{max-width:440px;color:var(--muted);line-height:1.75;font-size:13px;margin:25px 0 0}
.review-stack{display:grid;gap:16px}
.review{
  border:1px solid var(--line);border-radius:22px;padding:28px;background:rgba(255,255,255,.02);
  min-height:235px;display:flex;flex-direction:column;transition:.3s
}
.review:hover{transform:translateX(-10px);border-color:rgba(140,255,71,.35)}
.review__stars{color:var(--green);letter-spacing:.14em;font-size:12px}
.review p{font-size:17px;line-height:1.65;margin:30px 0}
.review footer{display:flex;justify-content:space-between;margin-top:auto;border-top:1px solid var(--line);padding-top:15px}
.review footer span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}

.final-cta{position:relative;overflow:hidden;padding:125px 0;background:var(--green);color:#07110d}
.final-cta__orb{position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(7,17,13,.19);right:-120px;top:-180px}
.final-cta__orb::before,.final-cta__orb::after{content:"";position:absolute;border:1px solid rgba(7,17,13,.13);border-radius:50%;inset:55px}
.final-cta__orb::after{inset:115px}
.final-cta .section-number{color:#25442d}
.final-cta__inner{display:grid;grid-template-columns:1.05fr .7fr;gap:80px;align-items:end;position:relative}
.final-cta__action p{line-height:1.7;max-width:440px;font-size:14px}
.mega-button{background:#07110d;color:#fff;margin-top:16px}
.mega-button b{background:var(--green);color:#07110d}

.footer{padding:52px 0 86px;border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px;align-items:start}
.footer__grid>div{display:flex;flex-direction:column}
.footer small{font-size:8px;color:var(--muted);letter-spacing:.13em;margin-bottom:7px}
.footer a,.footer span{font-size:12px}

.mobile-bar{display:none}
.modal{position:fixed;inset:0;z-index:200;display:none}
.modal.is-open{display:block}
.modal__shade{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(10px)}
.modal__box{
  position:absolute;right:26px;top:26px;bottom:26px;width:min(520px,calc(100% - 52px));background:#0c1813;
  border:1px solid var(--line);border-radius:28px;padding:46px;overflow:auto;box-shadow:0 30px 120px rgba(0,0,0,.5)
}
.modal__close{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#fff;font-size:23px}
.modal__box h2{font-size:48px;line-height:.9;letter-spacing:-.055em;margin:24px 0 18px}
.modal__box>p{color:var(--muted);font-size:13px;line-height:1.7}
#lead-form{display:grid;gap:17px;margin-top:32px}
#lead-form label span{font-size:9px;letter-spacing:.12em;color:#94a199;display:block;margin:0 0 7px 3px;text-transform:uppercase}
#lead-form input{width:100%;min-height:58px;border-radius:14px;border:1px solid var(--line);background:#08120e;color:#fff;padding:0 15px;outline:none}
#lead-form input:focus{border-color:var(--green)}
#lead-form small{font-size:9px;color:#66736c}
.toast{
  position:fixed;z-index:250;right:24px;bottom:24px;border:1px solid rgba(140,255,71,.35);
  background:#0c1813;border-radius:15px;padding:15px 18px;display:none;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35)
}
.toast.is-visible{display:flex}
.toast span{font-size:10px;color:var(--muted);margin-top:3px}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1050px){
  .nav{display:none}
  .nav.is-open{display:flex;position:absolute;top:77px;left:0;right:0;padding:20px 24px;background:#07110d;border-bottom:1px solid var(--line);flex-direction:column}
  .header__phone{display:none}
  .menu-btn{display:block}
  .hero__grid{grid-template-columns:1fr 1fr;gap:28px}
  .hero h1{font-size:64px}
  .hero__bottom{grid-template-columns:1fr}
  .price-cards{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1.4fr repeat(3,1fr)}
}

@media (max-width:760px){
  .wrap{width:min(100% - 28px,var(--wrap))}
  .header__inner{height:68px}
  .round-btn{display:none}
  .hero{padding-top:68px;min-height:auto}
  .hero__grid{display:block;min-height:auto;padding:54px 0 112px}
  .hero h1{font-size:clamp(47px,14vw,64px);margin-bottom:28px}
  .hero__bottom{display:block}
  .hero__bottom p{font-size:13px}
  .hero__actions{margin-top:22px}
  .cta{width:100%;justify-content:space-between}
  .hero__visual{margin-top:44px}
  .visual-shell{border-radius:24px}
  .truck-art{bottom:23%;height:115px}
  .truck-art__box{height:92px}
  .truck-art__logo{font-size:25px;top:25px;left:18px}
  .truck-art__cab{height:71px}
  .wheel{width:36px;height:36px;border-width:8px}
  .floating-tag{font-size:8px}
  .marquee__track{padding:13px 0}
  .section{padding:82px 0}
  .intro__grid{grid-template-columns:1fr;gap:30px}
  .intro__main h2,.section-top h2,.price-head h2,.review-title h2,.final-cta h2{font-size:43px}
  .intro__stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .intro__stats div{padding-left:9px}
  .intro__stats strong{font-size:26px}
  .intro__stats span{font-size:8px}
  .section-top{grid-template-columns:1fr;gap:20px;margin-bottom:38px}
  .service-row{grid-template-columns:45px 1fr 44px;min-height:102px;gap:12px}
  .service-row p{display:none}
  .service-row h3{font-size:21px}
  .price-head{grid-template-columns:1fr;gap:24px}
  .price-cards{grid-template-columns:1fr}
  .price-card{min-height:250px}
  .price-card h3{margin-top:55px}
  .timeline{margin-left:0}
  .timeline__item h3{font-size:23px}
  .review-layout{grid-template-columns:1fr;gap:45px}
  .review-title{position:static}
  .review p{font-size:15px}
  .final-cta{padding:90px 0}
  .final-cta__inner{grid-template-columns:1fr;gap:35px}
  .mega-button{width:100%;justify-content:space-between}
  .footer{padding-bottom:105px}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__grid>a{grid-column:1/-1;margin-bottom:12px}
  .mobile-bar{
    position:fixed;z-index:90;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));
    display:grid;grid-template-columns:.9fr 1.1fr;background:#f5f8f6;border-radius:16px;overflow:hidden;
    box-shadow:0 16px 45px rgba(0,0,0,.4)
  }
  .mobile-bar a,.mobile-bar button{min-height:54px;border:0;display:grid;place-items:center;font-size:11px;font-weight:900}
  .mobile-bar a{color:#07110d}.mobile-bar button{background:var(--green);color:#07110d}
  .modal__box{left:12px;right:12px;top:12px;bottom:12px;width:auto;padding:30px 22px}
  .modal__box h2{font-size:40px}
  .cursor-glow{display:none}
  .toast{left:14px;right:14px;bottom:78px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}


/* ===== V4 PHOTO / BANNERS ===== */
.hero-photo-layer{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-photo-layer img{width:100%;height:112%;object-fit:cover;position:absolute;left:0;top:-6%;filter:saturate(.82) contrast(1.05) brightness(.72);transform:scale(1.04)}
.hero-photo-overlay{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(5,15,10,.12),rgba(5,15,10,.5)),
  radial-gradient(circle at 65% 25%,rgba(140,255,71,.18),transparent 36%)}
.visual-shell.has-photo .visual-grid{z-index:2;opacity:.18}
.visual-shell.has-photo .route-line{z-index:3}
.visual-shell.has-photo .floating-tag,.visual-shell.has-photo .visual-metric,.visual-shell.has-photo .scan-line{z-index:6}
.visual-shell.has-photo .truck-art{opacity:0;transform:translateY(30px)}
.visual-shell.has-photo{box-shadow:0 45px 110px rgba(0,0,0,.48)}

.service-row{grid-template-columns:80px minmax(210px,1.1fr) minmax(220px,.9fr) 122px 60px}
.service-photo{
  width:112px;height:72px;border-radius:13px;overflow:hidden;justify-self:end;
  border:1px solid var(--line);background:
  radial-gradient(circle at 30% 30%,rgba(140,255,71,.22),transparent 35%),
  linear-gradient(135deg,#13271d,#0b1510);
  position:relative;transition:.35s
}
.service-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.14) 50%,transparent 75%);transform:translateX(-130%);transition:.55s}
.service-row:hover .service-photo::after{transform:translateX(130%)}
.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.service-row:hover .service-photo img{transform:scale(1.08)}
.service-photo span{position:absolute;right:9px;bottom:7px;font-size:9px;color:var(--green);font-weight:800}

.photo-promo{
  width:min(1440px,calc(100% - 30px));margin:0 auto 0;min-height:570px;border-radius:34px;
  position:relative;overflow:hidden;display:flex;align-items:flex-end;border:1px solid var(--line);
  background:
    radial-gradient(circle at 70% 25%,rgba(140,255,71,.24),transparent 25%),
    linear-gradient(135deg,#10251a,#07110d 67%);
  box-shadow:0 40px 120px rgba(0,0,0,.3)
}
.photo-promo__image{position:absolute;inset:-7% 0;width:100%;height:114%;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.62);transform:scale(1.03)}
.photo-promo__veil{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(3,12,7,.88) 0%,rgba(3,12,7,.45) 52%,rgba(3,12,7,.2) 100%),
  linear-gradient(0deg,rgba(3,12,7,.72),transparent 58%)}
.photo-promo__lines{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,#000,transparent 90%)}
.photo-promo__inner{position:relative;z-index:3;display:grid;grid-template-columns:1.08fr .62fr;gap:80px;align-items:end;padding-top:90px;padding-bottom:65px}
.photo-promo h2{font-size:clamp(48px,6vw,86px);line-height:.9;letter-spacing:-.06em;margin:18px 0 0;max-width:900px}
.photo-promo h2 span{color:var(--green)}
.photo-promo__action p{max-width:430px;color:#c0cdc5;line-height:1.75;font-size:14px;margin-bottom:22px}
.photo-promo__float{
  position:absolute;z-index:4;border:1px solid rgba(255,255,255,.18);background:rgba(7,17,13,.58);
  backdrop-filter:blur(10px);padding:9px 13px;border-radius:999px;color:#dce7e0;font-size:9px;
  letter-spacing:.13em;font-weight:800;animation:tagFloat 4.5s ease-in-out infinite
}
.photo-promo__float--1{right:8%;top:12%}
.photo-promo__float--2{right:24%;top:31%;animation-delay:.8s}
.photo-promo__float--3{right:9%;top:48%;animation-delay:1.4s}

.gallery-section{background:#08130e;border-top:1px solid var(--line)}
.gallery-head{display:grid;grid-template-columns:.42fr 1.58fr;gap:55px;margin-bottom:55px}
.gallery-head h2{font-size:clamp(42px,5vw,72px);line-height:.93;letter-spacing:-.055em;margin:0}
.gallery-head h2 span{color:#5f7066}
.gallery-head p{color:var(--muted);max-width:600px;line-height:1.75;font-size:13px;margin:20px 0 0}
.gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:115px;gap:14px}
.gallery-item{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#102018;min-height:230px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s;filter:saturate(.83)}
.gallery-item:hover img{transform:scale(1.055);filter:saturate(1)}
.gallery-item__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(1,8,4,.82))}
.gallery-item figcaption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-item figcaption span{font-size:9px;color:var(--green)}
.gallery-item figcaption strong{font-size:12px;text-align:right}
.gallery-item--1{grid-column:span 7;grid-row:span 4}
.gallery-item--2{grid-column:span 5;grid-row:span 2}
.gallery-item--3{grid-column:span 5;grid-row:span 2}
.gallery-item--4{grid-column:span 4;grid-row:span 3}
.gallery-item--5{grid-column:span 4;grid-row:span 3}
.gallery-item--6{grid-column:span 4;grid-row:span 3}

@media(max-width:900px){
  .service-row{grid-template-columns:55px 1fr 90px 48px}
  .service-row p{display:none}
  .service-photo{width:82px;height:58px}
  .photo-promo__inner{grid-template-columns:1fr;gap:28px}
  .photo-promo{min-height:520px}
  .photo-promo__float{display:none}
  .gallery-head{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
  .service-row{grid-template-columns:40px 1fr 72px 40px;gap:8px}
  .service-photo{width:68px;height:52px;border-radius:10px}
  .photo-promo{width:calc(100% - 20px);min-height:590px;border-radius:24px}
  .photo-promo__inner{padding-top:70px;padding-bottom:38px}
  .photo-promo h2{font-size:45px}
  .photo-promo__veil{background:linear-gradient(0deg,rgba(3,12,7,.92) 0%,rgba(3,12,7,.45) 70%,rgba(3,12,7,.3) 100%)}
  .gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:auto}
  .gallery-item,.gallery-item--1,.gallery-item--2,.gallery-item--3,.gallery-item--4,.gallery-item--5,.gallery-item--6{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:0}
}


/* ===== V5.2 MOBILE PHOTO STABILITY FIX ===== */
/* Базовая страховка от горизонтального переполнения изображений */
img{
  display:block;
  max-width:100%;
}

/* На touch/tablet фото не должны получать hover/tilt-увеличение */
@media (hover:none), (pointer:coarse){
  .service-row:hover .service-photo img,
  .gallery-item:hover img{
    transform:none !important;
  }
  .service-row:hover .service-photo::after{
    transform:translateX(-130%) !important;
  }
}

/* Планшет и мобильный: убираем параллаксную геометрию самих фото.
   Анимация интерфейса остаётся, двигается только декор вокруг фото. */
@media (max-width:1024px){
  .hero-photo-layer,
  .photo-promo{
    overflow:hidden;
  }

  .hero-photo-layer img,
  .photo-promo__image,
  .parallax-photo{
    inset:0 !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    transform:none !important;
    translate:none !important;
    object-fit:cover !important;
    will-change:auto !important;
    backface-visibility:hidden;
  }

  .hero-photo-layer img{
    object-position:center 44% !important;
  }

  .photo-promo__image{
    object-position:center center !important;
  }

  .service-photo img,
  .gallery-item img{
    transform:none !important;
    will-change:auto !important;
  }

  .tilt-card{
    transform:none !important;
  }
}

@media (max-width:760px){
  /* Hero-фото: фиксированная пропорция вместо высокого квадрата */
  .hero__visual{
    width:100%;
    margin-top:28px;
  }

  .visual-shell,
  .visual-shell.has-photo{
    width:100%;
    aspect-ratio:4 / 3;
    min-height:0;
    border-radius:20px;
    transform:none !important;
  }

  .hero-photo-layer{
    inset:0;
    width:100%;
    height:100%;
  }

  .hero-photo-layer img{
    width:100% !important;
    height:100% !important;
    object-position:center 43% !important;
  }

  /* На маленьком экране декоративные элементы не закрывают лица и предметы */
  .visual-shell.has-photo .route-line,
  .visual-shell.has-photo .scan-line{
    display:none;
  }

  .visual-shell.has-photo .floating-tag{
    padding:7px 9px;
    font-size:7px;
  }

  .visual-shell.has-photo .tag-1{left:4%;top:6%}
  .visual-shell.has-photo .tag-2{right:4%;top:6%}
  .visual-shell.has-photo .tag-3{display:none}

  .metric-a{right:5%;bottom:5%}
  .metric-b{left:5%;top:auto;bottom:5%}

  /* Фото услуг: фиксированные размеры и crop без рывков */
  .service-row{
    grid-template-columns:34px minmax(0,1fr) 86px 34px;
    gap:9px;
    min-height:92px;
    padding:8px 0;
  }

  .service-row h3{
    min-width:0;
    font-size:18px;
    line-height:1.08;
    overflow-wrap:anywhere;
  }

  .service-photo{
    width:86px;
    height:64px;
    border-radius:11px;
    flex:none;
    overflow:hidden;
  }

  .service-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  /* Широкий баннер: изображение всегда неподвижно внутри блока */
  .photo-promo{
    width:calc(100% - 20px);
    min-height:500px;
    border-radius:22px;
    isolation:isolate;
  }

  .photo-promo__image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:60% center !important;
    transform:none !important;
  }

  .photo-promo__veil{
    background:
      linear-gradient(0deg,rgba(3,12,7,.94) 0%,rgba(3,12,7,.68) 45%,rgba(3,12,7,.28) 100%);
  }

  .photo-promo__inner{
    min-height:500px;
    padding-top:42px;
    padding-bottom:30px;
    align-content:end;
  }

  .photo-promo h2{
    font-size:clamp(36px,11vw,46px);
    line-height:.94;
  }

  /* Галерея: никаких динамических scale при touch/scroll */
  .gallery-item,
  .gallery-item--1,
  .gallery-item--2,
  .gallery-item--3,
  .gallery-item--4,
  .gallery-item--5,
  .gallery-item--6{
    width:100%;
    aspect-ratio:4 / 3;
    min-height:0;
    overflow:hidden;
  }

  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:none !important;
  }
}

@media (max-width:430px){
  .hero-photo-layer img{
    object-position:center 40% !important;
  }

  .photo-promo__image{
    object-position:62% center !important;
  }

  .service-row{
    grid-template-columns:30px minmax(0,1fr) 78px 30px;
  }

  .service-photo{
    width:78px;
    height:58px;
  }
}

/* При повороте телефона кадр сохраняет стабильную геометрию */
@media (max-width:900px) and (orientation:landscape){
  .visual-shell,
  .visual-shell.has-photo{
    aspect-ratio:16 / 8.5;
    max-height:72vh;
  }

  .hero-photo-layer img{
    object-position:center 42% !important;
  }

  .photo-promo{
    min-height:430px;
  }
}


/* ===== V5.3 REAL MOBILE REBUILD ===== */

/* Жёстко запрещаем любому контенту расширять документ по горизонтали */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
main,
section,
footer{
  max-width:100%;
}
img{
  display:block;
  max-width:100%;
}

/* Мобильный layout строится от ширины родителя, а не от растянутого layout viewport */
@media (max-width:760px){

  .wrap{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* ---------- HEADER ---------- */
  .header{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .header__inner{
    width:calc(100% - 28px) !important;
    height:64px;
    gap:10px;
  }

  .logo{
    min-width:0;
    gap:9px;
  }

  .logo__icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    transform:none;
    gap:2px;
  }

  .logo__text{
    min-width:0;
  }

  .logo__text b{
    color:#f3f7f4;
    font-size:14px;
    line-height:1;
  }

  .logo__text em{
    color:#7f9187;
    font-size:7px;
    letter-spacing:.12em;
    white-space:nowrap;
  }

  .header__right{
    margin-left:auto;
    flex:0 0 auto;
    gap:0;
  }

  .menu-btn{
    display:block;
    width:42px;
    height:42px;
    margin-left:auto;
  }

  .nav.is-open{
    top:64px;
    left:0;
    right:0;
    padding:16px 20px 22px;
    gap:4px;
  }

  .nav.is-open a{
    display:block;
    padding:11px 0;
    font-size:13px;
    border-bottom:1px solid var(--line);
  }

  /* ---------- HERO ---------- */
  .hero{
    padding-top:64px;
    min-height:auto;
  }

  .hero__grid{
    display:block;
    min-height:0;
    padding:34px 0 82px;
  }

  .hero__status{
    max-width:100%;
    margin-bottom:20px;
    font-size:9px;
    line-height:1.35;
    letter-spacing:.1em;
  }

  .hero h1{
    width:100%;
    max-width:100%;
    margin:0 0 22px;
    font-size:clamp(39px,12vw,48px);
    line-height:.88;
    letter-spacing:-.055em;
    overflow-wrap:normal;
    word-break:normal;
  }

  .hero h1 span{
    max-width:100%;
  }

  .hero__bottom{
    display:block;
  }

  .hero__bottom p{
    max-width:100%;
    font-size:13px;
    line-height:1.6;
  }

  .hero__actions{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:20px;
  }

  .cta{
    width:100%;
    min-width:0;
    min-height:56px;
    padding-left:18px;
    gap:10px;
    justify-content:space-between;
  }

  .cta span{
    min-width:0;
    font-size:10px;
    letter-spacing:.02em;
  }

  .cta b{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .text-link{
    justify-self:start;
  }

  .hero__visual{
    width:100%;
    min-width:0;
    margin-top:28px;
  }

  .visual-shell,
  .visual-shell.has-photo{
    width:100%;
    max-width:100%;
    aspect-ratio:4/3;
    min-height:0;
    border-radius:18px;
    transform:none !important;
  }

  .hero-photo-layer,
  .hero-photo-layer img{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }

  .hero-photo-layer img{
    object-fit:cover !important;
    object-position:center 42% !important;
  }

  .visual-shell.has-photo .route-line,
  .visual-shell.has-photo .scan-line,
  .visual-shell.has-photo .tag-3{
    display:none;
  }

  .visual-shell.has-photo .floating-tag{
    padding:6px 8px;
    border-radius:9px;
    font-size:7px;
  }

  .tag-1{left:4%;top:5%}
  .tag-2{right:4%;top:5%}

  .visual-metric strong{
    font-size:17px;
  }

  .metric-a{right:5%;bottom:5%}
  .metric-b{left:5%;top:auto;bottom:5%}

  .marquee{
    max-width:100%;
    overflow:hidden;
  }

  /* ---------- GLOBAL MOBILE TYPE ---------- */
  .section{
    padding:64px 0;
  }

  .intro__main h2,
  .section-top h2,
  .price-head h2,
  .review-title h2,
  .final-cta h2,
  .gallery-head h2{
    width:100%;
    max-width:100%;
    font-size:clamp(31px,9vw,39px);
    line-height:.96;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
  }

  .section-top{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
  }

  .section-number{
    font-size:9px;
  }

  /* ---------- INTRO ---------- */
  .intro__grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .intro__main p{
    margin-top:18px;
    font-size:13px;
    line-height:1.65;
  }

  .intro__stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .intro__stats div{
    min-width:0;
    padding:12px 8px;
    border:1px solid var(--line);
    border-radius:12px;
  }

  .intro__stats strong{
    font-size:24px;
  }

  .intro__stats span{
    font-size:7px;
    line-height:1.25;
  }

  /* ---------- SERVICES: настоящие мобильные карточки ---------- */
  .service-list{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    border-top:0;
  }

  .service-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 40px;
    grid-template-areas:
      "photo photo"
      "num arrow"
      "title arrow"
      "desc desc";
    gap:7px 12px;
    min-height:0;
    padding:0 0 16px;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.025);
  }

  .service-row::before{
    display:none;
  }

  .service-row:hover{
    padding-left:0;
  }

  .service-photo{
    grid-area:photo;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    border:0;
    border-radius:0;
    justify-self:stretch;
  }

  .service-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:none !important;
  }

  .service-row__num{
    grid-area:num;
    padding:9px 16px 0;
    font-size:9px;
  }

  .service-row h3{
    grid-area:title;
    min-width:0;
    margin:0;
    padding:0 16px;
    font-size:21px;
    line-height:1.1;
    overflow-wrap:normal;
  }

  .service-row p{
    display:block;
    grid-area:desc;
    margin:2px 0 0;
    padding:0 16px;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
  }

  .service-row>b{
    grid-area:arrow;
    align-self:center;
    justify-self:center;
    width:36px;
    height:36px;
    margin-right:10px;
  }

  /* ---------- PHOTO PROMO ---------- */
  .photo-promo{
    width:calc(100% - 20px);
    max-width:calc(100% - 20px);
    min-height:510px;
    border-radius:20px;
  }

  .photo-promo__image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:61% center !important;
    transform:none !important;
  }

  .photo-promo__veil{
    background:
      linear-gradient(0deg,rgba(3,12,7,.95) 0%,rgba(3,12,7,.78) 42%,rgba(3,12,7,.25) 100%);
  }

  .photo-promo__inner{
    min-height:510px;
    grid-template-columns:1fr;
    align-content:end;
    gap:20px;
    padding-top:40px;
    padding-bottom:28px;
  }

  .photo-promo h2{
    width:100%;
    max-width:100%;
    margin-top:10px;
    font-size:clamp(34px,10vw,43px);
    line-height:.94;
  }

  .photo-promo__action p{
    font-size:12px;
    line-height:1.6;
    margin-bottom:14px;
  }

  .photo-promo__float{
    display:none;
  }

  .mega-button{
    width:100%;
    min-width:0;
    justify-content:space-between;
    padding-left:18px;
  }

  /* ---------- PRICES ---------- */
  .price-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    margin-bottom:30px;
  }

  .price-head>div,
  .price-head h2,
  .price-head p{
    min-width:0;
    width:100%;
    max-width:100%;
  }

  .price-head h2{
    font-size:clamp(30px,8.5vw,37px);
  }

  .price-head p{
    font-size:13px;
    line-height:1.6;
  }

  .price-cards{
    grid-template-columns:1fr;
    gap:10px;
  }

  .price-card{
    min-height:0;
    padding:20px;
  }

  .price-card h3{
    margin:44px 0 10px;
    font-size:18px;
  }

  .price-value b{
    font-size:29px;
  }

  /* ---------- GALLERY ---------- */
  .gallery-head{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
  }

  .gallery-head p{
    margin-top:14px;
    font-size:12px;
    line-height:1.6;
  }

  .gallery-mosaic{
    display:grid;
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:10px;
  }

  .gallery-item,
  .gallery-item--1,
  .gallery-item--2,
  .gallery-item--3,
  .gallery-item--4,
  .gallery-item--5,
  .gallery-item--6{
    grid-column:auto;
    grid-row:auto;
    width:100%;
    aspect-ratio:4/3;
    min-height:0;
    border-radius:15px;
  }

  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:none !important;
  }

  /* ---------- PROCESS ---------- */
  .timeline{
    margin-left:0;
    max-width:100%;
  }

  .timeline__line{
    left:23px;
  }

  .timeline__item{
    grid-template-columns:48px minmax(0,1fr);
    gap:16px;
    padding:7px 0 36px;
  }

  .timeline__item>span{
    width:46px;
    height:46px;
  }

  .timeline__item h3{
    font-size:21px;
    line-height:1.15;
  }

  /* ---------- REVIEWS ---------- */
  .review-layout{
    grid-template-columns:1fr;
    gap:30px;
  }

  .review-title{
    position:static;
  }

  .review-stack{
    gap:10px;
  }

  .review{
    min-height:0;
    padding:20px;
  }

  .review p{
    margin:20px 0;
    font-size:14px;
    line-height:1.6;
  }

  /* ---------- FINAL CTA / FOOTER ---------- */
  .final-cta{
    padding:72px 0;
  }

  .final-cta__inner{
    grid-template-columns:1fr;
    gap:28px;
  }

  .final-cta__orb{
    opacity:.45;
  }

  .footer{
    padding:42px 0 98px;
  }

  .footer__grid{
    grid-template-columns:1fr 1fr;
    gap:24px 14px;
  }

  .footer__grid>a{
    grid-column:1/-1;
  }

  .footer__grid>div{
    min-width:0;
  }

  .footer a,
  .footer span{
    overflow-wrap:anywhere;
  }

  /* ---------- FIXED MOBILE BAR ---------- */
  .mobile-bar{
    left:10px;
    right:10px;
    width:auto;
    max-width:none;
    grid-template-columns:1fr 1.15fr;
  }

  .mobile-bar a,
  .mobile-bar button{
    min-width:0;
    padding:0 8px;
    font-size:10px;
  }

  /* ---------- MODAL ---------- */
  .modal__box{
    left:10px;
    right:10px;
    top:10px;
    bottom:10px;
    width:auto;
    max-width:none;
    padding:26px 18px;
    border-radius:20px;
  }

  .modal__box h2{
    font-size:clamp(34px,10vw,42px);
  }
}

@media (max-width:390px){
  .wrap,
  .header__inner{
    width:calc(100% - 24px) !important;
  }

  .hero h1{
    font-size:clamp(37px,11.4vw,44px);
  }

  .intro__main h2,
  .section-top h2,
  .price-head h2,
  .review-title h2,
  .final-cta h2,
  .gallery-head h2{
    font-size:clamp(29px,8.6vw,35px);
  }

  .logo__text em{
    max-width:130px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .photo-promo h2{
    font-size:clamp(32px,9.5vw,38px);
  }

  .service-row h3{
    font-size:19px;
  }

  .footer__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:340px){
  .hero h1{
    font-size:36px;
  }

  .logo__text em{
    display:none;
  }

  .intro__stats{
    grid-template-columns:1fr;
  }

  .mobile-bar{
    left:6px;
    right:6px;
  }
}

/* Touch-устройства: никаких transform на контентных фото */
@media (hover:none), (pointer:coarse){
  .hero-photo-layer img,
  .photo-promo__image,
  .service-photo img,
  .gallery-item img,
  .tilt-card{
    transform:none !important;
  }
}


/* ===== V5.4 SOCIALS + MOBILE PHONE ===== */
.social-links{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.social-links a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#dce7e0;
  transition:.25s ease;
}
.social-links a:hover{
  color:#07110d;
  border-color:var(--green);
  background:var(--green);
  transform:translateY(-2px);
}
.social-links svg{
  width:16px;
  height:16px;
  fill:currentColor;
}
.social-links--header{
  margin-left:4px;
}
.header__phone-mobile{
  display:none;
}
.nav__socials{
  display:none;
}
.footer__socials{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.footer__socials .social-links{
  margin-top:2px;
}

/* В футере при наличии соцсетей появляется пятая колонка */
@media (min-width:1101px){
  .footer__grid{
    grid-template-columns:1.45fr 1fr 1fr 1fr 1.15fr;
    gap:28px;
  }
}

@media (max-width:1100px){
  .social-links--header{
    display:none;
  }
}

/* Мобильная версия: номер виден прямо в шапке */
@media (max-width:760px){
  .header__phone-mobile{
    display:block;
    max-width:128px;
    margin-left:auto;
    margin-right:5px;
    color:#eef7f1;
    font-size:11px;
    font-weight:800;
    line-height:1.1;
    white-space:nowrap;
    letter-spacing:-.025em;
  }

  .header__phone-mobile::before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 10px rgba(140,255,71,.7);
    vertical-align:1px;
  }

  .nav__socials{
    display:flex;
    padding:14px 0 2px;
    border-top:1px solid var(--line);
    margin-top:8px;
  }

  .nav.is-open .nav__socials a{
    display:grid;
    padding:0;
    border-bottom:0;
  }

  .footer__phone{
    grid-column:1/-1;
    padding:15px 16px;
    border:1px solid rgba(140,255,71,.22);
    border-radius:14px;
    background:rgba(140,255,71,.055);
  }

  .footer__phone a{
    margin-top:5px;
    color:#f3fff0;
    font-size:20px;
    font-weight:800;
    letter-spacing:-.035em;
  }

  .footer__socials{
    grid-column:1/-1;
    padding-top:4px;
  }

  .footer__socials .social-links{
    gap:9px;
    margin-top:7px;
  }

  .footer__socials .social-links a{
    width:42px;
    height:42px;
  }

  .footer__socials .social-links svg{
    width:19px;
    height:19px;
  }
}

@media (max-width:390px){
  .header__phone-mobile{
    max-width:112px;
    font-size:10px;
  }
}

@media (max-width:350px){
  .header__phone-mobile{
    font-size:9px;
    max-width:96px;
  }
}


/* ===== V5.5 CAPTCHA + ANTIBOT ===== */
.bot-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.captcha-box{
  margin:2px 0 4px;
  padding:13px;
  border:1px solid rgba(140,255,71,.2);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 0%,rgba(140,255,71,.08),transparent 38%),
    rgba(140,255,71,.025);
}

.captcha-box__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
}

.captcha-box__top>div{
  min-width:0;
}

.captcha-box__top small{
  display:block;
  margin-bottom:3px;
  color:var(--green);
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
}

.captcha-box__top strong{
  display:block;
  color:#f0f6f2;
  font-size:17px;
  font-weight:800;
  letter-spacing:.02em;
}

.captcha-refresh{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#dbe8df;
  font-size:20px;
  cursor:pointer;
  transition:.2s ease;
}

.captcha-refresh:hover{
  border-color:var(--green);
  color:var(--green);
  transform:rotate(25deg);
}

.captcha-answer{
  margin:0 !important;
}

.captcha-answer input{
  font-variant-numeric:tabular-nums;
}

.form-error{
  display:none;
  min-height:0;
  padding:0;
  color:#ffb4b4;
  font-size:11px;
  line-height:1.45;
}

.form-error:not(:empty){
  display:block;
  padding:9px 11px;
  border:1px solid rgba(255,105,105,.22);
  border-radius:10px;
  background:rgba(255,80,80,.055);
}

@media(max-width:760px){
  .captcha-box{
    padding:11px;
    border-radius:12px;
  }
  .captcha-box__top strong{
    font-size:16px;
  }
  .captcha-refresh{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}


/* ===== V5.6 FLOATING CALLBACK + BACK TO TOP ===== */
.floating-actions{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:72;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  pointer-events:none;
}

.floating-action{
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-height:46px;
  padding:5px 5px 5px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(7,17,13,.88);
  color:#eaf4ed;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  cursor:pointer;
  transition:
    transform .24s ease,
    border-color .24s ease,
    background .24s ease,
    opacity .24s ease,
    visibility .24s ease;
}

.floating-action__icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(140,255,71,.09);
  color:var(--green);
}

.floating-action__icon svg{
  width:17px;
  height:17px;
  fill:currentColor;
}

.floating-action__text{
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}

.floating-action:hover{
  transform:translateY(-2px);
  border-color:rgba(140,255,71,.5);
}

.floating-action--callback{
  border-color:rgba(140,255,71,.28);
}

.floating-action--callback .floating-action__icon{
  background:var(--green);
  color:#07110d;
  box-shadow:0 0 20px rgba(140,255,71,.18);
}

.floating-action--top{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
}

.floating-action--top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.floating-action--top.is-visible:hover{
  transform:translateY(-2px);
}

@media(max-width:760px){
  .floating-actions{
    right:10px;
    bottom:82px; /* выше фиксированной мобильной панели */
    gap:7px;
  }

  .floating-action{
    width:44px;
    min-width:44px;
    min-height:44px;
    height:44px;
    padding:4px;
    justify-content:center;
    border-radius:50%;
  }

  .floating-action__icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .floating-action__text{
    display:none;
  }

  .floating-action--callback{
    background:var(--green);
    border-color:var(--green);
    color:#07110d;
    box-shadow:0 8px 28px rgba(140,255,71,.18);
  }

  .floating-action--callback .floating-action__icon{
    background:transparent;
    color:#07110d;
    box-shadow:none;
  }

  .floating-action--top{
    background:rgba(7,17,13,.92);
  }
}

@media(max-width:390px){
  .floating-actions{
    right:8px;
    bottom:80px;
  }
}


/* ===== V5.7 MOBILE FLOATING ACTIONS FIX ===== */

/* Десктоп остаётся как в V5.6. */
.floating-actions{
  --fab-size:46px;
}

/* При открытой форме и мобильной клавиатуре плавающие элементы полностью
   убираются из интерактивного слоя. Это исключает "всплывание" поверх формы. */
body.modal-open .floating-actions,
body.mobile-keyboard-open .floating-actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Если открыто модальное окно, нижнюю мобильную панель тоже не оставляем
   активной под затемнением. */
body.modal-open .mobile-bar{
  pointer-events:none;
}

/* Touch: отключаем hover-сдвиг, который на некоторых браузерах
   оставался после первого касания. */
@media (hover:none), (pointer:coarse){
  .floating-action:hover,
  .floating-action--top.is-visible:hover{
    transform:none;
  }
}

@media(max-width:760px){
  /*
    mobile-bar:
      bottom = max(10px, safe-area)
      height = 54px
    floating-actions:
      +10px реального зазора над панелью.
    Поэтому никаких фиксированных 80/82px.
  */
  .floating-actions{
    --fab-size:44px;
    right:max(10px, env(safe-area-inset-right));
    bottom:calc(max(10px, env(safe-area-inset-bottom)) + 64px);
    z-index:95; /* выше mobile-bar (90), но ниже modal (200) */
    gap:8px;
    width:var(--fab-size);
    align-items:center;
    transition:opacity .18s ease, visibility .18s ease;
  }

  .floating-action{
    box-sizing:border-box;
    width:var(--fab-size);
    min-width:var(--fab-size);
    max-width:var(--fab-size);
    height:var(--fab-size);
    min-height:var(--fab-size);
    max-height:var(--fab-size);
    padding:0;
    border-radius:50%;
    flex:0 0 var(--fab-size);
    transform:none;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .floating-action__icon{
    width:100%;
    height:100%;
    flex:0 0 100%;
    border-radius:50%;
  }

  .floating-action__icon svg{
    width:18px;
    height:18px;
  }

  .floating-action--callback{
    background:var(--green);
    border-color:var(--green);
  }

  .floating-action--top{
    position:relative;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(6px);
  }

  .floating-action--top.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  /* Никакой скрытый back-to-top не перехватывает касания. */
  .floating-action--top:not(.is-visible){
    pointer-events:none !important;
  }
}

@media(max-width:390px){
  .floating-actions{
    --fab-size:42px;
    right:max(8px, env(safe-area-inset-right));
    bottom:calc(max(8px, env(safe-area-inset-bottom)) + 62px);
    gap:7px;
  }

  .floating-action__icon svg{
    width:17px;
    height:17px;
  }
}

/* Низкие landscape-экраны: две кнопки идут в ряд и не съедают высоту. */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  .floating-actions{
    --fab-size:40px;
    flex-direction:row-reverse;
    width:auto;
    right:max(10px, env(safe-area-inset-right));
    bottom:calc(max(8px, env(safe-area-inset-bottom)) + 60px);
    gap:7px;
  }

  .floating-action{
    width:var(--fab-size);
    min-width:var(--fab-size);
    max-width:var(--fab-size);
    height:var(--fab-size);
    min-height:var(--fab-size);
    max-height:var(--fab-size);
    flex-basis:var(--fab-size);
  }
}

/* Поддержка старых WebKit, где max() с env() ведёт себя нестабильно. */
@supports not (bottom:max(10px, env(safe-area-inset-bottom))){
  @media(max-width:760px){
    .floating-actions{bottom:74px;right:10px}
  }
}


/* ===== V5.8 SERVICE PAGES ===== */
.service-page-body{background:var(--bg)}
.service-detail{padding-top:76px}
.service-hero{padding:70px 0 60px}
.service-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:70px;align-items:center}
.service-back{display:inline-block;margin-bottom:26px;color:var(--muted);font-size:10px;letter-spacing:.08em}
.service-hero h1{font-size:clamp(58px,7vw,104px);line-height:.88;letter-spacing:-.065em;margin:16px 0 24px;max-width:950px}
.service-hero__copy>p{max-width:620px;color:#b6c4bb;font-size:15px;line-height:1.75;margin-bottom:28px}
.service-hero__media{aspect-ratio:4/3;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#0b1710}
.service-hero__media img{width:100%;height:100%;object-fit:cover}
.service-info{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-info__grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}
.service-price-box{padding:34px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.025)}
.service-price-box small{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.service-price-box strong{display:block;color:var(--green);font-size:42px;margin:12px 0 18px;letter-spacing:-.04em}
.service-price-box p{color:var(--muted);font-size:12px;line-height:1.6}
.service-included__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}
.service-included__grid>div{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px}
.service-included__grid span{color:var(--green);font-size:9px}
.service-included__grid b{font-size:14px}
.service-other .service-row{text-decoration:none;color:inherit}
@media(max-width:900px){
  .service-hero__grid,.service-info__grid{grid-template-columns:1fr}
  .service-hero__grid{gap:34px}
  .service-hero__media{order:-1}
}
@media(max-width:760px){
  .service-detail{padding-top:64px}
  .service-hero{padding:34px 0 46px}
  .service-hero__grid{display:flex;flex-direction:column;gap:24px}
  .service-hero__media{order:0;width:100%;border-radius:18px}
  .service-hero h1{font-size:clamp(38px,11vw,48px);line-height:.92;margin:12px 0 18px}
  .service-hero__copy>p{font-size:13px;line-height:1.6}
  .service-info__grid{gap:22px}
  .service-price-box{padding:22px}
  .service-price-box strong{font-size:31px}
  .service-included__grid{grid-template-columns:1fr}
  .service-included__grid>div{padding:15px}
}


/* ===== V5.9 FULL SERVICE PAGES + PRIVACY ===== */
.footer__legal{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding-top:22px;
  margin-top:8px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
}
.footer__legal a{color:#b8c7bd;text-decoration:none}
.footer__legal a:hover{color:var(--green)}

.privacy-consent{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr);
  gap:9px;
  align-items:start;
  margin:2px 0 4px !important;
  cursor:pointer;
}
.privacy-consent input{
  width:16px !important;height:16px !important;margin:2px 0 0 !important;padding:0 !important;
  accent-color:var(--green);
}
.privacy-consent span{font-size:10px;line-height:1.45;color:#8fa096}
.privacy-consent a{color:#cfe2d5;text-decoration:underline;text-underline-offset:2px}

/* SERVICE PAGE */
.service-detail{padding-top:76px;overflow:hidden}
.service-hero{padding:76px 0 64px;position:relative}
.service-hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;top:-120px;background:rgba(140,255,71,.08);filter:blur(90px);pointer-events:none}
.service-hero__grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.8fr);gap:68px;align-items:center}
.service-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#667970;font-size:9px;margin-bottom:22px;text-transform:uppercase;letter-spacing:.08em}
.service-breadcrumb a{color:#82958a}.service-breadcrumb b{color:#b9c8bf}
.service-kicker{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(140,255,71,.24);border-radius:999px;color:var(--green);font-size:8px;font-weight:800;letter-spacing:.15em}
.service-hero h1{font-size:clamp(58px,7vw,102px);line-height:.88;letter-spacing:-.065em;margin:18px 0 24px;max-width:920px}
.service-lead{max-width:650px;color:#b6c5bc;font-size:15px;line-height:1.75}
.service-hero__actions{display:flex;align-items:center;gap:22px;margin-top:28px}
.service-phone-link{font-weight:800;font-size:13px;color:#eef7f1}
.service-quickfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:38px;max-width:680px}
.service-quickfacts>div{padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018)}
.service-quickfacts small{display:block;color:#73857a;font-size:7px;letter-spacing:.12em;margin-bottom:6px}
.service-quickfacts strong{font-size:13px}
.service-hero__media{position:relative;aspect-ratio:4/4.25;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#0b1710;box-shadow:0 35px 90px rgba(0,0,0,.28)}
.service-hero__media img{width:100%;height:100%;object-fit:cover}
.service-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,10,6,.82))}
.service-hero__media-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.service-hero__media-caption span{font-size:8px;letter-spacing:.12em;color:var(--green)}
.service-hero__media-caption b{max-width:250px;text-align:right;font-size:12px;line-height:1.35}

.service-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.service-strip__track{display:flex;align-items:center;justify-content:center;gap:30px;padding:14px;white-space:nowrap;color:#82958a;font-size:9px;font-weight:800;letter-spacing:.12em}
.service-strip__track i{color:var(--green)}

.service-section-head{display:grid;grid-template-columns:.38fr 1.62fr;gap:50px;margin-bottom:42px}
.service-section-head h2,.service-sticky-title h2{font-size:clamp(42px,5vw,72px);line-height:.93;letter-spacing:-.055em;margin:0}
.service-section-head h2 span,.service-sticky-title h2 span{color:#607168}
.service-section-head p,.service-sticky-title p{max-width:570px;color:var(--muted);font-size:13px;line-height:1.65;margin-top:18px}

.service-item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.service-item-grid article{position:relative;min-height:165px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018);overflow:hidden}
.service-item-grid article::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-60px;bottom:-65px;background:rgba(140,255,71,.06)}
.service-item-grid span{font-size:8px;color:var(--green)}
.service-item-grid h3{font-size:20px;margin:55px 0 0;max-width:210px}
.service-item-grid i{position:absolute;right:18px;top:18px;color:#516259}

.service-included-section{background:#08130e;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-two-col{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.service-sticky-title{align-self:start;position:sticky;top:110px}
.service-included-list{border-top:1px solid var(--line)}
.service-included-list>div{display:grid;grid-template-columns:52px .55fr 1fr;gap:22px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.service-included-list span{color:var(--green);font-size:9px}
.service-included-list strong{font-size:18px}
.service-included-list p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}

.service-price-section{padding-top:70px;padding-bottom:70px}
.service-price-panel{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid rgba(140,255,71,.2);border-radius:26px;overflow:hidden;background:radial-gradient(circle at 12% 12%,rgba(140,255,71,.12),transparent 27%),#08130e}
.service-price-main{padding:42px}
.service-price-main>small{font-size:8px;color:#87998e;letter-spacing:.13em}
.service-price-main>strong{display:block;margin:12px 0 18px;color:var(--green);font-size:clamp(38px,4vw,58px);letter-spacing:-.05em}
.service-price-main>p{max-width:450px;color:var(--muted);font-size:12px;line-height:1.65;margin-bottom:24px}
.service-price-factors{padding:42px;border-left:1px solid var(--line)}
.service-price-factors>.section-number{margin-bottom:18px}
.service-price-factors>div:not(.section-number){display:grid;grid-template-columns:42px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.service-price-factors span{color:var(--green);font-size:8px}
.service-price-factors b{font-size:14px}

.service-adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.service-adv-grid article{min-height:235px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018)}
.service-adv-grid span{color:var(--green);font-size:8px}
.service-adv-grid h3{font-size:20px;margin:62px 0 12px}
.service-adv-grid p{color:var(--muted);font-size:12px;line-height:1.55}

.service-process{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#08130e}
.service-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.service-process-grid article{position:relative;padding:22px;min-height:210px;border:1px solid var(--line);border-radius:18px}
.service-process-num{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(140,255,71,.25);color:var(--green);font-size:9px}
.service-process-grid h3{margin:50px 0 12px;font-size:20px}
.service-process-grid p{color:var(--muted);font-size:12px;line-height:1.55}

.service-faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}
.service-faq-list{border-top:1px solid var(--line)}
.service-faq-list details{border-bottom:1px solid var(--line)}
.service-faq-list summary{list-style:none;display:grid;grid-template-columns:45px minmax(0,1fr) 30px;gap:14px;align-items:center;padding:23px 0;cursor:pointer}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary span{color:var(--green);font-size:8px}
.service-faq-list summary b{font-size:15px}
.service-faq-list summary i{font-style:normal;font-size:22px;color:#72837a;transition:.2s}
.service-faq-list details[open] summary i{transform:rotate(45deg);color:var(--green)}
.service-faq-list details p{padding:0 45px 22px 59px;color:var(--muted);font-size:13px;line-height:1.65}

.service-other{border-top:1px solid var(--line)}
.service-other-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.service-other-grid>a{position:relative;display:block;padding-bottom:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;background:#09150f}
.service-other-image{aspect-ratio:4/3;overflow:hidden}
.service-other-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.service-other-grid>a:hover img{transform:scale(1.04)}
.service-other-grid>a>span{display:block;padding:16px 16px 5px;color:var(--green);font-size:7px;letter-spacing:.12em}
.service-other-grid h3{padding:0 42px 0 16px;font-size:16px;line-height:1.2;margin:0}
.service-other-grid>a>b{position:absolute;right:15px;bottom:18px;color:#71827a}
.service-final h2{font-size:clamp(45px,5vw,72px)}

/* POLICY */
.policy-page{padding-top:76px}
.policy-hero{padding:70px 0 54px;border-bottom:1px solid var(--line)}
.policy-hero h1{max-width:1050px;font-size:clamp(45px,6vw,84px);line-height:.93;letter-spacing:-.055em;margin:18px 0}
.policy-hero p{color:var(--muted);font-size:12px}
.policy-content{padding:60px 0 90px}
.policy-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:70px}
.policy-nav{align-self:start;position:sticky;top:110px;display:grid;border-top:1px solid var(--line)}
.policy-nav a{padding:12px 0;border-bottom:1px solid var(--line);color:#82958a;font-size:10px;line-height:1.35}
.policy-nav a:hover{color:var(--green)}
.policy-article{max-width:850px}
.policy-article section{scroll-margin-top:110px;padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}
.policy-article h2{font-size:28px;letter-spacing:-.035em;margin:0 0 18px}
.policy-article p,.policy-article li{color:#aebdb4;font-size:13px;line-height:1.75}
.policy-article ul{padding-left:20px}
.policy-article strong{color:#edf5f0}
.policy-contact{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.policy-contact>div{padding:18px;border:1px solid var(--line);border-radius:14px}
.policy-contact small{display:block;color:#778a7e;font-size:8px;margin-bottom:7px}
.policy-contact a{color:var(--green);font-weight:800}

/* MOBILE */
@media(max-width:900px){
  .service-hero__grid,.service-two-col,.service-faq-layout,.service-price-panel,.policy-layout{grid-template-columns:1fr}
  .service-sticky-title,.policy-nav{position:static}
  .service-price-factors{border-left:0;border-top:1px solid var(--line)}
  .service-item-grid{grid-template-columns:repeat(2,1fr)}
  .service-adv-grid,.service-process-grid,.service-other-grid{grid-template-columns:repeat(2,1fr)}
  .policy-nav{display:none}
}
@media(max-width:760px){
  .footer__legal{flex-direction:column;align-items:flex-start;padding-top:18px}
  .service-detail,.policy-page{padding-top:64px}
  .service-hero{padding:34px 0 46px}
  .service-hero__grid{display:flex;flex-direction:column;gap:26px}
  .service-hero__copy{width:100%}
  .service-hero h1{font-size:clamp(38px,11vw,48px);line-height:.91;margin:14px 0 18px}
  .service-lead{font-size:13px;line-height:1.6}
  .service-hero__actions{display:grid;grid-template-columns:1fr;gap:14px}
  .service-quickfacts{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:26px}
  .service-quickfacts>div{padding:11px 8px}
  .service-quickfacts strong{font-size:11px}
  .service-hero__media{width:100%;aspect-ratio:4/3;border-radius:18px}
  .service-hero__media-caption{left:14px;right:14px;bottom:12px}
  .service-hero__media-caption b{font-size:10px;max-width:175px}
  .service-strip__track{justify-content:flex-start;overflow:hidden;gap:18px}
  .service-section-head{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .service-section-head h2,.service-sticky-title h2{font-size:clamp(31px,9vw,39px)}
  .service-item-grid,.service-adv-grid,.service-process-grid,.service-other-grid{grid-template-columns:1fr}
  .service-item-grid article{min-height:130px}
  .service-item-grid h3{margin-top:38px;font-size:18px}
  .service-two-col{gap:28px}
  .service-included-list>div{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:18px 0}
  .service-included-list>div p{grid-column:2}
  .service-price-main,.service-price-factors{padding:22px}
  .service-price-panel{border-radius:18px}
  .service-adv-grid article,.service-process-grid article{min-height:185px}
  .service-adv-grid h3,.service-process-grid h3{margin-top:38px}
  .service-faq-layout{gap:26px}
  .service-faq-list summary{grid-template-columns:32px minmax(0,1fr) 24px;padding:18px 0}
  .service-faq-list summary b{font-size:14px}
  .service-faq-list details p{padding:0 0 18px 46px;font-size:12px}
  .service-other-grid>a{display:grid;grid-template-columns:105px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:105px;padding:0}
  .service-other-image{grid-row:1/3;aspect-ratio:auto;height:100%}
  .service-other-grid>a>span{padding:14px 42px 4px 14px}
  .service-other-grid h3{padding:0 38px 12px 14px;font-size:14px}
  .service-other-grid>a>b{bottom:auto;top:14px}
  .policy-hero{padding:36px 0 34px}
  .policy-hero h1{font-size:clamp(35px,10vw,45px)}
  .policy-content{padding:38px 0 80px}
  .policy-article h2{font-size:23px}
  .policy-article p,.policy-article li{font-size:12px;line-height:1.7}
  .policy-contact{grid-template-columns:1fr}
  .privacy-consent span{font-size:9px}
}

/* V6.0 editable SEO text */
.service-seo-text{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 12% 15%,rgba(140,255,71,.055),transparent 25%),#08130e}
.service-seo-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}
.service-seo-text .service-sticky-title h2{font-size:clamp(34px,4vw,56px);line-height:1}
.service-seo-copy{max-width:820px}
.service-seo-copy p{color:#aebdb4;font-size:14px;line-height:1.82;margin:0 0 21px}
.service-seo-copy p:last-child{margin-bottom:0}
@media(max-width:900px){.service-seo-layout{grid-template-columns:1fr;gap:26px}}
@media(max-width:760px){.service-seo-copy p{font-size:12.5px;line-height:1.72;margin-bottom:17px}}


/* ===== V6.1 MANAGED CONTENT PAGES ===== */
.managed-page{padding-top:76px;overflow:hidden}
.managed-hero{padding:74px 0 64px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 10%,rgba(140,255,71,.08),transparent 28%)}
.managed-breadcrumb{display:flex;gap:8px;align-items:center;color:#708178;font-size:9px;margin-bottom:22px;text-transform:uppercase;letter-spacing:.08em}
.managed-breadcrumb a{color:#82958a}.managed-breadcrumb b{color:#b9c8bf}
.managed-hero h1{max-width:1050px;font-size:clamp(60px,8vw,118px);line-height:.86;letter-spacing:-.07em;margin:18px 0 24px}
.managed-hero>div>p{max-width:720px;color:#b3c1b8;font-size:15px;line-height:1.72}
.managed-hero__actions{display:flex;align-items:center;gap:22px;margin-top:28px}.managed-hero__actions>a{color:#eff7f2;font-weight:800}
.managed-two-col{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px}.managed-two-col h2{font-size:clamp(42px,5vw,72px);line-height:.94;letter-spacing:-.055em}
.managed-copy p{color:#adbbb3;font-size:14px;line-height:1.8;margin:0 0 20px}
.managed-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.managed-card-grid>article{min-height:220px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018)}
.managed-card-grid>article>span{color:var(--green);font-size:8px}.managed-card-grid h3{font-size:21px;margin:58px 0 12px}.managed-card-grid p{color:var(--muted);font-size:12px;line-height:1.55}
.managed-card-grid--services{grid-template-columns:repeat(4,1fr)}
.managed-service-card{position:relative;display:block;color:inherit;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#09150f;padding-bottom:18px}
.managed-service-card__image{aspect-ratio:4/3;overflow:hidden}.managed-service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.managed-service-card:hover img{transform:scale(1.04)}
.managed-service-card>span{display:block;color:var(--green);font-size:8px;padding:14px 16px 5px}.managed-service-card h3{font-size:17px;line-height:1.18;margin:0;padding:0 42px 8px 16px}.managed-service-card p{font-size:11px;color:var(--muted);line-height:1.5;padding:0 16px;margin:0}.managed-service-card>b{position:absolute;right:15px;bottom:17px;color:#72847a}
.managed-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.managed-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.managed-gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#09150f}.managed-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.managed-gallery-grid figcaption{padding:12px 14px;color:#a9b8af;font-size:11px}
.managed-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.managed-contact-grid>*{display:block;padding:26px;border:1px solid var(--line);border-radius:17px;color:inherit;background:rgba(255,255,255,.018)}.managed-contact-grid small{display:block;color:#76887d;font-size:8px;margin-bottom:9px}.managed-contact-grid strong{font-size:22px}
@media(max-width:1000px){.managed-card-grid--services{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .managed-page{padding-top:64px}.managed-hero{padding:36px 0 44px}.managed-hero h1{font-size:clamp(42px,13vw,58px)}.managed-hero>div>p{font-size:13px}.managed-hero__actions{display:grid;grid-template-columns:1fr;gap:12px}
  .managed-two-col{grid-template-columns:1fr;gap:20px}.managed-two-col h2{font-size:clamp(31px,9vw,39px)}
  .managed-card-grid,.managed-card-grid--services,.managed-review-grid,.managed-gallery-grid,.managed-contact-grid{grid-template-columns:1fr}
  .managed-service-card{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto 1fr;padding:0;min-height:112px}.managed-service-card__image{grid-row:1/4;aspect-ratio:auto;height:100%}.managed-service-card>span{padding:12px 38px 2px 13px}.managed-service-card h3{padding:0 38px 4px 13px;font-size:15px}.managed-service-card p{padding:0 38px 12px 13px;font-size:10px}.managed-service-card>b{top:12px;bottom:auto}
}


/* ==================================================================
   V6.2 — FINAL MOBILE SYSTEM
   Единый мобильный слой для главной, 16 услуг, 7 разделов и политики.
   Расположен в самом конце файла, чтобы исключить конфликты старых CSS.
   ================================================================== */

@media (max-width: 900px){

  :root{
    --mobile-gap: 14px;
    --mobile-header: 64px;
  }

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip !important;
  }

  body{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  main,
  section,
  header,
  footer,
  .wrap,
  .header__inner,
  .managed-page,
  .service-detail,
  .policy-page{
    min-width:0 !important;
    max-width:100% !important;
  }

  .wrap{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* ---------- MOBILE HEADER ---------- */

  .header{
    height:var(--mobile-header);
    overflow:visible !important;
    background:rgba(7,17,13,.94);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }

  .header__inner{
    width:calc(100% - 24px) !important;
    height:var(--mobile-header) !important;
    display:flex !important;
    align-items:center;
    gap:8px !important;
    padding:0 !important;
  }

  .logo{
    flex:0 1 auto;
    min-width:0 !important;
    max-width:145px;
    gap:8px !important;
  }

  .logo__icon{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    gap:2px !important;
    transform:none !important;
  }

  .logo__text{
    min-width:0;
  }

  .logo__text b{
    font-size:13px !important;
    line-height:1 !important;
  }

  .logo__text em{
    display:block;
    max-width:102px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:6px !important;
    letter-spacing:.08em !important;
  }

  .header__right{
    margin-left:auto !important;
    min-width:0;
    flex:0 0 auto;
    gap:7px !important;
  }

  .header__phone{
    display:none !important;
  }

  .header__phone-mobile{
    display:block !important;
    max-width:118px !important;
    margin:0 2px 0 0 !important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px !important;
    font-weight:800;
    color:#eef7f1;
  }

  .round-btn{
    display:none !important;
  }

  .menu-btn{
    display:block !important;
    width:40px !important;
    height:40px !important;
    flex:0 0 40px;
    padding:9px !important;
    margin:0 !important;
    position:relative;
    z-index:3;
  }

  .menu-btn i{
    height:2px;
    margin:6px 0;
    transition:transform .2s ease, opacity .2s ease;
  }

  .menu-btn[aria-expanded="true"] i:first-child{
    transform:translateY(4px) rotate(45deg);
  }

  .menu-btn[aria-expanded="true"] i:last-child{
    transform:translateY(-4px) rotate(-45deg);
  }

  .nav,
  .nav.is-open{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:var(--mobile-header) !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:10px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    display:none !important;
    flex-direction:column !important;
    gap:0 !important;
    max-height:calc(100dvh - var(--mobile-header)) !important;
    overflow-y:auto !important;
    background:rgba(7,17,13,.985) !important;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    box-shadow:0 24px 50px rgba(0,0,0,.4);
  }

  .nav.is-open{
    display:flex !important;
  }

  .nav a,
  .nav.is-open a{
    display:flex !important;
    align-items:center;
    min-height:45px;
    padding:0 4px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    color:#d7e2db !important;
    font-size:12px !important;
    line-height:1.25;
    letter-spacing:.03em !important;
    white-space:normal;
  }

  .nav a:last-child{
    border-bottom:0 !important;
  }

  .nav__socials{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    padding:14px 0 2px !important;
    margin:0 !important;
    border:0 !important;
  }

  .nav__socials a{
    min-height:38px !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    border:1px solid var(--line) !important;
  }

  body.mobile-menu-open{
    overflow:hidden !important;
  }

  /* ---------- ALL MOBILE TYPOGRAPHY ---------- */

  h1,
  h2,
  h3{
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:auto;
  }

  .section{
    padding:60px 0 !important;
  }

  .section-number{
    font-size:8px !important;
    line-height:1.35;
    letter-spacing:.13em !important;
  }

  /* ---------- MANAGED TOP LEVEL PAGES ---------- */

  .managed-page{
    padding-top:var(--mobile-header) !important;
  }

  .managed-hero{
    padding:34px 0 40px !important;
  }

  .managed-breadcrumb{
    gap:6px !important;
    margin-bottom:16px !important;
    font-size:7px !important;
    line-height:1.4;
  }

  .managed-hero h1{
    width:100%;
    max-width:100%;
    margin:13px 0 18px !important;
    font-size:clamp(38px,12vw,50px) !important;
    line-height:.92 !important;
    letter-spacing:-.055em !important;
  }

  .managed-hero>div>p{
    width:100%;
    max-width:100%;
    font-size:12.5px !important;
    line-height:1.62 !important;
  }

  .managed-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:22px !important;
  }

  .managed-hero__actions .mega-button{
    width:100%;
    min-width:0;
    min-height:54px;
    margin:0 !important;
  }

  .managed-hero__actions>a{
    font-size:13px;
  }

  .managed-two-col{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .managed-two-col h2{
    max-width:100%;
    font-size:clamp(29px,8.5vw,37px) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
  }

  .managed-copy p{
    font-size:12.5px !important;
    line-height:1.7 !important;
    margin-bottom:16px !important;
  }

  .managed-card-grid,
  .managed-card-grid--services,
  .managed-review-grid,
  .managed-gallery-grid,
  .managed-contact-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .managed-card-grid>article{
    min-height:0 !important;
    padding:18px !important;
    border-radius:15px !important;
  }

  .managed-card-grid>article h3{
    margin:36px 0 9px !important;
    font-size:18px !important;
  }

  .managed-card-grid>article p{
    font-size:11.5px !important;
    line-height:1.55 !important;
  }

  /* Каталог 16 услуг на /uslugi/ */
  .managed-service-card{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    grid-template-rows:auto auto 1fr !important;
    width:100% !important;
    min-width:0 !important;
    min-height:106px !important;
    padding:0 !important;
    border-radius:14px !important;
  }

  .managed-service-card__image{
    grid-column:1;
    grid-row:1 / 4;
    width:96px !important;
    height:100% !important;
    min-height:106px;
    aspect-ratio:auto !important;
  }

  .managed-service-card__image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:none !important;
  }

  .managed-service-card>span{
    grid-column:2;
    padding:11px 36px 1px 12px !important;
    font-size:7px !important;
  }

  .managed-service-card h3{
    grid-column:2;
    min-width:0;
    margin:0 !important;
    padding:0 36px 4px 12px !important;
    font-size:14px !important;
    line-height:1.15 !important;
  }

  .managed-service-card p{
    grid-column:2;
    min-width:0;
    margin:0 !important;
    padding:0 32px 11px 12px !important;
    font-size:9.5px !important;
    line-height:1.4 !important;
  }

  .managed-service-card>b{
    right:11px !important;
    top:11px !important;
    bottom:auto !important;
  }

  .managed-gallery-grid figure{
    border-radius:14px !important;
  }

  .managed-gallery-grid img{
    width:100%;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  .managed-contact-grid>*{
    min-width:0 !important;
    padding:18px !important;
    border-radius:14px !important;
  }

  .managed-contact-grid strong{
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:17px !important;
    line-height:1.25;
  }

  /* ---------- SERVICE DETAIL PAGES ---------- */

  .service-detail{
    padding-top:var(--mobile-header) !important;
  }

  .service-hero{
    padding:30px 0 40px !important;
  }

  .service-hero__grid{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
  }

  .service-hero__copy{
    width:100% !important;
    min-width:0 !important;
  }

  .service-breadcrumb{
    gap:5px !important;
    margin-bottom:14px !important;
    font-size:7px !important;
    line-height:1.4;
  }

  .service-kicker{
    padding:6px 9px !important;
    font-size:7px !important;
  }

  .service-hero h1{
    width:100%;
    max-width:100%;
    margin:13px 0 17px !important;
    font-size:clamp(35px,10.3vw,46px) !important;
    line-height:.92 !important;
    letter-spacing:-.05em !important;
  }

  .service-lead{
    max-width:100% !important;
    font-size:12.5px !important;
    line-height:1.62 !important;
  }

  .service-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:11px !important;
    margin-top:21px !important;
  }

  .service-hero__actions .mega-button{
    width:100%;
    margin:0 !important;
  }

  .service-phone-link{
    font-size:13px !important;
  }

  .service-quickfacts{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    margin-top:22px !important;
  }

  .service-quickfacts>div{
    min-width:0;
    padding:9px 6px !important;
    border-radius:10px !important;
  }

  .service-quickfacts small{
    font-size:6px !important;
  }

  .service-quickfacts strong{
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:9px !important;
    line-height:1.25;
  }

  .service-hero__media{
    order:2 !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    border-radius:17px !important;
    transform:none !important;
  }

  .service-hero__media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:none !important;
  }

  .service-hero__media-caption{
    left:12px !important;
    right:12px !important;
    bottom:11px !important;
    gap:8px !important;
  }

  .service-hero__media-caption span{
    font-size:6px !important;
  }

  .service-hero__media-caption b{
    max-width:160px !important;
    font-size:9px !important;
    line-height:1.25 !important;
  }

  .service-strip{
    overflow:hidden !important;
  }

  .service-strip__track{
    width:max-content !important;
    justify-content:flex-start !important;
    gap:17px !important;
    padding:11px 14px !important;
    font-size:7px !important;
  }

  .service-section-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:24px !important;
  }

  .service-section-head h2,
  .service-sticky-title h2{
    max-width:100%;
    font-size:clamp(28px,8.6vw,36px) !important;
    line-height:.97 !important;
    letter-spacing:-.04em !important;
  }

  .service-section-head p,
  .service-sticky-title p{
    max-width:100% !important;
    margin-top:13px !important;
    font-size:11.5px !important;
    line-height:1.6 !important;
  }

  .service-item-grid,
  .service-adv-grid,
  .service-process-grid,
  .service-other-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .service-item-grid article{
    min-height:112px !important;
    padding:17px !important;
    border-radius:14px !important;
  }

  .service-item-grid h3{
    margin:29px 0 0 !important;
    font-size:17px !important;
  }

  .service-two-col,
  .service-faq-layout,
  .service-seo-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .service-sticky-title{
    position:static !important;
  }

  .service-included-list>div{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:8px !important;
    padding:15px 0 !important;
  }

  .service-included-list strong{
    min-width:0;
    font-size:15px !important;
  }

  .service-included-list p{
    grid-column:2 !important;
    font-size:11px !important;
    line-height:1.5 !important;
  }

  .service-price-panel{
    display:grid !important;
    grid-template-columns:1fr !important;
    border-radius:16px !important;
  }

  .service-price-main,
  .service-price-factors{
    min-width:0 !important;
    padding:18px !important;
  }

  .service-price-factors{
    border-left:0 !important;
    border-top:1px solid var(--line) !important;
  }

  .service-price-main>strong{
    font-size:31px !important;
  }

  .service-price-main>p{
    font-size:11px !important;
    line-height:1.55 !important;
  }

  .service-price-main .cta{
    width:100%;
  }

  .service-price-factors>div:not(.section-number){
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:8px !important;
    padding:12px 0 !important;
  }

  .service-price-factors b{
    font-size:12px !important;
  }

  .service-adv-grid article,
  .service-process-grid article{
    min-height:0 !important;
    padding:18px !important;
    border-radius:14px !important;
  }

  .service-adv-grid h3,
  .service-process-grid h3{
    margin:30px 0 9px !important;
    font-size:18px !important;
  }

  .service-adv-grid p,
  .service-process-grid p{
    font-size:11.5px !important;
    line-height:1.52 !important;
  }

  .service-seo-copy{
    max-width:100% !important;
  }

  .service-seo-copy p{
    font-size:12px !important;
    line-height:1.7 !important;
  }

  .service-faq-list summary{
    grid-template-columns:27px minmax(0,1fr) 22px !important;
    gap:8px !important;
    padding:15px 0 !important;
  }

  .service-faq-list summary b{
    min-width:0;
    font-size:12.5px !important;
    line-height:1.35;
  }

  .service-faq-list details p{
    padding:0 0 15px 35px !important;
    font-size:11.5px !important;
    line-height:1.6 !important;
  }

  .service-other-grid>a{
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    grid-template-rows:auto 1fr !important;
    min-width:0;
    min-height:90px !important;
    padding:0 !important;
    border-radius:13px !important;
  }

  .service-other-image{
    grid-column:1;
    grid-row:1 / 3;
    width:88px !important;
    height:100% !important;
    aspect-ratio:auto !important;
  }

  .service-other-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:none !important;
  }

  .service-other-grid>a>span{
    padding:11px 34px 2px 11px !important;
    font-size:6px !important;
  }

  .service-other-grid h3{
    min-width:0;
    margin:0 !important;
    padding:0 32px 10px 11px !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
  }

  .service-other-grid>a>b{
    right:10px !important;
    top:10px !important;
    bottom:auto !important;
  }

  /* ---------- POLICY ---------- */

  .policy-page{
    padding-top:var(--mobile-header) !important;
  }

  .policy-hero{
    padding:31px 0 28px !important;
  }

  .policy-hero h1{
    width:100%;
    max-width:100%;
    margin:14px 0 !important;
    font-size:clamp(31px,9vw,40px) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  .policy-hero p{
    font-size:10.5px !important;
    line-height:1.55;
  }

  .policy-content{
    padding:35px 0 78px !important;
  }

  .policy-layout{
    display:block !important;
  }

  .policy-nav{
    display:none !important;
  }

  .policy-article{
    width:100% !important;
    max-width:100% !important;
  }

  .policy-article section{
    padding-bottom:25px !important;
    margin-bottom:25px !important;
  }

  .policy-article h2{
    font-size:21px !important;
    line-height:1.15;
  }

  .policy-article p,
  .policy-article li{
    font-size:11.5px !important;
    line-height:1.68 !important;
  }

  .policy-contact{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  /* ---------- FOOTER ---------- */

  .footer{
    padding:36px 0 calc(96px + env(safe-area-inset-bottom)) !important;
  }

  .footer__grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
  }

  .footer__grid>.logo{
    grid-column:auto !important;
    margin-bottom:7px !important;
  }

  .footer__grid>div{
    min-width:0;
    padding:0;
  }

  .footer__phone{
    grid-column:auto !important;
    padding:14px !important;
  }

  .footer__phone a{
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:18px !important;
  }

  .footer__legal{
    grid-column:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    align-items:start !important;
    padding-top:16px !important;
  }

  /* ---------- FIXED ACTIONS ---------- */

  .mobile-bar{
    position:fixed !important;
    z-index:90 !important;
    left:max(8px,env(safe-area-inset-left)) !important;
    right:max(8px,env(safe-area-inset-right)) !important;
    bottom:max(8px,env(safe-area-inset-bottom)) !important;
    width:auto !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:.92fr 1.08fr !important;
    overflow:hidden;
    border-radius:14px !important;
  }

  .mobile-bar a,
  .mobile-bar button{
    min-width:0 !important;
    min-height:52px !important;
    padding:0 7px !important;
    font-size:9.5px !important;
  }

  .floating-actions{
    --fab-size:40px !important;
    right:max(8px,env(safe-area-inset-right)) !important;
    bottom:calc(max(8px,env(safe-area-inset-bottom)) + 60px) !important;
    gap:6px !important;
  }

  .floating-action{
    width:var(--fab-size) !important;
    min-width:var(--fab-size) !important;
    max-width:var(--fab-size) !important;
    height:var(--fab-size) !important;
    min-height:var(--fab-size) !important;
    max-height:var(--fab-size) !important;
  }

  /* ---------- MODAL ---------- */

  .modal__box{
    left:8px !important;
    right:8px !important;
    top:max(8px,env(safe-area-inset-top)) !important;
    bottom:max(8px,env(safe-area-inset-bottom)) !important;
    width:auto !important;
    max-width:none !important;
    padding:24px 15px !important;
    border-radius:17px !important;
  }

  .modal__box h2{
    padding-right:35px;
    font-size:clamp(29px,9vw,37px) !important;
    line-height:.95 !important;
  }

  .modal__box>p{
    font-size:11.5px !important;
  }

  #lead-form{
    gap:13px !important;
    margin-top:22px !important;
  }

  #lead-form input{
    min-height:50px !important;
  }

  .captcha-box__top strong{
    font-size:14px !important;
  }

  .privacy-consent span{
    font-size:8.5px !important;
  }

  /* Disable all decorative motion that can shift mobile layout */
  .managed-service-card:hover img,
  .service-other-grid>a:hover img,
  .service-photo img,
  .gallery-item img,
  .tilt-card,
  .parallax-photo{
    transform:none !important;
  }
}

@media (max-width: 520px){

  .header__phone-mobile{
    max-width:105px !important;
    font-size:9px !important;
  }

  .managed-hero h1{
    font-size:clamp(36px,11.5vw,47px) !important;
  }

  .service-hero h1{
    font-size:clamp(33px,10vw,43px) !important;
  }

  .service-quickfacts{
    grid-template-columns:1fr 1fr !important;
  }

  .service-quickfacts>div:last-child{
    grid-column:1/-1;
  }
}

@media (max-width: 390px){

  .wrap{
    width:calc(100% - 22px) !important;
  }

  .header__inner{
    width:calc(100% - 18px) !important;
  }

  .logo{
    max-width:116px;
  }

  .logo__text em{
    display:none !important;
  }

  .header__phone-mobile{
    max-width:97px !important;
    font-size:8.5px !important;
  }

  .managed-service-card{
    grid-template-columns:84px minmax(0,1fr) !important;
  }

  .managed-service-card__image{
    width:84px !important;
  }

  .service-other-grid>a{
    grid-template-columns:80px minmax(0,1fr) !important;
  }

  .service-other-image{
    width:80px !important;
  }

  .mobile-bar a,
  .mobile-bar button{
    font-size:9px !important;
  }
}

@media (max-width: 340px){

  .header__phone-mobile{
    display:none !important;
  }

  .managed-hero h1{
    font-size:34px !important;
  }

  .service-hero h1{
    font-size:31px !important;
  }

  .service-quickfacts{
    grid-template-columns:1fr !important;
  }

  .service-quickfacts>div:last-child{
    grid-column:auto;
  }

  .managed-service-card{
    grid-template-columns:76px minmax(0,1fr) !important;
  }

  .managed-service-card__image{
    width:76px !important;
  }
}

/* Mobile landscape */
@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape){
  .nav,
  .nav.is-open{
    max-height:calc(100dvh - var(--mobile-header)) !important;
  }

  .managed-hero,
  .service-hero{
    padding-top:22px !important;
  }

  .floating-actions{
    flex-direction:row-reverse !important;
    width:auto !important;
  }
}

/* ===== V6.3 MULTI PHOTO FORM ===== */
.photo-upload{display:grid;gap:8px}
.photo-upload__label{color:#9baca2;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.photo-upload__button{display:flex!important;align-items:center;gap:11px;min-height:52px;margin:0!important;padding:8px 12px!important;border:1px dashed rgba(140,255,71,.35);border-radius:12px;background:rgba(140,255,71,.035);color:#eaf5ed;cursor:pointer}
.photo-upload__button:hover{border-color:var(--green);background:rgba(140,255,71,.065)}
.photo-upload__button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none}
.photo-upload__icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#07110d;font-size:21px}
.photo-upload__button b{font-size:11px;letter-spacing:.035em}.photo-upload>small{color:#6f8176;font-size:8.5px;line-height:1.45}
.photo-upload__files{display:grid;gap:5px}.photo-upload__file{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;align-items:center;min-width:0;padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:rgba(255,255,255,.02)}
.photo-upload__file>b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(140,255,71,.1);color:var(--green);font-size:7px}
.photo-upload__file>em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9c8bf;font-style:normal;font-size:9px}.photo-upload__file>small{color:#718278;font-size:8px}.photo-upload__error{color:#ffb4b4;font-size:9px}
@media(max-width:760px){.photo-upload__button{min-height:50px}.photo-upload__button b{font-size:10px}.photo-upload__file{grid-template-columns:21px minmax(0,1fr)}.photo-upload__file>small{grid-column:2}}


/* ===== V6.4 UPLOADED LOGO ===== */
.logo:has(.site-logo-image){
  max-width:190px;
}
.site-logo-image{
  display:block;
  width:auto;
  object-fit:contain;
}
.site-logo-image--header{
  max-width:175px;
  max-height:42px;
}
.site-logo-image--footer{
  max-width:190px;
  max-height:52px;
}
@media(max-width:760px){
  .logo:has(.site-logo-image){max-width:135px}
  .site-logo-image--header{max-width:130px;max-height:34px}
  .site-logo-image--footer{max-width:150px;max-height:46px}
}
@media(max-width:390px){
  .site-logo-image--header{max-width:105px;max-height:31px}
}

/* ===== V6.5 USER CABINET + LOYALTY ===== */
.nav__cabinet{color:var(--green)!important}
.form-loyalty-note{padding:10px 12px;border:1px solid rgba(140,255,71,.24);border-radius:10px;background:rgba(140,255,71,.06);color:#aebdb4;font-size:10px;line-height:1.45}.form-loyalty-note b{color:var(--green);font-size:13px}
.cabinet-body{background:var(--bg)}.cabinet-page{min-height:75vh;padding:120px 0 80px}.cabinet-alert{margin:0 0 18px;padding:13px 16px;border-radius:12px;font-size:12px}.cabinet-alert--error{border:1px solid rgba(255,120,120,.3);background:rgba(255,90,90,.06);color:#ffc0c0}.cabinet-alert--success{border:1px solid rgba(140,255,71,.25);background:rgba(140,255,71,.06);color:#cdecc0}
.cabinet-auth{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.cabinet-auth__intro h1,.cabinet-dashboard__head h1{font-size:clamp(58px,7vw,100px);line-height:.88;letter-spacing:-.065em;margin:18px 0 24px}.cabinet-auth__intro>p{max-width:620px;color:#aebdb4;font-size:14px;line-height:1.7}.cabinet-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:30px}.cabinet-benefits>div{padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}.cabinet-benefits strong{display:block;color:var(--green);font-size:34px}.cabinet-benefits span{display:block;color:#8ea096;font-size:10px;line-height:1.45;margin-top:7px}
.cabinet-auth__forms{display:grid;gap:10px}.cabinet-auth__forms details,.cabinet-password{border:1px solid var(--line);border-radius:17px;background:#08140e;overflow:hidden}.cabinet-auth__forms summary,.cabinet-password summary{padding:18px 20px;cursor:pointer;color:#eaf4ed;font-size:11px;font-weight:800;letter-spacing:.08em;list-style:none}.cabinet-auth__forms summary::-webkit-details-marker,.cabinet-password summary::-webkit-details-marker{display:none}.cabinet-auth__forms form,.cabinet-password form{display:grid;gap:13px;padding:0 20px 20px}.cabinet-auth__forms label:not(.privacy-consent),.cabinet-password label{display:grid;gap:6px}.cabinet-auth__forms label>span,.cabinet-password label>span{font-size:9px;color:#8fa097}.cabinet-auth__forms input,.cabinet-password input{min-height:50px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#07110d;color:#edf5f0}
.cabinet-dashboard__head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:28px}.cabinet-dashboard__head h1{font-size:clamp(48px,6vw,80px);margin-bottom:10px}.cabinet-dashboard__head p{color:#81938a;font-size:11px}.cabinet-logout{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:#aebdb4;cursor:pointer;font-size:9px}.cabinet-stats{display:grid;grid-template-columns:.7fr .7fr 1.6fr;gap:10px;margin:24px 0}.cabinet-stats article{padding:22px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.02)}.cabinet-stats small{display:block;color:#788a80;font-size:8px;letter-spacing:.1em}.cabinet-stats strong{display:block;margin-top:10px;font-size:36px}.cabinet-stats__discount{border-color:rgba(140,255,71,.24)!important}.cabinet-stats__discount strong{color:var(--green)}.cabinet-stats__discount span{display:block;color:#90a198;font-size:10px;line-height:1.45;margin-top:5px}.cabinet-actions{display:flex;align-items:center;gap:22px;margin:25px 0 60px}.cabinet-actions .mega-button{display:flex;width:max-content}.cabinet-actions p{max-width:500px;color:#7f9187;font-size:10px;line-height:1.5}.cabinet-orders h2{font-size:clamp(38px,5vw,62px);margin:15px 0 25px}.cabinet-order-list{border-top:1px solid var(--line)}.cabinet-order-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.cabinet-order-list time{font-size:8px;color:#6f8177}.cabinet-order-list h3{margin:5px 0 0;font-size:15px}.order-status{padding:7px 9px;border:1px solid var(--line);border-radius:999px;color:#9cac9f;font-size:8px}.order-status--completed{color:var(--green);border-color:rgba(140,255,71,.3)}.order-status--cancelled{color:#b88888}.order-status--in_progress{color:#e7d49c}.order-discount{grid-column:1/-1;color:var(--green);font-size:9px}.cabinet-empty{padding:25px;border:1px solid var(--line);border-radius:14px;color:#87988e;font-size:12px}.cabinet-password{margin-top:45px;max-width:680px}
@media(max-width:900px){.cabinet-page{padding-top:92px}.cabinet-auth{grid-template-columns:1fr;gap:30px}.cabinet-dashboard__head{align-items:flex-start}.cabinet-stats{grid-template-columns:1fr 1fr}.cabinet-stats__discount{grid-column:1/-1}}
@media(max-width:760px){.cabinet-page{padding:86px 0 100px}.cabinet-auth__intro h1,.cabinet-dashboard__head h1{font-size:clamp(38px,12vw,50px)}.cabinet-benefits,.cabinet-stats{grid-template-columns:1fr}.cabinet-stats__discount{grid-column:auto}.cabinet-dashboard__head{display:grid}.cabinet-actions{display:grid;gap:12px;margin-bottom:42px}.cabinet-actions .mega-button{width:100%}.cabinet-order-list article{grid-template-columns:1fr}.order-status{justify-self:start}.cabinet-auth__forms form{padding:0 14px 16px}.cabinet-auth__forms summary{padding:16px 14px}}


/* ===== V6.9 COMPACT LEAD FORM ===== */
.modal__box,#lead-form,#lead-form>*{min-width:0}
#lead-form>label:not(.privacy-consent){min-width:0}
#lead-form>label:not(.privacy-consent) input{min-width:0;max-width:100%}

@media(min-width:761px){
  .modal__box{
    width:min(650px,calc(100% - 52px));
    padding:28px 30px;
    border-radius:22px;
  }
  .modal__close{right:13px;top:13px;width:34px;height:34px;font-size:20px}
  .modal__box .section-number{font-size:7px}
  .modal__box h2{font-size:36px;line-height:.92;margin:12px 0 9px;padding-right:40px}
  .modal__box>p{font-size:11.5px;line-height:1.5;margin:0;max-width:540px}
  #lead-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 12px;
    margin-top:18px;
  }
  #lead-form>label:not(.privacy-consent){grid-column:auto}
  #lead-form label span{font-size:7.5px;margin:0 0 4px 2px}
  #lead-form input{min-height:46px;border-radius:10px;padding:0 12px;font-size:12px}
  #lead-form>.photo-upload,#lead-form>.captcha-box{grid-column:auto}
  #lead-form>.form-error,#lead-form>.form-loyalty-note,#lead-form>.privacy-consent,#lead-form>.mega-button{grid-column:1/-1}
  .photo-upload{gap:5px}
  .photo-upload__label{font-size:7.5px}
  .photo-upload__button{min-height:46px!important;padding:5px 9px!important;border-radius:10px}
  .photo-upload__icon{width:30px;height:30px;flex-basis:30px;font-size:18px;border-radius:8px}
  .photo-upload__button b{font-size:9.5px}
  .photo-upload>small{font-size:7.5px;line-height:1.3}
  .photo-upload__files{gap:3px}
  .photo-upload__file{padding:4px 6px}
  .captcha-box{padding:9px 10px!important;border-radius:10px!important;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px 10px;align-items:end}
  .captcha-box__top{grid-column:1;align-self:center}
  .captcha-box__top small{font-size:6.5px}
  .captcha-box__top strong{font-size:13px!important}
  .captcha-answer{grid-column:2}
  .captcha-answer span{font-size:7px!important}
  .captcha-answer input{min-height:42px!important}
  .privacy-consent{margin-top:0;gap:7px;align-items:flex-start}
  .privacy-consent input{width:15px!important;height:15px!important;min-height:15px!important;padding:0!important}
  .privacy-consent span{font-size:8.5px;line-height:1.35}
  #lead-form>.mega-button{min-height:48px;margin-top:0}
  #lead-form>.mega-button span{font-size:10px}
}

@media(max-width:760px){
  .modal__box{padding:18px 14px!important}
  .modal__close{right:10px;top:10px;width:34px;height:34px}
  .modal__box h2{font-size:30px!important;margin:10px 0 8px!important;padding-right:38px}
  .modal__box>p{font-size:10.5px!important;line-height:1.42!important;margin:0}
  #lead-form{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin-top:14px!important}
  #lead-form>*{grid-column:1!important}
  #lead-form label span{font-size:7.5px;margin-bottom:4px}
  #lead-form input{min-height:44px!important;border-radius:10px;padding:0 11px;font-size:12px}
  .photo-upload{gap:5px}
  .photo-upload__button{min-height:44px!important;padding:5px 9px!important;border-radius:10px}
  .photo-upload__icon{width:29px;height:29px;flex-basis:29px}
  .photo-upload>small{font-size:7.3px;line-height:1.3}
  .captcha-box{padding:8px 9px!important;border-radius:10px!important}
  .captcha-box__top strong{font-size:12.5px!important}
  .captcha-answer input{min-height:42px!important}
  .privacy-consent{gap:7px}
  .privacy-consent input{width:15px!important;height:15px!important;min-height:15px!important;padding:0!important}
  .privacy-consent span{font-size:8px!important;line-height:1.3!important}
  #lead-form>.mega-button{min-height:47px}
}

/* ===== V6.13 COMPACT MODAL HEIGHT FIX ===== */
@media(min-width:761px){
  .modal__box{
    top:50% !important;
    bottom:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 52px) !important;
    transform:translateY(-50%);
    overscroll-behavior:contain;
  }
}

@media(max-width:760px){
  .modal__box{
    top:50% !important;
    bottom:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 20px) !important;
    transform:translateY(-50%);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}
