
:root{
  --ink:#0a120e;
  --bg:#f2f5f1;
  --paper:#ffffff;
  --paper-2:#f7faf6;
  --green:#0d6b2c;
  --green-2:#1f8d35;
  --green-3:#6dbb2c;
  --dark:#092515;
  --dark-2:#0f3621;
  --muted:#627168;
  --line:rgba(9,37,21,.14);
  --shadow:0 24px 70px rgba(9,37,21,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 12% 0%,rgba(31,141,53,.16),transparent 25%),radial-gradient(circle at 85% 12%,rgba(109,187,44,.13),transparent 28%),linear-gradient(180deg,#fbfcfb 0%,#edf3ef 100%)}
body:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(rgba(9,37,21,.18) .8px,transparent .8px);background-size:18px 18px;pointer-events:none}
a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{width:min(1240px,calc(100% - 28px));margin:0 auto;display:flex;align-items:center;gap:18px;min-height:82px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:260px}.brand img{width:52px;height:52px;object-fit:contain}.brand strong{display:block;color:var(--green);font-size:20px;line-height:1;text-transform:uppercase;letter-spacing:.02em}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.main-nav{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;flex-wrap:wrap}.main-nav a{padding:10px 13px;border-radius:999px;text-decoration:none;color:#22332a;font-size:14px;font-weight:700;transition:.2s}.main-nav a:hover,.main-nav a.active{color:#fff;background:linear-gradient(135deg,var(--dark),var(--green))}.header-phone{white-space:nowrap;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-3));padding:12px 16px;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(13,107,44,.22)}
.hero{position:relative;overflow:hidden;padding:92px 0 86px;background:linear-gradient(135deg,#fdfefd 0%,#edf5ef 46%,#dfe9e1 100%);border-bottom:1px solid var(--line)}.hero:before,.page-hero:before,.service-hero:before{content:"";position:absolute;inset:auto -160px -260px auto;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(31,141,53,.25),transparent 68%)}.hero-grid{display:grid;grid-template-columns:1fr minmax(380px,520px);gap:54px;align-items:center;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:8px 15px;margin-bottom:18px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--dark),var(--green));font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.eyebrow.dark{color:var(--green);background:rgba(13,107,44,.1);border:1px solid rgba(13,107,44,.16)}h1,h2,h3{margin:0;line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(42px,5.8vw,78px);text-transform:uppercase}h2{font-size:clamp(32px,4vw,56px);text-transform:uppercase}h3{font-size:24px}p{color:var(--muted);margin:0}.hero p,.page-hero p,.service-hero p{max-width:720px;font-size:clamp(18px,2vw,22px);margin-top:22px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 22px;border-radius:999px;text-decoration:none;border:1px solid transparent;font-weight:900;cursor:pointer;transition:.22s}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-3));box-shadow:0 18px 34px rgba(13,107,44,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(13,107,44,.28)}.btn-ghost{color:var(--dark);background:#fff;border-color:var(--line)}.btn-ghost:hover{border-color:rgba(13,107,44,.35);transform:translateY(-2px)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.facts div{padding:18px;border:1px solid rgba(13,107,44,.18);border-radius:22px;background:rgba(255,255,255,.82)}.facts strong{display:block;color:var(--green);font-size:25px;line-height:1}.facts span{display:block;color:#4a5b52;font-size:13px;margin-top:7px}.hero-media{position:relative;border-radius:36px;overflow:hidden;background:#0b1d13;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.45)}.hero-media img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center center}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}.media-badge{position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;background:linear-gradient(135deg,var(--dark),var(--green));border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 18px;font-weight:900;text-transform:uppercase;font-size:13px}.section{padding:86px 0}.section:nth-of-type(even){background:rgba(255,255,255,.42)}.section-head{margin-bottom:34px}.section-head p{max-width:670px;margin-top:14px;font-size:18px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:42px;align-items:center}.split p{font-size:18px;margin-top:18px}.benefit-grid,.doc-list,.note-grid,.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.benefit,.doc-list div,.note-grid div,.material-card,.contact-card{position:relative;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(9,37,21,.06)}.benefit:before,.doc-list div:before,.material-card:before{content:"";display:block;width:42px;height:42px;border-radius:50%;margin-bottom:18px;background:linear-gradient(135deg,var(--green),var(--green-3));box-shadow:inset 0 0 0 9px rgba(255,255,255,.85)}.benefit b,.material-card b,.contact-card b{display:block;font-size:18px;text-transform:uppercase;letter-spacing:-.02em}.benefit span{display:block;color:var(--muted);margin-top:5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 16px 42px rgba(9,37,21,.08);transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(13,107,44,.32)}.service-card a{text-decoration:none;display:block;height:100%}.service-card-media{height:175px;background:#0a2014;overflow:hidden}.service-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:.35s}.service-card:hover img{transform:scale(1.06)}.service-card-body{padding:22px}.service-card-body span,.work-card span{color:var(--green);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.service-card-body h3{font-size:21px;margin-top:8px}.service-card-body p{margin-top:12px;font-size:15px}.service-card.no-media .service-card-body{padding-top:26px}.service-card.no-media{background:linear-gradient(180deg,#ffffff 0%,#f5f9f6 100%)}.dark-block{position:relative;color:#fff;background:linear-gradient(135deg,var(--dark) 0%,#07110d 58%,var(--green) 130%) !important;overflow:hidden}.dark-block:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) .8px,transparent .8px);background-size:19px 19px;opacity:.25}.process-head{position:relative;margin-bottom:34px}.process-head h2{max-width:790px}.process-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-grid.light .step{background:#fff;color:var(--ink);border-color:var(--line)}.step{display:flex;align-items:flex-start;gap:16px;min-height:114px;padding:22px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}.step span{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-3));font-weight:900}.step p{color:inherit;font-weight:800}.image-stack{position:relative;min-height:430px}.image-stack img{position:absolute;width:72%;border-radius:30px;box-shadow:var(--shadow);border:10px solid #fff}.image-stack img:first-child{left:0;top:0}.image-stack img:last-child{right:0;bottom:0}.doc-list div{font-weight:900;text-transform:uppercase}.doc-list div:before{width:28px;height:28px;margin-bottom:12px}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}details{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px 22px;box-shadow:0 12px 28px rgba(9,37,21,.05)}summary{font-weight:900;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}details p{margin-top:12px}.cta-section{padding:90px 0;background:linear-gradient(135deg,#07110d,var(--dark));color:#fff}.cta-card{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start;padding:42px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);box-shadow:0 32px 90px rgba(0,0,0,.18)}.cta-card h2{max-width:570px}.cta-card p{color:rgba(255,255,255,.72);font-size:18px;margin-top:16px}.cta-contact{display:grid;gap:4px;margin-top:32px}.cta-contact span{font-size:34px;font-weight:900}.cta-contact small{color:rgba(255,255,255,.7)}.lead-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.lead-form label{display:grid;gap:7px;color:rgba(255,255,255,.75);font-size:13px;font-weight:800}.lead-form .full{grid-column:1/-1}.lead-form input,.lead-form textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:15px 16px;background:rgba(255,255,255,.1);color:#fff;outline:none;font:inherit}.lead-form input::placeholder,.lead-form textarea::placeholder{color:rgba(255,255,255,.48)}.lead-form textarea{min-height:104px;resize:vertical}.page-hero,.service-hero{position:relative;overflow:hidden;padding:74px 0;background:linear-gradient(135deg,var(--dark) 0%,#10291a 62%,var(--green) 140%);color:#fff}.page-hero h1,.service-hero h1{max-width:980px}.page-hero p,.service-hero p{color:rgba(255,255,255,.78)}.service-hero-grid{display:grid;grid-template-columns:1fr 440px;gap:42px;align-items:center}.back-link{display:inline-flex;margin-bottom:18px;color:rgba(255,255,255,.8);text-decoration:none;font-weight:800}.service-media img{min-height:380px}.service-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}.text-card,.included-card{padding:32px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(9,37,21,.08)}.text-card h2{font-size:40px}.text-card p{font-size:18px;margin-top:16px}.included-card{position:sticky;top:105px}.included-card ol{margin:18px 0 0;padding:0;list-style:none;counter-reset:item;display:grid;gap:10px}.included-card li{position:relative;padding:14px 14px 14px 52px;border-radius:16px;background:var(--paper-2);border:1px solid var(--line);font-weight:700}.included-card li:before{counter-increment:item;content:counter(item);position:absolute;left:14px;top:13px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:12px}.price-table-wrap{overflow:auto;border-radius:28px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.price-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0}.price-table th,.price-table td{padding:18px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.price-table thead th{position:sticky;top:0;background:linear-gradient(135deg,var(--dark),var(--green));color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.price-table tbody th{width:130px;color:var(--green)}.price-table td:not(:nth-child(2)){white-space:nowrap;font-weight:800}.note-grid{grid-template-columns:repeat(3,1fr);margin-top:22px}.note-grid b{display:block;color:var(--green);font-size:18px;text-transform:uppercase}.note-grid p{margin-top:8px}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.work-card{overflow:hidden;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(9,37,21,.08)}.work-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px 10px 0}.work-shot{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#0b1d13;border:1px solid rgba(9,37,21,.08)}.work-shot img{width:100%;height:250px;display:block;object-fit:cover;background:#0b1d13}.work-shot figcaption{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,var(--dark),var(--green));color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 10px 24px rgba(0,0,0,.18)}.work-card > div:last-child{padding:24px}.work-card h3{margin-top:8px;font-size:28px}.work-card p{margin-top:12px}.example-photo-block{padding:14px;border-radius:34px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.example-photo-block img{display:block;width:100%;height:auto;border-radius:24px}.material-grid{grid-template-columns:repeat(3,1fr)}.contacts-section{padding-top:60px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-card a,.contact-card span{display:block;margin-top:10px;color:var(--green);font-size:22px;font-weight:900;text-decoration:none}.footer{padding:54px 0;background:#07110d;color:#fff}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:start}.footer p{color:rgba(255,255,255,.66);margin-top:12px}.footer a{color:#fff}.footer-logo{width:230px;max-width:100%;height:auto;display:block}
@media (max-width:1100px){.header-inner{flex-wrap:wrap;justify-content:center;padding:12px 0}.brand{min-width:auto}.header-phone{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.service-hero-grid,.service-detail,.cta-card,.split{grid-template-columns:1fr}.included-card{position:static}.hero-media img{min-height:360px}.process-grid,.material-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.container{width:min(100% - 28px,1180px)}.site-header{position:relative}.header-inner{align-items:flex-start}.brand img{width:44px;height:44px}.brand strong{font-size:17px}.brand small{font-size:10px}.main-nav{justify-content:flex-start;overflow:auto;width:100%;flex-wrap:nowrap;padding-bottom:6px}.main-nav a{flex:0 0 auto}.hero,.page-hero,.service-hero{padding:54px 0}.hero-grid{gap:28px}h1{font-size:38px}h2{font-size:32px}.hero p,.page-hero p,.service-hero p{font-size:17px}.hero-actions .btn,.btn{width:100%;}.facts{grid-template-columns:1fr}.section{padding:58px 0}.service-grid,.process-grid,.process-grid.light,.benefit-grid,.doc-list,.faq-grid,.works-grid,.note-grid,.material-grid,.contact-grid,.footer-grid,.visual-brochures{grid-template-columns:1fr}.lead-form{grid-template-columns:1fr}.cta-card{padding:24px;border-radius:28px}.cta-contact span{font-size:26px}.image-stack{min-height:auto;display:grid;gap:14px}.image-stack img{position:static;width:100%;border-width:6px}.price-table{min-width:920px}.service-card-media{height:205px}.work-shot img{height:210px}.example-photo-block{padding:8px}}


/* ===== v3: более органичные заголовки + красивая страница цен ===== */
:root{
  --accent-glow: 0 28px 80px rgba(13,107,44,.18);
}

h1{
  font-size:clamp(34px,4.2vw,58px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  text-transform:none !important;
}
h2{
  font-size:clamp(28px,3.1vw,44px) !important;
  line-height:1.1 !important;
  letter-spacing:-.03em !important;
  text-transform:none !important;
}
h3{
  letter-spacing:-.025em !important;
}
.hero p,
.page-hero p,
.service-hero p{
  font-size:clamp(16px,1.45vw,20px) !important;
  line-height:1.55 !important;
}
.page-hero{
  padding:62px 0 !important;
}
.hero{
  padding:78px 0 72px !important;
}
.brand strong{
  letter-spacing:-.02em;
}
.btn,
.header-phone{
  letter-spacing:-.01em;
}

/* Страница цен */
.price-page-hero{
  background:
    radial-gradient(circle at 92% 18%, rgba(70,190,70,.26), transparent 32%),
    radial-gradient(circle at 14% 82%, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(135deg,#06120c 0%,#0b2515 48%,#0d6b2c 135%) !important;
}
.price-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:34px;
  align-items:center;
  position:relative;
  z-index:1;
}
.price-hero-card{
  position:relative;
  padding:30px;
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.22);
  overflow:hidden;
}
.price-hero-card:before{
  content:"";
  position:absolute;
  inset:-90px -80px auto auto;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(101,221,92,.22);
  filter:blur(2px);
}
.price-hero-card span{
  display:inline-flex;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.8);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.price-hero-card strong{
  display:block;
  margin-top:16px;
  color:#fff;
  font-size:clamp(42px,5vw,64px);
  line-height:.95;
  letter-spacing:-.06em;
}
.price-hero-card p{
  margin-top:12px !important;
  color:#fff !important;
  font-size:19px !important;
  font-weight:900;
}
.price-hero-card small{
  display:block;
  margin-top:16px;
  color:rgba(255,255,255,.68);
  line-height:1.45;
}

.price-intro{
  padding:38px 0 18px !important;
  background:#f7faf7 !important;
}
.price-intro-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.price-intro-card{
  position:relative;
  padding:24px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 16px 46px rgba(9,37,21,.06);
}
.price-intro-card:before{
  content:"";
  display:block;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:15px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.55)),
    linear-gradient(135deg,var(--green),var(--green-3));
  box-shadow:inset 0 0 0 11px rgba(13,107,44,.12);
}
.price-intro-card b{
  display:block;
  color:var(--ink);
  font-size:18px;
  letter-spacing:-.02em;
}
.price-intro-card p{
  margin-top:10px;
  font-size:15px;
  line-height:1.55;
}

.price-section{
  background:
    linear-gradient(180deg,#f7faf7 0%,#eef5ef 100%) !important;
}
.price-head p{
  max-width:820px;
}
.price-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.price-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px;
  border-radius:32px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88));
  border:1px solid rgba(13,107,44,.14);
  box-shadow:0 18px 50px rgba(9,37,21,.08);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.price-card:before{
  content:"";
  position:absolute;
  inset:-90px -80px auto auto;
  width:190px;
  height:190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,141,53,.15),transparent 68%);
  pointer-events:none;
}
.price-card:hover{
  transform:translateY(-6px);
  border-color:rgba(13,107,44,.34);
  box-shadow:var(--accent-glow);
}
.price-card-top{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:start;
}
.price-num{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,var(--dark),var(--green));
  font-weight:950;
  letter-spacing:-.04em;
  box-shadow:0 16px 36px rgba(13,107,44,.24);
}
.price-card h3{
  font-size:24px;
  line-height:1.08;
  margin:2px 0 0;
}
.price-card-top p{
  margin-top:9px;
  font-size:14px;
  line-height:1.45;
  color:#607066;
}
.price-main{
  margin-top:20px;
  padding:20px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(111,222,93,.26),transparent 30%),
    linear-gradient(135deg,var(--dark),#0b351b);
  box-shadow:0 18px 46px rgba(13,107,44,.18);
}
.price-main span{
  display:block;
  max-width:260px;
  color:rgba(255,255,255,.74);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
.price-main strong{
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:36px;
  line-height:1;
  letter-spacing:-.06em;
}
.price-lines{
  display:grid;
  gap:9px;
  margin-top:18px;
}
.price-lines div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(9,37,21,.08);
}
.price-lines span{
  color:#435247;
  font-size:14px;
  line-height:1.3;
}
.price-lines b{
  flex:0 0 auto;
  color:var(--green);
  font-size:15px;
  white-space:nowrap;
}
.price-card-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  margin-top:auto;
  padding:13px 18px;
  border-radius:999px;
  color:var(--green);
  background:rgba(13,107,44,.08);
  text-decoration:none;
  font-weight:950;
  border:1px solid rgba(13,107,44,.12);
  transition:.22s ease;
}
.price-card-btn:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-3));
  transform:translateY(-2px);
}

