:root {
  --bg: #050505;
  --panel: #0d0d0d;
  --panel-2: #111;
  --line: #242424;
  --text: #fff;
  --muted: #bdbdbd;
  --dim: #8a8a8a;
  --green: #39ff14;
  --green-2: #21b900;
  --shadow: 0 0 38px rgba(57, 255, 20, .18);
  --tight-shadow: 0 0 18px rgba(57, 255, 20, .24);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    linear-gradient(90deg, rgba(57,255,20,.025) 1px, transparent 1px) 0 0 / 120px 120px,
    linear-gradient(180deg, rgba(57,255,20,.018) 1px, transparent 1px) 0 0 / 120px 120px,
    var(--bg);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.section-pad { padding: 96px 0; }
.section-dark { background: #050505; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  min-height: 78px;
  padding: 14px max(16px, calc((100vw - 1180px) / 2));
  background: rgba(5, 5, 5, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 34px rgba(0,0,0,.42);
}
.logo { display: inline-flex; align-items: center; min-width: max-content; }
.logo img {
  width: 162px;
  height: auto;
  object-fit: contain;
  display: block;
}
.main-nav { display: flex; justify-content: center; gap: 30px; color: var(--muted); font-size: 14px; font-weight: 700; }
.main-nav a:hover, .phone:hover { color: var(--green); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.phone { display: inline-flex; align-items: center; gap: 9px; color: var(--text); font-weight: 800; font-size: 14px; line-height: 1.15; }
.phone i {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(57,255,20,.38);
  background: #0b0b0b;
  position: relative;
  box-shadow: var(--tight-shadow);
}
.phone i::before { content: ""; position: absolute; inset: 9px; border: 2px solid var(--green); border-left-color: transparent; border-bottom-color: transparent; transform: rotate(45deg); }
.phone-copy { display: block; }
.phone small { display: block; color: var(--dim); font-weight: 500; font-size: 11px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid var(--green);
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #031003;
  font-weight: 800;
  letter-spacing: 0;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn-small { min-height: 44px; padding-inline: 18px; font-size: 13px; }
.btn-outline { background: rgba(5,5,5,.58); color: var(--green); box-shadow: inset 0 0 0 1px rgba(57,255,20,.08); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); background: #0b0b0b; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--green); }

.hero {
  position: relative;
  min-height: 780px;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid #111;
}
.hero picture { position: absolute; inset: 0; }
.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  filter: brightness(1.32) contrast(1.02) saturate(1.12);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.62) 32%, rgba(5,5,5,.12) 62%, rgba(5,5,5,.02) 100%),
    linear-gradient(180deg, rgba(5,5,5,.04), rgba(5,5,5,.22) 86%, rgba(5,5,5,.62) 100%);
}
.hero-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 50%, rgba(57,255,20,.08) 64%, transparent 78%);
  mix-blend-mode: screen;
}
.hero-grid { position: relative; z-index: 1; }
.hero-content { max-width: 690px; padding: 116px 0 86px; }
.eyebrow { margin: 0 0 14px; color: var(--green); font-size: 13px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; text-shadow: 0 0 14px rgba(57,255,20,.22); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; max-width: 680px; font-size: clamp(44px, 5.45vw, 72px); line-height: .98; letter-spacing: 0; font-weight: 900; }
h2 { margin-bottom: 18px; font-size: clamp(30px, 4vw, 52px); line-height: 1.05; letter-spacing: 0; }
h3 { margin-bottom: 12px; font-size: 20px; line-height: 1.2; }
.hero-text, .section-head p, .section-copy p, .about-text p { color: var(--muted); font-size: 18px; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin: 32px 0 26px; }
.hero-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: min(980px, calc(100vw - 32px)); max-width: none; }
.hero-benefits span {
  min-height: 92px;
  padding: 14px 13px;
  border: 1px solid var(--line);
  background: rgba(13, 13, 13, .78);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  backdrop-filter: blur(12px);
}
.hero-benefits i {
  display: block;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border: 1px solid rgba(57,255,20,.45);
  background: linear-gradient(135deg, rgba(57,255,20,.24), transparent);
  position: relative;
}
.hero-benefits i::after { content: ""; position: absolute; inset: 8px; background: var(--green); box-shadow: var(--tight-shadow); }

.trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: -58px;
  position: relative;
  z-index: 2;
  border: 1px solid var(--line);
  background: var(--line);
  box-shadow: 0 26px 80px rgba(0,0,0,.48);
}
.trust article { padding: 24px 26px 26px; background: linear-gradient(180deg, #0d0d0d, #080808); }
.trust i {
  display: block;
  width: 30px;
  height: 30px;
  margin-bottom: 14px;
  border: 1px solid rgba(57,255,20,.42);
  background: linear-gradient(135deg, rgba(57,255,20,.24), transparent);
  box-shadow: var(--tight-shadow);
}
.trust span { display: block; margin: 6px 0 2px; color: var(--green); font-size: 32px; line-height: 1; font-weight: 900; }
.trust strong { display: block; color: var(--text); font-size: 15px; }
.trust p { margin: 0; color: var(--dim); }

.split-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: start; padding: 100px 0; }
.note { padding: 14px 0 14px 18px; border-left: 3px solid var(--green); color: var(--text) !important; background: linear-gradient(90deg, rgba(57,255,20,.08), transparent); }
.lead-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  padding: 26px;
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(57,255,20,.045), transparent 32%),
    linear-gradient(145deg, #0d0d0d, #070707);
  box-shadow: 0 24px 70px rgba(0,0,0,.36);
}
label { color: var(--muted); font-size: 13px; font-weight: 700; }
input, select, textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #2b2b2b;
  background: #050505;
  color: var(--text);
  padding: 14px;
  font: inherit;
}
input:focus, select:focus, textarea:focus { outline: 1px solid rgba(57,255,20,.62); border-color: rgba(57,255,20,.7); }
textarea { resize: vertical; }
.full { grid-column: 1 / -1; }
.form-status { grid-column: 1 / -1; margin: 0; color: var(--green); font-weight: 700; }

.section-head { max-width: 820px; margin-bottom: 34px; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card, .features-grid article, .steps article, .review-card, details {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #0f0f0f, #090909);
}
.service-card {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.service-card:hover { transform: translateY(-4px); border-color: rgba(57,255,20,.5); box-shadow: var(--shadow); }
.service-card picture {
  display: block;
  position: relative;
  min-height: 164px;
  background: #050505;
  overflow: hidden;
}
.service-card picture::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent, rgba(5,5,5,.08)),
    linear-gradient(135deg, rgba(57,255,20,.04), transparent 46%);
  pointer-events: none;
}
.service-card img {
  width: 100%;
  height: 184px;
  object-fit: cover;
  filter: brightness(1.32) contrast(1.02) saturate(1.14);
  transition: transform .35s ease, filter .35s ease;
}
.service-card:hover img {
  transform: scale(1.045);
  filter: brightness(1.42) contrast(1.04) saturate(1.18);
}
.service-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 24px 24px;
  position: relative;
}
.service-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 54px;
  height: 2px;
  background: var(--green);
  box-shadow: var(--tight-shadow);
}
.service-card span, .steps span { color: var(--green); font-weight: 900; }
.service-card span { order: 1; }
.service-card h3 { order: 2; }
.service-card p, .features-grid p, .steps p, .review-card p, details p { color: var(--muted); }
.service-card p { order: 4; }
.service-card strong { order: 3; margin: 4px 0 12px; color: var(--green); font-size: 18px; }
.service-card a { order: 5; margin-top: auto; color: var(--green); font-weight: 800; }

