
:root{--yellow:#ffd400;--black:#050505;--dark:#111;--white:#fff;--gray:#f1f1f1;--line:#d9d9d9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#0b0b0b;color:#111}a{text-decoration:none;color:inherit}.wrap{max-width:1220px;margin:0 auto;padding:0 18px}
.top{background:#000;color:#fff;border-bottom:6px solid var(--yellow);font-weight:1000;text-transform:uppercase}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}.logo{display:flex;align-items:center;gap:12px}.logo img{height:68px;width:auto}.logo strong{font-size:26px;line-height:.95}.logo span{display:block;color:var(--yellow);font-size:12px;letter-spacing:1px;margin-top:5px}.navlinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.navlinks a{background:#171717;color:#fff;border:1px solid #333;padding:9px 12px;border-radius:999px;font-size:13px;font-weight:900}.navlinks a:hover,.navlinks a.active{background:var(--yellow);color:#000;border-color:var(--yellow)}
.hero{background:#111;color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.66));background-size:cover;background-position:center}.hero .wrap{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center;min-height:clamp(640px,46.875vw,900px);padding-top:54px;padding-bottom:60px}.kicker{display:inline-block;background:var(--yellow);color:#000;font-weight:1000;text-transform:uppercase;padding:10px 14px;border-radius:10px;margin-bottom:18px;box-shadow:8px 8px 0 #000}
h1{margin:0 0 18px;font-size:clamp(38px,6.2vw,78px);line-height:1.08;text-transform:uppercase;font-weight:1000;letter-spacing:-1.2px}.mark{display:inline-block;background:var(--yellow);color:#000;padding:0 10px 4px;line-height:1.05}.lead{font-size:22px;line-height:1.45;max-width:760px}.lead b{color:var(--yellow)}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--yellow);color:#000;padding:16px 20px;border-radius:14px;font-weight:1000;text-transform:uppercase;box-shadow:8px 8px 0 #000;border:2px solid #000}.btn.dark{background:#fff;color:#000}.btn:hover{transform:translateY(-2px)}
.price-card{background:#fff;color:#000;border:6px solid var(--yellow);box-shadow:16px 16px 0 #000;border-radius:24px;padding:24px}.price-card h2{margin:0 0 12px;font-size:28px;text-transform:uppercase}.price-row{display:flex;justify-content:space-between;gap:16px;border-top:2px dashed #ccc;padding:14px 0;font-size:18px}.price-row b{font-size:23px}.note{background:#000;color:#fff;border-radius:14px;padding:14px;margin-top:12px;font-weight:900}
.section{background:#fff;padding:70px 0}.section.dark{background:#111;color:#fff}.section.yellow{background:var(--yellow);color:#000}.section h2{margin:0 0 26px;font-size:clamp(30px,4vw,52px);text-transform:uppercase;line-height:1.02}.section h3{font-size:24px;margin:0 0 10px;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#f3f3f3;border:3px solid #000;border-radius:20px;padding:24px;box-shadow:8px 8px 0 rgba(0,0,0,.12)}.dark .card{background:#191919;color:#fff;border-color:#333}.card p{margin:0;font-size:17px;color:#333}.dark .card p{color:#ddd}.two{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.visual{border:6px solid #000;border-radius:24px;overflow:hidden;box-shadow:14px 14px 0 rgba(0,0,0,.18);background:#000}.visual img{width:100%;display:block}.works,.areas,.audience{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.works div,.areas div,.audience div{background:#000;color:#fff;border-left:8px solid var(--yellow);padding:16px;border-radius:12px;font-weight:900}.areas div{background:#f5f5f5;color:#111;border:2px solid #111;border-left:8px solid var(--yellow)}.case{border-left:8px solid var(--yellow);background:#f5f5f5;padding:18px;border-radius:14px;font-weight:800}.faq{display:grid;gap:12px}.faq details{background:#f5f5f5;border:2px solid #ddd;border-radius:16px;padding:18px}.faq summary{cursor:pointer;font-weight:1000;font-size:18px}.faq p{margin-bottom:0}.related{display:flex;gap:10px;flex-wrap:wrap}.related a,.crumbs a{background:#000;color:#fff;padding:12px 14px;border-radius:999px;font-weight:900}.related a:hover,.crumbs a:hover{background:var(--yellow);color:#000}.crumbs{font-size:14px;margin-bottom:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crumbs span{opacity:.75}.seo-text{max-width:1040px;margin:0 auto;color:#333;font-size:17px;line-height:1.68}.seo-text h2{font-size:30px;margin-bottom:14px;color:#111}.footer-trust{text-align:center;font-weight:900;text-transform:uppercase;letter-spacing:.3px;line-height:1.6;color:#fff;background:#000;border-top:4px solid var(--yellow);padding:22px 12px 12px}.footer-trust div:first-child{color:var(--yellow);font-size:18px}.footer-trust div:last-child{font-size:14px}footer{background:#050505;color:#aaa;text-align:center;padding:20px 12px;font-size:14px}
@media(max-width:900px){.top .wrap{display:block}.navlinks{justify-content:flex-start;margin-top:10px}.hero .wrap,.two{grid-template-columns:1fr}.hero .wrap{min-height:auto}.grid,.grid4{grid-template-columns:1fr}.works,.areas,.audience{grid-template-columns:1fr}.logo strong{font-size:22px}.logo img{height:58px}h1{font-size:42px}.lead{font-size:19px}.price-card{margin-top:8px}}


.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{display:block;background:#f3f3f3;border:3px solid #000;border-radius:18px;padding:18px;box-shadow:8px 8px 0 rgba(0,0,0,.12)}
.service-card strong{display:block;font-size:21px;text-transform:uppercase;margin-bottom:8px}
.service-card span{display:block;color:#333;line-height:1.45}
.service-card:hover{background:var(--yellow);transform:translateY(-2px)}
.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.quick-links a{background:#000;color:#fff;border-radius:999px;padding:12px 14px;font-weight:900}
.quick-links a:hover{background:var(--yellow);color:#000}
@media(max-width:900px){.service-links{grid-template-columns:1fr}}


/* Commercial pages fix */
.commercial-hero h1{font-size:clamp(34px,5vw,66px);max-width:920px;line-height:1.05}.commercial-hero .lead{max-width:860px}.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{display:block;background:#f3f3f3;border:3px solid #000;border-radius:18px;padding:18px;box-shadow:8px 8px 0 rgba(0,0,0,.12)}.service-card strong{display:block;font-size:21px;text-transform:uppercase;margin-bottom:8px}.service-card span{display:block;color:#333;line-height:1.45}.service-card:hover{background:var(--yellow);transform:translateY(-2px)}.quick-links{display:flex;gap:10px;flex-wrap:wrap}.quick-links a{background:#000;color:#fff;border-radius:999px;padding:12px 14px;font-weight:900}.quick-links a:hover{background:var(--yellow);color:#000}.work-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-item{background:#f3f3f3;border:3px solid #000;border-radius:18px;padding:18px;box-shadow:8px 8px 0 rgba(0,0,0,.12)}.work-item h3{margin:0 0 8px;text-transform:uppercase}.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;font-weight:900}.breadcrumb a{background:#000;color:#fff;border-radius:999px;padding:9px 12px}.breadcrumb span{color:#fff;opacity:.8;padding:9px 0}.areas-mini{display:flex;gap:8px;flex-wrap:wrap}.areas-mini span{background:#000;color:#fff;border-left:6px solid var(--yellow);padding:10px 12px;border-radius:10px;font-weight:900}@media(max-width:900px){.service-links,.work-list{grid-template-columns:1fr}.commercial-hero h1{font-size:38px}}


/* Areas carousel */
.areas{
  display:flex !important;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:8px 4px 18px;
  scrollbar-width:thin;
}
.areas div{
  flex:0 0 260px;
  min-height:92px;
  display:flex;
  align-items:center;
  background:#f5f5f5;
  color:#111;
  border:2px solid #111;
  border-left:9px solid var(--yellow);
  border-radius:18px;
  padding:18px;
  font-weight:1000;
  box-shadow:6px 6px 0 rgba(0,0,0,.12);
  scroll-snap-align:start;
}
.areas div:hover{
  background:var(--yellow);
  transform:translateY(-2px);
}
.areas-note{
  margin:0 0 18px;
  max-width:820px;
  font-size:18px;
  line-height:1.5;
  color:#333;
}
.areas::-webkit-scrollbar{height:10px}
.areas::-webkit-scrollbar-track{background:#eee;border-radius:999px}
.areas::-webkit-scrollbar-thumb{background:#111;border-radius:999px}
@media(max-width:900px){
  .areas div{flex-basis:220px;min-height:82px}
}


/* District photo carousel with stepped autoplay */
.areas-section{background:#fff}
.district-carousel-shell{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
}
.district-carousel{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:8px 0 24px;
}
.district-track{
  display:flex;
  gap:24px;
  transition:transform .65s ease;
  will-change:transform;
}
.district-card{
  flex:0 0 calc((100% - 24px) / 2);
  display:block;
  background:#fff;
  border:3px solid #000;
  box-shadow:10px 10px 0 rgba(0,0,0,.16);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.district-card:hover{
  transform:translateY(-3px);
  box-shadow:12px 12px 0 rgba(0,0,0,.2);
}
.district-card img{
  display:block;
  width:100%;
  height:auto;
}
.district-btn{
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:999px;
  border:0;
  background:#111;
  color:#fff;
  font-size:46px;
  line-height:46px;
  font-weight:900;
  cursor:pointer;
  box-shadow:6px 6px 0 rgba(0,0,0,.18);
  z-index:3;
}
.district-btn:hover{background:var(--yellow);color:#000}
@media(max-width:900px){
  .district-carousel-shell{gap:8px}
  .district-btn{
    flex-basis:42px;
    width:42px;
    height:42px;
    font-size:36px;
    line-height:36px;
  }
  .district-track{gap:14px}
  .district-card{flex:0 0 100%}
}





/* District hero with price overlay fix */
.district-hero{
  position:relative;
  min-height:0 !important;
  height:calc(100vh - 92px) !important;
  max-height:820px !important;
  overflow:hidden !important;
  background:#050505;
  border-bottom:8px solid var(--yellow);
}
.district-hero-image{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.district-hero img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
.district-hero-price{
  position:absolute;
  right:5vw;
  top:50%;
  transform:translateY(-50%);
  width:min(420px, 30vw);
  z-index:5;
  box-shadow:0 18px 40px rgba(0,0,0,.38);
}
.district-hero-price h2{
  margin-top:0;
}
.district-price-section{
  display:none !important;
}
@media(max-width:1100px){
  .district-hero-price{
    width:360px;
    right:24px;
    transform:translateY(-50%) scale(.92);
    transform-origin:right center;
  }
}
@media(max-width:900px){
  .district-hero{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    background:#fff;
  }
  .district-hero-image{
    height:auto;
  }
  .district-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .district-hero-price{
    position:static;
    transform:none;
    width:auto;
    margin:22px 16px 28px;
  }
}








/* Main pages hero image structure - hard override */
section.hero,
section.commercial-hero{
  position:relative !important;
  overflow:hidden !important;
  background:#050505 !important;
  background-image:none !important;
}
section.hero > img.hero-bg-img,
section.commercial-hero > img.hero-bg-img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  z-index:0 !important;
  opacity:.86 !important;
  pointer-events:none !important;
}
section.hero::before,
section.commercial-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.70) 43%, rgba(0,0,0,.38) 100%) !important;
  background-image:linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.70) 43%, rgba(0,0,0,.38) 100%) !important;
  z-index:1 !important;
  opacity:1 !important;
}
section.hero > .wrap,
section.commercial-hero > .wrap{
  position:relative !important;
  z-index:2 !important;
}
@media(max-width:900px){
  section.hero > img.hero-bg-img,
  section.commercial-hero > img.hero-bg-img{
    object-position:center top !important;
  }
}


/* District card visible captions */
.district-card{position:relative}
.district-card-title{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:4;
  display:inline-block;
  background:rgba(0,0,0,.84);
  color:#ffd400;
  border:2px solid #ffd400;
  border-radius:999px;
  padding:9px 13px;
  font-size:16px;
  font-weight:1000;
  text-transform:uppercase;
  box-shadow:4px 4px 0 rgba(0,0,0,.22);
}
.local-specific p{font-size:18px;line-height:1.65}
@media(max-width:900px){
  .district-card-title{font-size:13px;padding:7px 10px;left:10px;bottom:10px}
}


/* Audit clean additions */
.district-title-strip{
  background:#050505;
  color:#fff;
  border-bottom:6px solid var(--yellow);
  padding:28px 0 30px;
}
.district-title-strip h1{
  font-size:clamp(30px,4vw,56px);
  margin:0 0 10px;
  text-transform:uppercase;
}
.district-title-strip p{
  margin:0;
  font-size:20px;
  line-height:1.45;
  max-width:900px;
}


/* Секции: 42px */
.section h2,
.areas-section h2,
h2{
  font-size:var(--section-title-size) !important;
  line-height:1.12 !important;
  letter-spacing:-0.6px !important;
}

/* Hero H1 — оставляем мощным, но не гигантским */
.hero h1,
.commercial-hero h1,
.district-title-strip h1,
h1{
  font-size:clamp(42px,4.6vw,64px) !important;
  line-height:1.05 !important;
  letter-spacing:-0.9px !important;
}

/* Обычный текст: 18px */
p,
li,
.seo-text p,
.lead,
.note,
.faq p,
details p,
.footer-trust,
.price-row span,
.price-row b{
  font-size:var(--body-text-size) !important;
  line-height:1.55 !important;
}

/* Текст в маленьких карточках: 18px */
.card p,
.case,
.district-card-title,
.quick-links a,
.related a{
  font-size:var(--small-card-text-size) !important;
  line-height:1.45 !important;
}

/* Заголовки карточек */
.card h3{
  font-size:24px !important;
  line-height:1.15 !important;
}

/* Кнопки и пункты: 17px, жирный */
.btn,
.navlinks a,
.cta a,
button,
.district-btn,
.quick-links a,
.related a,
.what-item,
.service-chip,
.price-card .note,
.price-card,
summary{
  font-size:var(--button-text-size) !important;
  font-weight:900 !important;
}

/* Текст внутри hero чуть компактнее, чтобы первый экран не раздувался */
.hero .lead,
.commercial-hero .lead{
  font-size:18px !important;
  line-height:1.45 !important;
}

/* Прайс — читаемый, но не перегруженный */
.price-card h2{
  font-size:32px !important;
  line-height:1.15 !important;
}
.price-card .price-row span,
.price-card .price-row b{
  font-size:18px !important;
  line-height:1.35 !important;
}

/* Бизнес-карточка / промо-карточки */
.business-card p,
.promo-card p,
.trust-card p,
.home-card p{
  font-size:18px !important;
  line-height:1.45 !important;
}

/* Мобильная адаптация */
@media(max-width:900px){
  .section h2,
  .areas-section h2,
  h2{
    font-size:34px !important;
  }
  .hero h1,
  .commercial-hero h1,
  .district-title-strip h1,
  h1{
    font-size:clamp(34px,9vw,48px) !important;
  }
  p,
  li,
  .seo-text p,
  .lead,
  .card p,
  .case,
  details p{
    font-size:17px !important;
  }
  .btn,
  .navlinks a,
  .cta a,
  button,
  summary{
    font-size:16px !important;
  }
}


/* COMPACT DROPDOWN MAIN MENU */
.main-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  max-width:none !important;
}
.main-nav > a,
.dropdown-toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:8px 15px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:#171717 !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.35) !important;
  cursor:pointer !important;
}
.main-nav > a:hover,
.dropdown-toggle:hover,
.nav-dropdown:hover .dropdown-toggle{
  background:var(--yellow) !important;
  color:#000 !important;
}
.nav-dropdown{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
}
.dropdown-toggle::after{
  content:"▾";
  font-size:12px;
  margin-left:7px;
}
.dropdown-menu{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  left:0 !important;
  min-width:250px !important;
  background:#050505 !important;
  border:2px solid var(--yellow) !important;
  border-radius:18px !important;
  padding:10px !important;
  display:none !important;
  flex-direction:column !important;
  gap:6px !important;
  z-index:1000 !important;
  box-shadow:0 18px 40px rgba(0,0,0,.45) !important;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
  display:flex !important;
}
.dropdown-menu a{
  display:block !important;
  padding:11px 13px !important;
  border-radius:12px !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
}
.dropdown-menu a:hover{
  background:var(--yellow) !important;
  color:#000 !important;
}
@media(max-width:900px){
  .main-nav{
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  .main-nav > a,
  .dropdown-toggle{
    min-height:34px !important;
    padding:8px 12px !important;
    font-size:14px !important;
  }
  .dropdown-menu{
    left:50% !important;
    transform:translateX(-50%) !important;
    min-width:230px !important;
  }
}


/* CONTACTS PAGE */
.contact-card .contact-point{
  padding:13px 0;
  border-bottom:1px dashed rgba(0,0,0,.22);
  font-size:18px;
  font-weight:900;
}
.contact-form{
  display:grid;
  gap:18px;
  max-width:980px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.contact-form label{
  display:grid;
  gap:8px;
  font-size:18px;
  font-weight:900;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:3px solid #000;
  border-radius:16px;
  padding:14px 16px;
  font-size:18px;
  font-weight:700;
  background:#fff;
  color:#000;
  box-shadow:4px 4px 0 rgba(0,0,0,.18);
}
.contact-form textarea{
  resize:vertical;
}
@media(max-width:900px){
  .form-grid{grid-template-columns:1fr}
}

/* AREAS AFTER HERO */
.areas-section{
  border-top:8px solid var(--yellow);
}
.hero + .areas-section{
  padding-top:48px !important;
}
.areas-section .areas-note{
  max-width:920px;
  font-size:18px !important;
  line-height:1.55 !important;
  margin-bottom:26px;
}


/* READABILITY TEXT 17PX FIX */
:root{
  --section-title-size:34px;
  --body-text-size:17px;
  --small-card-text-size:17px;
  --button-text-size:17px;
}

html,
body{
  font-size:17px !important;
  line-height:1.6 !important;
}

/* Все основные заголовки */
h1,
h2,
.section h2,
.areas-section h2,
.hero h1,
.commercial-hero h1,
.district-title-strip h1{
  font-size:34px !important;
  line-height:1.15 !important;
  letter-spacing:-0.3px !important;
}

/* Важные подзаголовки */
h3,
.card h3,
.price-card h2{
  font-size:24px !important;
  line-height:1.2 !important;
}

/* Весь читаемый текст */
p,
li,
span,
label,
input,
textarea,
.seo-text p,
.lead,
.note,
.faq p,
details p,
.footer-trust,
.areas-note,
.contact-point,
.price-row span,
.price-row b,
.business-card p,
.promo-card p,
.trust-card p,
.home-card p,
.card p,
.case,
.quick-links a,
.related a,
.district-card-title{
  font-size:17px !important;
  line-height:1.6 !important;
}

/* Кнопки, меню, пункты, чипы */
.btn,
.navlinks a,
.main-nav > a,
.dropdown-toggle,
.dropdown-menu a,
.cta a,
button,
.district-btn,
.quick-links a,
.related a,
.what-item,
.service-chip,
summary{
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}

/* Прайс: без переносов в цене */
.price-card{
  min-width:420px !important;
}
.price-card .price-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.price-card .price-row span{
  max-width:190px !important;
}
.price-card .price-row b{
  white-space:nowrap !important;
  text-align:right !important;
}

/* Районный прайс шире, чтобы цена не ломалась */
.district-hero-price{
  width:min(520px, 34vw) !important;
  min-width:440px !important;
  right:4vw !important;
}
.district-hero-price .price-row b{
  white-space:nowrap !important;
}

/* Блок-визитка/промо карточка: весь текст читаемый */
.business-card,
.promo-card,
.home-card,
.trust-card{
  font-size:17px !important;
}
.business-card *,
.promo-card *,
.home-card *,
.trust-card *{
  font-size:17px !important;
  line-height:1.5 !important;
}

/* Исключения: логотипы/иконки не трогаем по размеру изображения */
.logo img,
.district-card img{
  font-size:initial !important;
}

@media(max-width:900px){
  h1,
  h2,
  .section h2,
  .areas-section h2,
  .hero h1,
  .commercial-hero h1,
  .district-title-strip h1{
    font-size:30px !important;
  }

  html,
  body,
  p,
  li,
  span,
  label,
  input,
  textarea,
  .seo-text p,
  .lead,
  .note,
  .faq p,
  details p,
  .card p,
  .case{
    font-size:17px !important;
  }

  .price-card,
  .district-hero-price{
    min-width:0 !important;
    width:auto !important;
  }

  .price-card .price-row b{
    white-space:normal !important;
  }
}


/* VISUAL INFO CARD TEXT FIX */
.visual-info-card{
  position:relative;
  display:grid;
  grid-template-columns:170px 1fr;
  gap:26px;
  align-items:stretch;
  width:100%;
  min-height:320px;
  padding:28px;
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(255,212,0,.22) 0 12px, transparent 12px 24px) 0 0/36px 36px,
    #050505;
  border:4px solid #000;
  box-shadow:18px 18px 0 rgba(0,0,0,.18);
  overflow:hidden;
}
.visual-info-card::before{
  content:"";
  position:absolute;
  inset:18px;
  border:3px solid var(--yellow);
  border-radius:22px;
  pointer-events:none;
}
.visual-side{
  position:relative;
  z-index:2;
  background:var(--yellow);
  border-radius:18px;
  border:3px solid #000;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:22px 14px;
  color:#000;
}
.visual-icon{
  width:74px;
  height:74px;
  border-radius:50%;
  background:#050505;
  color:var(--yellow);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px !important;
  border:3px solid #fff;
}
.visual-brand{
  font-size:20px !important;
  line-height:1 !important;
  font-weight:1000;
  text-align:center;
}
.visual-brand span{
  display:block;
  font-size:12px !important;
  line-height:1.05 !important;
  font-weight:1000;
  margin-top:4px;
}
.visual-text{
  position:relative;
  z-index:2;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding-right:12px;
}
.visual-text h3{
  margin:0 0 14px;
  color:var(--yellow);
  font-size:34px !important;
  line-height:1.05 !important;
  text-transform:uppercase;
}
.visual-text p{
  margin:0;
  color:#fff;
  font-size:17px !important;
  line-height:1.55 !important;
  font-weight:800;
  max-width:620px;
}
.visual-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}
.visual-tags span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:var(--yellow);
  color:#000;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000;
  text-transform:uppercase;
}
@media(max-width:900px){
  .visual-info-card{
    grid-template-columns:1fr;
    min-height:0;
    padding:22px;
  }
  .visual-side{
    min-height:160px;
  }
  .visual-text h3{
    font-size:30px !important;
  }
  .visual-text p{
    font-size:17px !important;
  }
}


/* CARD TUNING v2 */
.visual-info-card{
  grid-template-columns:190px 1fr !important;
  min-height:360px !important;
  max-width:760px !important;
  width:100% !important;
}
.visual-text h3{
  font-size:26px !important;
  line-height:1.1 !important;
  max-width:420px !important;
}
.visual-text p{
  font-size:17px !important;
  line-height:1.6 !important;
  max-width:520px !important;
}
.visual-tags{
  flex-wrap:nowrap !important;
  gap:6px !important;
}
.visual-tags span{
  font-size:14px !important;
  white-space:nowrap !important;
}

/* FINAL CARD LAYOUT */
.visual-text h3{
 font-size:24px !important;
 max-width:520px !important;
}
.visual-tags{
 display:none !important;
}
.visual-tags-left{
 display:flex !important;
 flex-direction:column !important;
 gap:8px !important;
 width:100%;
}
.visual-tags-left span{
 display:block;
 background:var(--yellow);
 color:#000;
 border-radius:999px;
 padding:6px 10px;
 text-align:center;
 font-size:14px !important;
 font-weight:900;
 white-space:nowrap;
}


/* FINAL POLISH */
.visual-text h3{
  font-size:24px !important;
  max-width:620px !important;
  line-height:1.02 !important;
}

.visual-tags-left{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
}

.visual-tags-left span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  text-align:center !important;
}

/* CONTACT FORM STATUS WORKER */
.form-status{min-height:24px;font-size:17px;font-weight:900;margin-top:6px}
.form-status.is-success{color:#064d1b;background:#d7ffd7;border:2px solid #064d1b;border-radius:12px;padding:10px 12px}
.form-status.is-error{color:#7a0000;background:#ffe0e0;border:2px solid #7a0000;border-radius:12px;padding:10px 12px}
.contact-form button:disabled{opacity:.7;cursor:wait}

/* CONTACT FORM STATUS DIRECT WORKER */
.form-status{min-height:24px;font-size:17px;font-weight:900;margin-top:6px}
.form-status.is-loading{color:#000}
.form-status.is-success{color:#064d1b;background:#d7ffd7;border:2px solid #064d1b;border-radius:12px;padding:10px 12px}
.form-status.is-error{color:#7a0000;background:#ffe0e0;border:2px solid #7a0000;border-radius:12px;padding:10px 12px}
.contact-form button:disabled{opacity:.7;cursor:wait}


/* Order calculator page */
.order-hero .wrap{min-height:520px}.order-page .form-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}.order-panel,.order-result{background:#fff;border:4px solid #000;border-radius:24px;padding:24px;box-shadow:10px 10px 0 rgba(0,0,0,.16)}.order-result{position:sticky;top:18px;background:var(--yellow)}.order-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.order-field{display:flex;flex-direction:column;gap:7px}.order-field.full{grid-column:1/-1}.order-field label{font-weight:1000;text-transform:uppercase;font-size:13px}.order-field input,.order-field select,.order-field textarea{width:100%;border:3px solid #000;border-radius:12px;padding:13px 14px;font:inherit;font-weight:800;background:#fff}.order-field textarea{min-height:110px;resize:vertical}.order-type{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}.order-type input{position:absolute;opacity:0;pointer-events:none}.order-type span{display:block;border:3px solid #000;border-radius:16px;padding:14px;background:#f5f5f5;font-weight:1000;cursor:pointer}.order-type input:checked+span{background:var(--yellow);box-shadow:6px 6px 0 #000}.total-number{font-size:clamp(38px,5vw,64px);line-height:1;font-weight:1000;margin:12px 0}.calc-line{font-size:20px;font-weight:1000;margin-bottom:12px}.payment-box{background:#fff;border:3px solid #000;border-radius:18px;padding:16px;margin-top:14px}.sbp-qr{width:180px;height:180px;margin:12px auto;background:#fff;border:4px solid #000;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:1000;font-size:14px;line-height:1.2}.payment-muted{font-size:14px;line-height:1.45;font-weight:800;color:#222}.order-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.order-actions .btn{box-shadow:6px 6px 0 #000}.btn.disabled{opacity:.62;cursor:not-allowed;filter:grayscale(.2)}.suburban-warning{display:none;background:#000;color:#fff;border-radius:14px;padding:14px;margin-top:12px;font-weight:1000}.suburban-warning.is-visible{display:block}.order-small-note{font-size:15px;line-height:1.5;color:#333;font-weight:800;margin-top:14px}.tariff-table{width:100%;border-collapse:collapse;background:#fff;border:3px solid #000}.tariff-table th,.tariff-table td{border:2px solid #000;padding:13px;text-align:left;font-weight:900}.tariff-table th{background:#000;color:#fff}.tariff-table td:last-child{white-space:nowrap}.order-copy{margin-top:12px;font-weight:900;line-height:1.5}.card-pay-note{background:#000;color:#fff;border-radius:12px;padding:12px;font-weight:900;margin-top:10px}
@media(max-width:900px){.order-page .form-layout,.order-form-grid{grid-template-columns:1fr}.order-result{position:static}.order-panel,.order-result{padding:18px}.sbp-qr{width:160px;height:160px}.tariff-table{font-size:14px}.tariff-table th,.tariff-table td{padding:10px}}


/* Order bot form updates */
.order-result-clean{background:var(--yellow);border:4px solid #000;border-radius:24px;padding:24px;box-shadow:10px 10px 0 rgba(0,0,0,.16);position:sticky;top:18px}
.order-submit-status{min-height:24px;margin-top:12px;font-size:15px;font-weight:900;line-height:1.45}
.order-submit-status.is-loading{color:#000}
.order-submit-status.is-success{color:#064d1b;background:#d7ffd7;border:2px solid #064d1b;border-radius:12px;padding:10px 12px}
.order-submit-status.is-error{color:#7a0000;background:#ffe0e0;border:2px solid #7a0000;border-radius:12px;padding:10px 12px}
.order-bot-box{background:#fff;border:3px solid #000;border-radius:18px;padding:16px;margin-top:14px;font-weight:900;line-height:1.5}
.order-form-submit{width:100%;justify-content:center;text-align:center}
@media(max-width:900px){.order-result-clean{position:static;padding:18px}}

/* ORDER PAYMENT QR */
.payment-qr-box{
  text-align:center;
}
.payment-qr-box img{
  display:block;
  width:min(260px,100%);
  height:auto;
  margin:14px auto 14px;
  background:#fff;
  border:3px solid #000;
  border-radius:18px;
  padding:10px;
  box-shadow:6px 6px 0 rgba(0,0,0,.16);
}
.payment-qr-box p{
  font-size:17px;
  line-height:1.45;
}
.order-submit-status.is-loading{
  color:#000;
  font-weight:900;
}
.order-submit-status.is-success{
  color:#064d1b;
  background:#d7ffd7;
  border:2px solid #064d1b;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
}
.order-submit-status.is-error{
  color:#7a0000;
  background:#ffe0e0;
  border:2px solid #7a0000;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
}
.order-form-submit:disabled{
  opacity:.7;
  cursor:wait;
}

/* Compact order form tuning */
.order-page h1,.order-title{font-size:80%!important;color:#333!important;}
.order-panel h2,.order-panel h3,.order-summary h2,.order-summary h3{color:#333!important;}
.order-field label{color:#333!important;font-size:.92em!important;}
.order-panel{padding:22px!important;}
.order-field{margin-bottom:10px!important;}
.order-panel input,.order-panel select,.order-panel textarea{padding:10px 12px!important;}
.order-summary .price,.order-total,.order-price{font-size:56px!important;line-height:1!important;}
.order-summary{padding:20px!important;}
.order-note,.order-small-note{font-size:.92em!important;}

/* HOME HERO HEIGHT ADAPTATION
   Source hero banner ratio: 1920 x 900.
   The hero section now follows that ratio on desktop so the banner is not cut off vertically. */
body:not(.order-page) > section.hero:first-of-type .wrap{
  min-height:clamp(640px,46.875vw,900px) !important;
}
body:not(.order-page) > section.hero:first-of-type > img.hero-bg-img{
  object-position:center center !important;
}
@media(max-width:900px){
  body:not(.order-page) > section.hero:first-of-type .wrap{
    min-height:auto !important;
    padding-top:46px !important;
    padding-bottom:52px !important;
  }
}


/* FINAL HERO SYSTEM */
.hero.home-hero,
.hero.service-hero,
.hero.order-page-hero{
  position:relative !important;
  overflow:hidden !important;
  background:#050505 !important;
  color:#fff !important;
}

.hero.home-hero{
  height:900px !important;
  min-height:900px !important;
}

.hero.service-hero{
  height:600px !important;
  min-height:600px !important;
}

.hero.home-hero > img.hero-bg-img,
.hero.service-hero > img.hero-bg-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  z-index:0 !important;
}

.hero.home-hero::before,
.hero.service-hero::before{
  display:none !important;
}

.hero.home-hero > .wrap,
.hero.service-hero > .wrap{
  min-height:100% !important;
  height:100% !important;
  padding:0 !important;
  display:block !important;
  position:relative !important;
  z-index:2 !important;
}

/* Hero images already contain the visible text, icons and advantages.
   Keep the old HTML content available for SEO/accessibility, but do not duplicate it visually. */
.hero.home-hero > .wrap > *,
.hero.service-hero > .wrap > *{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.hero.order-page-hero{
  height:260px !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  border-bottom:6px solid var(--yellow) !important;
}

.hero.order-page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,204,0,.16), transparent 34%),
    linear-gradient(90deg, #050505 0%, #111 62%, #050505 100%) !important;
  z-index:0 !important;
  opacity:1 !important;
}

.hero.order-page-hero > img.hero-bg-img{
  display:none !important;
}

.hero.order-page-hero > .wrap{
  min-height:260px !important;
  height:260px !important;
  padding:32px 0 !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
  z-index:2 !important;
}

.order-page-hero-inner{
  max-width:920px !important;
}

.hero.order-page-hero .crumbs{
  margin-bottom:12px !important;
}

.hero.order-page-hero .kicker{
  margin-bottom:12px !important;
  padding:8px 12px !important;
  font-size:14px !important;
}

.hero.order-page-hero h1{
  font-size:clamp(32px,4vw,54px) !important;
  line-height:1.03 !important;
  margin:0 0 10px !important;
}

.hero.order-page-hero .lead{
  font-size:18px !important;
  line-height:1.35 !important;
  max-width:860px !important;
  margin:0 !important;
}

@media(max-width:900px){
  .hero.home-hero{
    height:520px !important;
    min-height:520px !important;
  }
  .hero.service-hero{
    height:360px !important;
    min-height:360px !important;
  }
  .hero.home-hero > img.hero-bg-img,
  .hero.service-hero > img.hero-bg-img{
    object-position:center center !important;
  }
  .hero.order-page-hero,
  .hero.order-page-hero > .wrap{
    height:auto !important;
    min-height:220px !important;
  }
  .hero.order-page-hero h1{
    font-size:34px !important;
  }
}


/* RESPONSIVE HERO FIX */
.hero.home-hero{
  height:min(900px, 46.875vw) !important;
  min-height:0 !important;
}
.hero.service-hero{
  height:min(600px, 31.25vw) !important;
  min-height:0 !important;
}
.hero.home-hero > img.hero-bg-img,
.hero.service-hero > img.hero-bg-img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505 !important;
}
.hero.home-hero > .wrap,
.hero.service-hero > .wrap{
  height:100% !important;
  min-height:0 !important;
}
@media(max-width:900px){
  .hero.home-hero{
    height:min(520px, 46.875vw) !important;
    min-height:0 !important;
  }
  .hero.service-hero{
    height:min(360px, 31.25vw) !important;
    min-height:0 !important;
  }
}


/* ===========================
   FINAL FIX: GLASS FIXED TOP
   =========================== */

.top{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
  background:rgba(0,0,0,.82) !important;
  -webkit-backdrop-filter:blur(10px) saturate(130%) !important;
  backdrop-filter:blur(10px) saturate(130%) !important;
  border-bottom:4px solid var(--yellow) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.38) !important;
}

html, body{
  margin-top:0 !important;
  padding-top:0 !important;
}

main{
  margin-top:0 !important;
  padding-top:0 !important;
}

section[id]{
  scroll-margin-top:110px !important;
}

.hero.home-hero,
.hero.service-hero{
  margin-top:0 !important;
  padding-top:0 !important;
}

.hero.home-hero > .wrap > *,
.hero.service-hero > .wrap > *{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.hero.order-page-hero{
  height:260px !important;
  min-height:260px !important;
  margin-top:0 !important;
  padding-top:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
  background:#050505 !important;
  border-bottom:6px solid var(--yellow) !important;
}

.hero.order-page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,204,0,.16), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(15,15,15,.94) 58%, rgba(0,0,0,.98) 100%) !important;
  z-index:0 !important;
  opacity:1 !important;
}

.hero.order-page-hero > img.hero-bg-img{
  display:none !important;
}

.hero.order-page-hero > .wrap{
  position:relative !important;
  z-index:2 !important;
  min-height:0 !important;
  height:auto !important;
  padding:118px 0 24px !important;
  display:block !important;
}

.hero.order-page-hero .price-card,
.hero.order-page-hero .cta,
.hero.order-page-hero .crumbs{
  display:none !important;
}

.hero.order-page-hero .kicker{
  display:inline-block !important;
  margin:0 0 8px !important;
  padding:7px 11px !important;
  font-size:14px !important;
  line-height:1 !important;
}

.hero.order-page-hero h1{
  margin:0 0 8px !important;
  font-size:clamp(30px,3.2vw,46px) !important;
  line-height:1.02 !important;
  max-width:900px !important;
}

.hero.order-page-hero .mark{
  background:transparent !important;
  color:#fff !important;
  padding:0 !important;
}

.hero.order-page-hero .lead{
  margin:0 !important;
  max-width:920px !important;
  font-size:17px !important;
  line-height:1.35 !important;
  color:#fff !important;
}

@media(max-width:900px){
  .top{
    background:rgba(0,0,0,.9) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  .hero.order-page-hero{
    height:240px !important;
    min-height:240px !important;
  }

  .hero.order-page-hero > .wrap{
    padding:104px 16px 22px !important;
  }

  .hero.order-page-hero h1{
    font-size:32px !important;
  }

  .hero.order-page-hero .lead{
    font-size:15px !important;
  }
}


/* ORDER PAGE FINAL FIX */
body.order-page .hero.order-page-hero,
body.order-page .hero.order-form-hero{
  height:220px !important;
  min-height:220px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
  background:#050505 !important;
  border-bottom:6px solid var(--yellow) !important;
}
body.order-page .hero.order-page-hero::before,
body.order-page .hero.order-form-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,204,0,.18), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(12,12,12,.95) 60%, rgba(0,0,0,.98) 100%) !important;
  z-index:0 !important;
  opacity:1 !important;
}
body.order-page .hero.order-page-hero > img.hero-bg-img,
body.order-page .hero.order-form-hero > img.hero-bg-img{
  display:none !important;
}
body.order-page .hero.order-page-hero > .wrap,
body.order-page .hero.order-form-hero > .wrap{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:108px 0 22px !important;
  display:block !important;
}
body.order-page .order-form-hero-inner{
  max-width:980px !important;
}
body.order-page .hero.order-page-hero .crumbs,
body.order-page .hero.order-page-hero .cta,
body.order-page .hero.order-page-hero .price-card,
body.order-page .hero.order-form-hero .crumbs,
body.order-page .hero.order-form-hero .cta,
body.order-page .hero.order-form-hero .price-card{
  display:none !important;
}
body.order-page .hero.order-page-hero .kicker,
body.order-page .hero.order-form-hero .kicker{
  display:inline-block !important;
  margin:0 0 8px !important;
  padding:7px 12px !important;
  font-size:14px !important;
  line-height:1 !important;
  background:var(--yellow) !important;
  color:#000 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
body.order-page .hero.order-page-hero h1,
body.order-page .hero.order-form-hero h1{
  display:block !important;
  visibility:visible !important;
  margin:0 0 8px !important;
  max-width:980px !important;
  font-size:clamp(32px,3.2vw,48px) !important;
  line-height:1.04 !important;
  color:#fff !important;
  opacity:1 !important;
  text-transform:uppercase !important;
}
body.order-page .hero.order-page-hero .lead,
body.order-page .hero.order-form-hero .lead{
  display:block !important;
  visibility:visible !important;
  margin:0 !important;
  max-width:960px !important;
  font-size:17px !important;
  line-height:1.35 !important;
  color:#fff !important;
  opacity:1 !important;
}
body.order-page #order-form{
  padding-top:56px !important;
}
@media(max-width:900px){
  body.order-page .hero.order-page-hero,
  body.order-page .hero.order-form-hero{
    height:230px !important;
    min-height:230px !important;
  }
  body.order-page .hero.order-page-hero > .wrap,
  body.order-page .hero.order-form-hero > .wrap{
    padding:102px 16px 22px !important;
  }
  body.order-page .hero.order-page-hero h1,
  body.order-page .hero.order-form-hero h1{
    font-size:30px !important;
  }
  body.order-page .hero.order-page-hero .lead,
  body.order-page .hero.order-form-hero .lead{
    font-size:15px !important;
  }
}


/* ORDER PAGES: EMPTY MINI HERO */
.hero.order-page-hero,
.hero.order-form-hero,
body.order-page .hero.order-page-hero,
body.order-page .hero.order-form-hero{
  height:96px !important;
  min-height:96px !important;
  max-height:96px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  overflow:hidden !important;
  background:linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(18,18,18,.96) 60%, rgba(0,0,0,.98) 100%) !important;
  border-bottom:4px solid var(--yellow) !important;
}
.hero.order-page-hero::before,
.hero.order-form-hero::before,
body.order-page .hero.order-page-hero::before,
body.order-page .hero.order-form-hero::before{
  display:none !important;
}
.hero.order-page-hero > img.hero-bg-img,
.hero.order-form-hero > img.hero-bg-img,
body.order-page .hero.order-page-hero > img.hero-bg-img,
body.order-page .hero.order-form-hero > img.hero-bg-img{
  display:none !important;
}
.hero.order-page-hero > .wrap,
.hero.order-form-hero > .wrap,
body.order-page .hero.order-page-hero > .wrap,
body.order-page .hero.order-form-hero > .wrap{
  display:none !important;
}
body.order-page #order-form{
  padding-top:44px !important;
}
@media(max-width:900px){
  .hero.order-page-hero,
  .hero.order-form-hero,
  body.order-page .hero.order-page-hero,
  body.order-page .hero.order-form-hero{
    height:86px !important;
    min-height:86px !important;
    max-height:86px !important;
  }
}


/* FAQ page typography fix */
body.faq-page .section {
  padding-top: 72px;
  padding-bottom: 72px;
}

body.faq-page .section .wrap {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

body.faq-page h1 {
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0 0 34px;
}

body.faq-page h2 {
  font-size: clamp(22px, 1.55vw, 30px);
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 34px 0 12px;
  color: #181818;
}

body.faq-page p {
  font-size: 18px;
  line-height: 1.65;
  font-weight: 400;
  max-width: 980px;
  margin: 0 0 18px;
  color: #222;
}

@media (max-width: 768px) {
  body.faq-page .section {
    padding-top: 44px;
    padding-bottom: 48px;
  }

  body.faq-page h1 {
    font-size: 32px;
    margin-bottom: 26px;
  }

  body.faq-page h2 {
    font-size: 22px;
    margin-top: 28px;
  }

  body.faq-page p {
    font-size: 16px;
    line-height: 1.6;
  }
}


/* FAQ page typography fix V2 - strong override */
html body.faq-page section.faq-content .wrap {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.faq-page section.faq-content h1 {
  font-size: 38px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 34px !important;
  text-transform: uppercase !important;
}

html body.faq-page section.faq-content h2 {
  font-size: 23px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  margin: 30px 0 10px !important;
  text-transform: uppercase !important;
  color: #181818 !important;
}

html body.faq-page section.faq-content p {
  font-size: 17px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  margin: 0 0 18px !important;
  color: #242424 !important;
}

@media (max-width: 768px) {
  html body.faq-page section.faq-content h1 {
    font-size: 30px !important;
  }
  html body.faq-page section.faq-content h2 {
    font-size: 20px !important;
  }
  html body.faq-page section.faq-content p {
    font-size: 16px !important;
  }
}


/* FAQ accordion V3 */
html body.faq-page section.faq-content .wrap {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.faq-page section.faq-content h1 {
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 28px !important;
  text-transform: uppercase !important;
}

html body.faq-page .faq-accordion {
  display: grid !important;
  gap: 12px !important;
}

html body.faq-page .faq-item {
  background: #f3f3f3 !important;
  border: 3px solid #111 !important;
  border-radius: 16px !important;
  box-shadow: 6px 6px 0 rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}

html body.faq-page .faq-item summary {
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  padding: 18px 58px 18px 22px !important;
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #151515 !important;
}

html body.faq-page .faq-item summary::-webkit-details-marker {
  display: none !important;
}

html body.faq-page .faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #ffd200 !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

html body.faq-page .faq-item[open] summary::after {
  content: "−" !important;
}

html body.faq-page .faq-answer {
  padding: 0 22px 20px !important;
}

html body.faq-page .faq-answer p {
  font-size: 16.5px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  color: #242424 !important;
  max-width: 900px !important;
}

@media (max-width: 768px) {
  html body.faq-page section.faq-content h1 {
    font-size: 28px !important;
  }

  html body.faq-page .faq-item summary {
    font-size: 17px !important;
    padding: 16px 52px 16px 18px !important;
  }

  html body.faq-page .faq-answer p {
    font-size: 15.5px !important;
  }
}

/* Contacts regional confirmation block */
.contacts-region-section .card p a {
  color: inherit;
  font-weight: 900;
}


/* Contacts call and messenger buttons */
.contacts-action-card .contact-call-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  max-width: 310px;
  margin: 8px 0 18px;
  padding: 14px 16px;
  border: 3px solid #000;
  border-radius: 14px;
  background: #ffd200;
  color: #000;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 5px 5px 0 #000;
}

.contacts-action-card .phone-as-image {
  display: inline-block;
  padding: 7px 10px;
  background: #000;
  color: #ffd200;
  border-radius: 10px;
  font-size: 18px;
  line-height: 1;
  letter-spacing: .03em;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  font-family: Impact, "Arial Black", system-ui, sans-serif;
}

.contacts-action-card .worktime-text {
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 16px;
}

.contacts-action-card .messenger-buttons {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.contacts-action-card .messenger-btn {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 13px 15px;
  border: 3px solid #000;
  border-radius: 14px;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 4px 4px 0 rgba(0,0,0,.35);
}

.contacts-action-card .messenger-btn span {
  font-size: 14px;
  font-weight: 700;
  opacity: .9;
}

@media (max-width: 768px) {
  .contacts-action-card .contact-call-btn,
  .contacts-action-card .messenger-btn {
    max-width: 100%;
  }

  .contacts-action-card .phone-as-image {
    font-size: 16px;
  }
}


.messenger-buttons-row{
 display:flex;
 gap:12px;
 margin-top:16px;
 align-items:center;
}

.messenger-icon{
 width:56px;
 height:56px;
 border-radius:50%;
 background:#111;
 color:#ffd200;
 border:3px solid #000;
 display:flex;
 align-items:center;
 justify-content:center;
 text-decoration:none;
 font-size:28px;
 font-weight:900;
 box-shadow:4px 4px 0 #000;
}


/* Real messenger icons */
.messenger-buttons-row {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
  align-items: center !important;
}

.messenger-buttons-row .messenger-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #111 !important;
  border: 3px solid #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  box-shadow: 4px 4px 0 rgba(0,0,0,.35) !important;
  text-decoration: none !important;
  color: transparent !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

.messenger-buttons-row .messenger-icon:hover {
  border-color: #ffd200 !important;
  transform: translateY(-1px) !important;
}

.messenger-buttons-row .messenger-icon img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  display: block !important;
}


/* FINAL mobile district banner offset fix
   Fixed top menu covers upper part of district image on phones.
   This pushes only district banners below the fixed menu and keeps banner top visible. */
@media (max-width: 900px) {
  .district-hero.district-hero-with-price {
    margin-top: clamp(210px, 52vw, 360px) !important;
    overflow: visible !important;
  }

  .district-hero .district-hero-image,
  .district-hero-image {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  .district-hero .district-hero-image img,
  .district-hero-image img,
  .district-hero img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: top center !important;
    display: block !important;
  }
}

@media (max-width: 430px) {
  .district-hero.district-hero-with-price {
    margin-top: 220px !important;
  }
}

@media (max-width: 380px) {
  .district-hero.district-hero-with-price {
    margin-top: 245px !important;
  }
}