.addons-section{
  background:#fff !important;
}
.addon-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.addon-card{
  position:relative;
  padding:26px;
  border-radius:30px;
  min-height:260px;
  background:#0b1d13;
  color:#fff;
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
  box-shadow:0 20px 60px rgba(9,37,21,.14);
}
.addon-card:before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-82px;
  top:-82px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(74,190,64,.45),transparent 68%);
}
.addon-card span{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  color:#9bf28b;
  font-weight:950;
}
.addon-card h3{
  position:relative;
  margin-top:24px;
  font-size:23px;
  color:#fff;
}
.addon-card p{
  position:relative;
  margin-top:12px;
  color:rgba(255,255,255,.68);
  line-height:1.5;
}
.addon-card b{
  position:absolute;
  left:26px;
  bottom:24px;
  display:inline-flex;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--green);
  font-size:15px;
}

.price-note-section{
  padding:36px 0 86px !important;
  background:#fff !important;
}
.price-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:34px;
  border-radius:34px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(0,0,0,.45),rgba(0,0,0,.10)),
    url("assets/sandblasting-photo-clean.jpg") center/cover;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.price-note h2{
  color:#fff;
}
.price-note p{
  max-width:720px;
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.55;
  margin-top:12px;
}
.price-note .btn{
  flex:0 0 auto;
  background:#fff;
  color:var(--green);
  box-shadow:none;
}
.price-note .btn:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-3));
}

/* лёгкая полировка общих визуалов */
.service-card,
.work-card,
.material-card,
.contact-card,
.text-card,
.included-card{
  box-shadow:0 16px 48px rgba(9,37,21,.075);
}
.site-header{
  backdrop-filter:blur(14px);
}
.header-phone{
  background:linear-gradient(135deg,var(--green),var(--green-3));
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(13,107,44,.18);
}

@media (max-width:1100px){
  .price-hero-grid,
  .price-intro-grid,
  .price-card-grid,
  .addon-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:720px){
  h1{font-size:34px !important;}
  h2{font-size:29px !important;}
  .hero{padding:56px 0 !important;}
  .page-hero{padding:50px 0 !important;}
  .price-hero-grid,
  .price-intro-grid,
  .price-card-grid,
  .addon-grid{
    grid-template-columns:1fr;
  }
  .price-card{
    padding:18px;
    border-radius:26px;
  }
  .price-card-top{
    grid-template-columns:50px 1fr;
    gap:13px;
  }
  .price-num{
    width:50px;
    height:50px;
    border-radius:16px;
  }
  .price-main strong{
    font-size:32px;
  }
  .price-lines div{
    display:grid;
    gap:5px;
  }
  .price-note{
    display:grid;
    padding:24px;
  }
  .price-note .btn{
    width:100%;
  }
}