.why, .prices, .reviews, .contacts { background: #080808; border-block: 1px solid var(--line); }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.features-grid article { padding: 26px; }
.features-grid article::before { content: ""; display: block; width: 34px; height: 34px; margin-bottom: 18px; border: 1px solid rgba(57,255,20,.42); background: linear-gradient(135deg, rgba(57,255,20,.24), transparent); box-shadow: var(--tight-shadow); }

.about-panel {
  padding: 34px;
  border: 1px solid rgba(57,255,20,.42);
  background: linear-gradient(135deg, rgba(57,255,20,.12), transparent 38%), var(--panel);
  box-shadow: var(--tight-shadow);
}
.about-text { color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.steps article { padding: 24px; }
.steps span { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 16px; border: 1px solid var(--green); }

.price-table { border: 1px solid var(--line); background: var(--panel); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
.price-table div { display: flex; justify-content: space-between; gap: 20px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.price-table div:last-child { border-bottom: 0; }
.price-table span { color: var(--muted); }
.price-table a { color: inherit; text-decoration: none; }
.price-table a:hover { color: var(--green); }
.price-table strong { color: var(--green); min-width: max-content; }
.center-btn { margin-top: 26px; }

.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
figure { margin: 0; border: 1px solid var(--line); background: var(--panel); overflow: hidden; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
figure:hover { transform: translateY(-4px); border-color: rgba(57,255,20,.48); box-shadow: var(--shadow); }
figcaption { padding: 14px 16px; color: var(--text); font-weight: 800; }
figure picture {
  display: block;
  position: relative;
  background: #050505;
}
figure picture::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent, rgba(5,5,5,.06)),
    linear-gradient(135deg, rgba(57,255,20,.03), transparent 48%);
  pointer-events: none;
}
figure img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: brightness(1.34) contrast(1.02) saturate(1.14);
}
.gallery-shot {
  min-height: 220px;
  background-color: #111;
  background-blend-mode: overlay;
  position: relative;
}
.gallery-shot::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(57,255,20,.32);
  background: linear-gradient(135deg, rgba(57,255,20,.14), transparent);
}
.kitchen { background-image: linear-gradient(135deg, #080808, #193318), repeating-linear-gradient(90deg, transparent 0 30px, rgba(255,255,255,.06) 31px 32px); }
.repair { background-image: linear-gradient(135deg, #111, #333, #0a2408); }
.office { background-image: linear-gradient(135deg, #050505, #181818 55%, #185b12); }
.sofa { background-image: radial-gradient(circle at 65% 45%, #31542b, #101010 55%); }
.market { background-image: repeating-linear-gradient(0deg, #0b0b0b 0 22px, #171717 23px 24px), linear-gradient(135deg, transparent, #195d11); }
.factory { background-image: linear-gradient(90deg, #090909, #222), repeating-linear-gradient(45deg, transparent 0 24px, rgba(57,255,20,.12) 25px 26px); }
.gallery-actions { display: flex; gap: 12px; margin-top: 22px; }

.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.review-card { padding: 26px; }
.review-card span { color: var(--green); display: block; margin-bottom: 14px; }
.faq { max-width: 920px; }
details { margin-bottom: 12px; padding: 20px; }
summary { cursor: pointer; font-weight: 800; }
summary::marker { color: var(--green); }

.contact-list { display: grid; gap: 16px; color: var(--muted); }
.contact-list > a { color: var(--green); font-size: 28px; font-weight: 900; }
.contact-list div { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-list div a { border: 1px solid var(--line); padding: 9px 12px; }

.service-hero {
  position: relative;
  min-height: 720px;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.service-hero picture {
  position: absolute;
  inset: 0;
}
.service-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  filter: brightness(1.3) contrast(1.02) saturate(1.12);
}
.service-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.84) 0%, rgba(5,5,5,.54) 34%, rgba(5,5,5,.1) 72%, rgba(5,5,5,.02)),
    linear-gradient(180deg, rgba(5,5,5,.04), rgba(5,5,5,.58) 100%);
}
.service-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 34px;
  align-items: end;
  padding: 130px 0 96px;
}
.service-hero-copy {
  max-width: 760px;
}
.service-hero-copy p {
  color: var(--muted);
  font-size: 18px;
}
.service-quote {
  border: 1px solid rgba(57,255,20,.42);
  background:
    linear-gradient(145deg, rgba(57,255,20,.12), transparent 42%),
    rgba(5,5,5,.82);
  padding: 26px;
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
}
.service-quote span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.service-quote strong {
  display: block;
  margin: 6px 0 10px;
  color: var(--green);
  font-size: 34px;
  line-height: 1;
}
.service-quote p {
  margin: 0;
  color: var(--muted);
}
.service-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: -48px;
  position: relative;
  z-index: 2;
  border: 1px solid var(--line);
  background: var(--line);
  box-shadow: 0 26px 80px rgba(0,0,0,.44);
}
.service-strip article {
  padding: 22px;
  background: linear-gradient(180deg, #0d0d0d, #080808);
}
.service-strip strong {
  display: block;
  color: var(--text);
}
.service-strip span {
  display: block;
  margin-top: 4px;
  color: var(--dim);
  font-size: 14px;
}
.service-detail {
  background: #080808;
  border-block: 1px solid var(--line);
}
.service-detail-grid {
  display: grid;
  grid-template-columns: .76fr 1.24fr;
  gap: 34px;
  align-items: start;
}
.included-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.included-grid article {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #101010, #080808);
  padding: 22px;
}
.included-grid span {
  color: var(--green);
  font-weight: 900;
}
.included-grid p {
  color: var(--muted);
}
.related-services {
  background: #050505;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.related-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.related-service-card {
  min-height: 150px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(19, 19, 19, .95), rgba(5, 5, 5, .98));
  color: var(--white);
  text-decoration: none;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.related-service-card:hover {
  transform: translateY(-3px);
  border-color: rgba(73, 231, 96, .58);
  background: linear-gradient(145deg, rgba(22, 29, 22, .98), rgba(5, 5, 5, .98));
}
.related-service-card strong {
  font-size: 18px;
  line-height: 1.18;
}
.related-service-card span {
  color: var(--muted);
  line-height: 1.55;
}
.dry-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.dry-price-card {
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #101010, #080808);
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.dry-price-card:hover {
  transform: translateY(-4px);
  border-color: rgba(57,255,20,.5);
  box-shadow: var(--shadow);
}
.dry-price-card picture {
  display: block;
  position: relative;
  background: #050505;
}
.dry-price-card picture::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent, rgba(5,5,5,.08)),
    linear-gradient(135deg, rgba(57,255,20,.04), transparent 52%);
}
.dry-price-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  filter: brightness(1.34) contrast(1.02) saturate(1.14);
}
.dry-price-card div {
  display: flex;
  flex-direction: column;
  padding: 22px;
}
.dry-price-card p {
  order: 3;
  color: var(--muted);
}
.dry-price-card h3 {
  order: 1;
}
.dry-price-card strong {
  order: 2;
  margin: 4px 0 12px;
  color: var(--green);
  font-size: 18px;
}
.dry-price-card a {
  order: 4;
  margin-top: auto;
  color: var(--green);
  font-weight: 900;
}
.dry-price-card-small {
  grid-template-rows: auto auto;
  padding: 8px;
  border-radius: 10px;
}
.dry-price-card-small picture {
  border-radius: 8px;
  overflow: hidden;
}
.dry-price-card-small picture::after {
  display: none;
}
.dry-price-card-small img {
  display: block;
  height: auto;
  aspect-ratio: 13 / 9;
  border-radius: 8px;
  filter: none;
}
.dry-price-card-small > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 8px;
  border: 1px solid rgba(57,255,20,.34);
  border-radius: 7px;
  background: rgba(57,255,20,.08);
}
.service-price-table {
  margin-top: 22px;
}
.seo-content {
  border-top: 1px solid var(--line);
}
.seo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.seo-grid article {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #101010, #080808);
  padding: 24px;
}
.seo-grid p {
  color: var(--muted);
}
.internal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.internal-links a {
  border: 1px solid rgba(57,255,20,.34);
  background: rgba(5,5,5,.72);
  color: var(--green);
  padding: 10px 13px;
  font-weight: 800;
}
.internal-links a:hover {
  box-shadow: var(--tight-shadow);
}

.site-footer { padding: 54px 0 80px; background: #030303; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 32px; }
.footer-grid p, .footer-grid span { color: var(--muted); }
.footer-grid nav, .footer-grid > div:last-child { display: grid; gap: 10px; align-content: start; }
.copyright { width: min(1180px, calc(100% - 32px)); margin: 34px auto 0; color: var(--dim); border-top: 1px solid var(--line); padding-top: 18px; }

.contact-float {
  position: fixed;
  right: max(18px, calc((100vw - 1280px) / 2 + 18px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 70;
  display: grid;
  gap: 10px;
  justify-items: end;
}
.contact-float-main {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(57,255,20,.64);
  background: radial-gradient(circle at 34% 28%, #54ff35, var(--green-2) 58%, #0f5e08);
  color: #031003;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 0 0 0 rgba(57,255,20,.32), var(--shadow);
  animation: contactPulse 2.4s ease-out infinite;
}
.contact-float-main span { position: relative; z-index: 1; }
.contact-float-main::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border: 3px solid #031003;
  border-left-color: transparent;
  border-bottom-color: transparent;
  transform: rotate(45deg);
  opacity: .24;
}
.contact-float-actions {
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--line);
  background: rgba(5,5,5,.84);
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.contact-action {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(57,255,20,.28);
  background: linear-gradient(180deg, #111, #080808);
  color: var(--green);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.contact-action:hover {
  transform: translateX(-3px);
  border-color: rgba(57,255,20,.72);
  box-shadow: var(--tight-shadow);
}
.contact-action::before {
  color: var(--green);
  font-weight: 900;
  font-size: 17px;
  line-height: 1;
}
.contact-action.call::before { content: "☎"; }
.contact-action.viber::before { content: "V"; }
.contact-action.telegram::before { content: "T"; }
.contact-action.form::before { content: "₴"; }
.contact-action.up::before { content: "↑"; font-size: 22px; }
.contact-action span {
  position: absolute;
  right: calc(100% + 9px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  opacity: 0;
  pointer-events: none;
  min-width: max-content;
  padding: 7px 9px;
  border: 1px solid var(--line);
  background: rgba(5,5,5,.94);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  transition: opacity .2s ease, transform .2s ease;
}
.contact-action:hover span {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
@keyframes contactPulse {
  0% { box-shadow: 0 0 0 0 rgba(57,255,20,.35), var(--shadow); }
  72% { box-shadow: 0 0 0 18px rgba(57,255,20,0), var(--shadow); }
  100% { box-shadow: 0 0 0 0 rgba(57,255,20,0), var(--shadow); }
}

.mobile-bar { display: none; }
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}
.breadcrumbs a { color: var(--green); }
.local-seo-entry { padding-top: 56px; padding-bottom: 20px; }
.seo-content ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.8;
}
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto auto; justify-content: space-between; }
  .main-nav {
    position: fixed;
    inset: 76px 16px auto;
    display: none;
    flex-direction: column;
    padding: 18px;
    border: 1px solid var(--line);
    background: #080808;
  }
  .main-nav.open { display: flex; }
  .phone span, .header-actions .btn-small { display: none; }
  .menu-toggle { display: block; }
  .hero { min-height: 720px; }
  .hero-overlay { background: linear-gradient(180deg, rgba(5,5,5,.54), rgba(5,5,5,.16) 50%, rgba(5,5,5,.64)); }
  .hero-image { opacity: 1; object-position: 62% center; }
  .hero-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .trust, .services-grid, .features-grid, .steps, .gallery, .reviews-grid, .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .split-section { grid-template-columns: 1fr; padding: 72px 0; }
  .service-hero-grid, .service-detail-grid { grid-template-columns: 1fr; }
  .service-strip, .dry-price-grid, .seo-grid, .related-services-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-float { display: none; }
}

@media (max-width: 640px) {
  body { padding-bottom: 68px; }
  .container { width: min(100% - 24px, 1180px); }
  .section-pad { padding: 66px 0; }
  .site-header { padding-inline: 12px; }
  .logo img { width: 128px; }
  .phone { font-size: 0; }
  .phone::before { content: "☎"; font-size: 22px; color: var(--green); }
  .hero { min-height: 760px; align-items: start; }
  .hero-content { padding-top: 98px; }
  h1 { font-size: 40px; }
  .hero-benefits, .trust, .lead-form, .services-grid, .features-grid, .steps, .gallery, .reviews-grid, .footer-grid, .service-strip, .included-grid, .dry-price-grid, .seo-grid, .related-services-grid { grid-template-columns: 1fr; }
  .service-hero { min-height: 760px; align-items: start; }
  .service-hero-grid { padding: 98px 0 70px; }
  .trust { margin-top: -40px; }
  .price-table div { display: grid; gap: 6px; }
  .hero-buttons, .gallery-actions { flex-direction: column; }
  .btn { width: 100%; }
  .mobile-bar {
    position: fixed;
    z-index: 60;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    background: rgba(5,5,5,.94);
    backdrop-filter: blur(14px);
  }
  .mobile-bar a { padding: 14px 8px; text-align: center; color: var(--green); font-size: 13px; font-weight: 800; }
  .mobile-bar a + a { border-left: 1px solid var(--line); }
}