/* ===== v4: точечные правки по комментариям ===== */
.header-inner{
  flex-wrap:wrap;
  row-gap:10px;
  min-height:auto;
  padding:10px 0;
}
.brand{
  min-width:auto;
  flex:0 1 auto;
}
.main-nav{
  flex:1 1 620px;
  min-width:0;
  gap:8px;
  justify-content:center;
}
.main-nav a{
  padding:10px 14px;
  font-size:13px;
}
.header-phone{
  flex:0 0 auto;
}
.hero,
.page-hero,
.service-hero,
.cta-section,
.dark-block{
  position:relative;
}
.hero:after,
.page-hero:after,
.service-hero:after,
.cta-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg stroke='%23ffffff' stroke-width='2' stroke-opacity='.22'%3E%3Cline x1='56' y1='70' x2='122' y2='35'/%3E%3Cline x1='122' y1='35' x2='194' y2='62'/%3E%3Cline x1='56' y1='70' x2='94' y2='138'/%3E%3Cline x1='122' y1='35' x2='150' y2='118'/%3E%3Cline x1='94' y1='138' x2='150' y2='118'/%3E%3Cline x1='150' y1='118' x2='212' y2='140'/%3E%3Cline x1='94' y1='138' x2='82' y2='208'/%3E%3Cline x1='150' y1='118' x2='122' y2='205'/%3E%3Cline x1='122' y1='205' x2='82' y2='208'/%3E%3Cline x1='122' y1='205' x2='185' y2='224'/%3E%3Cline x1='212' y1='140' x2='185' y2='224'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.28'%3E%3Ccircle cx='56' cy='70' r='8'/%3E%3Ccircle cx='122' cy='35' r='10'/%3E%3Ccircle cx='194' cy='62' r='8'/%3E%3Ccircle cx='94' cy='138' r='10'/%3E%3Ccircle cx='150' cy='118' r='9'/%3E%3Ccircle cx='212' cy='140' r='8'/%3E%3Ccircle cx='82' cy='208' r='8'/%3E%3Ccircle cx='122' cy='205' r='10'/%3E%3Ccircle cx='185' cy='224' r='8'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right -20px top 30px;
  background-size:240px 240px;
}
.hero{background:linear-gradient(135deg,#fbfdfb 0%,#eef6f0 42%,#dbe8de 100%) !important;}
.page-hero,.service-hero{background:linear-gradient(135deg,#06120c 0%,#0a2717 50%,#11803a 100%) !important;}
.dark-block,.cta-section{background:linear-gradient(135deg,#05110b 0%,#082717 46%,#0d6b2c 100%) !important;}
.price-page-hero{background:radial-gradient(circle at 92% 18%, rgba(120,230,120,.24), transparent 34%),radial-gradient(circle at 14% 82%, rgba(255,255,255,.16), transparent 30%),linear-gradient(135deg,#06120c 0%,#0a2817 44%,#13863a 100%) !important;}

.benefit:before,
.material-card:before,
.price-intro-card:before{display:none !important;}
.benefit,
.material-card,
.price-intro-card{padding:24px !important;}

.card-icon{
  --icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%2716%27%20r%3D%279%27%20stroke%3D%27white%27%20stroke-width%3D%272.4%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M11%2019l4-5%206%203%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2711%27%20cy%3D%2719%27%20r%3D%271.8%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2715%27%20cy%3D%2714%27%20r%3D%271.8%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2721%27%20cy%3D%2717%27%20r%3D%271.8%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin-bottom:18px;
  border-radius:20px;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.32), transparent 34%),
    linear-gradient(135deg,#056728 0%,#0d7c31 48%,#6fba2f 100%);
  border:1px solid rgba(7,74,30,.14);
  box-shadow:
    0 14px 30px rgba(13,107,44,.18),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -10px 18px rgba(0,0,0,.10);
}
.card-icon:before{content:"";display:block;width:34px;height:34px;background:center/contain no-repeat var(--icon);filter:drop-shadow(0 1px 0 rgba(255,255,255,.08));}
.icon-shield{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M16%203.5l10%204.2v7.1c0%206.3-4%2010.6-10%2013.7-6-3.1-10-7.4-10-13.7V7.7L16%203.5Z%27%20stroke%3D%27white%27%20stroke-width%3D%272.3%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M11%2012.2l5.3-4.2%205.1%203.4-1.3%207.1-5.9%204-5.1-3.6%201.9-6.7Z%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M11%2012.2%2016.3%208m0%200%205.1%203.4m-10.4.8%204.7%204.4%205.7-5.2m-6%205.2-1.1%205.8%27%20stroke%3D%27white%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2711%27%20cy%3D%2712.2%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2716.3%27%20cy%3D%278%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2721.4%27%20cy%3D%2711.4%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2715.7%27%20cy%3D%2716.6%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-timer{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M12.5%204.5h7M16%208v2.5%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%2718%27%20r%3D%279.5%27%20stroke%3D%27white%27%20stroke-width%3D%272.3%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M16%2018l4.4-3.7M16%2018l-3.5%204.4%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%2718%27%20r%3D%271.9%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2720.4%27%20cy%3D%2714.3%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2712.5%27%20cy%3D%2722.4%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-value{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M6.5%2011.5%2014%204h9.5l2%202v9.4L18%2023H8.8L6.5%2020.7z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M14%204v7.5H6.5M13.2%2019.5c.8.9%201.9%201.4%203.3%201.4%202%200%203.5-1%203.5-2.6%200-1.4-1-2.2-3.2-2.7-2.2-.5-3.1-1.2-3.1-2.5%200-1.5%201.3-2.5%203.2-2.5%201.2%200%202.1.3%202.9%201.1M16.5%209.3v13.5%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2718%27%20cy%3D%278.6%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2712.4%27%20cy%3D%2718.4%27%20r%3D%271.5%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-camera{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M6%2010.5h5l2.2-2.8h5.6l2.2%202.8H26v13H6z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%2717%27%20r%3D%275.2%27%20stroke%3D%27white%27%20stroke-width%3D%272.1%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M12.8%2018.6%2016%2014.8l3.5%202.1%27%20stroke%3D%27white%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2712.8%27%20cy%3D%2718.6%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2714.8%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2719.5%27%20cy%3D%2716.9%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-package{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M16%204.5%2025%209v13.5L16%2027%207%2022.5V9z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M7%209l9%204.5L25%209M16%2013.5V27M12%207l9%204.5%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%274.5%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%277%27%20cy%3D%279%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2725%27%20cy%3D%279%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-search{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Ccircle%20cx%3D%2714%27%20cy%3D%2714%27%20r%3D%277.8%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%2F%3E%0A%20%20%3Cpath%20d%3D%27m19.6%2019.6%205.9%205.9M10.5%2016.7l3.2-4%204.3%202.1%27%20stroke%3D%27white%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2710.5%27%20cy%3D%2716.7%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2713.7%27%20cy%3D%2712.7%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2714.8%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-droplet{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M16%204.3c4.5%205%207.3%208.7%207.3%2013%200%204.4-3.3%207.7-7.3%207.7s-7.3-3.3-7.3-7.7c0-4.3%202.8-8%207.3-13Z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M13%2018.2%2016%2013l3.7%202.4%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2713%27%20cy%3D%2718.2%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2713%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2719.7%27%20cy%3D%2715.4%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-primer{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M7%2019.5h8l5.7-5.7-3.1-3.1L11.9%2016.4H7z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M15%2019.5v5H7v-5m10.6-8.8%203.1%203.1M22%208l3%203m-1.6-1.6%202.1-2.1%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2724.4%27%20cy%3D%277.3%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2722%27%20cy%3D%278%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2725%27%20cy%3D%2711%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-stone{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M8.4%2022.7%206%2016.1l4.5-6%207.5-2.6%206.1%204.7-1.8%207.9-5.4%204.4z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27m10.5%2017.3%204.8-4.1%205.8%202.3M15.3%2013.2l.8%209.7%27%20stroke%3D%27white%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2710.5%27%20cy%3D%2717.3%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2715.3%27%20cy%3D%2713.2%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2721.1%27%20cy%3D%2715.5%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-sound{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M6.5%2012.2h5.1L17%207.8v16.4l-5.4-4.4H6.5z%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M21%2012.6c1.8%201.1%202.9%203%202.9%205s-1.1%203.9-2.9%205M24.3%209.7c2.7%201.8%204.4%204.7%204.4%207.9%200%203.3-1.7%206.2-4.4%208%27%20stroke%3D%27white%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2721%27%20cy%3D%2712.6%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2721%27%20cy%3D%2722.6%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.icon-suspension{--icon:url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%3E%0A%20%20%3Cpath%20d%3D%27M12%204.5h8M12%2027.5h8M12.5%208.5h7l-7%205h7l-7%205h7l-7%205h7%27%20stroke%3D%27white%27%20stroke-width%3D%272.1%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M16%204.5v4M16%2023.5v4%27%20stroke%3D%27white%27%20stroke-width%3D%272.1%27%20stroke-linecap%3D%27round%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2716%27%20cy%3D%274.5%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2727.5%27%20r%3D%271.4%27%20fill%3D%27white%27%2F%3E%0A%3C%2Fsvg%3E%0A");}
.benefit b,.material-card b,.price-intro-card b{display:block;}
.benefit span:not(.card-icon), .material-card p, .price-intro-card p{display:block;}

.faq .section-head{margin-bottom:22px;}
.faq .section-head h2{display:none;}
.faq-grid details{transition:border-color .2s ease, box-shadow .2s ease;}
.faq-grid details:hover{border-color:rgba(13,107,44,.22); box-shadow:0 18px 34px rgba(9,37,21,.08);}
.faq-grid details summary{position:relative;display:flex;align-items:center;padding-right:34px;min-height:24px;}
.faq-grid details summary::after{content:"";position:absolute;right:2px;top:50%;width:10px;height:10px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:translateY(-60%) rotate(45deg);transition:transform .22s ease, opacity .22s ease;opacity:.9;}
.faq-grid details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.faq-grid details summary:hover::after{opacity:1;}


.price-lines-title{
  margin-top:16px;
  padding:13px 0 0;
  border-top:1px solid rgba(9,37,21,.08);
  color:var(--green);
  font-size:12px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.addon-card{
  display:flex;
  flex-direction:column;
}
.addon-card p{margin-bottom:18px;}
.addon-card b{
  position:static !important;
  margin-top:auto;
  align-self:flex-start;
}

@media (max-width:1180px){
  .header-inner{justify-content:space-between;}
  .brand{flex:1 1 auto;}
  .main-nav{order:3;flex:1 0 100%;justify-content:flex-start;}
  .header-phone{order:2;}
}
@media (max-width:720px){
  .main-nav{gap:6px;}
  .main-nav a{padding:9px 12px;font-size:12px;}
  .header-phone{width:100%;text-align:center;}
  .hero:after,.page-hero:after,.service-hero:after,.cta-section:before{background-size:190px 190px;background-position:right -25px top 24px;opacity:.15;}
}

/* ===== v5: адаптивная Яндекс карта ===== */
.map-section{
  background:linear-gradient(180deg,#f8fbf8 0%,#eef5ef 100%) !important;
}
.map-card{
  position:relative;
  padding:14px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(9,37,21,.12);
  box-shadow:0 22px 60px rgba(9,37,21,.10);
  overflow:hidden;
}
.map-card:before{
  content:"";
  position:absolute;
  inset:-120px -90px auto auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,141,53,.18),transparent 68%);
  pointer-events:none;
}
.map-frame{
  position:relative;
  width:100%;
  min-height:420px;
  border-radius:24px;
  overflow:hidden;
  background:#dfe8df;
}
.map-frame iframe{
  display:block;
  width:100%;
  height:420px;
  border:0;
}
.map-split{
  align-items:center;
}
.map-split .btn{
  margin-top:24px;
}
.home-map-section{
  padding-top:78px;
}
@media (max-width:720px){
  .map-card{padding:8px;border-radius:26px;}
  .map-frame{min-height:340px;border-radius:20px;}
  .map-frame iframe{height:340px;}
}


/* ===== v6: нормальная мобильная версия и меню ===== */
html,body{max-width:100%;overflow-x:hidden;}
*,*::before,*::after{min-width:0;}
img,video,iframe{max-width:100%;}
.mobile-nav-toggle,
.mobile-menu-button{display:none;}

@media (max-width: 860px){
  body{font-size:15px;}
  .container{width:min(100% - 28px,1180px) !important;}
  .site-header{position:sticky;top:0;background:rgba(255,255,255,.96);}
  .header-inner{
    width:min(100% - 24px,1180px) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px 12px !important;
    padding:9px 0 !important;
    min-height:auto !important;
  }
  .brand{
    min-width:0 !important;
    max-width:100%;
    gap:10px;
  }
  .brand img{width:42px !important;height:42px !important;flex:0 0 42px;}
  .brand strong{font-size:16px !important;line-height:1.05;white-space:normal;}
  .brand small{font-size:9px !important;line-height:1.15;letter-spacing:.04em;}
  .mobile-nav-toggle{position:absolute;opacity:0;pointer-events:none;}
  .mobile-menu-button{
    grid-column:2;
    grid-row:1;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:42px;
    padding:10px 14px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,var(--dark),var(--green));
    box-shadow:0 12px 26px rgba(9,37,21,.18);
    font-weight:900;
    cursor:pointer;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-text{font-size:13px;letter-spacing:.02em;}
  .mobile-menu-icon{width:18px;height:14px;display:grid;gap:4px;}
  .mobile-menu-icon span{display:block;width:18px;height:2px;border-radius:999px;background:#fff;transition:.22s ease;}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(2){opacity:0;}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .main-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    max-height:0;
    overflow:hidden !important;
    opacity:0;
    padding:0 10px !important;
    margin:0 !important;
    border:0;
    border-radius:24px;
    background:linear-gradient(180deg,#fff,#f6faf7);
    box-shadow:0 20px 48px rgba(9,37,21,.12);
    transform:translateY(-4px);
    transition:max-height .28s ease, opacity .22s ease, padding .22s ease, margin .22s ease, transform .22s ease, border-color .22s ease;
  }
  .mobile-nav-toggle:checked ~ .main-nav{
    max-height:620px;
    opacity:1;
    padding:12px !important;
    margin-top:4px !important;
    border:1px solid rgba(9,37,21,.12);
    transform:translateY(0);
  }
  .main-nav a{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:46px;
    padding:13px 15px !important;
    border-radius:16px !important;
    color:#17241c !important;
    background:#fff;
    border:1px solid rgba(9,37,21,.08);
    font-size:15px !important;
    font-weight:850;
    box-shadow:0 8px 20px rgba(9,37,21,.04);
  }
  .main-nav a:after{content:"›";color:var(--green);font-size:20px;line-height:1;}
  .main-nav a.active,
  .main-nav a:hover{
    color:#fff !important;
    background:linear-gradient(135deg,var(--dark),var(--green)) !important;
    border-color:transparent;
  }
  .main-nav a.active:after,
  .main-nav a:hover:after{color:#fff;}
  .header-phone{
    grid-column:1 / -1 !important;
    order:4 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-height:44px;
    padding:12px 14px !important;
    margin:0 !important;
    border-radius:18px !important;
    font-size:15px !important;
  }

  .hero,
  .page-hero,
  .service-hero{padding:42px 0 44px !important;}
  .section{padding:52px 0 !important;}
  h1{font-size:clamp(30px,8.7vw,38px) !important;line-height:1.08 !important;letter-spacing:-.035em !important;}
  h2{font-size:clamp(25px,7.4vw,32px) !important;line-height:1.1 !important;}
  h3{font-size:22px !important;}
  p{font-size:15px;}
  .hero p,.page-hero p,.service-hero p{font-size:16px !important;line-height:1.5 !important;margin-top:16px !important;}
  .eyebrow{max-width:100%;font-size:10px !important;line-height:1.2;padding:8px 12px;white-space:normal;}

  .hero-grid,
  .split,
  .service-hero-grid,
  .service-detail,
  .cta-card,
  .price-hero-grid,
  .price-intro-grid,
  .price-card-grid,
  .addon-grid,
  .process-grid,
  .process-grid.light,
  .benefit-grid,
  .doc-list,
  .faq-grid,
  .works-grid,
  .note-grid,
  .material-grid,
  .contact-grid,
  .footer-grid,
  .map-split{
    grid-template-columns:1fr !important;
  }
  .hero-grid,.split,.service-hero-grid,.service-detail,.cta-card,.map-split{gap:24px !important;}
  .service-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .facts{grid-template-columns:1fr !important;gap:10px !important;margin-top:22px !important;}
  .facts div{padding:16px !important;border-radius:18px;}
  .hero-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:24px !important;}
  .btn,.hero-actions .btn{width:100% !important;min-height:50px !important;padding:13px 18px !important;}

  .hero-media,.service-media{border-radius:26px !important;}
  .hero-media img,.service-media img{min-height:250px !important;height:250px !important;}
  .media-badge{left:14px;right:14px;bottom:14px;width:auto;text-align:center;font-size:11px;padding:10px 12px;}
  .service-card{border-radius:24px !important;}
  .service-card-media{height:210px !important;}
  .service-card-body{padding:20px !important;}
  .service-card-body h3{font-size:21px !important;}
  .service-card-body p{font-size:14px !important;}

  .process-grid{gap:12px !important;}
  .step{min-height:auto !important;padding:18px !important;border-radius:20px !important;}
  .included-card{position:static !important;}
  .text-card,.included-card,.price-card,.price-intro-card,.material-card,.contact-card{border-radius:24px !important;padding:20px !important;}

  .image-stack{min-height:auto !important;display:grid !important;gap:12px !important;}
  .image-stack img{position:static !important;width:100% !important;border-width:6px !important;border-radius:22px !important;}
  .work-gallery{grid-template-columns:1fr !important;gap:8px !important;padding:8px 8px 0 !important;}
  .work-shot img{height:220px !important;}
  .work-card > div:last-child{padding:20px !important;}
  .example-photo-block{padding:8px !important;border-radius:24px !important;}
  .example-photo-block img{border-radius:18px !important;}

  .price-hero-card{padding:22px !important;border-radius:24px !important;}
  .price-hero-card strong{font-size:42px !important;}
  .price-card-grid{gap:16px !important;}
  .price-card{padding:18px !important;}
  .price-card-top{grid-template-columns:48px 1fr !important;gap:12px !important;}
  .price-num{width:48px !important;height:48px !important;border-radius:16px !important;}
  .price-main{padding:18px !important;border-radius:20px !important;}
  .price-main strong{font-size:31px !important;}
  .price-lines div{display:grid !important;grid-template-columns:1fr !important;gap:5px !important;padding:10px 0 !important;}
  .price-lines b{white-space:normal !important;}
  .addon-card{min-height:auto !important;padding:22px !important;border-radius:24px !important;}
  .price-note{display:grid !important;padding:22px !important;border-radius:24px !important;}

  .lead-form{grid-template-columns:1fr !important;}
  .lead-form .full{grid-column:auto !important;}
  .cta-card{padding:22px !important;border-radius:26px !important;}
  .cta-contact span{font-size:24px !important;line-height:1.1;}
  .map-frame{min-height:320px !important;border-radius:18px !important;}
  .map-frame iframe{height:320px !important;}
  .map-card{border-radius:24px !important;padding:8px !important;}
  .footer{padding:38px 0 !important;}
}

@media (max-width: 420px){
  .container{width:min(100% - 22px,1180px) !important;}
  .header-inner{width:min(100% - 18px,1180px) !important;}
  .brand img{width:38px !important;height:38px !important;flex-basis:38px;}
  .brand strong{font-size:14px !important;}
  .brand small{font-size:8.5px !important;}
  .mobile-menu-button{min-height:40px;padding:9px 12px;}
  .mobile-menu-text{font-size:12px;}
  h1{font-size:30px !important;}
  h2{font-size:26px !important;}
  .hero-media img,.service-media img{height:225px !important;min-height:225px !important;}
  .service-card-media{height:190px !important;}
}


/* ===== v7: мобильная полировка всех страниц + анимации появления ===== */
.nav-phone-mobile{display:none !important;}

/* Scroll reveal: если JS отключен, сайт остаётся полностью видимым */
.js .reveal{
  opacity:0;
  transform:translateY(26px);
  transition:
    opacity .72s cubic-bezier(.2,.8,.2,1),
    transform .72s cubic-bezier(.2,.8,.2,1),
    filter .72s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
.js .reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.js .hero-media.reveal,
.js .service-media.reveal,
.js .image-stack img.reveal,
.js .work-shot.reveal,
.js .map-card.reveal{
  transform:translateY(22px) scale(.985);
  filter:saturate(.92) contrast(.96);
}
.js .hero-media.reveal.is-visible,
.js .service-media.reveal.is-visible,
.js .image-stack img.reveal.is-visible,
.js .work-shot.reveal.is-visible,
.js .map-card.reveal.is-visible{
  transform:translateY(0) scale(1);
  filter:saturate(1) contrast(1);
}
@media (prefers-reduced-motion: reduce){
  .js .reveal,
  .js .reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    filter:none !important;
  }
  *{scroll-behavior:auto !important;}
}

/* Планшеты и узкие ноутбуки */
@media (max-width: 1180px){
  .container{width:min(100% - 32px,1180px) !important;}
  .header-inner{width:min(100% - 28px,1180px) !important;}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .price-card-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .addon-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .material-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* Телефон: полноценная мобильная версия для всех страниц */
@media (max-width: 860px){
  html,body{width:100%;max-width:100%;overflow-x:hidden !important;}
  body{font-size:15px;line-height:1.5;}
  .container{width:min(100% - 24px,1180px) !important;}

  .site-header{
    position:sticky !important;
    top:0;
    z-index:100;
    background:rgba(255,255,255,.97) !important;
    backdrop-filter:blur(16px);
  }
  .header-inner{
    width:min(100% - 20px,1180px) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px 10px !important;
    min-height:auto !important;
    padding:8px 0 !important;
  }
  .brand{min-width:0 !important;max-width:100%;gap:9px !important;}
  .brand img{width:40px !important;height:40px !important;flex:0 0 40px;}
  .brand span{min-width:0;}
  .brand strong{font-size:15px !important;line-height:1.05 !important;white-space:normal !important;letter-spacing:-.02em;}
  .brand small{font-size:8.5px !important;line-height:1.15 !important;letter-spacing:.04em !important;}
  .header-phone{display:none !important;}

  .mobile-nav-toggle{position:absolute;opacity:0;pointer-events:none;}
  .mobile-menu-button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:40px;
    padding:9px 13px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#06170d 0%,#0d6b2c 70%,#38a63a 120%);
    box-shadow:0 12px 26px rgba(9,37,21,.18);
    font-weight:900;
    cursor:pointer;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-text{font-size:12px;letter-spacing:.02em;}
  .mobile-menu-icon{width:18px;height:14px;display:grid;gap:4px;}
  .mobile-menu-icon span{display:block;width:18px;height:2px;border-radius:999px;background:#fff;transition:.22s ease;}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(2){opacity:0;}
  .mobile-nav-toggle:checked + .mobile-menu-button .mobile-menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .main-nav{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    max-height:0;
    overflow:hidden !important;
    opacity:0;
    padding:0 10px !important;
    margin:0 !important;
    border:0;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f4faf6 100%);
    box-shadow:0 20px 48px rgba(9,37,21,.14);
    transform:translateY(-4px);
    transition:max-height .28s ease, opacity .22s ease, padding .22s ease, margin .22s ease, transform .22s ease, border-color .22s ease;
  }
  .mobile-nav-toggle:checked ~ .main-nav{
    max-height:calc(100vh - 76px);
    overflow-y:auto !important;
    opacity:1;
    padding:11px !important;
    margin-top:4px !important;
    border:1px solid rgba(9,37,21,.12);
    transform:translateY(0);
  }
  .main-nav a,
  .nav-phone-mobile{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:44px;
    padding:12px 14px !important;
    border-radius:15px !important;
    color:#17241c !important;
    background:#fff !important;
    border:1px solid rgba(9,37,21,.08) !important;
    font-size:14px !important;
    font-weight:850;
    box-shadow:0 8px 20px rgba(9,37,21,.04);
  }
  .main-nav a:after{content:"›";color:var(--green);font-size:20px;line-height:1;}
  .main-nav a.active,
  .main-nav a:hover,
  .nav-phone-mobile{
    color:#fff !important;
    background:linear-gradient(135deg,#06170d 0%,#0d6b2c 70%,#39a83d 120%) !important;
    border-color:transparent !important;
  }
  .main-nav a.active:after,
  .main-nav a:hover:after,
  .nav-phone-mobile:after{color:#fff !important;}

  .hero,
  .page-hero,
  .service-hero{padding:38px 0 42px !important;}
  .section{padding:48px 0 !important;}
  h1{font-size:clamp(28px,8.2vw,36px) !important;line-height:1.08 !important;letter-spacing:-.035em !important;}
  h2{font-size:clamp(24px,7.1vw,31px) !important;line-height:1.1 !important;}
  h3{font-size:21px !important;}
  p{font-size:15px;}
  .hero p,.page-hero p,.service-hero p{font-size:16px !important;line-height:1.5 !important;margin-top:15px !important;}
  .eyebrow{max-width:100%;font-size:10px !important;line-height:1.2;padding:8px 12px;white-space:normal;}

  .hero-grid,
  .split,
  .service-hero-grid,
  .service-detail,
  .cta-card,
  .price-hero-grid,
  .price-intro-grid,
  .price-card-grid,
  .addon-grid,
  .process-grid,
  .process-grid.light,
  .benefit-grid,
  .doc-list,
  .faq-grid,
  .works-grid,
  .note-grid,
  .material-grid,
  .contact-grid,
  .footer-grid,
  .map-split{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  .hero-grid,.split,.service-hero-grid,.service-detail,.cta-card,.map-split{gap:22px !important;}
  .service-grid{display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:16px !important;}
  .facts{grid-template-columns:1fr !important;gap:10px !important;margin-top:22px !important;}
  .facts div{padding:15px !important;border-radius:18px;}
  .hero-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:24px !important;}
  .btn,.hero-actions .btn{width:100% !important;min-height:49px !important;padding:13px 18px !important;}

  .hero-media,.service-media{border-radius:24px !important;}
  .hero-media img,.service-media img{min-height:230px !important;height:230px !important;}
  .media-badge{left:12px;right:12px;bottom:12px;width:auto;text-align:center;font-size:10px;padding:10px 12px;}
  .service-card{border-radius:24px !important;}
  .service-card-media{height:205px !important;}
  .service-card-body{padding:19px !important;}
  .service-card-body h3{font-size:20px !important;}
  .service-card-body p{font-size:14px !important;}

  .process-grid{gap:12px !important;}
  .step{min-height:auto !important;padding:18px !important;border-radius:20px !important;}
  .included-card{position:static !important;top:auto !important;}
  .included-card ol{gap:8px !important;}
  .included-card li{font-size:14px !important;padding:13px 13px 13px 48px !important;}
  .text-card,.included-card,.price-card,.price-intro-card,.material-card,.contact-card{border-radius:24px !important;padding:20px !important;}

  .image-stack{min-height:auto !important;display:grid !important;gap:12px !important;}
  .image-stack img{position:static !important;width:100% !important;border-width:6px !important;border-radius:22px !important;}
  .work-gallery{grid-template-columns:1fr !important;gap:8px !important;padding:8px 8px 0 !important;}
  .work-shot img{height:220px !important;}
  .work-card > div:last-child{padding:20px !important;}
  .example-photo-block{padding:8px !important;border-radius:24px !important;}
  .example-photo-block img{border-radius:18px !important;}

  .price-hero-card{padding:22px !important;border-radius:24px !important;}
  .price-hero-card strong{font-size:40px !important;}
  .price-card-grid{gap:16px !important;}
  .price-card{padding:18px !important;}
  .price-card-top{grid-template-columns:46px minmax(0,1fr) !important;gap:12px !important;}
  .price-num{width:46px !important;height:46px !important;border-radius:15px !important;}
  .price-main{padding:18px !important;border-radius:20px !important;}
  .price-main strong{font-size:30px !important;}
  .price-lines div{display:grid !important;grid-template-columns:1fr !important;gap:5px !important;padding:10px 0 !important;}
  .price-lines b{white-space:normal !important;}
  .addon-card{min-height:auto !important;padding:22px !important;border-radius:24px !important;}
  .price-note{display:grid !important;padding:22px !important;border-radius:24px !important;}

  .lead-form{grid-template-columns:1fr !important;}
  .lead-form .full{grid-column:auto !important;}
  .lead-form input,.lead-form textarea{font-size:16px !important;} /* чтобы iPhone не увеличивал страницу при фокусе */
  .cta-card{padding:22px !important;border-radius:26px !important;}
  .cta-contact span{font-size:24px !important;line-height:1.1;}
  .map-frame{min-height:320px !important;border-radius:18px !important;}
  .map-frame iframe{height:320px !important;}
  .map-card{border-radius:24px !important;padding:8px !important;}
  .footer{padding:38px 0 !important;}
  .footer-logo{width:190px !important;}
}

@media (max-width: 420px){
  .container{width:min(100% - 20px,1180px) !important;}
  .header-inner{width:min(100% - 16px,1180px) !important;}
  .brand img{width:36px !important;height:36px !important;flex-basis:36px;}
  .brand strong{font-size:13px !important;}
  .brand small{display:none !important;}
  .mobile-menu-button{min-height:38px;padding:8px 11px;}
  .mobile-menu-text{font-size:12px;}
  h1{font-size:28px !important;}
  h2{font-size:25px !important;}
  .hero-media img,.service-media img{height:215px !important;min-height:215px !important;}
  .service-card-media{height:185px !important;}
  .work-shot img{height:200px !important;}
  .price-main strong{font-size:28px !important;}
}

/* ===== v8: современная полировка, заметный логотип, телефон всегда на виду ===== */
:root{
  --neon:#7df064;
  --glass:rgba(255,255,255,.78);
  --glass-line:rgba(13,107,44,.16);
  --soft-shadow:0 22px 80px rgba(9,37,21,.12);
}
html,body{max-width:100%;overflow-x:hidden;}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(71,190,72,.16),transparent 28%),
    radial-gradient(circle at 92% 8%,rgba(125,240,100,.13),transparent 30%),
    linear-gradient(180deg,#fbfdfb 0%,#edf4ef 56%,#f7faf7 100%) !important;
}
.site-header{
  background:rgba(250,255,251,.88) !important;
  border-bottom:1px solid rgba(13,107,44,.12) !important;
  box-shadow:0 10px 34px rgba(9,37,21,.06);
  transition:box-shadow .25s ease, background .25s ease, transform .25s ease;
}
.site-header.is-scrolled{
  background:rgba(250,255,251,.94) !important;
  box-shadow:0 18px 46px rgba(9,37,21,.11);
}
.brand{
  position:relative;
  padding:7px 10px 7px 7px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,251,246,.68));
  border:1px solid rgba(13,107,44,.12);
  box-shadow:0 12px 34px rgba(9,37,21,.055);
  overflow:hidden;
}
.brand:after{
  content:"";
  position:absolute;
  inset:auto 10px -18px auto;
  width:76px;height:76px;border-radius:50%;
  background:radial-gradient(circle,rgba(125,240,100,.18),transparent 65%);
  pointer-events:none;
}
.brand img{
  width:56px !important;
  height:56px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 12px rgba(13,107,44,.18));
  transform:translateZ(0);
}
.brand strong{
  color:#056023 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
.brand small{color:#5f7267 !important;}
.header-phone{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%,rgba(125,240,100,.42),transparent 32%),
    linear-gradient(135deg,#06170d 0%,#0d6b2c 58%,#48b942 120%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 18px 42px rgba(13,107,44,.24) !important;
}
.header-phone:before{content:"☎";font-size:14px;line-height:1;}
.header-phone:after,.btn-primary:after,.price-card-btn:after{
  content:"";
  position:absolute;
  top:-80%;left:-60%;
  width:48%;height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:rotate(22deg) translateX(-120%);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.header-phone:hover:after,.btn-primary:hover:after,.price-card-btn:hover:after{transform:rotate(22deg) translateX(430%);}
.btn,.price-card-btn{position:relative;overflow:hidden;}
.btn-primary{
  background:radial-gradient(circle at 86% 18%,rgba(125,240,100,.34),transparent 34%),linear-gradient(135deg,#0b2d19,#0d6b2c 58%,#56bf48 128%) !important;
  box-shadow:0 18px 42px rgba(13,107,44,.25) !important;
}
.btn-ghost{
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(10px);
  border-color:rgba(13,107,44,.16) !important;
}
.hero{
  background:
    radial-gradient(circle at 84% 12%,rgba(125,240,100,.22),transparent 30%),
    radial-gradient(circle at 8% 85%,rgba(13,107,44,.12),transparent 32%),
    linear-gradient(135deg,#fbfefb 0%,#eef7f1 48%,#dceadf 100%) !important;
}
.hero:before,.page-hero:before,.service-hero:before{
  background:radial-gradient(circle,rgba(125,240,100,.32),transparent 64%) !important;
}
.hero:after,.page-hero:after,.service-hero:after,.cta-section:before{
  opacity:.22 !important;
  mix-blend-mode:multiply;
}
.hero-content{position:relative;z-index:1;}
.hero-content:after{
  content:"";
  position:absolute;
  left:-34px;top:20%;
  width:4px;height:120px;border-radius:999px;
  background:linear-gradient(180deg,var(--green),var(--neon));
  box-shadow:0 0 28px rgba(125,240,100,.4);
}
.hero-media,.service-media,.map-card,.example-photo-block{
  border:1px solid rgba(255,255,255,.65) !important;
  box-shadow:0 28px 82px rgba(9,37,21,.17) !important;
}
.service-card,.price-card,.addon-card,.material-card,.benefit,.work-card,.contact-card,.price-intro-card,.text-card,.included-card,.doc-list div,.faq-grid details,.step{
  position:relative;
  overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease;
}
.service-card:after,.price-card:after,.addon-card:after,.material-card:after,.benefit:after,.work-card:after,.contact-card:after,.price-intro-card:after,.text-card:after,.included-card:after,.doc-list div:after,.faq-grid details:after,.step:after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--mx,80%) var(--my,18%),rgba(125,240,100,.22),transparent 34%);
  transition:opacity .25s ease;
}
.service-card:hover,.price-card:hover,.material-card:hover,.benefit:hover,.work-card:hover,.contact-card:hover,.price-intro-card:hover,.text-card:hover,.included-card:hover,.faq-grid details:hover{
  transform:translateY(-6px);
  border-color:rgba(13,107,44,.25) !important;
  box-shadow:0 30px 80px rgba(9,37,21,.13) !important;
}
.service-card:hover:after,.price-card:hover:after,.addon-card:hover:after,.material-card:hover:after,.benefit:hover:after,.work-card:hover:after,.contact-card:hover:after,.price-intro-card:hover:after,.text-card:hover:after,.included-card:hover:after,.doc-list div:hover:after,.faq-grid details:hover:after,.step:hover:after{opacity:1;}
.service-card-media img,.work-shot img,.hero-media img,.service-media img{
  transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .7s cubic-bezier(.2,.8,.2,1) !important;
}
.service-card:hover .service-card-media img,.work-card:hover .work-shot img,.hero-media:hover img,.service-media:hover img{
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.04);
}
.price-main,.addon-card,.dark-block,.cta-section,.page-hero,.service-hero{
  background:
    radial-gradient(circle at 88% 14%,rgba(125,240,100,.22),transparent 32%),
    linear-gradient(135deg,#06130c 0%,#092b18 48%,#0d6b2c 100%) !important;
}
.card-icon,.price-num,.step span{
  background:radial-gradient(circle at 76% 18%,rgba(125,240,100,.55),transparent 34%),linear-gradient(135deg,#0b2d19,#168438) !important;
  box-shadow:0 14px 32px rgba(13,107,44,.2), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
.main-nav .nav-phone-mobile{display:none !important;}

/* Более современное появление блоков */
.js .reveal{
  opacity:0;
  transform:translate3d(var(--reveal-x,0),34px,0) scale(.985);
  filter:blur(10px);
  transition:
    opacity .78s cubic-bezier(.16,1,.3,1),
    transform .78s cubic-bezier(.16,1,.3,1),
    filter .78s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.js .reveal-left{--reveal-x:-18px;}
.js .reveal-right{--reveal-x:18px;}
.js .reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.js .hero-media.reveal,.js .service-media.reveal,.js .image-stack img.reveal,.js .work-shot.reveal,.js .map-card.reveal{
  transform:translate3d(0,28px,0) scale(.975);
}
.js .hero-media.reveal.is-visible,.js .service-media.reveal.is-visible,.js .image-stack img.reveal.is-visible,.js .work-shot.reveal.is-visible,.js .map-card.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-media .media-badge{animation:softFloat 5s ease-in-out infinite;}

/* Телефон: логотип крупнее, телефон всегда виден, меню отдельно */
@media (max-width: 860px){
  .site-header{background:rgba(250,255,251,.98) !important;}
  .header-inner{
    width:min(100% - 18px,1180px) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand menu"
      "phone phone";
    align-items:center !important;
    gap:8px 10px !important;
    padding:8px 0 10px !important;
  }
  .brand{
    grid-area:brand;
    width:100%;
    padding:7px 9px 7px 7px !important;
    gap:10px !important;
    border-radius:20px !important;
  }
  .brand img{width:50px !important;height:50px !important;flex:0 0 50px !important;}
  .brand strong{font-size:16px !important;line-height:1.04 !important;}
  .brand small{display:block !important;font-size:9px !important;line-height:1.15 !important;}
  .mobile-menu-button{grid-area:menu;min-height:44px !important;padding:10px 14px !important;}
  .header-phone{
    grid-area:phone !important;
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:12px 14px !important;
    border-radius:18px !important;
    font-size:15px !important;
    letter-spacing:.01em !important;
  }
  .main-nav{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }
  .main-nav .nav-phone-mobile{display:none !important;}
  .hero-content:after{display:none;}
}
@media (max-width: 420px){
  .brand img{width:44px !important;height:44px !important;flex:0 0 44px !important;}
  .brand strong{font-size:14px !important;}
  .brand small{font-size:8px !important;display:block !important;}
  .mobile-menu-text{display:none;}
  .mobile-menu-button{width:44px !important;height:44px !important;min-height:44px !important;padding:0 !important;border-radius:16px !important;}
  .header-phone{font-size:14px !important;min-height:44px !important;}
}
@media (prefers-reduced-motion: reduce){
  .hero-media .media-badge{animation:none !important;}
}


/* ===== Reviews widget ===== */
.reviews-section{
  background:linear-gradient(180deg,#f8fbf8 0%,#eef5ef 100%) !important;
  position:relative;
  overflow:hidden;
}
.reviews-section:before{
  content:"";
  position:absolute;
  right:-160px;
  top:-170px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,141,53,.18),transparent 68%);
  pointer-events:none;
}
.reviews-widget-card{
  position:relative;
  padding:18px;
  border-radius:34px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(13,107,44,.14);
  box-shadow:0 24px 70px rgba(9,37,21,.10);
  overflow:hidden;
}
.reviews-widget-card .sw-app{
  min-height:220px;
}
@media (max-width:720px){
  .reviews-widget-card{
    padding:10px;
    border-radius:24px;
  }
  .reviews-widget-card .sw-app{
    min-height:260px;
  }
}


/* ===== v11 SEO blocks ===== */
.seo-service-section,.seo-main-section{background:linear-gradient(180deg,#f7faf7 0%,#edf5ef 100%) !important;}
.seo-service-card{padding:34px;border-radius:34px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:0 18px 52px rgba(9,37,21,.075);position:relative;overflow:hidden;}
.seo-service-card:after{content:"";position:absolute;right:-90px;top:-120px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(13,107,44,.12),transparent 68%);pointer-events:none;}
.seo-service-card h2{max-width:900px;}
.seo-service-card p{max-width:980px;margin-top:16px;font-size:17px;line-height:1.7;}
.seo-keywords{font-size:14px !important;color:#506157 !important;border-top:1px solid rgba(9,37,21,.08);padding-top:16px;}
@media (max-width:720px){.seo-service-card{padding:22px;border-radius:26px}.seo-service-card p{font-size:15px;line-height:1.65}}

/* Footer logo fix: compact transparent mark instead of tall full logo */
.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
  max-width:360px;
}
.footer-brand-icon{
  width:58px;
  height:64px;
  flex:0 0 58px;
  object-fit:contain;
  display:block;
  padding:4px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
.footer-brand-text strong{
  display:block;
  color:#fff;
  font-size:20px;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.footer-brand-text span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.footer-logo{display:none !important;}
@media (max-width:720px){
  .footer-brand{align-items:center;max-width:100%;}
  .footer-brand-icon{width:50px;height:56px;flex-basis:50px;border-radius:16px;}
  .footer-brand-text strong{font-size:17px;}
  .footer-brand-text span{font-size:10px;letter-spacing:.06em;}
}


/* ===== v15 privacy policy ===== */
.form-policy{
  margin:0;
  color:#667469;
  font-size:13px;
  line-height:1.45;
}
.form-policy a{color:var(--green);font-weight:900;text-decoration:none;border-bottom:1px solid rgba(13,107,44,.26)}
.form-policy a:hover{border-bottom-color:var(--green)}
.policy-section{background:linear-gradient(180deg,#f7faf7 0%,#edf5ef 100%) !important;}
.policy-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;}
.policy-card,.policy-side{border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 18px 52px rgba(9,37,21,.075);border-radius:34px;}
.policy-card{padding:42px;}
.policy-card h2{font-size:clamp(24px,3vw,34px);margin-top:34px;letter-spacing:-.035em;}
.policy-card h2:first-of-type{margin-top:22px;}
.policy-card p,.policy-card li{font-size:16px;line-height:1.75;color:#4b5d52;}
.policy-card p{margin-top:14px;}
.policy-card ul{margin:14px 0 0;padding-left:22px;}
.policy-card a{color:var(--green);font-weight:900;text-decoration:none;}
.policy-updated{padding:16px 18px;border-radius:20px;background:rgba(13,107,44,.08);border:1px solid rgba(13,107,44,.14);}
.policy-side{position:sticky;top:110px;padding:24px;}
.policy-side strong{display:block;color:var(--green);font-size:22px;text-transform:uppercase;letter-spacing:-.02em;}
.policy-side p{margin-top:10px;line-height:1.6;}
.policy-side .btn{width:100%;margin-top:14px;}
@media (max-width:900px){
  .policy-layout{grid-template-columns:1fr;}
  .policy-side{position:static;}
}
@media (max-width:720px){
  .policy-card{padding:24px;border-radius:26px;}
  .policy-card p,.policy-card li{font-size:15px;line-height:1.65;}
  .policy-side{padding:22px;border-radius:26px;}
}


/* --- Portfolio case updates --- */
.works-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch}
.featured-case{position:relative;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr;gap:24px;padding:28px;border-radius:34px;background:radial-gradient(circle at top right,rgba(93,209,128,.26),transparent 34%),linear-gradient(135deg,#07130d 0%,#0d2517 52%,#116f33 120%);color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 80px rgba(3,18,10,.28)}
.featured-case:before{content:"";position:absolute;inset:auto -10% -30% auto;width:260px;height:260px;background:radial-gradient(circle,rgba(92,209,128,.28),transparent 72%);pointer-events:none}
.featured-case-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.featured-case-meta span,.case-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.featured-case h2{margin:0 0 14px;font-size:clamp(32px,4vw,46px);line-height:1.02;color:#fff}
.featured-case p{margin:0;color:rgba(255,255,255,.76);font-size:18px;max-width:590px}
.featured-case-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.featured-case-actions .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.16)}
.featured-case-media{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.featured-case-media figure{position:relative;margin:0;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.26)}
.featured-case-media img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}
.featured-case-media figcaption{position:absolute;left:14px;top:14px;padding:8px 14px;border-radius:999px;background:rgba(7,19,13,.74);backdrop-filter:blur(6px);font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.case-list{display:grid;gap:18px}
.mini-case{padding:22px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(9,37,21,.08)}
.mini-case .case-badge{background:rgba(13,107,44,.08);border-color:rgba(13,107,44,.12);color:var(--green);margin-bottom:14px}
.mini-case h3{margin:0 0 10px;font-size:26px}
.mini-case p{margin:0;color:var(--muted)}
.work-link-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.work-link-row .link-more{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:900;text-decoration:none}
.case-page-hero{padding-top:52px}
.case-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:14px;color:rgba(255,255,255,.72)}
.case-breadcrumbs a{color:#fff;text-decoration:none;opacity:.84}
.case-breadcrumbs span{opacity:.5}
.case-hero-media{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.case-hero-media figure{position:relative;margin:0;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.22)}
.case-hero-media img{display:block;width:100%;height:420px;object-fit:cover}
.case-hero-media figcaption{position:absolute;left:18px;bottom:18px;padding:10px 16px;border-radius:999px;background:rgba(8,20,13,.78);backdrop-filter:blur(6px);font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.case-fact{padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 44px rgba(9,37,21,.08)}
.case-fact strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:10px}
.case-fact span{display:block;font-size:18px;font-weight:900;line-height:1.3;color:var(--ink)}
.case-layout{display:grid;grid-template-columns:1fr .92fr;gap:18px;align-items:start}
.case-overview-card,.case-process-card{padding:28px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(9,37,21,.08)}
.case-overview-card h2,.case-process-card h2{font-size:34px;margin:0 0 16px}
.case-overview-card p,.case-process-card p{font-size:17px;color:var(--muted)}
.case-process-list{display:grid;gap:10px;padding:0;margin:18px 0 0;list-style:none;counter-reset:steps}
.case-process-list li{position:relative;padding:14px 16px 14px 52px;border-radius:18px;background:var(--paper-2);border:1px solid var(--line);font-weight:700}
.case-process-list li:before{counter-increment:steps;content:counter(steps);position:absolute;left:14px;top:13px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--dark),var(--green));color:#fff;font-size:12px;font-weight:900}
.case-gallery-section{display:grid;gap:18px}
.case-gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.case-gallery-head h2{margin:0;font-size:38px}
.case-gallery-head p{margin:8px 0 0;max-width:720px}
.case-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.case-gallery-item{position:relative;overflow:hidden;display:block;padding:10px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(9,37,21,.08);text-decoration:none;color:inherit}
.case-gallery-item img{display:block;width:100%;height:260px;object-fit:cover;border-radius:18px}
.case-gallery-item small{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 4px 2px;font-weight:800;color:var(--ink)}
.case-gallery-item small span:last-child{color:var(--green)}
.case-gallery-item:hover img{transform:scale(1.03)}
.case-gallery-item img{transition:transform .6s ease}
.case-note{padding:18px 22px;border-radius:24px;background:rgba(13,107,44,.05);border:1px solid rgba(13,107,44,.12);font-weight:700;color:var(--ink)}
.portfolio-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(6,12,9,.88);backdrop-filter:blur(8px);z-index:2000}
.portfolio-lightbox.is-open{display:flex}
.portfolio-lightbox-dialog{position:relative;width:min(1100px,100%);max-height:calc(100vh - 48px);padding:24px;border-radius:30px;background:rgba(10,18,13,.92);border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 80px rgba(0,0,0,.35)}
.portfolio-lightbox-frame{display:grid;place-items:center;border-radius:22px;overflow:hidden;background:#050907}
.portfolio-lightbox-frame img{display:block;width:100%;max-height:72vh;object-fit:contain}
.portfolio-lightbox-caption{display:flex;justify-content:space-between;gap:14px;color:#fff;margin-top:14px;font-weight:700}
.portfolio-lightbox-caption small{color:rgba(255,255,255,.66);font-weight:600}
.portfolio-lightbox-close,.portfolio-lightbox-prev,.portfolio-lightbox-next{position:absolute;border:0;cursor:pointer;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(6px)}
.portfolio-lightbox-close{top:14px;right:14px;width:44px;height:44px;font-size:26px;line-height:1}
.portfolio-lightbox-prev,.portfolio-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:26px}
.portfolio-lightbox-prev{left:16px}.portfolio-lightbox-next{right:16px}
@media (max-width:1100px){.works-showcase,.case-layout{grid-template-columns:1fr}.featured-case{grid-template-columns:1fr}.case-facts{grid-template-columns:repeat(2,1fr)}.case-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.featured-case{padding:22px;border-radius:28px}.featured-case h2{font-size:34px}.featured-case p{font-size:16px}.featured-case-media,.case-hero-media,.case-gallery-grid,.case-facts{grid-template-columns:1fr}.case-hero-media img{height:280px}.case-overview-card,.case-process-card,.case-fact{padding:22px}.case-gallery-head h2{font-size:32px}.case-gallery-item img{height:220px}.portfolio-lightbox{padding:10px}.portfolio-lightbox-dialog{padding:16px;border-radius:22px}.portfolio-lightbox-prev,.portfolio-lightbox-next{width:42px;height:42px;font-size:22px}.portfolio-lightbox-caption{flex-direction:column;align-items:flex-start}}


/* --- Compact final portfolio --- */

.portfolio-filter-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;}
.portfolio-filter{display:flex;flex-wrap:wrap;gap:10px;}
.portfolio-filter-btn{appearance:none;border:1px solid rgba(13,107,44,.18);background:rgba(255,255,255,.86);color:var(--green);border-radius:999px;padding:12px 16px;font-size:13px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px rgba(9,37,21,.05);transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;}
.portfolio-filter-btn:hover{transform:translateY(-2px);border-color:rgba(13,107,44,.32);box-shadow:0 14px 30px rgba(9,37,21,.09);}
.portfolio-filter-btn.is-active{background:linear-gradient(135deg,#0d6b2c,#31ad4a);color:#fff;border-color:transparent;box-shadow:0 16px 34px rgba(13,107,44,.22);}
.portfolio-filter-count{min-width:max-content;color:var(--muted);font-size:14px;font-weight:800;}
.portfolio-card.is-hidden-by-filter{display:none;}
@media (max-width:720px){.portfolio-filter-wrap{display:block;margin-bottom:18px;}.portfolio-filter{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}.portfolio-filter::-webkit-scrollbar{height:0;}.portfolio-filter-btn{flex:0 0 auto;scroll-snap-align:start;padding:11px 13px;font-size:11px;}.portfolio-filter-count{font-size:13px;margin-top:2px;}}

.portfolio-section{padding-top:54px;}
.compact-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.portfolio-card{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 44px rgba(9,37,21,.08);text-decoration:none;color:var(--ink);transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;}
.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(9,37,21,.14);border-color:rgba(13,107,44,.22);}
.portfolio-card.is-ready{border-color:rgba(13,107,44,.28);}
.portfolio-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:linear-gradient(135deg,#07130d,#0d2517);}
.portfolio-compare figure{position:relative;min-width:0;margin:0;border-radius:20px;overflow:hidden;background:#07110d;border:1px solid rgba(255,255,255,.08);}
.portfolio-compare img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .55s ease;}
.portfolio-compare img.full-undercarriage{object-fit:cover;object-position:center;}
.portfolio-card:hover .portfolio-compare img{transform:scale(1.035);}
.portfolio-compare figcaption{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:7px 10px;border-radius:999px;background:rgba(7,19,13,.84);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(6px);}
.portfolio-compare-single{grid-template-columns:1fr;}
.portfolio-compare-single figure{grid-column:1 / -1;}
.portfolio-compare-single img{height:190px;object-fit:cover;object-position:center;}
.portfolio-card-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:18px 18px 20px;}
.portfolio-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.portfolio-topline small{color:var(--muted);font-size:12px;font-weight:800;text-transform:none;letter-spacing:0;white-space:nowrap;}
.portfolio-card h2{font-size:25px;line-height:1.05;margin:0;color:var(--ink);}
.portfolio-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.45;}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;}
.portfolio-tags span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(13,107,44,.07);color:var(--green);font-size:11px;font-weight:900;}
.portfolio-open{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);color:var(--green);font-size:14px;}
.portfolio-open:after{content:'→';font-size:18px;line-height:1;}
.portfolio-hero h1{max-width:840px;}
.portfolio-hero p{max-width:760px;}
@media (max-width:1120px){.compact-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portfolio-compare img{height:180px;}.portfolio-compare-single img{height:180px;}}
@media (max-width:720px){.portfolio-section{padding-top:36px;}.compact-portfolio-grid{grid-template-columns:1fr;gap:14px;}.portfolio-card{border-radius:24px;}.portfolio-compare{gap:6px;padding:6px;}.portfolio-compare figure{border-radius:17px;}.portfolio-compare img{height:154px;}.portfolio-compare-single img{height:154px;}.portfolio-card-body{padding:15px 15px 17px;gap:8px;}.portfolio-card h2{font-size:22px;}.portfolio-card p{font-size:14px;}.portfolio-tags span{font-size:10px;padding:5px 8px;}.portfolio-topline{font-size:11px;}.portfolio-hero h1{font-size:34px;}.portfolio-hero p{font-size:16px;}}
@media (max-width:390px){.portfolio-compare img{height:138px;}.portfolio-card h2{font-size:21px;}.portfolio-card-body{padding:14px;}.portfolio-tags{display:none;}}

/* v18 Haval case cleanup */
.case-gallery-head:has(.case-note){}
.case-gallery-head:not(:has(.case-note)){align-items:flex-start;}
.case-gallery-head:not(:has(.case-note)) > div:first-child{max-width:900px;}
@supports not selector(:has(*)){.case-gallery-head > div:first-child{max-width:900px;}}


/* --- July 2026 service cards/live photo cleanup --- */
.btn-primary{color:#fff !important;text-shadow:0 1px 1px rgba(0,0,0,.18);}
.btn-ghost{color:var(--dark) !important;font-weight:900;}
.works-preview-btn{box-shadow:0 18px 42px rgba(13,107,44,.26),0 0 0 1px rgba(255,255,255,.12) inset !important;}
.works-preview .image-stack img{object-fit:cover;object-position:center;}
@media (min-width:721px){
  .service-card.no-media{min-height:100%;}
}


/* PROCESS PAGE VISUAL UPDATE START */
.process-visual-section{
  position:relative;
  overflow:hidden;
  padding:72px 0 64px;
  background:
    radial-gradient(circle at 82% 14%,rgba(31,141,53,.15),transparent 36%),
    linear-gradient(135deg,#fbfdfb 0%,#eef7ef 100%);
}
.process-visual-section:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(13,107,44,.13) .8px,transparent .8px);
  background-size:18px 18px;
  opacity:.32;
  pointer-events:none;
}
.process-visual-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(430px,1.16fr);
  gap:44px;
  align-items:center;
}
.process-visual-copy h1{
  max-width:620px;
  font-size:clamp(42px,4.8vw,70px);
  text-transform:none;
  letter-spacing:-.055em;
}
.process-visual-copy p{
  max-width:590px;
  margin-top:22px;
  font-size:18px;
  line-height:1.65;
}
.process-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.process-hero-actions .btn{min-width:210px;}
.process-trust-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  max-width:610px;
  margin-top:28px;
}
.process-trust-row div:last-child{
  grid-column:1 / -1;
}
.process-trust-row div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 12px;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(13,107,44,.13);
}
.process-trust-row span{
  flex:0 0 24px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-weight:900;
  font-size:13px;
}
.process-trust-row p{
  margin:0;
  color:#33443a;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
}
.process-carousel{
  position:relative;
  min-height:520px;
  border-radius:34px;
  overflow:hidden;
  background:#081a10;
  border:10px solid #fff;
  box-shadow:var(--shadow);
}
.process-carousel-track,.process-slide{
  position:absolute;
  inset:0;
}
.process-slide{
  margin:0;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .42s ease,transform .42s ease;
  pointer-events:none;
}
.process-slide.is-active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.process-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.process-carousel:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:24%;
  background:linear-gradient(180deg,transparent,rgba(4,18,10,.88));
  pointer-events:none;
}
.process-carousel-btn{
  position:absolute;
  top:50%;
  z-index:4;
  width:52px;
  height:52px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--dark);
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  transition:transform .2s ease,background .2s ease;
}
.process-carousel-btn:hover{transform:translateY(-50%) scale(1.05);background:#f5fff6;}
.process-carousel-prev{left:18px;}
.process-carousel-next{right:18px;}
.process-carousel-count{
  position:absolute;
  top:20px;
  right:20px;
  z-index:3;
  padding:8px 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--dark),var(--green));
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.process-carousel-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:22px;
  z-index:4;
  display:flex;
  justify-content:center;
  gap:9px;
}
.process-carousel-dot{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.44);
  cursor:pointer;
  padding:0;
}
.process-carousel-dot.is-active{background:var(--green-3);box-shadow:0 0 0 5px rgba(109,187,44,.12);}
.process-steps-section{background:linear-gradient(180deg,#fff 0%,#f4faf5 100%);}
.process-steps-head{text-align:center;max-width:860px;}
.process-steps-head .eyebrow{margin-left:auto;margin-right:auto;}
.process-steps-head p{margin-left:auto;margin-right:auto;}
.process-stage-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.process-stage-card{
  position:relative;
  min-height:100%;
  padding:12px 12px 18px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(13,107,44,.14);
  box-shadow:0 16px 42px rgba(9,37,21,.07);
  overflow:hidden;
}
.process-stage-card img{
  display:block;
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:20px;
  background:#0b1d13;
}
.process-stage-card .stage-num{
  position:absolute;
  left:22px;
  top:22px;
  z-index:2;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--dark),var(--green));
  border:3px solid rgba(255,255,255,.88);
  font-weight:950;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.process-stage-card h3{
  margin:16px 8px 0;
  font-size:18px;
  line-height:1.12;
  letter-spacing:-.035em;
  text-transform:none;
}
.process-stage-card p{
  margin:10px 8px 0;
  font-size:14px;
  line-height:1.48;
}
.process-report-section{padding-top:0;background:#f4faf5;}
.process-report-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:22px;
  align-items:center;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(135deg,#ffffff,#eef8f0);
  border:1px solid rgba(13,107,44,.14);
  box-shadow:0 18px 48px rgba(9,37,21,.06);
}
.process-report-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-3));
  font-size:28px;
}
.process-report-card h2{
  font-size:32px;
  text-transform:none;
}
.process-report-card p{margin-top:6px;font-size:16px;}
@media (max-width:1100px){
  .process-visual-hero{grid-template-columns:1fr;}
  .process-carousel{min-height:500px;}
  .process-stage-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .process-visual-section{padding:46px 0 48px;}
  .process-visual-copy h1{font-size:38px;}
  .process-hero-actions .btn{width:100%;}
  .process-trust-row{grid-template-columns:1fr;}
  .process-trust-row div:last-child{grid-column:auto;}
  .process-carousel{min-height:390px;border-width:6px;border-radius:26px;}
    .process-carousel-btn{width:44px;height:44px;font-size:30px;}
  .process-carousel-prev{left:10px;}
  .process-carousel-next{right:10px;}
  .process-stage-grid{grid-template-columns:1fr;}
  .process-stage-card img{height:210px;}
  .process-report-card{grid-template-columns:1fr;padding:22px;}
  .process-report-card .btn{width:100%;}
}
/* PROCESS PAGE VISUAL UPDATE END */


/* BUTTON CONTRAST FINAL FIX */
.btn-primary{color:#fff !important;text-shadow:0 1px 1px rgba(0,0,0,.18);}
.btn-primary *{color:#fff !important;}


/* Homepage hero: larger main photo */
@media (min-width: 1100px){
  .hero .container{width:min(1320px,calc(100% - 40px));}
  .hero-grid{
    grid-template-columns:minmax(0,.92fr) minmax(560px,700px);
    gap:34px;
    align-items:stretch;
  }
  .hero-media{
    min-height:620px;
    border-radius:40px;
  }
  .hero-media img{
    min-height:620px;
    height:100%;
    object-position:center center;
  }
  .hero .facts{max-width:640px;}
}
@media (min-width: 1380px){
  .hero .container{width:min(1420px,calc(100% - 44px));}
  .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(660px,780px);}
  .hero-media{min-height:660px;}
  .hero-media img{min-height:660px;}
}


/* Homepage hero with full background photo */
.hero.hero-bg-layout{
  min-height:780px;
  display:flex;
  align-items:center;
  padding:88px 0 82px;
  background:linear-gradient(90deg,#f8fbf8 0%,#edf5ef 58%,#d8ead9 100%);
  overflow:hidden;
}
.hero-bg-photo,
.hero-bg-overlay,
.hero-bg-badge{position:absolute}
.hero-bg-photo{
  inset:0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  pointer-events:none;
  z-index:0;
}
.hero-bg-photo img{
  width:min(74vw,1320px);
  max-width:none;
  height:auto;
  max-height:98%;
  object-fit:contain;
  object-position:right center;
  transform:translateX(8px);
  filter:drop-shadow(0 24px 46px rgba(0,0,0,.16));
}
.hero-bg-overlay{
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 34%,rgba(255,255,255,.34) 0%,rgba(255,255,255,.26) 18%,rgba(255,255,255,0) 42%),
    linear-gradient(90deg,rgba(249,251,249,.92) 0%,rgba(249,251,249,.88) 26%,rgba(249,251,249,.76) 40%,rgba(249,251,249,.48) 50%,rgba(249,251,249,.18) 58%,rgba(249,251,249,0) 66%);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.35) 59%,transparent 68%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.35) 59%,transparent 68%);
}
.hero-grid.hero-grid-bg{
  grid-template-columns:minmax(0,700px);
  min-height:610px;
  align-content:center;
  gap:0;
  z-index:1;
}
.hero.hero-bg-layout .hero-content{
  position:relative;
  z-index:1;
  max-width:680px;
  padding-right:24px;
}
.hero.hero-bg-layout .hero-content p,
.hero.hero-bg-layout .hero-content h1,
.hero.hero-bg-layout .hero-content .eyebrow{
  position:relative;
  z-index:1;
}
.hero.hero-bg-layout .facts{
  max-width:620px;
}
.hero-bg-badge{
  right:max(24px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 28px));
  bottom:28px;
  z-index:1;
  color:#fff;
  background:linear-gradient(135deg,var(--dark),var(--green));
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
  box-shadow:0 18px 36px rgba(7,17,13,.18);
}
.hero-person-caption{
  position:absolute;
  right:max(34px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 56px));
  bottom:88px;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:4px;
  max-width:min(320px,34vw);
  padding:14px 18px;
  border-radius:20px;
  background:rgba(10,24,16,.68);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}
.hero-person-caption strong{
  color:#fff;
  font-size:20px;
  line-height:1.15;
}
.hero-person-caption span{
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.4;
}
.hero-quote-badge{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  max-width:min(500px,42vw);
  text-transform:none;
  line-height:1.2;
}
.hero-quote-text{
  font-weight:900;
  font-size:13px;
  letter-spacing:.01em;
}
.hero-quote-author{
  text-transform:none;
  font-weight:700;
  font-size:11px;
  color:rgba(255,255,255,.88);
  opacity:.95;
}
@media (min-width: 1280px){
  .hero.hero-bg-layout{min-height:820px;}
  .hero-grid.hero-grid-bg{min-height:640px;}
  .hero-bg-photo img{width:min(76vw,1380px);transform:translateX(12px);}
}
@media (max-width: 1180px){
  .hero.hero-bg-layout{min-height:720px;}
  .hero-grid.hero-grid-bg{grid-template-columns:minmax(0,620px);}
  .hero-bg-photo img{width:min(78vw,1060px);transform:translateX(0);}
  .hero-bg-overlay{
    background:linear-gradient(90deg,rgba(249,251,249,.93) 0%,rgba(249,251,249,.88) 30%,rgba(249,251,249,.72) 44%,rgba(249,251,249,.34) 56%,rgba(249,251,249,0) 66%);
    mask-image:linear-gradient(90deg,#000 0%,#000 46%,rgba(0,0,0,.72) 56%,transparent 68%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 46%,rgba(0,0,0,.72) 56%,transparent 68%);
  }
  .hero-bg-badge{right:24px;bottom:22px;font-size:12px;padding:10px 16px;}
  .hero-person-caption{right:28px;bottom:78px;max-width:320px;padding:12px 16px;}
  .hero-person-caption strong{font-size:18px;}
}

@media (max-width: 980px){
  .hero.hero-bg-layout{min-height:auto;padding:72px 0 54px;}
  .hero-grid.hero-grid-bg{grid-template-columns:minmax(0,1fr);min-height:auto;}
  .hero.hero-bg-layout .hero-content{max-width:none;padding-right:0;}
  .hero-bg-photo{align-items:flex-end;justify-content:center;}
  .hero-bg-photo img{
    width:min(112vw,900px);
    max-height:450px;
    transform:translateY(8px);
    opacity:.96;
  }
  .hero-bg-overlay{
    background:linear-gradient(180deg,rgba(249,251,249,.94) 0%,rgba(249,251,249,.90) 36%,rgba(249,251,249,.76) 56%,rgba(249,251,249,.92) 100%);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    mask-image:none;
    -webkit-mask-image:none;
  }
  .hero-bg-badge{position:relative;right:auto;bottom:auto;margin:14px auto 0;display:table;}
  .hero-person-caption{display:none;}
}

@media (max-width: 640px){
  .hero-bg-photo img{width:126vw;max-height:390px;opacity:.9;}
  .hero.hero-bg-layout .hero-actions .btn{width:100%;}
  .hero-person-caption{display:none;}
}



/* ===== v31: галерея в hero на странице услуги new-car-anticor ===== */
.service-media-gallery{padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));}
.service-media-gallery:after{display:none;}
.service-gallery{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:stretch;}
.service-gallery figure{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(4,16,10,.28);box-shadow:0 16px 38px rgba(0,0,0,.18);}
.service-gallery-main{min-height:520px;}
.service-gallery-main img,.service-gallery-stack img{display:block;width:100%;height:100%;object-fit:contain;background:rgba(4,16,10,.35);}
.service-gallery-stack{display:grid;grid-template-rows:1fr 1fr;gap:14px;}
.service-gallery-stack figure{min-height:252px;}
@media (max-width: 980px){
  .service-gallery{grid-template-columns:1fr;}
  .service-gallery-main{min-height:460px;}
  .service-gallery-stack{grid-template-columns:1fr 1fr;grid-template-rows:none;}
  .service-gallery-stack figure{min-height:220px;}
}
@media (max-width: 720px){
  .service-media-gallery{padding:10px;}
  .service-gallery{gap:10px;}
  .service-gallery figure{border-radius:18px;}
  .service-gallery-main{min-height:360px;}
  .service-gallery-stack{grid-template-columns:1fr;gap:10px;}
  .service-gallery-stack figure{min-height:210px;}
}


/* ===== v32: full-photo hero for new-car service page ===== */
.service-hero-photo-layout{
  min-height:760px;
  align-items:center;
}
.service-hero-photo-layout .hero-grid.hero-grid-bg{
  grid-template-columns:minmax(0,680px);
  min-height:580px;
}
.service-hero-photo-layout .hero-content{
  max-width:640px;
}
.service-hero-photo-layout .back-link{
  color:rgba(9,27,15,.72);
}
.service-hero-photo-layout .back-link:hover{
  color:var(--green);
}
.service-hero-photo-layout .hero-bg-photo img{
  width:min(60vw,940px);
  max-height:96%;
  object-fit:contain;
  object-position:right center;
  transform:translateX(10px);
  filter:drop-shadow(0 28px 52px rgba(0,0,0,.18));
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 10%,#000 22%,#000 92%,rgba(0,0,0,.55) 98%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 10%,#000 22%,#000 92%,rgba(0,0,0,.55) 98%,transparent 100%);
}
.service-hero-photo-layout .hero-bg-overlay{
  background:
    radial-gradient(circle at 14% 34%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.28) 16%,rgba(255,255,255,0) 38%),
    linear-gradient(90deg,rgba(249,251,249,.95) 0%,rgba(249,251,249,.92) 24%,rgba(249,251,249,.84) 38%,rgba(249,251,249,.62) 50%,rgba(249,251,249,.26) 60%,rgba(249,251,249,0) 70%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  mask-image:linear-gradient(90deg,#000 0%,#000 44%,rgba(0,0,0,.84) 54%,rgba(0,0,0,.3) 64%,transparent 73%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 44%,rgba(0,0,0,.84) 54%,rgba(0,0,0,.3) 64%,transparent 73%);
}
.service-hero-photo-layout .hero-bg-badge{
  max-width:420px;
  text-align:center;
}
@media (max-width: 1180px){
  .service-hero-photo-layout{min-height:700px;}
  .service-hero-photo-layout .hero-grid.hero-grid-bg{grid-template-columns:minmax(0,600px);}
  .service-hero-photo-layout .hero-bg-photo img{width:min(66vw,860px);transform:translateX(0);}
  .service-hero-photo-layout .hero-bg-overlay{
    background:linear-gradient(90deg,rgba(249,251,249,.95) 0%,rgba(249,251,249,.90) 30%,rgba(249,251,249,.76) 44%,rgba(249,251,249,.40) 56%,rgba(249,251,249,0) 68%);
    mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.74) 58%,transparent 70%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.74) 58%,transparent 70%);
  }
}
@media (max-width: 980px){
  .service-hero-photo-layout{min-height:auto;padding:72px 0 54px;}
  .service-hero-photo-layout .hero-grid.hero-grid-bg{grid-template-columns:minmax(0,1fr);min-height:auto;}
  .service-hero-photo-layout .hero-bg-photo img{width:min(108vw,860px);max-height:430px;transform:translateY(10px);mask-image:none;-webkit-mask-image:none;}
  .service-hero-photo-layout .hero-bg-overlay{
    background:linear-gradient(180deg,rgba(249,251,249,.95) 0%,rgba(249,251,249,.90) 34%,rgba(249,251,249,.78) 56%,rgba(249,251,249,.94) 100%);
    mask-image:none;
    -webkit-mask-image:none;
  }
}
@media (max-width: 640px){
  .service-hero-photo-layout .hero-bg-photo img{width:128vw;max-height:380px;}
}


/* ===== v34: carousel variant for new-car service hero ===== */
.service-hero-carousel .service-hero-carousel-bg{
  overflow:hidden;
}
.service-hero-carousel .service-hero-carousel-bg img{
  position:absolute;
  right:0;
  top:50%;
  opacity:0;
  transition:opacity .85s ease;
  transform:translateY(-50%) translateX(10px);
}
.service-hero-carousel .service-hero-carousel-bg img.is-active{
  opacity:1;
}
.service-hero-carousel-controls{
  position:absolute;
  right:max(24px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 28px));
  bottom:86px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:12px;
}
.service-hero-arrow{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.92);
  color:#12351b;
  font-size:28px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.13);
}
.service-hero-dots{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(6,32,16,.68);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.service-hero-dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:.2s ease;
}
.service-hero-dot.is-active{
  width:25px;
  background:#78d85f;
}
@media (max-width: 1180px){
  .service-hero-carousel-controls{right:24px;bottom:76px;}
}
@media (max-width: 980px){
  .service-hero-carousel .service-hero-carousel-bg img{
    top:auto;
    bottom:0;
    right:50%;
    transform:translateX(50%) translateY(10px);
  }
  .service-hero-carousel-controls{
    position:relative;
    right:auto;
    bottom:auto;
    justify-content:center;
    margin:18px auto 0;
  }
}
@media (max-width: 640px){
  .service-hero-carousel-controls{gap:8px;}
  .service-hero-arrow{width:42px;height:42px;font-size:25px;}
}

/* v38: более мягкое смешивание hero-фото с текстовой зоной без видимой вертикальной границы */
.hero.hero-bg-layout{
  background:#f8fbf8;
}
.hero-bg-photo img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  transform:none;
  opacity:1;
  filter:none;
}
.hero-bg-overlay{
  background:
    radial-gradient(circle at 18% 42%, rgba(255,255,255,.64) 0%, rgba(255,255,255,.34) 26%, rgba(255,255,255,0) 54%),
    linear-gradient(90deg,
      rgba(249,251,249,.985) 0%,
      rgba(249,251,249,.965) 26%,
      rgba(249,251,249,.88) 40%,
      rgba(249,251,249,.66) 52%,
      rgba(249,251,249,.34) 64%,
      rgba(249,251,249,.10) 75%,
      rgba(249,251,249,0) 88%);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  mask-image:none;
  -webkit-mask-image:none;
}
@media (min-width:1280px){
  .hero-bg-photo img{
    width:100%;
    height:100%;
    transform:none;
  }
}
@media (max-width:1180px){
  .hero-bg-photo img{
    width:100%;
    height:100%;
    transform:none;
  }
  .hero-bg-overlay{
    background:
      radial-gradient(circle at 20% 38%, rgba(255,255,255,.62) 0%, rgba(255,255,255,.32) 28%, rgba(255,255,255,0) 56%),
      linear-gradient(90deg,
        rgba(249,251,249,.985) 0%,
        rgba(249,251,249,.96) 30%,
        rgba(249,251,249,.82) 46%,
        rgba(249,251,249,.48) 62%,
        rgba(249,251,249,.08) 84%);
    mask-image:none;
    -webkit-mask-image:none;
  }
}
@media (max-width:980px){
  .hero-bg-photo img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center center;
    opacity:1;
    transform:none;
  }
  .hero-bg-overlay{
    background:linear-gradient(180deg,rgba(249,251,249,.92) 0%,rgba(249,251,249,.82) 45%,rgba(249,251,249,.96) 100%);
  }
}
@media (max-width:640px){
  .hero-bg-photo img{
    width:100%;
    max-height:none;
    opacity:1;
  }
}

/* ===== v39: мягкое смешивание фото без изменения размера изображения ===== */
.hero-bg-overlay{
  background:
    radial-gradient(ellipse 900px 520px at 20% 34%, rgba(255,255,255,.26) 0%, rgba(255,255,255,.16) 44%, rgba(255,255,255,0) 72%),
    linear-gradient(90deg,
      rgba(249,251,249,.94) 0%,
      rgba(249,251,249,.91) 24%,
      rgba(249,251,249,.82) 38%,
      rgba(249,251,249,.66) 48%,
      rgba(249,251,249,.40) 58%,
      rgba(249,251,249,.16) 68%,
      rgba(249,251,249,0) 80%) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  mask-image:none !important;
  -webkit-mask-image:none !important;
}
@media (max-width:1180px){
  .hero-bg-overlay{
    background:
      linear-gradient(90deg,
        rgba(249,251,249,.94) 0%,
        rgba(249,251,249,.90) 28%,
        rgba(249,251,249,.78) 42%,
        rgba(249,251,249,.52) 56%,
        rgba(249,251,249,.20) 70%,
        rgba(249,251,249,0) 84%) !important;
  }
}
@media (max-width:980px){
  .hero-bg-overlay{
    background:linear-gradient(180deg,
      rgba(249,251,249,.94) 0%,
      rgba(249,251,249,.88) 38%,
      rgba(249,251,249,.70) 62%,
      rgba(249,251,249,.93) 100%) !important;
  }
}

/* ===== v40: главная — мягкая граница фото как в согласованном варианте ===== */
.hero.hero-bg-layout{
  background:#f8fbf8 !important;
}
.hero-bg-photo{
  inset:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
}
.hero-bg-photo img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
}
.hero-bg-overlay{
  inset:0 !important;
  z-index:0 !important;
  background:
    radial-gradient(ellipse 620px 980px at 43% 50%,
      rgba(248,251,248,.70) 0%,
      rgba(248,251,248,.52) 34%,
      rgba(248,251,248,.28) 58%,
      rgba(248,251,248,0) 78%),
    linear-gradient(90deg,
      rgba(248,251,248,1) 0%,
      rgba(248,251,248,.995) 24%,
      rgba(248,251,248,.96) 36%,
      rgba(248,251,248,.86) 46%,
      rgba(248,251,248,.64) 56%,
      rgba(248,251,248,.34) 66%,
      rgba(248,251,248,.12) 76%,
      rgba(248,251,248,0) 88%) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  mask-image:none !important;
  -webkit-mask-image:none !important;
}
.hero-bg-overlay::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:33%;
  width:28%;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(248,251,248,0) 0%,
    rgba(248,251,248,.38) 40%,
    rgba(248,251,248,.20) 72%,
    rgba(248,251,248,0) 100%);
}
.hero-bg-badge{
  background:linear-gradient(135deg,var(--dark),var(--green)) !important;
}
@media (max-width:1180px){
  .hero-bg-overlay{
    background:
      radial-gradient(ellipse 520px 820px at 45% 50%,
        rgba(248,251,248,.66) 0%,
        rgba(248,251,248,.44) 42%,
        rgba(248,251,248,0) 76%),
      linear-gradient(90deg,
        rgba(248,251,248,1) 0%,
        rgba(248,251,248,.98) 34%,
        rgba(248,251,248,.84) 48%,
        rgba(248,251,248,.54) 62%,
        rgba(248,251,248,.18) 76%,
        rgba(248,251,248,0) 88%) !important;
  }
  .hero-bg-overlay::after{left:36%;width:32%;}
}
@media (max-width:980px){
  .hero-bg-photo img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero-bg-overlay{
    background:linear-gradient(180deg,
      rgba(248,251,248,.94) 0%,
      rgba(248,251,248,.88) 38%,
      rgba(248,251,248,.72) 62%,
      rgba(248,251,248,.94) 100%) !important;
  }
  .hero-bg-overlay::after{display:none;}
}

/* ===== v41: главная — фото в прежнем размере, только мягкая граница ===== */
@media (min-width: 981px){
  .hero.hero-bg-layout{
    background:linear-gradient(90deg,#f8fbf8 0%,#edf5ef 58%,#d8ead9 100%) !important;
  }
  .hero-bg-photo{
    inset:0 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }
  .hero-bg-photo img{
    width:min(74vw,1320px) !important;
    height:auto !important;
    max-width:none !important;
    max-height:98% !important;
    object-fit:contain !important;
    object-position:right center !important;
    transform:translateX(8px) !important;
    opacity:1 !important;
    filter:drop-shadow(0 24px 46px rgba(0,0,0,.16)) !important;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.04) 3%,
      rgba(0,0,0,.18) 9%,
      rgba(0,0,0,.55) 18%,
      #000 31%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.04) 3%,
      rgba(0,0,0,.18) 9%,
      rgba(0,0,0,.55) 18%,
      #000 31%);
  }
  .hero-bg-overlay{
    inset:0 !important;
    background:
      radial-gradient(ellipse 900px 520px at 20% 34%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.18) 44%, rgba(255,255,255,0) 72%),
      linear-gradient(90deg,
        rgba(249,251,249,.95) 0%,
        rgba(249,251,249,.92) 24%,
        rgba(249,251,249,.82) 38%,
        rgba(249,251,249,.62) 50%,
        rgba(249,251,249,.36) 61%,
        rgba(249,251,249,.12) 72%,
        rgba(249,251,249,0) 84%) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }
  .hero-bg-overlay::after{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    bottom:0 !important;
    left:33% !important;
    width:30% !important;
    pointer-events:none !important;
    background:linear-gradient(90deg,
      rgba(248,251,248,0) 0%,
      rgba(248,251,248,.22) 34%,
      rgba(248,251,248,.14) 66%,
      rgba(248,251,248,0) 100%) !important;
  }
}
@media (min-width: 1280px){
  .hero-bg-photo img{
    width:min(76vw,1380px) !important;
    height:auto !important;
    max-height:98% !important;
    object-fit:contain !important;
    transform:translateX(12px) !important;
  }
}
@media (max-width: 1180px) and (min-width: 981px){
  .hero-bg-photo img{
    width:min(78vw,1060px) !important;
    height:auto !important;
    max-height:98% !important;
    object-fit:contain !important;
    transform:translateX(0) !important;
  }
  .hero-bg-overlay{
    background:linear-gradient(90deg,
      rgba(249,251,249,.95) 0%,
      rgba(249,251,249,.90) 28%,
      rgba(249,251,249,.76) 42%,
      rgba(249,251,249,.48) 58%,
      rgba(249,251,249,.16) 73%,
      rgba(249,251,249,0) 86%) !important;
  }
  .hero-bg-overlay::after{left:36% !important;width:32% !important;}
}
@media (max-width: 980px){
  .hero-bg-photo img{
    width:min(112vw,900px) !important;
    height:auto !important;
    max-height:450px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateY(8px) !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero-bg-overlay{
    background:linear-gradient(180deg,rgba(249,251,249,.94) 0%,rgba(249,251,249,.90) 36%,rgba(249,251,249,.76) 56%,rgba(249,251,249,.92) 100%) !important;
  }
  .hero-bg-overlay::after{display:none !important;}
}
@media (max-width: 640px){
  .hero-bg-photo img{
    width:126vw !important;
    height:auto !important;
    max-height:390px !important;
    object-fit:contain !important;
    opacity:.9 !important;
  }
}

/* ===== v42: корректировка hero на страницах услуг с каруселью ===== */
.service-hero-photo-layout.service-hero-carousel{
  min-height:660px !important;
  padding:76px 0 72px !important;
  display:flex !important;
  align-items:center !important;
  background:linear-gradient(90deg,#f8fbf8 0%,#eef7f0 54%,#dbeede 100%) !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
  grid-template-columns:minmax(0,650px) !important;
  min-height:auto !important;
  align-content:center !important;
  position:relative !important;
  z-index:2 !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-content{
  max-width:650px !important;
  padding-right:24px !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-content h1,
.service-hero-photo-layout.service-hero-carousel .hero-content p,
.service-hero-photo-layout.service-hero-carousel .hero-content .back-link{
  color:var(--ink) !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-content p{
  color:var(--muted) !important;
}
.service-hero-photo-layout.service-hero-carousel .back-link{
  opacity:.76 !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  pointer-events:none !important;
  z-index:0 !important;
  overflow:hidden !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
  position:absolute !important;
  right:max(20px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2)) !important;
  top:50% !important;
  width:auto !important;
  height:min(72vh,560px) !important;
  max-width:min(48vw,690px) !important;
  max-height:calc(100% - 112px) !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:translateY(-50%) !important;
  opacity:0 !important;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.16)) !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.42) 15%,#000 30%,#000 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.42) 15%,#000 30%,#000 100%) !important;
  transition:opacity .85s ease !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo img.is-active{
  opacity:1 !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    radial-gradient(ellipse 780px 520px at 20% 40%,rgba(255,255,255,.36) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 74%),
    linear-gradient(90deg,
      rgba(248,251,248,.98) 0%,
      rgba(248,251,248,.96) 28%,
      rgba(248,251,248,.86) 43%,
      rgba(248,251,248,.60) 55%,
      rgba(248,251,248,.24) 67%,
      rgba(248,251,248,0) 82%) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.service-hero-photo-layout.service-hero-carousel .service-hero-carousel-controls{
  right:max(22px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 64px)) !important;
  bottom:96px !important;
  z-index:4 !important;
}
.service-hero-photo-layout.service-hero-carousel .service-hero-carousel-badge{
  right:max(22px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 22px)) !important;
  bottom:32px !important;
  z-index:4 !important;
  max-width:min(44vw,490px) !important;
  text-align:center !important;
}
@media (min-width:1500px){
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
    height:min(72vh,590px) !important;
    max-width:720px !important;
  }
}
@media (max-width:1180px) and (min-width:981px){
  .service-hero-photo-layout.service-hero-carousel{
    min-height:620px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    grid-template-columns:minmax(0,560px) !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
    max-width:52vw !important;
    height:min(68vh,520px) !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-overlay{
    background:linear-gradient(90deg,
      rgba(248,251,248,.98) 0%,
      rgba(248,251,248,.95) 34%,
      rgba(248,251,248,.78) 49%,
      rgba(248,251,248,.42) 63%,
      rgba(248,251,248,0) 84%) !important;
  }
}
@media (max-width:980px){
  .service-hero-photo-layout.service-hero-carousel{
    min-height:auto !important;
    display:block !important;
    padding:46px 0 34px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
    position:relative !important;
    inset:auto !important;
    height:360px !important;
    margin:26px 16px 0 !important;
    border-radius:28px !important;
    background:#07130d !important;
    box-shadow:0 18px 46px rgba(9,37,21,.12) !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
    right:50% !important;
    top:50% !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:translate(50%,-50%) !important;
    filter:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-overlay{
    display:none !important;
  }
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-controls{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    justify-content:center !important;
    margin:16px auto 0 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-badge{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    display:table !important;
    margin:14px auto 0 !important;
    max-width:calc(100% - 32px) !important;
  }
}

/* ===== v43: убираем размытую/молочную растяжку на карусели страниц услуг ===== */
.service-hero-photo-layout.service-hero-carousel .hero-bg-overlay{
  display:none !important;
  background:none !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  opacity:0 !important;
  filter:drop-shadow(0 22px 42px rgba(9,37,21,.18)) !important;
}
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo img.is-active{
  opacity:1 !important;
}

/* ===== v44: рамка и скругление для фото-карусели на странице услуги ===== */
.service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
  border-radius:32px !important;
  border:1px solid rgba(13,107,44,.14) !important;
  background:#ffffff !important;
  box-shadow:0 18px 46px rgba(9,37,21,.12) !important;
}
@media (max-width:980px){
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
    border-radius:28px !important;
  }
}

/* ===== v45: мобильная адаптация hero и страниц услуг ===== */
@media (max-width: 860px){
  html,body{overflow-x:hidden !important;}
  .container{width:min(100% - 28px,1180px) !important;}

  /* Главная: убираем наложение фото на текст, делаем аккуратный мобильный блок */
  .hero.hero-bg-layout:not(.service-hero-photo-layout){
    display:flex !important;
    flex-direction:column !important;
    min-height:auto !important;
    padding:34px 0 30px !important;
    background:linear-gradient(135deg,#f9fcfa 0%,#eef7f0 58%,#dff2e1 100%) !important;
    overflow:hidden !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-overlay{display:none !important;}
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-grid.hero-grid-bg{
    order:1 !important;
    display:block !important;
    min-height:auto !important;
    width:min(100% - 28px,1180px) !important;
    margin:0 auto !important;
    position:relative !important;
    z-index:2 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .eyebrow{
    max-width:100% !important;
    white-space:normal !important;
    line-height:1.25 !important;
    font-size:10px !important;
    padding:8px 13px !important;
    margin-bottom:16px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) h1{
    max-width:100% !important;
    font-size:clamp(34px,10.4vw,46px) !important;
    line-height:1.04 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:break-word !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) p{
    max-width:100% !important;
    margin-top:18px !important;
    font-size:16px !important;
    line-height:1.55 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:24px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-actions .btn{
    width:100% !important;
    min-height:52px !important;
    padding:14px 18px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .facts{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:24px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .facts div{
    padding:16px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.9) !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-photo{
    order:2 !important;
    position:relative !important;
    inset:auto !important;
    width:min(100% - 28px,640px) !important;
    height:360px !important;
    margin:24px auto 0 !important;
    display:block !important;
    overflow:hidden !important;
    border-radius:30px !important;
    border:1px solid rgba(13,107,44,.16) !important;
    background:#06130c !important;
    box-shadow:0 18px 46px rgba(9,37,21,.13) !important;
    z-index:1 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-photo img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:58% center !important;
    transform:none !important;
    opacity:1 !important;
    filter:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-photo:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg,rgba(0,0,0,0) 52%,rgba(0,0,0,.42) 100%) !important;
    pointer-events:none !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-badge{
    order:3 !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:min(100% - 44px,520px) !important;
    margin:-26px auto 0 !important;
    text-align:center !important;
    z-index:3 !important;
    font-size:11px !important;
    line-height:1.25 !important;
    padding:12px 16px !important;
    white-space:normal !important;
  }

  /* Страницы услуг с фото/каруселью: фото, управление и текст больше не разъезжаются */
  .service-hero-photo-layout.service-hero-carousel{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    min-height:auto !important;
    padding:20px 0 34px !important;
    background:linear-gradient(135deg,#f9fcfa 0%,#eef7f0 58%,#dff2e1 100%) !important;
    overflow:hidden !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-overlay{display:none !important;}
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
    order:1 !important;
    position:relative !important;
    inset:auto !important;
    width:min(100% - 28px,560px) !important;
    height:clamp(300px,78vw,390px) !important;
    margin:0 auto !important;
    display:block !important;
    overflow:hidden !important;
    border-radius:30px !important;
    border:1px solid rgba(13,107,44,.18) !important;
    background:#eef5f0 !important;
    box-shadow:0 16px 42px rgba(9,37,21,.12) !important;
    z-index:1 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img{
    position:absolute !important;
    right:auto !important;
    top:auto !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    opacity:0 !important;
    filter:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo img.is-active{opacity:1 !important;}
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-controls{
    order:2 !important;
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    z-index:4 !important;
    justify-content:center !important;
    margin:12px auto 0 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-badge{
    order:3 !important;
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    z-index:4 !important;
    display:block !important;
    width:min(100% - 44px,520px) !important;
    max-width:none !important;
    margin:12px auto 0 !important;
    text-align:center !important;
    font-size:11px !important;
    line-height:1.25 !important;
    padding:12px 16px !important;
    white-space:normal !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    order:4 !important;
    display:block !important;
    width:min(100% - 28px,1180px) !important;
    margin:22px auto 0 !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
    position:relative !important;
    z-index:2 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .back-link{
    margin-bottom:14px !important;
    color:#4a5b52 !important;
    font-size:14px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-content h1{
    max-width:100% !important;
    font-size:clamp(32px,9.6vw,44px) !important;
    line-height:1.05 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:break-word !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-content p{
    max-width:100% !important;
    margin-top:16px !important;
    font-size:16px !important;
    line-height:1.55 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:22px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-actions .btn{
    width:100% !important;
    min-height:52px !important;
  }
}

@media (max-width: 420px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) h1{
    font-size:33px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-photo{
    height:320px !important;
    border-radius:26px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-badge,
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-badge{
    width:calc(100% - 34px) !important;
    font-size:10px !important;
    padding:11px 13px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
    height:320px !important;
    border-radius:26px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-content h1{
    font-size:32px !important;
  }
}

/* ===== v46: правки страниц услуг и мобильной версии ===== */
/* Убираем визуальный акцент у SEO-плашек, которые удалены из HTML, и делаем блоки компактнее */
.doc-list{gap:12px !important;}
.doc-list div{
  padding:18px 20px !important;
  min-height:94px !important;
  border-radius:22px !important;
  font-size:17px !important;
  line-height:1.18 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.doc-list div:before{
  width:22px !important;
  height:22px !important;
  margin-bottom:12px !important;
  box-shadow:inset 0 0 0 7px rgba(255,255,255,.86) !important;
}

/* Мобильная версия страниц услуг: сначала название услуги, потом фото-карусель */
@media (max-width: 860px){
  .service-hero-photo-layout.service-hero-carousel{
    padding:24px 0 34px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    order:1 !important;
    margin:0 auto !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
    order:2 !important;
    margin:24px auto 0 !important;
    width:min(100% - 28px,560px) !important;
    height:clamp(300px,76vw,390px) !important;
    border-radius:30px !important;
    border:1px solid rgba(13,107,44,.18) !important;
    background:#eef5f0 !important;
    box-shadow:0 16px 42px rgba(9,37,21,.12) !important;
  }
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-controls{
    order:3 !important;
    margin:12px auto 0 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .service-hero-carousel-badge{
    order:4 !important;
    margin:12px auto 0 !important;
  }
  .service-hero-photo-layout.service-hero-carousel .back-link{
    margin-bottom:14px !important;
  }
  .service-hero-photo-layout.service-hero-carousel .hero-actions{
    margin-top:20px !important;
  }
  .text-card,.included-card,.seo-service-card{
    padding:18px !important;
    border-radius:22px !important;
  }
  .text-card h2{font-size:30px !important;}
  .text-card p{font-size:15.5px !important;line-height:1.6 !important;}
  .included-card li{font-size:13.5px !important;padding:11px 11px 11px 44px !important;}
  .included-card li:before{left:12px !important;top:10px !important;width:24px !important;height:24px !important;}
  .doc-list{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .doc-list div{
    padding:14px 14px !important;
    min-height:82px !important;
    border-radius:18px !important;
    font-size:13.5px !important;
    line-height:1.2 !important;
  }
  .doc-list div:before{
    width:18px !important;
    height:18px !important;
    margin-bottom:8px !important;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.86) !important;
  }
}
@media (max-width: 420px){
  .service-hero-photo-layout.service-hero-carousel .hero-bg-photo{
    height:315px !important;
    border-radius:26px !important;
  }
  .doc-list div{font-size:13px !important;min-height:78px !important;}
}

/* ===== v49: подпись руководителя в мобильной версии главной ===== */
@media (max-width: 860px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption{
    order:3 !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    z-index:4 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    width:min(100% - 44px,520px) !important;
    max-width:520px !important;
    margin:12px auto 0 !important;
    padding:12px 16px !important;
    border-radius:22px !important;
    text-align:center !important;
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(13,107,44,.20) !important;
    box-shadow:0 14px 34px rgba(9,37,21,.12) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption strong{
    color:#073d1e !important;
    font-size:17px !important;
    line-height:1.15 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption span{
    color:#566b60 !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-badge{
    order:4 !important;
    margin:10px auto 0 !important;
  }
}
@media (max-width: 420px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption{
    width:calc(100% - 34px) !important;
    padding:11px 13px !important;
    border-radius:20px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption strong{
    font-size:16px !important;
  }
}


/* v53: homepage phrase badge as speech bubble */
.hero-quote-badge{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  max-width:min(520px,43vw);
  text-transform:none;
  line-height:1.2;
  padding:14px 22px;
  border-radius:28px;
  position:absolute;
  overflow:visible;
}
.hero-quote-badge::after{
  content:"";
  position:absolute;
  right:42px;
  top:-10px;
  width:22px;
  height:22px;
  background:linear-gradient(135deg,var(--dark),var(--green));
  border-top:1px solid rgba(255,255,255,.22);
  border-left:1px solid rgba(255,255,255,.12);
  transform:rotate(45deg);
  border-radius:4px;
}
.hero-quote-text{
  font-weight:900;
  font-size:13px;
  letter-spacing:.01em;
}
.hero-quote-author{
  display:none !important;
}
@media(max-width:720px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-badge{
    width:calc(100% - 34px) !important;
    max-width:none !important;
    align-items:center !important;
    text-align:center !important;
    padding:12px 16px !important;
    gap:0 !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-badge::after{
    right:50%;
    transform:translateX(50%) rotate(45deg);
    top:-9px;
    width:18px;
    height:18px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-text{
    font-size:12px !important;
  }
}



/* v54: larger bubbles and quote shifted right */
@media (min-width: 981px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption{
    right:max(26px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 44px));
    bottom:102px;
    max-width:min(380px,38vw);
    padding:18px 24px;
    border-radius:24px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption strong{
    font-size:24px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption span{
    font-size:14px;
    line-height:1.45;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-badge.hero-quote-badge{
    right:max(8px,calc((100vw - min(1180px,calc(100vw - 40px))) / 2 + 6px));
    bottom:24px;
    max-width:min(620px,50vw);
    padding:18px 28px;
    border-radius:34px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-badge::after{
    right:58px;
    top:-12px;
    width:24px;
    height:24px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-text{
    font-size:16px;
    line-height:1.18;
  }
}

@media (max-width: 980px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption{
    padding:14px 18px !important;
    border-radius:24px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption strong{
    font-size:18px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-person-caption span{
    font-size:13px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-badge{
    padding:14px 18px !important;
    border-radius:28px !important;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-text{
    font-size:13px !important;
    line-height:1.2 !important;
  }
}


/* v55: tighten homepage quote bubble width while keeping larger style */
@media (min-width: 981px){
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-bg-badge.hero-quote-badge{
    width: fit-content;
    max-width: min(540px, 44vw);
    min-width: 0;
    padding: 18px 24px;
  }
  .hero.hero-bg-layout:not(.service-hero-photo-layout) .hero-quote-text{
    white-space: normal;
  }
}


/* v63: service page photo galleries as clean carousel without visible captions */
.service-gallery-carousel{
  position:relative;
  margin-top:28px;
  padding:12px 70px 44px;
  border-radius:34px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  box-shadow:0 22px 56px rgba(9,37,21,.08);
  overflow:hidden;
}
.service-gallery-track{
  position:relative;
  overflow:hidden;
  min-height:560px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(13,107,44,.04),rgba(255,255,255,.92));
}
.service-gallery-slide{
  position:absolute;
  inset:0;
  display:block;
  padding:0;
  border:0;
  border-radius:26px;
  background:transparent;
  box-shadow:none;
  opacity:0;
  pointer-events:none;
  transform:translateX(18px) scale(.992);
  transition:opacity .42s ease, transform .42s ease;
}
.service-gallery-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) scale(1);
}
.service-gallery-slide img{
  display:block;
  width:100%;
  height:560px;
  object-fit:contain;
  border-radius:26px;
  background:rgba(245,250,247,.88);
  transition:none;
}
.service-gallery-slide small{display:none!important;}
.service-gallery-arrow{
  position:absolute;
  top:calc(50% - 16px);
  transform:translateY(-50%);
  z-index:3;
  width:52px;
  height:52px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--green);
  font-size:32px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(9,37,21,.14);
}
.service-gallery-prev{left:18px;}
.service-gallery-next{right:18px;}
.service-gallery-dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(10,37,21,.72);
  backdrop-filter:blur(8px);
}
.service-gallery-dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.5);
  cursor:pointer;
  transition:width .24s ease, background .24s ease;
}
.service-gallery-dot.is-active{
  width:30px;
  background:#67d544;
}
@media(max-width:1100px){
  .service-gallery-carousel{padding:12px 58px 42px;}
  .service-gallery-track{min-height:480px;}
  .service-gallery-slide img{height:480px;}
}
@media(max-width:720px){
  .service-gallery-carousel{
    margin-top:18px;
    padding:10px 10px 60px;
    border-radius:28px;
  }
  .service-gallery-track{min-height:330px;border-radius:22px;}
  .service-gallery-slide,.service-gallery-slide img{border-radius:22px;}
  .service-gallery-slide img{height:330px;}
  .service-gallery-arrow{
    top:auto;
    bottom:10px;
    width:44px;
    height:44px;
    font-size:28px;
    transform:none;
  }
  .service-gallery-prev{left:calc(50% - 88px);}
  .service-gallery-next{right:calc(50% - 88px);}
  .service-gallery-dots{bottom:18px;}
}


/* v67: выравнивание информационного блока и списка работ на страницах услуг */
.service-detail{
  align-items:start !important;
}
.service-detail .text-card,
.service-detail .included-card{
  align-self:start !important;
}
.service-detail .included-card{
  position:static !important;
  top:auto !important;
  margin-top:0 !important;
}

/* v70: homepage benefit icons centered and slightly larger */
.benefit .card-icon{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:22px;
}
.benefit .card-icon:before{
  width:40px;
  height:40px;
}
@media (max-width:720px){
  .benefit .card-icon{
    width:68px;
    height:68px;
    margin:0 auto 18px;
  }
  .benefit .card-icon:before{
    width:38px;
    height:38px;
  }
}

/* v71: точное центрирование иконок в карточках преимуществ на главной */
.benefit{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.benefit .card-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 76px !important;
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  min-height:76px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:0 !important;
  margin-bottom:22px !important;
  padding:0 !important;
  border-radius:23px !important;
  box-sizing:border-box !important;
}
.benefit .card-icon::before{
  content:"" !important;
  display:block !important;
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  background-position:50% 50% !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  transform:translate3d(0,0,0) !important;
}
.benefit b,
.benefit span:not(.card-icon){
  width:100% !important;
  align-self:stretch !important;
}
@media (max-width:720px){
  .benefit .card-icon{
    flex-basis:72px !important;
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    min-height:72px !important;
    margin-bottom:20px !important;
  }
  .benefit .card-icon::before{
    flex-basis:42px !important;
    width:42px !important;
    height:42px !important;
  }
}

/* v72: remove text captions under service photos in the lightbox */
.portfolio-lightbox-caption{
  justify-content:flex-end;
  margin-top:10px;
}
.portfolio-lightbox-caption > div{
  display:none !important;
}
.portfolio-lightbox-counter{
  margin-left:auto;
  color:rgba(255,255,255,.72) !important;
  font-weight:800;
}
@media (max-width:720px){
  .portfolio-lightbox-caption{
    align-items:flex-end;
  }
}

/* v74: service pages — clean photo albums instead of inline carousels */
.service-photo-album{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
  padding:18px;
  border-radius:34px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  box-shadow:0 22px 56px rgba(9,37,21,.08);
}
.service-photo-album .service-album-item{
  position:relative;
  display:block;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(9,37,21,.10);
  border-radius:24px;
  background:#eef6f1;
  box-shadow:0 12px 30px rgba(9,37,21,.08);
  aspect-ratio:4/3;
}
.service-photo-album .service-album-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  transform:scale(1.01);
  transition:transform .28s ease, filter .28s ease;
}
.service-photo-album .service-album-item:after{
  content:'Открыть';
  position:absolute;
  right:12px;
  bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(5,83,35,.88);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .22s ease, transform .22s ease;
}
.service-photo-album .service-album-item:hover img{
  transform:scale(1.055);
  filter:saturate(1.04) contrast(1.03);
}
.service-photo-album .service-album-item:hover:after{
  opacity:1;
  transform:translateY(0);
}
.portfolio-lightbox.caption-minimal .portfolio-lightbox-caption > div{
  display:none;
}
.portfolio-lightbox.caption-minimal .portfolio-lightbox-caption{
  justify-content:flex-end;
}
@media(max-width:1180px){
  .service-photo-album{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:720px){
  .service-photo-album{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
    padding:10px;
    border-radius:26px;
  }
  .service-photo-album .service-album-item{border-radius:18px;}
  .service-photo-album .service-album-item:after{display:none;}
}


/* v75: text-only hero for services without confirmed work photos */
.service-hero-grid--text-only{
  grid-template-columns:minmax(0, 920px) !important;
  justify-content:start;
}
.service-hero-grid--text-only > div:first-child{
  max-width:920px;
}
.service-hero-grid--text-only h1{
  max-width:920px;
}
@media (max-width:720px){
  .service-hero-grid--text-only{
    grid-template-columns:1fr !important;
  }
}


/* ===== v76: фикс hero-заголовка на странице пескоструйной обработки ===== */
@media (min-width:981px){
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    grid-template-columns:minmax(0,590px) !important;
  }
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-content{
    max-width:590px !important;
    padding-right:34px !important;
  }
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-content h1{
    max-width:560px !important;
    font-size:clamp(36px,4vw,58px) !important;
    line-height:1.02 !important;
  }
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-content p{
    max-width:540px !important;
  }
}
@media (min-width:981px) and (max-width:1180px){
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-grid.hero-grid-bg{
    grid-template-columns:minmax(0,520px) !important;
  }
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-content{
    max-width:520px !important;
    padding-right:28px !important;
  }
  body.service-page-sandblast .service-hero-photo-layout.service-hero-carousel .hero-content h1{
    max-width:500px !important;
    font-size:clamp(34px,3.6vw,50px) !important;
  }
}


/* ===== v77: кнопка возврата наверх ===== */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.34),transparent 36%),
    linear-gradient(135deg,var(--dark) 0%,var(--green) 58%,var(--green-3) 100%);
  color:#fff;
  box-shadow:0 18px 42px rgba(9,37,21,.22), inset 0 1px 0 rgba(255,255,255,.32);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.94);
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease;
}
.back-to-top span{
  display:block;
  font-size:30px;
  line-height:1;
  font-weight:900;
  transform:translateY(-2px);
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 22px 54px rgba(9,37,21,.28), inset 0 1px 0 rgba(255,255,255,.34);
}
@media (max-width:720px){
  .back-to-top{
    right:16px;
    bottom:16px;
    width:52px;
    height:52px;
  }
  .back-to-top span{font-size:27px;}
}


/* v88 Bitrix24 modal lead form */
body.modal-open{overflow:hidden;}
.lead-form-b24-card{align-content:center;gap:18px;}
.b24-card-copy{grid-column:1 / -1;padding:18px;border-radius:22px;background:rgba(13,107,44,.06);border:1px solid rgba(13,107,44,.12);}
.b24-card-copy strong{display:block;font-size:22px;line-height:1.1;color:var(--ink);margin-bottom:8px;}
.b24-card-copy p{margin:0;color:var(--muted);line-height:1.55;}
.b24-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease, visibility .24s ease;}
.b24-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.b24-modal-backdrop{position:absolute;inset:0;background:rgba(4,14,8,.72);backdrop-filter:blur(8px);}
.b24-modal-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 44px);overflow:auto;border-radius:32px;background:#fff;border:1px solid rgba(13,107,44,.14);box-shadow:0 34px 90px rgba(0,0,0,.34);padding:28px;transform:translateY(18px) scale(.98);transition:transform .24s ease;}
.b24-modal.is-open .b24-modal-dialog{transform:translateY(0) scale(1);}
.b24-modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:999px;background:rgba(13,107,44,.08);color:var(--green);font-size:30px;line-height:1;cursor:pointer;font-weight:700;}
.b24-modal-close:hover{background:rgba(13,107,44,.14);}
.b24-modal-head{padding-right:44px;margin-bottom:18px;}
.b24-modal-head h2{font-size:clamp(30px,4vw,46px);line-height:.98;margin:14px 0 10px;color:var(--ink);}
.b24-modal-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.55;max-width:620px;}
.b24-form-slot{border-radius:24px;background:linear-gradient(180deg,#f7fbf8,#fff);border:1px solid var(--line);padding:14px;min-height:360px;overflow:hidden;}
@media (max-width:720px){
  .b24-modal{padding:10px;align-items:end;}
  .b24-modal-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:26px;padding:20px;}
  .b24-modal-head{padding-right:36px;}
  .b24-modal-head h2{font-size:30px;}
  .b24-modal-head p{font-size:14px;}
  .b24-form-slot{padding:8px;min-height:420px;}
}




/* v90: CTA block with modal Bitrix24 form */
body.modal-open{overflow:hidden;}
.lead-form-b24-card .btn{margin-top:2px;}
.lead-form-b24-card .form-policy{margin-top:0;}
@media (max-width:720px){.lead-form-b24-card .btn{width:100%;}}


/* ===== v91: CTA readability and stronger button ===== */
.cta-card h2,
.cta-card .cta-contact span{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}

.cta-card > div:first-child > p,
.cta-card .cta-contact small{
  color:rgba(255,255,255,.86);
}

.lead-form-b24-card{
  align-content:start;
  padding:16px;
  border-radius:28px;
  background:rgba(5,20,11,.16);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.b24-card-copy{
  padding:20px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(6px);
}

.b24-card-copy strong{
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1.02;
  margin-bottom:10px;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}

.b24-card-copy p{
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.6;
}

.lead-form-b24-card .btn-primary{
  min-height:64px;
  font-size:18px;
  font-weight:900;
  letter-spacing:.01em;
  color:var(--dark) !important;
  background:linear-gradient(135deg,#ffffff 0%,#effff3 54%,#d8ffe2 100%);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 18px 44px rgba(0,0,0,.24), 0 0 0 6px rgba(255,255,255,.08);
}

.lead-form-b24-card .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 52px rgba(0,0,0,.28), 0 0 0 8px rgba(255,255,255,.1);
}

.lead-form-b24-card .btn-primary,
.lead-form-b24-card .btn-primary *,
.lead-form-b24-card .btn-primary:visited{
  color:var(--dark) !important;
  text-shadow:none !important;
}

.lead-form-b24-card .form-policy{
  color:rgba(255,255,255,.86);
  font-size:15px;
  line-height:1.6;
}

.lead-form-b24-card .form-policy a{
  color:#d2ffe0;
  border-bottom-color:rgba(210,255,224,.42);
}

.lead-form-b24-card .form-policy a:hover{
  color:#fff;
  border-bottom-color:#fff;
}

@media (max-width:720px){
  .lead-form-b24-card{padding:14px;border-radius:24px;}
  .b24-card-copy{padding:18px;}
  .b24-card-copy strong{font-size:28px;}
  .b24-card-copy p{font-size:16px;}
  .lead-form-b24-card .btn-primary{min-height:58px;font-size:17px;}
  .lead-form-b24-card .form-policy{font-size:14px;}
}


/* ===== v92: отдельный блок клиентских преимуществ ===== */
.client-approach-section{
  background:linear-gradient(180deg,#f7fbf8 0%,#eef7f1 100%) !important;
}
.client-approach-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.client-approach-card{
  position:relative;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(13,107,44,.14);
  box-shadow:0 18px 46px rgba(9,37,21,.08);
}
.client-approach-card .card-icon{
  margin-bottom:18px;
}
.client-approach-card b{
  display:block;
  color:var(--ink);
  font-size:21px;
  line-height:1.08;
  text-transform:uppercase;
  letter-spacing:-.03em;
}
.client-approach-card p{
  margin-top:12px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}
@media (max-width:900px){
  .client-approach-grid{grid-template-columns:1fr;}
  .client-approach-card{padding:24px;border-radius:24px;}
}


/* ===== v93: buttons for Bitrix calculation form ===== */
button.price-card-btn{width:100%;border:0;cursor:pointer;font:inherit;}
.hero-actions button.btn{appearance:none;border:1px solid transparent;}


/* ===== v99: fix client approach cards text wrapping ===== */
.client-approach-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:18px !important;
}
.client-approach-card{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:start !important;
  column-gap:14px !important;
  row-gap:8px !important;
  padding:24px !important;
}
.client-approach-card .card-icon{
  grid-row:1 / span 2 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:999px !important;
  margin:0 !important;
}
.client-approach-card .card-icon:before{
  width:24px !important;
  height:24px !important;
}
.client-approach-card b{
  font-size:18px !important;
  line-height:1.18 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.client-approach-card p{
  grid-column:2 !important;
  margin-top:0 !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
@media (max-width:760px){
  .client-approach-grid{grid-template-columns:1fr !important;}
  .client-approach-card{padding:20px !important;}
}

/* ===== v102: custom 404 page ===== */
.error-page-hero .hero-actions{margin-top:32px;}
.error-page-hero .btn-ghost{background:rgba(255,255,255,.92);color:var(--dark);}
.error-page-hero .btn-ghost:hover{background:#fff;}
@media (max-width:720px){.error-page-hero .hero-actions{gap:10px;}}

/* Partner logo links */
.partners-strip{
  padding:46px 0 52px;
  background:linear-gradient(180deg,#f7faf8 0%,#eef5f0 100%);
  border-top:1px solid var(--line);
}
.partners-strip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.partners-strip-head .eyebrow{margin:0;}
.partners-strip-head h2{
  font-size:clamp(26px,3vw,38px);
  text-align:right;
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.partner-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(13,107,44,.16);
  border-radius:24px;
  color:var(--text);
  background:#fff;
  box-shadow:0 14px 34px rgba(9,37,21,.08);
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.partner-card::after{
  content:"↗";
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:rgba(7,17,13,.78);
  font-size:18px;
  font-weight:900;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .22s ease,transform .22s ease;
}
.partner-visual{
  overflow:hidden;
  aspect-ratio:12 / 5;
  background:#fff;
}
.partner-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.partner-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:20px 22px 22px;
}
.partner-copy h3{
  margin:0 0 8px;
  font-size:clamp(20px,2vw,25px);
  line-height:1.15;
}
.partner-copy p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
.partner-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:16px;
  color:var(--green);
  font-size:14px;
  font-weight:800;
}
.partner-cta span{
  font-size:18px;
  line-height:1;
  transition:transform .2s ease;
}
.partner-card:hover{
  transform:translateY(-4px);
  border-color:rgba(13,107,44,.34);
  box-shadow:0 22px 48px rgba(9,37,21,.13);
}
.partner-card:hover::after{opacity:1;transform:none;}
.partner-card:hover .partner-visual img{transform:scale(1.025);}
.partner-card:hover .partner-cta span{transform:translateX(4px);}
.partner-card:focus-visible{
  outline:3px solid rgba(31,141,53,.35);
  outline-offset:4px;
}
@media (max-width:720px){
  .partners-strip{padding:38px 0 42px;}
  .partners-strip-head{display:block;margin-bottom:18px;}
  .partners-strip-head .eyebrow{margin-bottom:12px;}
  .partners-strip-head h2{text-align:left;}
  .partners-grid{grid-template-columns:1fr;gap:14px;}
  .partner-card{border-radius:20px;}
  .partner-card::after{opacity:1;transform:none;width:30px;height:30px;font-size:16px;}
  .partner-copy{padding:18px 18px 20px;}
  .partner-copy p{font-size:14px;}
}

/* ==================================================
   КОНТАКТЫ — 4 КАРТОЧКИ + МЕССЕНДЖЕРЫ
================================================== */

.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.contact-messengers{
  min-width:0;
}

.contact-messenger-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
  margin-top:18px;
}

.contact-card .contact-messenger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  width:auto;
  min-width:138px;
  height:44px;
  min-height:44px;
  padding:0 16px;

  border-radius:999px;
  box-sizing:border-box;

  color:#fff !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:800;
  line-height:1;

  transition:transform .2s ease,box-shadow .2s ease;
}

.contact-card .contact-messenger:hover{
  transform:translateY(-2px);
}

.contact-card .contact-messenger span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  color:#fff !important;
  font-size:inherit;
  font-weight:inherit;
  line-height:1;
  transform:translateY(-1px);
}

.contact-messenger-telegram{
  background:#229ED9 !important;
  box-shadow:0 7px 18px rgba(34,158,217,.20);
}

.contact-messenger-telegram svg{
  display:block;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0;
  color:#fff;
  transform:translateY(-1px);
}

.contact-messenger-max{
  background:linear-gradient(135deg,#6557ff,#3297ff) !important;
  box-shadow:0 7px 18px rgba(75,85,255,.18);
}

@media (max-width:1100px){
  .contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:700px){
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-messenger-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }

  .contact-card .contact-messenger{
    width:100%;
    min-width:0;
  }
}
