/* Stage 14: Commercial polish improvements for Profidom30 */
/* This stylesheet introduces refined typography, button styling,
 * consistent card appearance and subtle improvements to hero copy.
 * It loads after main.css, stage1.css and stage9.css and can be
 * safely removed without breaking the base site.  No external
 * dependencies are used.
 */

/* Colour palette */
:root {
  --primary-color: #1e40af; /* deep blue accent */
  --secondary-color: #f9fafb;
  --text-color: #0f172a;
  --heading-color: #1e3a8a;
  --button-hover: #163d7a;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden; /* Prevent accidental horizontal scroll on mobile */
}

/* Button enhancements */
.btn,
.btn-primary,
.btn-secondary,
.hero-main-btn,
.call-premium__submit {
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.75rem 1.8rem;
  display: inline-block;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.btn,
.btn-primary,
.hero-main-btn,
.call-premium__submit {
  background-color: var(--primary-color);
  color: #ffffff;
  border: none;
}
.btn-secondary {
  background-color: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
}
.btn:hover,
.btn-primary:hover,
.hero-main-btn:hover,
.call-premium__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}
.btn-primary:hover,
.hero-main-btn:hover,
.call-premium__submit:hover {
  background-color: var(--button-hover);
}
.btn-secondary:hover {
  background-color: var(--primary-color);
  color: #ffffff;
}

/* Hero typography */
.hero-gallery .hero-inner h1,
.hero-fixed-content__inner h1,
.hero .hero-copy-title {
  font-size: 2.2rem;
  line-height: 1.2;
  color: var(--heading-color);
  margin-bottom: 0.5rem;
}
.hero-gallery .hero-subtitle,
.hero-copy-subtitle {
  font-size: 1rem;
  color: var(--text-color);
  max-width: 680px;
}

/* Bullet list styling for hero benefits and process lists */
.hero-benefits li,
.situations-list li,
.process-step p {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
  color: var(--text-color);
}
.hero-benefits li::before,
.situations-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--primary-color);
  font-size: 1.2rem;
  line-height: 1;
}

/* Section headings */
h2,
.section-heading h2 {
  color: var(--heading-color);
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
  line-height: 1.25;
}
.section-kicker {
  color: var(--primary-color);
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

/* Price emphasis */
.price-grid .price-item strong,
.price-grid .price-value {
  font-weight: 700;
  color: var(--primary-color);
}

/* Footer tweaks */
.footer-premium__badges span {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  padding: 0.25rem 0.6rem;
  border-radius: 6px;
  margin-right: 0.5rem;
  font-size: 0.85rem;
}
.footer-premium__phone,
.footer-premium__mail {
  font-size: 1.1rem;
  font-weight: 700;
}
.footer-premium__cta-btn {
  border-radius: 10px;
  font-size: 1rem;
}

/* Social widget buttons */
.social-widget__button {
  border-radius: 50%;
  width: 52px;
  height: 52px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Stage 14S: keep premium social preview/favicons and avoid breaking dark hero readability */
.hero--service .hero-inner h1, .hero--service .hero-inner .hero-subtitle { color: #fff !important; }
.footer-premium__requisites span { white-space: nowrap; }

/* =============================================================
   Stage 15 – Mobile hero & footer polish
   -------------------------------------------------------------
   The following rules improve the mobile experience of the site.
   Floating contact buttons are repositioned on small screens to
   avoid overlapping CTA buttons.  Hero copy on the call and
   contacts pages is made lighter and more legible against dark
   backgrounds.  The bottom legal block is stacked vertically on
   mobile so that the INN/ОГРНИП badges and legal text don't
   compress into narrow columns.  These rules use !important
   declarations to override existing styles safely.
*/

/* Position the social widget higher on mobile to avoid CTA overlap */
@media (max-width: 480px) {
  body .social-widget {
    right: clamp(14px, 3vw, 28px) !important;
    bottom: clamp(98px, 12vh, 160px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  body .social-widget__button {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
  }
}

/* Lighten hero content for call and contacts pages */
.call-hero-premium__content,
.contacts-hero-premium__content {
  background: linear-gradient(145deg, rgba(15, 37, 69, 0.28), rgba(15, 37, 69, 0.12)) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  box-shadow: 0 18px 48px rgba(2, 12, 27, 0.28) !important;
}

.call-hero-premium h1,
.contacts-hero-premium h1 {
  color: rgba(255,255,255,0.96) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4) !important;
}

.call-hero-premium .hero-subtitle,
.contacts-hero-premium .hero-subtitle {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4) !important;
}

.call-hero-premium__benefits li,
.contacts-hero-premium__benefits li {
  color: rgba(255,255,255,0.90) !important;
}

.call-hero-premium__eyebrow,
.call-hero-premium__quick-label,
.contacts-hero-premium__eyebrow,
.contacts-hero-premium__quick-label {
  color: rgba(142, 212, 254, 0.9) !important;
}

/* Stack the footer bottom on small screens for better readability */
@media (max-width: 480px) {
  /* On small screens stack the bottom items vertically */
  .footer-premium__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-top: 14px !important;
  }
  /* Place the legal blur text first */
  .footer-premium__legal-blur {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    order: 1 !important;
  }
  /* Ensure each legal line occupies its own row */
  .footer-premium__legal-line {
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
    line-height: 1.4 !important;
  }
  /* Place the requisites block below the legal text */
  .footer-premium__requisites {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    order: 2 !important;
  }
  /* Stack each requisite on its own line and remove chip styling */
  .footer-premium__requisites span {
    display: block !important;
    padding: 4px 0 !important;
    border: none !important;
    background: transparent !important;
    color: rgba(226, 242, 255, 0.78) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.025em !important;
    text-transform: none !important;
  }
}

/* Telegram form submit status */
.form-submit-status {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.form-submit-status.is-success {
  color: #0f5132;
  background: rgba(25, 135, 84, 0.12);
}
.form-submit-status.is-error {
  color: #842029;
  background: rgba(220, 53, 69, 0.12);
}
.question-form button[disabled],
.call-premium__submit[disabled] {
  cursor: wait;
  opacity: 0.72;
}

/* =============================================================
   Conversion & trust polish additions
   -------------------------------------------------------------
   The following rules add styles for new trust blocks, price
   notes, direction prices and call-flow sections introduced in
   stage 1 of the conversion tweaks.  They borrow the existing
   palette defined at the top of this file and keep margins,
   paddings and font sizes consistent with the rest of the site.
*/

/* Diagnostic note under price lists */
.diagnostic-note {
  font-size: 0.85rem;
  color: var(--text-color);
  margin-top: 0.75rem;
  max-width: 560px;
}

/* Prices for directions on the home page */
.direction-price {
  margin-top: 0.4rem;
  font-weight: 700;
  color: var(--primary-color);
  font-size: 1rem;
}

/* Trust block styles */
.trust-block {
  padding: 3rem 0;
  background: linear-gradient(180deg, #EAF7FC 0%, #F3FBFF 100%);
  position: relative;
  overflow: hidden;
}

/* Add decorative glow behind trust sections */
.trust-block::before {
  content: '';
  position: absolute;
  top: -120px;
  left: -80px;
  width: 480px;
  height: 480px;
  background: radial-gradient(circle at 30% 30%, rgba(19, 185, 220, 0.18), rgba(255, 255, 255, 0));
  z-index: 0;
}
.trust-block .container {
  position: relative;
  z-index: 1;
}
.trust-block .section-kicker {
  color: var(--primary-color);
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}
.trust-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1.8rem;
}
.trust-card {
  flex: 1 1 calc(50% - 1.5rem);
  background: #ffffff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.trust-card h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  color: var(--heading-color);
}
.trust-card p {
  margin-bottom: 0.75rem;
  color: var(--text-color);
  line-height: 1.35;
  flex: 1 1 auto;
}
.trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.trust-badges .badge {
  background: var(--secondary-color);
  color: var(--primary-color);
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 4px;
  font-weight: 600;
}
.trust-card img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
  margin-bottom: 0.5rem;
}
.trust-logos {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.4rem;
}
.trust-logo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #ffffff;
  font-size: 0.85rem;
}
.trust-logo--avito { background: #f64c72; }
.trust-logo--profi { background: #2d9cdb; }
.trust-logo--yandex { background: #ffd900; color: #111827; }
.trust-logo--2gis { background: #00b39f; }
.trust-cta {
  text-align: center;
  margin-top: 2rem;
}
.trust-cta .btn {
  margin: 0.5rem;
}

/* Team badges inside trust card */
.trust-card.team-card .team-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.5rem;
}
.trust-card.team-card .team-badges .badge {
  background: var(--secondary-color);
  color: var(--primary-color);
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-weight: 600;
}

/* Cost card list */
.trust-card.cost-card {
  justify-content: flex-start;
  gap: 0.85rem;
}
.trust-card.cost-card p {
  flex: 0 0 auto;
  margin-bottom: 0;
}
.trust-card.cost-card .mini-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  counter-reset: step;
  background: linear-gradient(180deg, rgba(230, 242, 252, 0.82), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(11, 94, 158, 0.12);
  border-radius: 16px;
  padding: 1rem;
}
.trust-card.cost-card .mini-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  margin-bottom: 0.55rem;
}
.trust-card.cost-card .mini-list li:last-child {
  margin-bottom: 0;
}
.trust-card.cost-card .mini-list li::before {
  content: counter(step) '.';
  counter-increment: step;
  color: var(--primary-color);
  font-weight: 700;
  min-width: 1.2rem;
}
.trust-card.cost-card .cost-card__note {
  display: grid;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(11, 94, 158, 0.13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.trust-card.cost-card .cost-card__note strong {
  color: var(--primary-color);
  font-size: 0.95rem;
}
.trust-card.cost-card .cost-card__note span {
  color: #334155;
  font-size: 0.86rem;
  line-height: 1.4;
}

/* Reviews platforms section */
.reviews-platforms {
  padding: 3rem 0;
  background: linear-gradient(180deg, #EAF7FC 0%, #F3FBFF 100%);
  position: relative;
  overflow: hidden;
}
.reviews-platforms::before {
  content: '';
  position: absolute;
  top: -150px;
  right: -100px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle at 70% 30%, rgba(19, 185, 220, 0.2), rgba(255, 255, 255, 0));
  z-index: 0;
}
.reviews-platforms .container {
  position: relative;
  z-index: 1;
}
.reviews-platforms .platforms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}
.reviews-platforms .reviews-platforms__card {
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(15, 71, 120, 0.10);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid rgba(11, 94, 158, 0.10);
}
.reviews-platforms__image {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(11, 94, 158, 0.18);
  box-shadow: 0 12px 30px rgba(15, 71, 120, 0.10);
  background: #fff;
  aspect-ratio: 16 / 10;
  min-height: 300px;
}
.reviews-platforms__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  transition: transform 0.3s ease, filter 0.3s ease;
}
.reviews-platforms__card:hover .reviews-platforms__image img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}
.reviews-platforms .reviews-platforms__card h3 {
  margin: 0.8rem 1rem 0.4rem;
  font-size: 1.1rem;
  color: var(--heading-color);
}
.reviews-platforms .reviews-platforms__card p {
  margin: 0 1rem 1.2rem;
  color: var(--text-color);
  flex-grow: 1;
}
.reviews-cta {
  text-align: center;
  margin-top: 2.5rem;
}
.reviews-cta h3 {
  font-size: 1.4rem;
  color: var(--heading-color);
  margin-bottom: 0.6rem;
}
.reviews-cta p {
  margin-bottom: 1.2rem;
  color: var(--text-color);
}
.reviews-cta .btn {
  margin: 0.4rem;
}


@media (max-width: 900px) {
  .reviews-platforms .platforms-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

@media (max-width: 768px) {
  .trust-card {
    flex: 1 1 100%;
  }
  .reviews-platforms .reviews-platforms__card {
    border-radius: 20px;
  }
  .reviews-platforms__image {
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }
  .reviews-platforms__card:hover .reviews-platforms__image img {
    transform: none;
  }
}



/* =============================================================
   Call page flow block + footer legal text polish
   ============================================================= */
.call-flow-block {
  margin: 1.85rem 0 2rem;
  padding: 1.6rem 1.55rem 1.7rem;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(245,250,255,0.98) 100%);
  border: 1px solid rgba(14, 165, 233, 0.16);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
  position: relative;
  overflow: hidden;
}
.call-flow-block::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(56,189,248,0.14) 0%, rgba(56,189,248,0) 72%);
  pointer-events: none;
}
.call-flow-block h3 {
  position: relative;
  margin: 0 0 1rem;
  font-size: 1.45rem;
  line-height: 1.2;
  color: #204486;
}
.call-flow-steps {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.call-flow-steps li {
  position: relative;
  display: block;
  min-height: 104px;
  padding: 1.15rem 1rem 1rem 1rem;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(14, 165, 233, 0.12);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  font-size: 0.98rem;
  line-height: 1.55;
  color: #41546a;
}
.call-flow-steps li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0 0 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1fb2ee 0%, #1d4ed8 100%);
  color: #fff;
  font-weight: 800;
  font-size: 0.95rem;
  box-shadow: 0 10px 20px rgba(29, 78, 216, 0.22);
}

.footer-premium__legal-blur {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  max-width: 980px;
  line-height: 1.5;
}
.footer-premium__legal-line {
  display: block !important;
}

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

@media (max-width: 767px) {
  .call-flow-block {
    margin: 1.25rem 0 1.5rem;
    padding: 1.25rem 1rem 1.15rem;
    border-radius: 22px;
  }
  .call-flow-block h3 {
    font-size: 1.28rem;
    margin-bottom: 0.9rem;
  }
  .call-flow-steps {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
  .call-flow-steps li {
    min-height: auto;
    padding: 1rem 0.95rem 0.95rem;
    font-size: 0.95rem;
  }
  .call-flow-steps li span {
    margin-bottom: 0.7rem;
  }
}

/* Final safe audit fixes: prevent tiny mobile overflow and keep header phone stable */
.service-page .mini-price h2,
.service-page .faq h2 {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.header .row,
.header .cta {
  min-width: 0;
}

.header .btn.phone,
.header .phone {
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 480px) {
  .service-page .mini-price h2,
  .service-page .faq h2 {
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: 1.18;
  }
}

@media (max-width: 380px) {
  .header .btn.phone,
  .header .phone {
    max-width: 205px;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 13px !important;
  }
}

/* Keep animated section headings from creating a 1-3px horizontal scroll while flipping in */
.service-page .mini-price,
.service-page .faq,
.service-page .cta-section {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  .service-page .mini-price,
  .service-page .faq,
  .service-page .cta-section {
    overflow-x: hidden;
  }
}


/* Price-before block typography fix: keep the badge readable and the headline balanced */
.price-before .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(125, 211, 252, 0.24);
  background: rgba(14, 165, 233, 0.14);
  color: #e0f7ff;
  font-family: inherit;
  font-size: clamp(0.78rem, 1.1vw, 0.88rem);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: none;
  box-shadow: 0 10px 24px rgba(14, 165, 233, 0.10);
}

.price-before .section-kicker::before {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, #38bdf8, #22d3ee);
  box-shadow: 0 0 0 6px rgba(56, 189, 248, 0.16);
}

.price-before__intro h2 {
  max-width: 560px;
  font-size: clamp(1.95rem, 3.1vw, 2.85rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.price-before__intro p {
  max-width: 560px;
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
}

@media (max-width: 768px) {
  .price-before .section-kicker {
    font-size: 0.78rem;
    line-height: 1.25;
    letter-spacing: 0.01em;
  }

  .price-before__intro h2 {
    font-size: clamp(1.8rem, 8vw, 2.25rem);
    line-height: 1.1;
  }
}


/* =============================================================
   Category page polish for plumbing / electric / appliances
   ------------------------------------------------------------- */
.service-page .popular-services,
.service-page .call-situations,
.service-page .process,
.service-page .mini-price {
  position: relative;
}

.service-page .popular-services h2,
.service-page .call-situations h2,
.service-page .process h2,
.service-page .mini-price h2 {
  font-size: clamp(2rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1.75rem;
}

.service-page .popular-services .services-grid,
.service-page .mini-price .price-grid {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.service-page .popular-services .service-card {
  border-radius: 24px;
  padding: 1.75rem;
  border: 1px solid rgba(14, 165, 233, 0.16);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.service-page .popular-services .service-card h3 {
  font-size: 1.22rem;
  line-height: 1.3;
  margin-bottom: 0.65rem;
}

.service-page .popular-services .service-card p {
  line-height: 1.58;
  color: #526277;
  margin-bottom: 1rem;
}

.service-page .popular-services .service-card strong {
  font-size: 1.2rem;
  margin-top: auto;
}

.service-page .popular-services .service-card .service-btn {
  margin-top: 0.85rem;
  min-width: 148px;
  text-align: center;
  border-radius: 14px;
  padding: 0.82rem 1.25rem;
  background: linear-gradient(90deg, #1fb2ee 0%, #22c5f3 100%);
  box-shadow: 0 10px 24px rgba(14, 165, 233, 0.18);
}

.service-page .popular-services .service-card .service-btn:hover {
  background: linear-gradient(90deg, #0ea5e9 0%, #1fb2ee 100%);
}

.service-page .call-situations {
  background: linear-gradient(180deg, #f8fbff 0%, #f3f9ff 100%);
  padding-top: 3.25rem;
  padding-bottom: 2.5rem;
}

.service-page .call-situations .situations-list {
  gap: 1rem 1rem;
  max-width: 1040px;
}

.service-page .call-situations .situations-list li {
  min-height: 72px;
  border-radius: 18px;
  padding: 1.05rem 1.1rem;
  align-items: center;
  line-height: 1.45;
  color: #4d5d73;
}

.service-page .process {
  padding-top: 3.25rem;
  padding-bottom: 2.75rem;
  background: #fff;
}

.service-page .process .process-grid {
  max-width: 1120px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.15rem;
}

.service-page .process .process-step {
  min-height: 172px;
  border-radius: 22px;
  padding: 1.5rem 1.15rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.35rem;
}

.service-page .process .process-step p {
  font-size: 0.96rem;
  line-height: 1.5;
  max-width: 14ch;
}

.service-page .mini-price {
  background: linear-gradient(180deg, #f8fbff 0%, #f3f9ff 100%);
  padding-top: 3.25rem;
  padding-bottom: 2.75rem;
}

.service-page .mini-price .price-grid {
  gap: 1.35rem;
}

.service-page .mini-price .price-item {
  min-height: 210px;
  border-radius: 24px;
  padding: 1.5rem 1.45rem;
  justify-content: space-between;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(14, 165, 233, 0.16);
}

.service-page .mini-price .price-item .price-name {
  font-size: 1.1rem;
  line-height: 1.35;
  max-width: 16ch;
}

.service-page .mini-price .price-item .price-value {
  font-size: 1.4rem;
  line-height: 1.1;
  color: #1f4a8a;
}

.service-page .mini-price .price-item .price-note {
  display: block;
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(14, 165, 233, 0.12);
  font-size: 0.9rem;
  line-height: 1.45;
  color: #607086;
}

.service-page .mini-price .diagnostic-note {
  max-width: 1120px;
  margin: 1.15rem auto 0;
  background: #ffffff;
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
  padding: 1rem 1.1rem 1rem 3.2rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #41546a;
  position: relative;
}

.service-page .mini-price .diagnostic-note::before {
  content: 'i';
  position: absolute;
  left: 1.15rem;
  top: 1rem;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(14, 165, 233, 0.14);
  color: #0b5e9e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-family: Arial, sans-serif;
}

@media (max-width: 1199px) {
  .service-page .process .process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .service-page .popular-services .services-grid,
  .service-page .mini-price .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-page .process .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .service-page .popular-services,
  .service-page .call-situations,
  .service-page .process,
  .service-page .mini-price {
    padding-top: 2.35rem;
    padding-bottom: 2.15rem;
  }

  .service-page .popular-services h2,
  .service-page .call-situations h2,
  .service-page .process h2,
  .service-page .mini-price h2 {
    font-size: 1.75rem;
    margin-bottom: 1.25rem;
  }

  .service-page .popular-services .services-grid,
  .service-page .mini-price .price-grid,
  .service-page .process .process-grid,
  .service-page .call-situations .situations-list {
    grid-template-columns: 1fr;
  }

  .service-page .popular-services .service-card,
  .service-page .mini-price .price-item,
  .service-page .process .process-step,
  .service-page .call-situations .situations-list li {
    min-height: auto;
  }

  .service-page .process .process-step {
    padding: 1.35rem 1rem;
  }

  .service-page .process .process-step p {
    max-width: none;
  }

  .service-page .mini-price .price-item {
    padding: 1.25rem 1.15rem;
  }

  .service-page .mini-price .diagnostic-note {
    padding: 0.95rem 1rem 0.95rem 2.9rem;
    font-size: 0.9rem;
  }

  .service-page .mini-price .diagnostic-note::before {
    left: 0.95rem;
    top: 0.95rem;
  }
}


/* =============================================================
   Stage 14R - service hero, split buttons, and legal footer polish
   ============================================================= */

/* 1) Services page hero: remove blue drops from benefit chips and keep pills clean */
.hero--services .hero-benefits {
  gap: 0.75rem;
}
.hero--services .hero-benefits li {
  padding: 0.58rem 1rem !important;
  color: #ffffff !important;
  font-weight: 700;
}
.hero--services .hero-benefits li::before {
  content: none !important;
  display: none !important;
}

/* 2) Split-system pages: make hero buttons richer and visually consistent */
.hero-gallery[data-hero-gallery="split"] .hero-buttons {
  gap: 0.9rem;
}
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-primary,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 54px;
  padding: 0.92rem 1.7rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22);
  transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, color 0.28s ease, border-color 0.28s ease;
}
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-primary,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn.btn-primary {
  background: linear-gradient(135deg, #19b5f0 0%, #1d8fe5 52%, #1e40af 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
}
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn.btn-secondary {
  background: linear-gradient(135deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.08) 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.26) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn:hover,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-primary:hover,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.28);
}
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary:hover,
.hero-gallery[data-hero-gallery="split"] .hero-buttons .btn.btn-secondary:hover {
  background: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}

/* 3) Footer: structure legal information so it reads like a neat information block */
.footer-premium__bottom {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding-top: 18px !important;
  gap: 14px !important;
}
.footer-premium__requisites {
  order: 1;
  margin-bottom: 0 !important;
}
.footer-premium__legal-blur {
  order: 2;
  width: min(100%, 1040px);
  margin: 0 auto !important;
  padding: 18px 20px 17px !important;
  border-radius: 18px;
  border: 1px solid rgba(72, 202, 255, 0.14);
  background: linear-gradient(135deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.022) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 16px 34px rgba(1, 10, 25, 0.12);
  color: rgba(226, 242, 255, 0.84) !important;
  text-align: left;
}
.footer-premium__legal-blur::before {
  content: 'Правовая информация';
  display: block;
  margin-bottom: 9px;
  color: #8bdcff;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-premium__legal-line {
  display: block;
  margin: 0;
  font-size: 0.865rem;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.footer-premium__legal-line + .footer-premium__legal-line {
  margin-top: 4px;
  color: rgba(217, 233, 245, 0.78);
}

@media (max-width: 900px) {
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn,
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-primary,
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary {
    min-width: 190px;
  }
  .footer-premium__legal-blur {
    padding: 16px 16px 15px !important;
  }
}

@media (max-width: 767px) {
  .hero-gallery[data-hero-gallery="split"] .hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn,
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-primary,
  .hero-gallery[data-hero-gallery="split"] .hero-buttons .btn-secondary {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 0.88rem 1.2rem;
  }
  .footer-premium__legal-blur {
    text-align: left;
  }
  .footer-premium__legal-line {
    font-size: 0.8rem;
    line-height: 1.48;
  }
}


/* =============================================================
   Hero image fallback + diagnostic note final fix
   ============================================================= */
.hero-gallery[data-hero-gallery] {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.hero-gallery__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.9s ease;
  z-index: 0;
}
.hero-gallery__bg.is-active {
  opacity: 1;
}
.hero-gallery > .container,
.hero-gallery .hero-wrapper {
  position: relative;
  z-index: 2;
}

/* Style diagnostic and price notes even if HTML is temporarily outside .container. */
.service-page .mini-price > .container > p.diagnostic-note,
.service-page .mini-price > p.diagnostic-note,
.service-page .mini-price p.diagnostic-note,
.service-page .mini-price > .container > p.price-note,
.service-page .mini-price > p.price-note,
.service-page .mini-price p.price-note:not(.price-item .price-note) {
  display: block !important;
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin: 1.2rem auto 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid rgba(14, 165, 233, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05) !important;
  padding: 1rem 1.1rem 1rem 3.2rem !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  color: #41546a !important;
  text-align: left !important;
  position: relative !important;
  font-style: normal !important;
}

.service-page .mini-price > .container > p.diagnostic-note::before,
.service-page .mini-price > p.diagnostic-note::before,
.service-page .mini-price p.diagnostic-note::before,
.service-page .mini-price > .container > p.price-note::before,
.service-page .mini-price > p.price-note::before,
.service-page .mini-price p.price-note:not(.price-item .price-note)::before {
  content: 'i';
  position: absolute;
  left: 1.15rem;
  top: 1rem;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(14, 165, 233, 0.14);
  color: #0b5e9e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-family: Arial, sans-serif;
}

@media (max-width: 767px) {
  .service-page .mini-price > .container > p.diagnostic-note,
  .service-page .mini-price > p.diagnostic-note,
  .service-page .mini-price p.diagnostic-note,
  .service-page .mini-price > .container > p.price-note,
  .service-page .mini-price > p.price-note,
  .service-page .mini-price p.price-note:not(.price-item .price-note) {
    width: min(100% - 24px, 1120px) !important;
    padding: 0.95rem 1rem 0.95rem 2.9rem !important;
    font-size: 0.9rem !important;
  }
  .service-page .mini-price > .container > p.diagnostic-note::before,
  .service-page .mini-price > p.diagnostic-note::before,
  .service-page .mini-price p.diagnostic-note::before,
  .service-page .mini-price > .container > p.price-note::before,
  .service-page .mini-price > p.price-note::before,
  .service-page .mini-price p.price-note:not(.price-item .price-note)::before {
    left: 0.95rem;
    top: 0.95rem;
  }
}


/* =============================================================
   Split-system service pages final polish
   Scope: only /services/*split-sistemy.html pages with .split-service-page
   ============================================================= */
.split-service-page .description {
  background: linear-gradient(180deg, #eff9ff 0%, #f7fbff 100%);
  padding: 2.5rem 0 2.25rem;
}
.split-service-page .description .container {
  max-width: 960px;
}
.split-service-page .description p {
  margin: 0 auto;
  padding: 1.25rem 1.55rem;
  border-radius: 22px;
  border: 1px solid rgba(14, 165, 233, 0.14);
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
  color: #526277;
  font-size: 1.04rem;
  line-height: 1.72;
  text-align: center;
}

.split-service-page .call-situations,
.split-service-page .process,
.split-service-page .mini-price {
  overflow: hidden;
}
.split-service-page .call-situations {
  padding: 3.6rem 0 3.2rem;
  background: linear-gradient(180deg, #f8fbff 0%, #eef8ff 100%);
  position: relative;
}
.split-service-page .call-situations:nth-of-type(even) {
  background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
}
.split-service-page .call-situations::before {
  content: '';
  position: absolute;
  left: -180px;
  top: -180px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.14) 0%, rgba(34, 211, 238, 0) 70%);
  pointer-events: none;
}
.split-service-page .call-situations .container {
  position: relative;
  z-index: 1;
}
.split-service-page .call-situations h2,
.split-service-page .process h2,
.split-service-page .mini-price h2,
.split-service-page .faq h2 {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.8rem;
  color: #1e3a8a;
  font-size: clamp(2rem, 3.25vw, 2.65rem);
  line-height: 1.1;
  letter-spacing: -0.035em;
  text-align: center;
  text-wrap: balance;
}
.split-service-page .situations-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.05rem;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.split-service-page .situations-list li {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.05rem 1.15rem 1.05rem 1.25rem !important;
  border-radius: 20px;
  border: 1px solid rgba(14, 165, 233, 0.14);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
  color: #485c72;
  font-size: 0.98rem;
  line-height: 1.48;
}
.split-service-page .situations-list li::before {
  content: '' !important;
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  margin: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #22c5f3 0%, #1d4ed8 100%);
  box-shadow: 0 0 0 6px rgba(14, 165, 233, 0.10);
}
.split-service-page .situations-list li a {
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 100%;
  color: #1e3a8a;
  text-decoration: none;
  font-weight: 800;
}
.split-service-page .situations-list li:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(15, 23, 42, 0.075);
  border-color: rgba(14, 165, 233, 0.24);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.split-service-page .mini-price {
  padding: 3.8rem 0 3.4rem;
  background: linear-gradient(180deg, #eff9ff 0%, #f8fcff 100%);
}
.split-service-page .mini-price .price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
  max-width: 1040px;
  margin: 0 auto;
}
.split-service-page .mini-price .price-item {
  min-height: 230px;
  padding: 1.55rem 1.45rem;
  border-radius: 26px;
  border: 1px solid rgba(14, 165, 233, 0.16);
  background: #ffffff;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.065);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.split-service-page .mini-price .price-name {
  color: #1e3a8a;
  font-size: 1.14rem;
  line-height: 1.35;
  font-weight: 800;
}
.split-service-page .mini-price .price-value {
  margin: 1rem 0;
  color: #0f4fa8;
  font-size: 1.5rem;
  line-height: 1.1;
  font-weight: 900;
}
.split-service-page .mini-price .price-item .price-note {
  margin-top: auto;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(14, 165, 233, 0.12);
  color: #607086;
  font-size: 0.93rem;
  line-height: 1.45;
  font-style: normal;
}

.split-service-page .mini-price > .container > p.price-note,
.split-service-page .mini-price > .container > p.diagnostic-note,
.split-service-page .mini-price p.price-note:not(.price-item .price-note),
.split-service-page .mini-price p.diagnostic-note {
  max-width: 1040px !important;
  width: min(1040px, calc(100% - 32px)) !important;
  margin: 1.25rem auto 0 !important;
  padding: 1.05rem 1.15rem 1.05rem 3.2rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(14, 165, 233, 0.18) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.055) !important;
  color: #41546a !important;
  font-style: normal !important;
  text-align: left !important;
}

.split-service-page .process {
  padding: 3.8rem 0 3.4rem;
  background: linear-gradient(180deg, #eef8ff 0%, #ffffff 100%);
}
.split-service-page .process .process-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.15rem;
  max-width: 1120px;
  margin: 0 auto;
}
.split-service-page .process .process-step {
  min-height: 178px;
  border-radius: 24px;
  border: 1px solid rgba(14, 165, 233, 0.16);
  background: #ffffff;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
  padding: 1.45rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
}
.split-service-page .process .process-step .step-num {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #1fb2ee 0%, #1d4ed8 100%);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(29, 78, 216, 0.22);
}
.split-service-page .process .process-step p {
  max-width: none;
  margin: 0;
  padding-left: 0;
  color: #526277;
  text-align: center;
  font-size: 0.96rem;
  line-height: 1.48;
}
.split-service-page .process .process-step p::before {
  display: none !important;
}

.split-service-page .service-final-cta--appliance {
  background: linear-gradient(135deg, #0f315d 0%, #146995 48%, #19b5f0 100%);
}

@media (max-width: 1100px) {
  .split-service-page .situations-list,
  .split-service-page .mini-price .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .split-service-page .process .process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .split-service-page .description,
  .split-service-page .call-situations,
  .split-service-page .mini-price,
  .split-service-page .process {
    padding-top: 2.4rem;
    padding-bottom: 2.15rem;
  }
  .split-service-page .description p {
    padding: 1rem;
    text-align: left;
    font-size: 0.96rem;
  }
  .split-service-page .call-situations h2,
  .split-service-page .process h2,
  .split-service-page .mini-price h2,
  .split-service-page .faq h2 {
    font-size: clamp(1.7rem, 7vw, 2.05rem);
    margin-bottom: 1.25rem;
  }
  .split-service-page .situations-list,
  .split-service-page .mini-price .price-grid,
  .split-service-page .process .process-grid {
    grid-template-columns: 1fr;
  }
  .split-service-page .situations-list li,
  .split-service-page .mini-price .price-item,
  .split-service-page .process .process-step {
    min-height: auto;
  }
  .split-service-page .mini-price .price-item {
    padding: 1.25rem 1.1rem;
  }
  .split-service-page .process .process-step {
    padding: 1.25rem 1rem;
  }
  .split-service-page .mini-price > .container > p.price-note,
  .split-service-page .mini-price > .container > p.diagnostic-note,
  .split-service-page .mini-price p.price-note:not(.price-item .price-note),
  .split-service-page .mini-price p.diagnostic-note {
    width: min(100% - 24px, 1040px) !important;
    padding: 0.95rem 1rem 0.95rem 2.9rem !important;
  }
}


/* =============================================================
   Stage 14S - all service pages landing polish
   Goal: no empty holes, packed premium cards for every service page
   ============================================================= */

.polished-service-page .description {
  padding: 3.25rem 0 2.75rem !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eef8ff 100%) !important;
}

.polished-service-page .description p {
  width: min(100% - 32px, 1040px);
  margin: 0 auto !important;
  padding: 1.35rem 1.55rem !important;
  border-radius: 24px;
  border: 1px solid rgba(14, 165, 233, 0.16);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
  color: #465a70 !important;
  font-size: 1.03rem !important;
  line-height: 1.7 !important;
  text-align: center;
}

.polished-service-page .call-situations,
.polished-service-page .process,
.polished-service-page .mini-price,
.polished-service-page .faq {
  padding: 3.45rem 0 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eef8ff 100%) !important;
  position: relative;
  overflow: hidden;
}

.polished-service-page .call-situations + .call-situations {
  padding-top: 1.25rem !important;
}

.polished-service-page .call-situations::before,
.polished-service-page .process::before,
.polished-service-page .mini-price::before {
  content: '';
  position: absolute;
  inset: -120px auto auto -120px;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.13) 0%, rgba(34, 211, 238, 0) 68%);
  pointer-events: none;
}

.polished-service-page .call-situations .container,
.polished-service-page .process .container,
.polished-service-page .mini-price .container,
.polished-service-page .faq .container {
  position: relative;
  z-index: 1;
}

.polished-service-page .call-situations h2,
.polished-service-page .process h2,
.polished-service-page .mini-price h2,
.polished-service-page .faq h2 {
  max-width: 900px;
  margin: 0 auto 1.75rem !important;
  text-align: center;
  color: #1f4a8a !important;
  font-size: clamp(2rem, 3vw, 2.55rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em;
}

.polished-service-page .situations-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 1rem !important;
  width: min(100%, 1100px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.polished-service-page .situations-list li {
  flex: 0 1 330px !important;
  min-height: 108px !important;
  display: flex !important;
  align-items: center !important;
  padding: 1.15rem 1.2rem 1.15rem 3.15rem !important;
  border-radius: 22px !important;
  border: 1px solid rgba(14, 165, 233, 0.16) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06) !important;
  color: #44576d !important;
  font-size: 0.98rem !important;
  line-height: 1.52 !important;
  position: relative !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.polished-service-page .situations-list li:hover {
  transform: translateY(-3px);
  border-color: rgba(14, 165, 233, 0.28) !important;
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.085) !important;
}

.polished-service-page .situations-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 1.15rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #1fb2ee 0%, #1d4ed8 100%) !important;
  box-shadow: 0 0 0 6px rgba(31, 178, 238, 0.12) !important;
}

.polished-service-page .situations-list li a {
  color: #1f4a8a !important;
  text-decoration: none !important;
  font-weight: 800;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}

.polished-service-page .situations-list li a::after {
  content: '→';
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(31, 178, 238, 0.10);
  color: #0ea5e9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.polished-service-page .related-services .situations-list li {
  flex-basis: 250px !important;
  min-height: 86px !important;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.polished-service-page .master-work .situations-list li {
  flex-basis: 340px !important;
}

.polished-service-page .mini-price .price-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 1.15rem !important;
  width: min(100%, 1100px) !important;
  margin: 0 auto !important;
}

.polished-service-page .mini-price .price-item {
  flex: 0 1 330px !important;
  min-height: 210px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(14, 165, 233, 0.16) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06) !important;
  padding: 1.45rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.polished-service-page .mini-price .price-name {
  color: #1f4a8a !important;
  font-size: 1.08rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  max-width: 100% !important;
}

.polished-service-page .mini-price .price-value {
  color: #153b7a !important;
  font-size: 1.35rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  margin: 1rem 0 !important;
}

.polished-service-page .mini-price .price-note,
.polished-service-page .mini-price .diagnostic-note {
  color: #617286 !important;
}

.polished-service-page .mini-price .price-item .price-note {
  margin-top: auto !important;
  padding-top: .9rem !important;
  border-top: 1px solid rgba(14, 165, 233, .14) !important;
  font-size: .92rem !important;
  line-height: 1.48 !important;
}

.polished-service-page .mini-price > .container > p.price-note,
.polished-service-page .mini-price > .container > p.diagnostic-note,
.polished-service-page .mini-price p.price-note:not(.price-item .price-note),
.polished-service-page .mini-price p.diagnostic-note {
  width: min(100% - 32px, 1040px) !important;
  margin: 1.2rem auto 0 !important;
  padding: 1rem 1.1rem 1rem 3.1rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(14, 165, 233, .18) !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055) !important;
  color: #41546a !important;
  font-size: .95rem !important;
  line-height: 1.55 !important;
  text-align: left !important;
  position: relative !important;
}

.polished-service-page .mini-price > .container > p.price-note::before,
.polished-service-page .mini-price > .container > p.diagnostic-note::before,
.polished-service-page .mini-price p.price-note:not(.price-item .price-note)::before,
.polished-service-page .mini-price p.diagnostic-note::before {
  content: 'i';
  position: absolute;
  left: 1.1rem;
  top: 1rem;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(14, 165, 233, .14);
  color: #0b5e9e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-family: Arial, sans-serif;
}

.polished-service-page .process .process-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 1.15rem !important;
  width: min(100%, 1100px) !important;
  margin: 0 auto !important;
}

.polished-service-page .process .process-step {
  flex: 0 1 200px !important;
  min-height: 168px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(14, 165, 233, 0.16) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06) !important;
  padding: 1.35rem 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .7rem !important;
}

.polished-service-page .process .step-num,
.polished-service-page .process .process-step .step-num {
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #1fb2ee 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(29, 78, 216, 0.22) !important;
}

.polished-service-page .process .process-step p {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  color: #526277 !important;
  text-align: center !important;
  font-size: .96rem !important;
  line-height: 1.5 !important;
}

.polished-service-page .process .process-step p::before {
  display: none !important;
}

.polished-service-page .service-final-cta {
  margin-top: 0 !important;
}

.polished-service-page.split-service-page .service-final-cta--appliance,
.polished-service-page .service-final-cta--appliance {
  background: linear-gradient(135deg, #0f315d 0%, #126695 50%, #19b5f0 100%) !important;
}

@media (max-width: 900px) {
  .polished-service-page .situations-list li,
  .polished-service-page .mini-price .price-item {
    flex-basis: calc(50% - .6rem) !important;
  }
  .polished-service-page .process .process-step {
    flex-basis: calc(50% - .6rem) !important;
  }
}

@media (max-width: 767px) {
  .polished-service-page .description,
  .polished-service-page .call-situations,
  .polished-service-page .process,
  .polished-service-page .mini-price,
  .polished-service-page .faq {
    padding: 2.45rem 0 !important;
  }
  .polished-service-page .description p {
    width: min(100% - 24px, 1040px);
    padding: 1rem !important;
    text-align: left;
  }
  .polished-service-page .call-situations h2,
  .polished-service-page .process h2,
  .polished-service-page .mini-price h2,
  .polished-service-page .faq h2 {
    font-size: clamp(1.65rem, 7vw, 2.05rem) !important;
    margin-bottom: 1.2rem !important;
  }
  .polished-service-page .situations-list,
  .polished-service-page .mini-price .price-grid,
  .polished-service-page .process .process-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }
  .polished-service-page .situations-list li,
  .polished-service-page .mini-price .price-item,
  .polished-service-page .process .process-step {
    width: 100% !important;
    flex-basis: auto !important;
    min-height: auto !important;
  }
  .polished-service-page .situations-list li {
    padding: 1rem 1rem 1rem 2.9rem !important;
  }
  .polished-service-page .situations-list li::before {
    left: 1rem !important;
  }
}


/* =============================================================
   Stage 14S - remove service chip dots and polish final CTA
   ============================================================= */

/* Remove odd blue/yellow drops near service hero chips on all service landings */
body.service-page .hero-benefits li::before,
body.service-page .hero-content--service .hero-benefits li::before,
body.service-page .hero-gallery .hero-benefits li::before,
body.service-page .hero--service .hero-benefits li::before,
body.service-page .hero--services .hero-benefits li::before,
body.service-page .service-badges .badge::before,
body.service-page .service-badges span::before,
body.service-page .hero-badges .badge::before,
body.service-page .hero-badges span::before,
.hero--service .hero-benefits li::before,
.hero--services .hero-benefits li::before,
.hero-gallery .hero-benefits li::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.service-page .hero-benefits li,
body.service-page .hero-content--service .hero-benefits li,
body.service-page .hero-gallery .hero-benefits li,
body.service-page .hero--service .hero-benefits li,
body.service-page .hero--services .hero-benefits li,
.hero--service .hero-benefits li,
.hero--services .hero-benefits li,
.hero-gallery .hero-benefits li {
  padding-left: 0.95rem !important;
  gap: 0 !important;
}

/* Final CTA on service pages: lighter, readable, closer to site design */
html body.service-page section.service-final-cta,
body.service-page .service-final-cta,
body.service-page .service-final-cta--plumbing,
body.service-page .service-final-cta--electric,
body.service-page .service-final-cta--appliance {
  background: linear-gradient(135deg, rgba(232, 248, 255, 0.94) 0%, rgba(246, 252, 255, 0.88) 54%, rgba(218, 244, 255, 0.78) 100%) !important;
  border: 1px solid rgba(14, 165, 233, 0.22) !important;
  box-shadow: 0 24px 54px rgba(15, 71, 120, 0.10), inset 0 1px 0 rgba(255,255,255,0.72) !important;
  color: #173b6c !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html body.service-page section.service-final-cta::before,
body.service-page .service-final-cta::before,
body.service-page .service-final-cta--plumbing::before,
body.service-page .service-final-cta--electric::before,
body.service-page .service-final-cta--appliance::before {
  opacity: 0.16 !important;
  background: radial-gradient(circle at 20% 20%, rgba(34, 211, 238, 0.30), rgba(34, 211, 238, 0) 56%) !important;
}

html body.service-page section.service-final-cta .service-final-cta__inner,
body.service-page .service-final-cta .service-final-cta__inner {
  background: rgba(255, 255, 255, 0.52) !important;
  border: 1px solid rgba(14, 165, 233, 0.16) !important;
  box-shadow: 0 18px 42px rgba(15, 71, 120, 0.08) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html body.service-page section.service-final-cta .service-final-cta__eyebrow,
body.service-page .service-final-cta .service-final-cta__eyebrow {
  background: rgba(255,255,255,0.78) !important;
  color: #0b5e9e !important;
  border: 1px solid rgba(14, 165, 233, 0.20) !important;
  text-shadow: none !important;
}

html body.service-page section.service-final-cta .service-final-cta__eyebrow::before,
body.service-page .service-final-cta .service-final-cta__eyebrow::before {
  background: #22c5f3 !important;
  box-shadow: 0 0 0 5px rgba(34, 197, 243, 0.13) !important;
}

html body.service-page section.service-final-cta h2,
body.service-page .service-final-cta h2 {
  color: #1f4a8a !important;
  text-shadow: none !important;
}

html body.service-page section.service-final-cta p,
body.service-page .service-final-cta p {
  color: #4c6178 !important;
  text-shadow: none !important;
}

html body.service-page section.service-final-cta .service-final-cta__btn--primary,
body.service-page .service-final-cta .service-final-cta__btn--primary {
  background: linear-gradient(135deg, #1fb2ee 0%, #0b84d8 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(11, 94, 158, 0.14) !important;
  box-shadow: 0 14px 28px rgba(14, 132, 216, 0.22) !important;
}

html body.service-page section.service-final-cta .service-final-cta__btn--secondary,
body.service-page .service-final-cta .service-final-cta__btn--secondary {
  background: rgba(255,255,255,0.92) !important;
  color: #163b6d !important;
  border: 1px solid rgba(11, 94, 158, 0.20) !important;
  box-shadow: 0 12px 24px rgba(15, 71, 120, 0.08) !important;
}

html body.service-page section.service-final-cta .service-final-cta__btn:hover,
body.service-page .service-final-cta .service-final-cta__btn:hover {
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  html body.service-page section.service-final-cta,
  body.service-page .service-final-cta {
    border-radius: 22px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  html body.service-page section.service-final-cta .service-final-cta__inner,
  body.service-page .service-final-cta .service-final-cta__inner {
    padding: 2rem 1.1rem !important;
  }
}


/* =============================================================
   Stage 14T - uniform trust and service cards fix
   -------------------------------------------------------------
   Hard overrides for category advantage cards, sub-service trust
   blocks and final CTA sections. Kept in stage14 because it has
   cache busting and must override older glass-card styles.
   ============================================================= */

/* Readable “Почему наши...” cards on category pages */
html body.service-page section.section.about {
  background:
    radial-gradient(circle at 12% 12%, rgba(19, 185, 220, 0.10), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(11, 94, 158, 0.08), transparent 32%),
    linear-gradient(180deg, #eef8ff 0%, #f8fcff 58%, #ffffff 100%) !important;
}
html body.service-page section.section.about .reasons-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.service-page section.section.about .reasons-grid .reason {
  position: relative !important;
  min-height: 220px !important;
  padding: 28px 24px 26px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(11, 94, 158, 0.13) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  color: #0f172a !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden !important;
}
html body.service-page section.section.about .reasons-grid .reason::after {
  content: '' !important;
  position: absolute !important;
  right: -52px !important;
  top: -52px !important;
  width: 138px !important;
  height: 138px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(14, 165, 233, 0.15), transparent 70%) !important;
  pointer-events: none !important;
}
html body.service-page section.section.about .reasons-grid .reason h3,
html body.service-page section.section.about .reasons-grid .reason p,
html body.service-page section.section.about .reasons-grid .reason * {
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}
html body.service-page section.section.about .reasons-grid .reason h3 {
  color: #183a75 !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}
html body.service-page section.section.about .reasons-grid .reason p {
  color: #475569 !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}
html body.service-page section.section.about .reasons-grid .reason:hover {
  background: linear-gradient(180deg, #ffffff 0%, #eef8ff 100%) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* Trust block on every sub-service page */
html body.service-page .service-trust-block {
  padding: clamp(58px, 6vw, 86px) 0 !important;
  background: linear-gradient(180deg, #eaf7fc 0%, #f6fbff 100%) !important;
  border-top: 1px solid rgba(14, 165, 233, 0.10) !important;
  border-bottom: 1px solid rgba(14, 165, 233, 0.10) !important;
}
html body.service-page .service-trust-block h2 {
  color: #1f4a8a !important;
  margin-bottom: 0.7rem !important;
}
html body.service-page .service-trust-block .section-subtitle {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #526277 !important;
}
html body.service-page .service-trust-block .trust-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.35rem !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.service-page .service-trust-block .trust-card {
  border-radius: 22px !important;
  border: 1px solid rgba(14, 165, 233, 0.13) !important;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.07) !important;
  padding: clamp(1.25rem, 2vw, 1.65rem) !important;
  min-height: 190px !important;
}
html body.service-page .service-trust-block .trust-card h3 {
  color: #183a75 !important;
  font-weight: 900 !important;
}
html body.service-page .service-trust-block .trust-card p,
html body.service-page .service-trust-block .mini-list li {
  color: #475569 !important;
}
html body.service-page .service-trust-block .trust-badges .badge,
html body.service-page .service-trust-block .team-badges .badge {
  background: #eef8ff !important;
  color: #1f4a8a !important;
  border: 1px solid rgba(14, 165, 233, 0.10) !important;
  border-radius: 999px !important;
}

/* Hard final CTA layout fix: no raw left-aligned text/buttons */
html body.service-page section.service-final-cta,
html body.service-page section.service-final-cta--plumbing,
html body.service-page section.service-final-cta--electric,
html body.service-page section.service-final-cta--appliance,
html body.service-page section.service-final-cta--split {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(66px, 7vw, 104px) 20px !important;
  overflow: hidden !important;
  text-align: center !important;
  background: linear-gradient(135deg, rgba(232,248,255,0.96) 0%, rgba(247,252,255,0.92) 54%, rgba(218,244,255,0.84) 100%) !important;
  border: 0 !important;
  border-top: 1px solid rgba(14, 165, 233, 0.14) !important;
  border-bottom: 1px solid rgba(14, 165, 233, 0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82) !important;
}
html body.service-page section.service-final-cta::before {
  content: '' !important;
  position: absolute !important;
  inset: 22px !important;
  border-radius: 36px !important;
  border: 1px solid rgba(14, 165, 233, 0.16) !important;
  background:
    radial-gradient(circle at 16% 22%, rgba(34, 211, 238, 0.20), transparent 34%),
    radial-gradient(circle at 88% 76%, rgba(14, 165, 233, 0.16), transparent 36%),
    rgba(255,255,255,0.22) !important;
  pointer-events: none !important;
}
html body.service-page section.service-final-cta .service-final-cta__inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 880px) !important;
  margin: 0 auto !important;
  padding: clamp(26px, 3vw, 38px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border: 1px solid rgba(14, 165, 233, 0.13) !important;
  box-shadow: 0 18px 42px rgba(15, 71, 120, 0.08) !important;
}
html body.service-page section.service-final-cta .service-final-cta__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 auto 14px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.86) !important;
  color: #0b5e9e !important;
  border: 1px solid rgba(14, 165, 233, 0.20) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}
html body.service-page section.service-final-cta .service-final-cta__eyebrow::before {
  content: '' !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #22c5f3 !important;
  box-shadow: 0 0 0 5px rgba(34, 197, 243, 0.13) !important;
}
html body.service-page section.service-final-cta h2 {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto 14px !important;
  color: #1f4a8a !important;
  text-align: center !important;
  font-size: clamp(2rem, 3.6vw, 3.2rem) !important;
  line-height: 1.08 !important;
}
html body.service-page section.service-final-cta p {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto 28px !important;
  color: #4c6178 !important;
  text-align: center !important;
  font-size: clamp(1rem, 1.18vw, 1.1rem) !important;
  line-height: 1.6 !important;
}
html body.service-page section.service-final-cta .service-final-cta__actions {
  position: static !important;
  width: min(100%, 570px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: center !important;
}
html body.service-page section.service-final-cta .service-final-cta__btn,
html body.service-page section.service-final-cta a.service-final-cta__btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
html body.service-page section.service-final-cta .service-final-cta__btn--primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #1fb2ee 0%, #0b84d8 100%) !important;
  border: 1px solid rgba(11, 94, 158, 0.14) !important;
  box-shadow: 0 14px 28px rgba(14, 132, 216, 0.22) !important;
}
html body.service-page section.service-final-cta .service-final-cta__btn--secondary {
  color: #163b6d !important;
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(11, 94, 158, 0.20) !important;
  box-shadow: 0 12px 24px rgba(15, 71, 120, 0.08) !important;
}

@media (max-width: 1180px) {
  html body.service-page section.section.about .reasons-grid,
  html body.service-page .service-trust-block .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  html body.service-page section.section.about .reasons-grid,
  html body.service-page .service-trust-block .trust-grid,
  html body.service-page section.service-final-cta .service-final-cta__actions {
    grid-template-columns: 1fr !important;
  }
  html body.service-page section.section.about .reasons-grid .reason {
    min-height: auto !important;
    padding: 22px 20px !important;
  }
  html body.service-page .service-trust-block {
    padding: 48px 0 !important;
  }
  html body.service-page section.service-final-cta {
    padding: 54px 12px 68px !important;
  }
  html body.service-page section.service-final-cta::before {
    inset: 12px !important;
    border-radius: 26px !important;
  }
  html body.service-page section.service-final-cta .service-final-cta__inner {
    padding: 24px 16px !important;
    border-radius: 22px !important;
  }
}


/* =============================================================
   Mobile service header fix: logo/phone/burger alignment
   Fixes brand text wrapping and logo shift on service inner pages.
   ============================================================= */
@media (max-width: 768px) {
  body .header .container.row,
  body .header .row {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 56px !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body .header .logo {
    min-width: 0 !important;
    width: 52px !important;
    max-width: 52px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    order: 1 !important;
  }

  body .header .logo img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    object-fit: contain !important;
    display: block !important;
  }

  body .header .logo span,
  body .header .logo .logo__text {
    display: none !important;
  }

  body .header .cta {
    order: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: stretch !important;
  }

  body .header .btn.phone,
  body .header .phone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: 56px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    border-radius: 12px !important;
    font-size: clamp(13px, 3.6vw, 16px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    justify-content: center !important;
  }

  body .header .burger {
    order: 3 !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    justify-self: end !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 380px) {
  body .header .container.row,
  body .header .row {
    grid-template-columns: 48px minmax(0, 1fr) 52px !important;
    gap: 8px !important;
  }

  body .header .logo,
  body .header .logo img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  body .header .btn.phone,
  body .header .phone {
    min-height: 52px !important;
    height: 52px !important;
    font-size: 13px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body .header .burger {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }
}


/* =============================================================
   Static hero photos: slider removed, one fixed hero image per page
   ============================================================= */
.hero-static {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: #0f172a !important;
  background-image: var(--hero-static-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.hero-static::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  background-image: var(--hero-static-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: scale(1.01);
}

.hero-static::after,
.hero-static__overlay {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(4, 10, 22, 0.78) 0%, rgba(15, 23, 42, 0.64) 44%, rgba(15, 23, 42, 0.34) 100%),
    radial-gradient(circle at 20% 30%, rgba(14, 165, 233, 0.18), transparent 32%) !important;
}

.hero-static--home {
  min-height: clamp(620px, 75vh, 860px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 92px 0 84px !important;
}

.hero-static--home .hero-fixed-content {
  position: relative !important;
  z-index: 2 !important;
}

.hero-static--home .hero-fixed-content__inner,
.hero-static .hero-inner,
.hero-static .hero-content--service,
.hero-static .call-hero-premium__content,
.hero-static .contacts-hero-premium__content {
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.58), rgba(15, 23, 42, 0.30)) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  box-shadow: 0 28px 80px rgba(2, 6, 23, 0.25) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
}

.hero-static .hero-inner,
.hero-static .hero-content--service {
  border-radius: 28px !important;
  padding: clamp(28px, 4vw, 48px) !important;
}

.hero-static--home .hero-fixed-content__inner {
  max-width: 880px !important;
  border-radius: 30px !important;
  padding: clamp(30px, 5vw, 56px) !important;
}

.hero-static h1,
.hero-static .hero-copy-title,
.hero-static .hero-inner h1,
.hero-static .hero-content--service h1 {
  color: #ffffff !important;
  text-shadow: 0 12px 34px rgba(0,0,0,0.34) !important;
}

.hero-static p,
.hero-static .hero-copy-subtitle,
.hero-static .hero-subtitle,
.hero-static .hero-content--service p {
  color: rgba(255,255,255,0.88) !important;
}

.hero-static .hero-benefits {
  list-style: none !important;
  padding-left: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 22px auto 28px !important;
}

.hero-static .hero-benefits li,
.hero-static .hero-service-point {
  color: #ffffff !important;
  background: rgba(255,255,255,0.13) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  box-shadow: 0 12px 28px rgba(2, 6, 23, 0.16) !important;
}

.hero-static .hero-benefits li {
  padding: 10px 15px 10px 28px !important;
  border-radius: 999px !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

.hero-static .hero-benefits li::before {
  left: 12px !important;
  color: #22d3ee !important;
}

.hero-static .hero-buttons {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 768px) {
  .hero-static {
    background-position: center top !important;
  }

  .hero-static::after,
  .hero-static__overlay {
    background:
      linear-gradient(180deg, rgba(4, 10, 22, 0.36) 0%, rgba(4, 10, 22, 0.72) 30%, rgba(15, 23, 42, 0.82) 100%),
      radial-gradient(circle at 50% 15%, rgba(14, 165, 233, 0.16), transparent 36%) !important;
  }

  .hero-static--home {
    min-height: auto !important;
    padding: 300px 0 46px !important;
    align-items: flex-end !important;
  }

  .hero-static--home .hero-fixed-content__inner,
  .hero-static .hero-inner,
  .hero-static .hero-content--service,
  .hero-static .call-hero-premium__content,
  .hero-static .contacts-hero-premium__content {
    border-radius: 24px !important;
    padding: 24px !important;
    text-align: center !important;
  }

  .hero-static .hero-buttons,
  .hero-static--home .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .hero-static .hero-buttons a,
  .hero-static--home .hero-buttons a {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .hero-static--home {
    padding-top: 260px !important;
  }

  .hero-static--home .hero-fixed-content__inner,
  .hero-static .hero-inner,
  .hero-static .hero-content--service {
    padding: 22px 18px !important;
  }
}


/* =============================================================
   CLEAN HERO REBUILD v6 — no old hero grids, no physical image layer
   ============================================================= */
html, body { max-width: 100%; overflow-x: hidden; }
.clean-static-hero, .clean-static-hero * { box-sizing: border-box; }
.clean-static-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: clamp(560px, 72vh, 760px) !important;
  padding: clamp(72px, 8vw, 112px) 0 !important;
  display: flex !important;
  align-items: center !important;
  color: #fff !important;
  background-color: #08111f !important;
  background-image:
    linear-gradient(90deg, rgba(3, 7, 18, .72) 0%, rgba(3, 7, 18, .52) 42%, rgba(3, 7, 18, .18) 100%),
    var(--hero-static-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.clean-static-hero::before,
.clean-static-hero::after { content: none !important; display: none !important; }
.clean-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 22% 35%, rgba(14,165,233,.18), transparent 36%) !important;
}
.clean-hero-container {
  position: relative !important;
  z-index: 2 !important;
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.clean-hero-card {
  width: min(760px, 100%) !important;
  margin: 0 auto 0 0 !important;
  padding: clamp(30px, 4vw, 54px) !important;
  border-radius: 30px !important;
  text-align: left !important;
  background: linear-gradient(145deg, rgba(8,17,34,.78), rgba(15,23,42,.54)) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 28px 80px rgba(2,6,23,.32) !important;
  backdrop-filter: blur(16px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(125%) !important;
}
.clean-hero-card h1 {
  color: #fff !important;
  margin: 0 0 20px 0 !important;
  max-width: 100% !important;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
  text-align: left !important;
  text-shadow: 0 12px 34px rgba(0,0,0,.35) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.clean-hero-subtitle {
  color: rgba(255,255,255,.90) !important;
  margin: 0 0 24px 0 !important;
  max-width: 680px !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.62 !important;
  text-align: left !important;
}
.clean-hero-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 22px 0 30px !important;
}
.clean-hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 12px 28px rgba(2,6,23,.14) !important;
}
.clean-hero-badge::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border-radius: 50% !important;
  background: #22d3ee !important;
  box-shadow: 0 0 0 4px rgba(34,211,238,.12) !important;
}
.clean-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin-top: 8px !important;
}
.clean-hero-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 190px !important;
  min-height: 54px !important;
  padding: 15px 24px !important;
  border-radius: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.clean-hero-btn:hover { transform: translateY(-2px) !important; }
.clean-hero-btn--primary {
  color: #fff !important;
  background: linear-gradient(135deg, #22c7ee, #0787dc) !important;
  box-shadow: 0 16px 34px rgba(14,165,233,.28) !important;
}
.clean-hero-btn--secondary {
  color: #fff !important;
  background: rgba(255,255,255,.10) !important;
}
@media (max-width: 992px) {
  .clean-static-hero {
    min-height: auto !important;
    padding: 350px 0 48px !important;
    align-items: flex-end !important;
    background-image:
      linear-gradient(180deg, rgba(3,7,18,.08) 0%, rgba(3,7,18,.48) 42%, rgba(3,7,18,.86) 100%),
      var(--hero-static-image) !important;
    background-position: center top !important;
  }
  .clean-hero-container { width: min(100% - 28px, 720px) !important; }
  .clean-hero-card { width: 100% !important; margin: 0 auto !important; padding: 24px !important; border-radius: 24px !important; text-align: center !important; }
  .clean-hero-card h1, .clean-hero-subtitle { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
  .clean-hero-badges, .clean-hero-actions { justify-content: center !important; }
}
@media (max-width: 640px) {
  .clean-static-hero { padding-top: 290px !important; padding-bottom: 36px !important; }
  .clean-hero-card h1 { font-size: clamp(30px, 9vw, 42px) !important; line-height: 1.08 !important; }
  .clean-hero-subtitle { font-size: 16px !important; line-height: 1.55 !important; }
  .clean-hero-badge { font-size: 13px !important; padding: 8px 12px !important; }
  .clean-hero-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .clean-hero-btn { width: 100% !important; min-width: 0 !important; }
}

/* PFHERO-V7-EXTERNAL-CSS */

html,body{max-width:100%;overflow-x:hidden}
.pfhero-v7,.pfhero-v7 *{box-sizing:border-box}.pfhero-v7{position:relative!important;isolation:isolate!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:640px!important;padding:86px 0!important;color:#fff!important;background-color:#071426!important;background-image:linear-gradient(90deg,rgba(5,12,24,.72) 0%,rgba(5,12,24,.50) 43%,rgba(5,12,24,.16) 100%),var(--hero-static-image)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}.pfhero-v7:before,.pfhero-v7:after{content:none!important;display:none!important}.pfhero-v7__overlay{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:radial-gradient(circle at 22% 34%,rgba(14,165,233,.16),transparent 34%),linear-gradient(180deg,rgba(2,6,23,.04),rgba(2,6,23,.14))!important}.pfhero-v7__container{position:relative!important;z-index:2!important;width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin:0 auto!important;padding:0!important;display:block!important}.pfhero-v7__card{position:relative!important;z-index:2!important;width:min(700px,100%)!important;max-width:700px!important;margin:0 auto 0 0!important;padding:clamp(30px,4vw,50px)!important;border-radius:30px!important;text-align:left!important;background:linear-gradient(145deg,rgba(8,17,34,.78),rgba(15,23,42,.54))!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:0 28px 80px rgba(2,6,23,.34)!important;backdrop-filter:blur(16px) saturate(125%)!important;-webkit-backdrop-filter:blur(16px) saturate(125%)!important;transform:none!important}.pfhero-v7 h1{color:#fff!important;max-width:100%!important;margin:0 0 20px!important;text-align:left!important;font-size:clamp(40px,4.7vw,64px)!important;line-height:1.05!important;letter-spacing:-.04em!important;text-shadow:0 12px 34px rgba(0,0,0,.35)!important;overflow-wrap:normal!important;word-break:normal!important}.pfhero-v7__subtitle{color:rgba(255,255,255,.90)!important;max-width:660px!important;margin:0 0 24px!important;text-align:left!important;font-size:clamp(17px,1.35vw,20px)!important;line-height:1.62!important}.pfhero-v7__badges{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;margin:22px 0 30px!important;padding-left:0!important;max-width:100%!important;list-style:none!important}.pfhero-v7__badge{display:inline-flex!important;align-items:center!important;width:auto!important;max-width:100%!important;color:#fff!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:0 12px 28px rgba(2,6,23,.14)!important;border-radius:999px!important;padding:10px 16px!important;font-weight:700!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;margin:0!important}.pfhero-v7__badge:before{content:'•';color:#22d3ee;margin-right:8px;font-weight:900}.pfhero-v7__actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:14px!important;margin-top:8px!important}.pfhero-v7__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:190px!important;min-height:54px!important;padding:15px 24px!important;border-radius:12px!important;text-decoration:none!important;font-weight:800!important;line-height:1.1!important;white-space:normal!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}.pfhero-v7__btn:hover{transform:translateY(-2px)!important}.pfhero-v7__btn--primary{color:#fff!important;background:linear-gradient(135deg,#20c8ee,#0b8fe8)!important;box-shadow:0 18px 34px rgba(8,145,178,.24)!important}.pfhero-v7__btn--secondary{color:#fff!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.24)!important}.hero-static,.clean-static-hero{display:none!important}@media(max-width:992px){.pfhero-v7{min-height:auto!important;padding:330px 0 44px!important;align-items:flex-end!important;background-image:linear-gradient(180deg,rgba(5,12,24,.06) 0%,rgba(5,12,24,.48) 42%,rgba(5,12,24,.84) 100%),var(--hero-static-image)!important;background-position:center top!important}.pfhero-v7__container{width:min(100% - 28px,720px)!important}.pfhero-v7__card{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:24px!important;border-radius:24px!important;text-align:center!important}.pfhero-v7 h1,.pfhero-v7__subtitle{text-align:center!important;margin-left:auto!important;margin-right:auto!important}.pfhero-v7__badges,.pfhero-v7__actions{justify-content:center!important}}@media(max-width:640px){.pfhero-v7{padding-top:300px!important;padding-bottom:34px!important}.pfhero-v7 h1{font-size:clamp(30px,9vw,42px)!important;line-height:1.08!important}.pfhero-v7__subtitle{font-size:16px!important;line-height:1.55!important}.pfhero-v7__badge{font-size:13px!important;padding:8px 12px!important}.pfhero-v7__actions{display:grid!important;grid-template-columns:1fr!important}.pfhero-v7__btn{width:100%!important;min-width:0!important}}


/* PFHERO V8 PHOTO FIT: keep hero subjects from being cropped on desktop */
.pfhero-v7{background-position:center top!important;}
.pfhero-v7--home{background-position:center top!important;}
@media(max-width:992px){.pfhero-v7{background-position:center top!important;}}


/* =============================================================
   STAGE 2.1 — cards, icons and CTA polish
   -------------------------------------------------------------
   Surgical visual upgrade for the main directions and popular
   services blocks. Does not touch forms, analytics, URLs or PHP.
*/

.directions-grid--premium .direction-card,
.services-directions .direction-card {
  display: flex !important;
  flex-direction: column !important;
  border-color: rgba(14, 165, 233, .13) !important;
}

.direction-icon--svg,
.services-directions .direction-card > img,
.choose-service .choose-card > img {
  display: grid !important;
  place-items: center !important;
  width: 66px !important;
  height: 66px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239, 249, 255, .74)) !important;
  border: 1px solid rgba(14, 165, 233, .16) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .11) !important;
  object-fit: contain !important;
}

.direction-icon--svg img {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  object-fit: contain !important;
}

.direction-card--plumbing .direction-icon--svg,
.services-directions .direction-card--plumbing > img,
.choose-card--plumbing > img { background: linear-gradient(145deg, #ffffff, #e8f7ff) !important; }
.direction-card--electric .direction-icon--svg,
.services-directions .direction-card--electric > img,
.choose-card--electric > img { background: linear-gradient(145deg, #ffffff, #fff7dd) !important; border-color: rgba(245,158,11,.22) !important; }
.direction-card--appliance .direction-icon--svg,
.services-directions .direction-card--appliance > img,
.choose-card--appliance > img { background: linear-gradient(145deg, #ffffff, #e8fff6) !important; border-color: rgba(16,185,129,.18) !important; }
.direction-card--split .direction-icon--svg,
.services-directions .direction-card--split > img,
.choose-card--split > img { background: linear-gradient(145deg, #ffffff, #e6fbff) !important; border-color: rgba(6,182,212,.22) !important; }

.popular-services--surgical {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(34, 211, 238, .13), transparent 28%),
    radial-gradient(circle at 7% 78%, rgba(37, 99, 235, .10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 100%) !important;
}

.popular-services-grid--premium .service-card {
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 1.35rem !important;
  border-color: rgba(15, 23, 42, .075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92)) !important;
}

.popular-services-grid--premium .service-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 5px !important;
  background: var(--service-accent, linear-gradient(90deg, #22c7ee, #0b8fe8)) !important;
  z-index: 1 !important;
}

.popular-services-grid--premium .service-card::after {
  content: '' !important;
  position: absolute !important;
  right: -30px !important;
  top: -28px !important;
  width: 112px !important;
  height: 112px !important;
  border-radius: 999px !important;
  background: var(--service-soft, rgba(34, 211, 238, .14)) !important;
  z-index: -1 !important;
  transition: transform .35s ease, opacity .35s ease !important;
}

.popular-services-grid--premium .service-card:hover::after {
  transform: scale(1.18) translate(-5px, 7px) !important;
  opacity: .95 !important;
}

.service-card--plumbing { --service-accent: linear-gradient(90deg, #23c7ee, #2563eb); --service-soft: rgba(37,99,235,.13); }
.service-card--electric { --service-accent: linear-gradient(90deg, #facc15, #f59e0b); --service-soft: rgba(245,158,11,.17); }
.service-card--appliance { --service-accent: linear-gradient(90deg, #34d399, #059669); --service-soft: rgba(16,185,129,.14); }
.service-card--split { --service-accent: linear-gradient(90deg, #67e8f9, #0891b2); --service-soft: rgba(6,182,212,.16); }

.popular-services-grid--premium .service-card .chip {
  width: fit-content !important;
  max-width: 100% !important;
  padding: .44rem .72rem !important;
  border-radius: 999px !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

.service-card__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .45rem !important;
  margin: .15rem 0 1.05rem !important;
}

.service-card__meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: .36rem !important;
  padding: .36rem .58rem !important;
  border-radius: 999px !important;
  color: #334155 !important;
  background: rgba(248, 250, 252, .92) !important;
  border: 1px solid rgba(15, 23, 42, .07) !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.service-card__meta span::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border-radius: 50% !important;
  background: #22c7ee !important;
  box-shadow: 0 0 0 4px rgba(34, 199, 238, .11) !important;
}

.popular-services-grid--premium .service-card .price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 106px !important;
  padding: .52rem .82rem !important;
  border-radius: 999px !important;
  background: rgba(14, 165, 233, .10) !important;
  color: #075985 !important;
  border: 1px solid rgba(14, 165, 233, .16) !important;
  font-weight: 950 !important;
}

.popular-services-grid--premium .service-card__bottom {
  align-items: stretch !important;
  margin-top: auto !important;
}

.popular-note {
  width: min(860px, 100%) !important;
  margin: 2rem auto 0 !important;
  padding: 1rem 1.2rem !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(14, 165, 233, .14) !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06) !important;
  color: #334155 !important;
}

.popular-actions--stage2 {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: .8rem !important;
}

.popular-actions--stage2 .btn {
  min-width: 210px !important;
  border-radius: 16px !important;
}

.popular-actions--stage2 .popular-actions__secondary {
  background: #ffffff !important;
  color: #0b5e9e !important;
  border: 1px solid rgba(14, 165, 233, .24) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .08) !important;
}

@media (max-width: 760px) {
  .popular-services-grid--premium .service-card {
    padding: 1.18rem !important;
  }
  .service-card__meta {
    gap: .38rem !important;
    margin-bottom: .9rem !important;
  }
  .service-card__meta span {
    font-size: .71rem !important;
    padding: .34rem .52rem !important;
  }
  .popular-actions--stage2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .popular-actions--stage2 .btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  .direction-icon--svg,
  .services-directions .direction-card > img,
  .choose-service .choose-card > img {
    width: 60px !important;
    height: 60px !important;
    border-radius: 20px !important;
  }
}

/* =============================================================
   STAGE 3.1 — mobile home conversion polish
   -------------------------------------------------------------
   Scope: mobile composition for the homepage hero, first CTAs,
   directions/services cards and fixed contact dock. No PHP/forms,
   analytics, URLs, sitemap, robots or canonical touched.
   ============================================================= */

@media (max-width: 768px) {
  html body {
    padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body .pfhero-v7.pfhero-v7--home {
    min-height: auto !important;
    padding: clamp(218px, 58vw, 270px) 0 28px !important;
    align-items: flex-end !important;
    background-position: center top !important;
    background-image:
      linear-gradient(180deg, rgba(5,12,24,.04) 0%, rgba(5,12,24,.36) 40%, rgba(5,12,24,.88) 100%),
      var(--hero-static-image) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__overlay {
    background:
      radial-gradient(circle at 52% 10%, rgba(34, 211, 238, .16), transparent 32%),
      linear-gradient(180deg, rgba(2,6,23,0) 0%, rgba(2,6,23,.20) 52%, rgba(2,6,23,.28) 100%) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__container {
    width: min(100% - 24px, 640px) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: clamp(19px, 5.2vw, 24px) !important;
    border-radius: 24px !important;
    text-align: center !important;
    background: linear-gradient(145deg, rgba(8,17,34,.86), rgba(15,23,42,.68)) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 22px 58px rgba(2, 6, 23, .34) !important;
  }

  html body .pfhero-v7.pfhero-v7--home h1 {
    margin-bottom: 12px !important;
    font-size: clamp(28px, 7.7vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
    margin-bottom: 16px !important;
    font-size: clamp(14.5px, 4vw, 16px) !important;
    line-height: 1.48 !important;
    text-align: center !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 14px 0 16px !important;
    justify-content: stretch !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    width: 100% !important;
    justify-content: center !important;
    padding: 9px 10px !important;
    font-size: 12.8px !important;
    line-height: 1.18 !important;
    min-height: 40px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge:last-child {
    grid-column: 1 / -1 !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 8px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 13px 16px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }

  html body .today-status {
    border-top: 1px solid rgba(14, 116, 144, .08) !important;
  }

  html body .today-status__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px 0 !important;
  }

  html body .today-status__item {
    min-height: 0 !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
    gap: 8px !important;
  }

  html body .today-status__item--main {
    grid-column: 1 / -1 !important;
  }

  html body .today-status__item strong {
    font-size: .95rem !important;
    line-height: 1.25 !important;
  }

  html body .today-status__item p {
    font-size: .82rem !important;
    line-height: 1.35 !important;
  }

  html body .today-status__item > span:not(.today-status__dot) {
    width: 30px !important;
    height: 30px !important;
    border-radius: 11px !important;
    flex: 0 0 30px !important;
  }

  html body .today-status__cta {
    grid-column: 1 / -1 !important;
    min-height: 48px !important;
    border-radius: 16px !important;
    font-size: .95rem !important;
  }

  html body .directions--surgical,
  html body .popular-services--surgical {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }

  html body .directions--surgical .section-kicker,
  html body .popular-services--surgical .section-kicker {
    display: block !important;
    text-align: center !important;
    margin-bottom: 8px !important;
  }

  html body .directions--surgical h2,
  html body .popular-services--surgical h2 {
    margin-bottom: 10px !important;
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.1 !important;
  }

  html body .directions--surgical .section-subtitle,
  html body .popular-services--surgical .section-subtitle {
    margin: 0 auto 22px !important;
    max-width: 34em !important;
    font-size: .95rem !important;
    line-height: 1.5 !important;
  }

  html body .directions-grid--premium {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html body .directions-grid--premium .direction-card {
    display: grid !important;
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 12px 14px !important;
    align-items: start !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body .directions-grid--premium .direction-icon {
    margin: 0 !important;
  }

  html body .directions-grid--premium .direction-icon--svg {
    width: 58px !important;
    height: 58px !important;
    padding: 10px !important;
    border-radius: 19px !important;
  }

  html body .directions-grid--premium .direction-icon--svg img {
    width: 37px !important;
    height: 37px !important;
  }

  html body .directions-grid--premium .direction-card__body {
    min-width: 0 !important;
  }

  html body .directions-grid--premium .direction-card h3 {
    margin-bottom: 6px !important;
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
  }

  html body .directions-grid--premium .direction-description {
    min-height: 0 !important;
    margin-bottom: 9px !important;
    font-size: .88rem !important;
    line-height: 1.42 !important;
  }

  html body .directions-grid--premium .direction-tags {
    gap: 6px !important;
  }

  html body .directions-grid--premium .direction-tags .tag {
    padding: 6px 9px !important;
    font-size: .76rem !important;
    line-height: 1.12 !important;
  }

  html body .directions-grid--premium .direction-btn {
    grid-column: 1 / -1 !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }

  html body .popular-services-grid--premium {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html body .popular-services-grid--premium .service-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body .popular-services-grid--premium .service-card::after {
    width: 88px !important;
    height: 88px !important;
    right: -28px !important;
    top: -26px !important;
    opacity: .78 !important;
  }

  html body .popular-services-grid--premium .service-card .chip {
    margin-bottom: 9px !important;
    padding: 6px 10px !important;
    font-size: .72rem !important;
  }

  html body .popular-services-grid--premium .service-card h3 {
    margin-bottom: 7px !important;
    font-size: 1.05rem !important;
    line-height: 1.22 !important;
  }

  html body .popular-services-grid--premium .service-card p {
    min-height: 0 !important;
    margin-bottom: 10px !important;
    font-size: .9rem !important;
    line-height: 1.48 !important;
  }

  html body .popular-services-grid--premium .service-card__meta {
    margin: 0 0 12px !important;
  }

  html body .popular-services-grid--premium .service-card__meta span {
    font-size: .7rem !important;
  }

  html body .popular-services-grid--premium .service-card__bottom {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
  }

  html body .popular-services-grid--premium .service-card .price {
    min-width: 92px !important;
    padding: 10px 12px !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
  }

  html body .popular-services-grid--premium .service-card .service-btn {
    min-height: 44px !important;
    padding: 11px 12px !important;
    border-radius: 15px !important;
  }

  html body .popular-services-grid--premium .service-mini-links {
    gap: 6px !important;
    margin-bottom: 12px !important;
  }

  html body .popular-services-grid--premium .service-mini-links a {
    padding: 6px 9px !important;
    font-size: .7rem !important;
  }

  html body .popular-note {
    margin-top: 18px !important;
    padding: 14px 15px !important;
    border-radius: 18px !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
  }

  html body .popular-actions--stage2 {
    gap: 10px !important;
    margin-top: 14px !important;
  }

  html body .popular-actions--stage2 .btn {
    min-height: 48px !important;
    border-radius: 16px !important;
  }

  html body .social-widget {
    left: 50% !important;
    right: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 7px !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .72) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 48px rgba(2, 6, 23, .28) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
  }

  html body .social-widget__button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .20) !important;
  }

  html body .social-widget__button svg,
  html body .social-widget__button img {
    width: 21px !important;
    height: 21px !important;
  }

  html body .social-widget__button--max img,
  html body .social-widget__max-icon-img {
    width: 25px !important;
    max-width: 25px !important;
    height: auto !important;
  }
}

@media (max-width: 380px) {
  html body .pfhero-v7.pfhero-v7--home {
    padding-top: 208px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    padding: 18px 15px !important;
  }

  html body .pfhero-v7.pfhero-v7--home h1 {
    font-size: 27px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    grid-template-columns: 1fr !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    min-height: 38px !important;
  }

  html body .popular-services-grid--premium .service-card__bottom {
    grid-template-columns: 1fr !important;
  }

  html body .popular-services-grid--premium .service-card .price,
  html body .popular-services-grid--premium .service-card .service-btn {
    width: 100% !important;
  }

  html body .social-widget {
    width: calc(100% - 22px) !important;
    justify-content: space-between !important;
  }
}

/* =============================================================
   Stage 4.1: price + trust commercial polish
   ------------------------------------------------------------- */
html body .trust-block--stage4 {
  padding: clamp(48px, 6vw, 82px) 0 !important;
  background:
    radial-gradient(circle at 8% 4%, rgba(14, 165, 233, .14), transparent 34%),
    radial-gradient(circle at 96% 18%, rgba(34, 211, 238, .12), transparent 30%),
    linear-gradient(180deg, #f8fcff 0%, #eef8ff 100%) !important;
}

html body .trust-block--stage4::before {
  opacity: .72 !important;
}

html body .trust-block--stage4 h2,
html body .trust-block--stage4 > .container > .section-subtitle {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

html body .trust-block--stage4 h2 {
  margin-bottom: 12px !important;
  font-size: clamp(2rem, 4vw, 3.15rem) !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
}

html body .trust-block--stage4 > .container > .section-subtitle {
  color: #475569 !important;
  font-size: clamp(.98rem, 1.3vw, 1.1rem) !important;
  line-height: 1.6 !important;
}

html body .trust-block--stage4 .trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin-top: 30px !important;
}

html body .trust-block--stage4 .trust-card {
  min-width: 0 !important;
  flex: none !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 22px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(14, 165, 233, .13) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .07) !important;
}

html body .trust-block--stage4 .trust-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: linear-gradient(180deg, #0ea5e9, #22d3ee) !important;
  opacity: .9 !important;
}

html body .trust-block--stage4 .trust-card__topline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  margin-bottom: 14px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #ecfeff !important;
  color: #0369a1 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

html body .trust-block--stage4 .trust-card__topline span {
  display: inline-grid !important;
  place-items: center !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0284c7, #22d3ee) !important;
  color: #fff !important;
  font-size: .72rem !important;
}

html body .trust-block--stage4 .trust-card h3 {
  margin-bottom: 9px !important;
  font-size: 1.18rem !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}

html body .trust-block--stage4 .trust-card p {
  color: #475569 !important;
  font-size: .94rem !important;
  line-height: 1.55 !important;
}

html body .trust-block--stage4 .trust-card.team-card img {
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  max-height: 178px !important;
  object-fit: cover !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

html body .trust-block--stage4 .trust-badges .badge,
html body .trust-block--stage4 .team-badges .badge {
  border-radius: 999px !important;
  background: rgba(14, 165, 233, .09) !important;
  color: #0369a1 !important;
  border: 1px solid rgba(14, 165, 233, .13) !important;
}

html body .trust-control-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 18px 0 0 !important;
  padding: 14px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #082f49 0%, #075985 56%, #0891b2 100%) !important;
  box-shadow: 0 22px 54px rgba(8, 47, 73, .18) !important;
}

html body .trust-control-strip div {
  padding: 16px 17px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .10) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
}

html body .trust-control-strip strong,
html body .trust-control-strip span {
  display: block !important;
}

html body .trust-control-strip strong {
  margin-bottom: 4px !important;
  color: #fff !important;
  font-size: .98rem !important;
}

html body .trust-control-strip span {
  color: rgba(240, 249, 255, .82) !important;
  font-size: .88rem !important;
  line-height: 1.35 !important;
}

html body .trust-block--stage4 .trust-cta {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 22px !important;
}

html body .trust-block--stage4 .trust-cta .btn {
  margin: 0 !important;
  min-width: 180px !important;
  border-radius: 16px !important;
}

html body .reviews-platforms {
  background:
    radial-gradient(circle at 92% 0%, rgba(14, 165, 233, .12), transparent 30%),
    linear-gradient(180deg, #f6fbff 0%, #ffffff 100%) !important;
}

html body .reviews-platforms .section-subtitle {
  max-width: 760px !important;
  color: #475569 !important;
}

html body .reviews-platforms .reviews-platforms__card {
  border-radius: 26px !important;
  padding: 12px !important;
  box-shadow: 0 18px 46px rgba(15, 71, 120, .08) !important;
}

html body .reviews-platforms__image {
  min-height: 260px !important;
  border-radius: 21px !important;
}

html body .reviews-platforms .reviews-platforms__card h3 {
  margin-top: 14px !important;
  font-size: 1.18rem !important;
}

html body .reviews-platforms .reviews-platforms__card p {
  font-size: .92rem !important;
  line-height: 1.5 !important;
}

html body .reviews-cta {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #ffffff, #f0f9ff) !important;
  border: 1px solid rgba(14, 165, 233, .13) !important;
  box-shadow: 0 20px 50px rgba(15, 71, 120, .08) !important;
}

html body .price-before--stage4 .price-before__points {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 18px 0 4px !important;
}

html body .price-before--stage4 .price-before__points span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 8px 11px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .09) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  color: rgba(240, 249, 255, .9) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

html body .price-before--stage4 .price-before__btn {
  margin-top: 18px !important;
}

@media (max-width: 1180px) {
  html body .trust-block--stage4 .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  html body .trust-block--stage4 {
    padding: 42px 0 !important;
  }

  html body .trust-block--stage4 .trust-grid,
  html body .trust-control-strip {
    grid-template-columns: 1fr !important;
  }

  html body .trust-block--stage4 .trust-card {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  html body .trust-control-strip {
    padding: 10px !important;
    border-radius: 24px !important;
  }

  html body .trust-control-strip div {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  html body .reviews-platforms__image {
    min-height: 210px !important;
  }

  html body .reviews-cta {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  html body .price-before--stage4 .price-before__points {
    gap: 7px !important;
  }

  html body .price-before--stage4 .price-before__points span {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}


/* Stage 5.1 — final CTA and lower home page polish */
html body .home-final-cta {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(54px, 7vw, 92px) 0 !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(14, 165, 233, .16), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(34, 211, 238, .13), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f3f9ff 42%, #eaf6ff 100%) !important;
}

html body .home-final-cta::before {
  content: '' !important;
  position: absolute !important;
  inset: auto -10% -34% -10% !important;
  height: 58% !important;
  background: linear-gradient(135deg, rgba(8, 47, 73, .08), rgba(14, 165, 233, .08)) !important;
  transform: skewY(-4deg) !important;
  pointer-events: none !important;
}

html body .home-final-cta__shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr) !important;
  gap: clamp(20px, 4vw, 44px) !important;
  align-items: stretch !important;
  padding: clamp(24px, 4vw, 42px) !important;
  border-radius: 36px !important;
  background: linear-gradient(135deg, #082f49 0%, #075985 48%, #0891b2 100%) !important;
  box-shadow: 0 28px 70px rgba(8, 47, 73, .23) !important;
  isolation: isolate !important;
}

html body .home-final-cta__shell::before {
  content: '' !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: 35px !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(255, 255, 255, .17), transparent 30%),
    radial-gradient(circle at 78% 0%, rgba(125, 211, 252, .21), transparent 26%) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

html body .home-final-cta__content {
  min-width: 0 !important;
  align-self: center !important;
}

html body .home-final-cta .section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  color: #bae6fd !important;
  background: rgba(255, 255, 255, .11) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
}

html body .home-final-cta h2 {
  margin: 0 !important;
  max-width: 820px !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 4.2vw, 4rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

html body .home-final-cta__content > p {
  max-width: 720px !important;
  margin: 18px 0 0 !important;
  color: rgba(240, 249, 255, .86) !important;
  font-size: clamp(1rem, 1.35vw, 1.13rem) !important;
  line-height: 1.66 !important;
}

html body .home-final-cta__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 22px 0 0 !important;
}

html body .home-final-cta__chips span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .11) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  color: rgba(240, 249, 255, .92) !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
}

html body .home-final-cta__chips span::before {
  content: '✓' !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: rgba(34, 211, 238, .22) !important;
  color: #a5f3fc !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
}

html body .home-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

html body .home-final-cta__actions .btn {
  min-height: 54px !important;
  border-radius: 17px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  box-shadow: 0 18px 36px rgba(2, 132, 199, .2) !important;
}

html body .home-final-cta__primary {
  background: linear-gradient(135deg, #38bdf8, #22d3ee) !important;
  color: #082f49 !important;
}

html body .home-final-cta__secondary {
  color: #e0f2fe !important;
  background: rgba(255, 255, 255, .10) !important;
  border-color: rgba(255, 255, 255, .18) !important;
}

html body .home-final-cta__card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: 18px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(255, 255, 255, .5) !important;
  box-shadow: 0 24px 54px rgba(2, 6, 23, .16) !important;
}

html body .home-final-cta__card-head {
  padding: 6px 4px 14px !important;
}

html body .home-final-cta__card-head span,
html body .home-final-cta__card-head strong {
  display: block !important;
}

html body .home-final-cta__card-head span {
  color: #0284c7 !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body .home-final-cta__card-head strong {
  margin-top: 4px !important;
  color: #0f172a !important;
  font-size: 1.28rem !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}

html body .home-final-cta__links {
  display: grid !important;
  gap: 10px !important;
}

html body .home-final-cta__links a {
  position: relative !important;
  display: block !important;
  padding: 15px 44px 15px 16px !important;
  border-radius: 19px !important;
  background: linear-gradient(135deg, #ffffff, #f7fcff) !important;
  border: 1px solid rgba(14, 165, 233, .12) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

html body .home-final-cta__links a::after {
  content: '→' !important;
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  transform: translateY(-50%) !important;
  color: #0284c7 !important;
  font-size: 1.18rem !important;
  font-weight: 950 !important;
  transition: transform .2s ease !important;
}

html body .home-final-cta__links a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(14, 165, 233, .26) !important;
  box-shadow: 0 14px 30px rgba(14, 165, 233, .12) !important;
}

html body .home-final-cta__links a:hover::after {
  transform: translate(3px, -50%) !important;
}

html body .home-final-cta__links span,
html body .home-final-cta__links small {
  display: block !important;
}

html body .home-final-cta__links span {
  color: #0f172a !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
}

html body .home-final-cta__links small {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
}

html body .home-final-cta__note {
  margin-top: 13px !important;
  padding: 13px 14px !important;
  border-radius: 18px !important;
  background: #ecfeff !important;
  border: 1px solid rgba(14, 165, 233, .13) !important;
  color: #075985 !important;
  font-size: .86rem !important;
  line-height: 1.42 !important;
}

html body .faq-premium-section {
  padding-bottom: clamp(34px, 5vw, 58px) !important;
}

html body .footer-premium__cta {
  background: linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(14, 165, 233, .12)) !important;
  border-color: rgba(125, 211, 252, .24) !important;
}

@media (max-width: 980px) {
  html body .home-final-cta__shell {
    grid-template-columns: 1fr !important;
  }

  html body .home-final-cta__card {
    max-width: 620px !important;
  }
}

@media (max-width: 640px) {
  html body .home-final-cta {
    padding: 40px 0 50px !important;
  }

  html body .home-final-cta__shell {
    padding: 20px !important;
    border-radius: 28px !important;
  }

  html body .home-final-cta__shell::before {
    border-radius: 27px !important;
  }

  html body .home-final-cta h2 {
    font-size: clamp(1.82rem, 9vw, 2.45rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
  }

  html body .home-final-cta__content > p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }

  html body .home-final-cta__chips {
    gap: 8px !important;
  }

  html body .home-final-cta__chips span {
    width: 100% !important;
    justify-content: flex-start !important;
    border-radius: 16px !important;
  }

  html body .home-final-cta__actions {
    gap: 9px !important;
  }

  html body .home-final-cta__actions .btn {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: center !important;
  }

  html body .home-final-cta__card {
    padding: 14px !important;
    border-radius: 24px !important;
  }

  html body .home-final-cta__links a {
    padding: 13px 38px 13px 14px !important;
    border-radius: 17px !important;
  }
}


/* =============================================================
   Stage 6.1 - plumbing landing polish
   ============================================================= */
.description--service-intro {
  padding: 3rem 0 2.5rem;
  background: #ffffff;
}

.service-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 1.5rem;
  align-items: stretch;
}

.service-intro__text {
  padding: 1.8rem 2rem;
  border-radius: 28px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(14, 165, 233, 0.14);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.service-intro__text p {
  margin: 0.7rem 0 0;
  max-width: 850px;
  color: #44556b;
  line-height: 1.75;
  font-size: 1.04rem;
}

.service-intro__facts {
  display: grid;
  gap: 0.85rem;
  padding: 1.45rem;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(14, 165, 233, 0.10), rgba(34, 197, 94, 0.08));
  border: 1px solid rgba(14, 165, 233, 0.16);
}

.service-intro__facts span {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.9rem 1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  color: #16324f;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.service-intro__facts span::before,
.service-card__points li::before,
.situations-list--compact li::before {
  content: '';
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 999px;
  background: #20c8ee;
  box-shadow: 0 0 0 5px rgba(32, 200, 238, 0.14);
}

.service-page .popular-services .service-card {
  display: flex;
  flex-direction: column;
}

.service-card__points {
  list-style: none;
  padding: 0;
  margin: 0.15rem 0 1rem;
  display: grid;
  gap: 0.45rem;
}

.service-card__points li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #526277;
  font-size: 0.9rem;
  line-height: 1.42;
}

.service-card__points li::before {
  width: 7px;
  height: 7px;
  flex-basis: 7px;
  margin-top: 0.45rem;
  box-shadow: 0 0 0 4px rgba(32, 200, 238, 0.12);
}

.call-situations--plumbing .section-subtitle,
.call-situations--electric .section-subtitle,
.service-page .mini-price .section-subtitle,
.service-page .about .section-subtitle {
  max-width: 760px;
  margin: -0.7rem auto 1.55rem;
  color: #5d6c80;
  line-height: 1.65;
  text-align: center;
}

.problem-solution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1120px;
  margin: 0 auto 1.35rem;
}

.problem-solution-card {
  position: relative;
  min-height: 230px;
  padding: 1.35rem 1.25rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(14, 165, 233, 0.15);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.problem-solution-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -42px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(14, 165, 233, 0.10);
}

.problem-solution-card__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.10);
  color: #0b72a8;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.problem-solution-card h3 {
  position: relative;
  z-index: 1;
  margin: 0.85rem 0 0.55rem;
  color: #15334f;
  font-size: 1.12rem;
  line-height: 1.25;
}

.problem-solution-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #526277;
  line-height: 1.58;
  font-size: 0.95rem;
}

.situations-list--compact {
  margin-top: 1.15rem;
}

.situations-list--compact li {
  display: flex;
  gap: 0.65rem;
}

.price-cta-strip {
  max-width: 1120px;
  margin: 1rem auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  border-radius: 22px;
  background: #0f2a43;
  color: #ffffff;
  box-shadow: 0 18px 38px rgba(15, 42, 67, 0.16);
}

.price-cta-strip strong,
.price-cta-strip span {
  display: block;
}

.price-cta-strip strong {
  font-size: 1.05rem;
  margin-bottom: 0.22rem;
}

.price-cta-strip span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.45;
}

.price-cta-strip .btn-primary {
  flex: 0 0 auto;
  white-space: nowrap;
}

.cta-section .section-kicker,
.service-page .about .section-kicker,
.service-page .mini-price .section-kicker,
.call-situations--plumbing .section-kicker,
.call-situations--electric .section-kicker,
.description--service-intro .section-kicker {
  display: block;
  color: #0b8fe8;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.65rem;
}

.cta-section .cta-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.3rem;
}

.cta-section .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.9rem 1.35rem;
  border-radius: 14px;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.10);
  text-decoration: none;
  font-weight: 800;
}

.service-page .about .section-kicker,
.service-page .about .section-subtitle {
  text-align: center;
}

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

@media (max-width: 860px) {
  .service-intro {
    grid-template-columns: 1fr;
  }

  .service-intro__text,
  .service-intro__facts {
    border-radius: 24px;
  }
}

@media (max-width: 767px) {
  .description--service-intro {
    padding: 2rem 0 1.8rem;
  }

  .service-intro__text {
    padding: 1.25rem;
  }

  .service-intro__text p {
    font-size: 0.96rem;
    line-height: 1.65;
  }

  .service-intro__facts {
    padding: 1rem;
  }

  .problem-solution-grid {
    grid-template-columns: 1fr;
  }

  .problem-solution-card {
    min-height: auto;
    padding: 1.2rem 1.1rem;
  }

  .call-situations--plumbing .section-subtitle,
  .call-situations--electric .section-subtitle,
  .service-page .mini-price .section-subtitle,
  .service-page .about .section-subtitle {
    margin-top: -0.35rem;
    text-align: left;
  }

  .price-cta-strip {
    align-items: stretch;
    flex-direction: column;
    border-radius: 20px;
  }

  .price-cta-strip .btn-primary {
    width: 100%;
  }

  .cta-section .cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cta-section .btn-primary,
  .cta-section .btn-secondary {
    width: 100%;
  }
}


/* Stage 6.2 — electric landing polish */
.call-situations--electric .problem-solution-card__label,
.problem-solution-card--electric .problem-solution-card__label {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.problem-solution-card--electric::after {
  background: rgba(245, 158, 11, 0.12);
}

.call-situations--electric .section-kicker {
  color: #d97706;
}

.cta--electric .section-kicker {
  color: #fbbf24;
}

.service-card.electric .service-card__points li::before {
  background: linear-gradient(135deg, #f59e0b, #38bdf8);
}

/* Stage 6.3 — appliances landing polish */
.call-situations--tehnika .problem-solution-card__label,
.problem-solution-card--tehnika .problem-solution-card__label {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.problem-solution-card--tehnika::after {
  background: rgba(16, 185, 129, 0.12);
}

.call-situations--tehnika .section-kicker {
  color: #059669;
}

.cta--tehnika .section-kicker {
  color: #a7f3d0;
}

.service-card.tehnika .service-card__points li::before {
  background: linear-gradient(135deg, #10b981, #38bdf8);
}

.service-card.split .service-card__points li::before {
  background: linear-gradient(135deg, #0ea5e9, #22d3ee);
}


/* Stage 6.4 — split systems landing polish */
.call-situations--split .problem-solution-card__label,
.problem-solution-card--split .problem-solution-card__label {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
}

.problem-solution-card--split::after {
  background: rgba(34, 211, 238, 0.13);
}

.call-situations--split .section-kicker,
.cta--split .section-kicker {
  color: #0284c7;
}

.cta--split .service-final-cta__eyebrow {
  background: rgba(14, 165, 233, 0.14);
  color: #e0f2fe;
  border-color: rgba(125, 211, 252, 0.28);
}

.service-card--split-boost,
.direction-card--boosted {
  position: relative;
  overflow: hidden;
}

.service-card--split-boost::after,
.direction-card--boosted::after {
  content: '';
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.10);
  pointer-events: none;
}

.service-card--split-boost .service-card__points {
  margin: 0.8rem 0 0.85rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.42rem;
}

.service-card--split-boost .service-card__points li {
  position: relative;
  padding-left: 1.15rem;
  color: #475569;
  font-size: 0.92rem;
  line-height: 1.4;
}

.service-card--split-boost .service-card__points li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0ea5e9, #22d3ee);
}

@media (max-width: 767px) {
  .call-situations--split .section-subtitle {
    text-align: left;
    margin-top: -0.35rem;
  }
}


/* Stage 7.1 — high-intent service pages polish */
.service-profit-block {
  padding: clamp(2.4rem, 5vw, 4.6rem) 0;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.service-profit-block .section-kicker,
.service-problem-map .section-kicker {
  display: block;
  margin-bottom: 0.65rem;
  color: #0b8fe8;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-profit-block h2,
.service-problem-map h2 {
  max-width: 860px;
  margin: 0 0 0.7rem;
  color: #12233a;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.service-profit-block .section-subtitle {
  max-width: 820px;
  margin: 0 0 1.45rem;
  color: #56677d;
  font-size: 1.02rem;
  line-height: 1.65;
}

.service-profit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.service-profit-card {
  position: relative;
  overflow: hidden;
  min-height: 164px;
  padding: 1.25rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(15, 42, 67, 0.08);
  box-shadow: 0 18px 40px rgba(15, 42, 67, 0.08);
}

.service-profit-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -34px;
  width: 100px;
  height: 100px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.09);
  pointer-events: none;
}

.service-profit-card span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.11);
  color: #0369a1;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.service-profit-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #48596f;
  font-size: 0.95rem;
  line-height: 1.58;
}

.service-profit-block--plumbing .service-profit-card span,
.service-profit-block--plumbing .service-profit-card::after {
  background-color: rgba(14, 165, 233, 0.11);
}

.service-profit-block--electric .section-kicker,
.call-situations--electric.service-problem-map .section-kicker {
  color: #d97706;
}

.service-profit-block--electric .service-profit-card span {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.service-profit-block--electric .service-profit-card::after {
  background: rgba(245, 158, 11, 0.12);
}

.service-profit-block--appliance .section-kicker,
.call-situations--tehnika.service-problem-map .section-kicker {
  color: #059669;
}

.service-profit-block--appliance .service-profit-card span {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.service-profit-block--appliance .service-profit-card::after {
  background: rgba(16, 185, 129, 0.12);
}

.service-problem-map {
  padding-top: 0;
}

.problem-solution-grid--compact {
  margin-top: 1.1rem;
}

.price-cta-strip--stage7 {
  margin-bottom: clamp(1rem, 2vw, 1.8rem);
}

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

@media (max-width: 767px) {
  .service-profit-block {
    padding: 2rem 0 1.6rem;
  }

  .service-profit-block h2,
  .service-problem-map h2 {
    font-size: 1.55rem;
  }

  .service-profit-grid {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .service-profit-card {
    min-height: auto;
    padding: 1rem;
    border-radius: 20px;
  }

  .service-profit-card span {
    margin-bottom: 0.55rem;
  }
}

/* =============================================================
   Stage 8: call-master conversion form polish
   ------------------------------------------------------------- */
.call-premium__layout--conversion {
  align-items: start;
}

.call-premium__form-card--conversion {
  position: relative;
  overflow: hidden;
}

.call-premium__form-card--conversion::before {
  content: '';
  position: absolute;
  inset: -120px -80px auto auto;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.18), rgba(34, 211, 238, 0));
  pointer-events: none;
}

.call-premium__form-card--conversion > * {
  position: relative;
  z-index: 1;
}

.call-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0.95rem 0 1.25rem;
}

.call-trust-strip span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.16);
  color: #28506f;
  font-size: 0.86rem;
  line-height: 1.2;
  font-weight: 750;
}

.call-trust-strip span::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0ea5e9, #22d3ee);
  box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.12);
}

.call-problem-picker {
  margin: 0 0 1.25rem;
  padding: 1rem;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(248, 252, 255, 0.96), rgba(238, 248, 255, 0.96));
  border: 1px solid rgba(14, 165, 233, 0.14);
}

.call-problem-picker__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.call-problem-picker__head span {
  color: #0ea5e9;
  font-size: 0.76rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.call-problem-picker__head strong {
  color: #14345d;
  font-size: 1.1rem;
  line-height: 1.15;
}

.call-problem-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.call-problem-chip {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 52px;
  padding: 0.78rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  color: #23405d;
  font: inherit;
  font-size: 0.94rem;
  line-height: 1.22;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.call-problem-chip span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 12px;
  background: rgba(14, 165, 233, 0.1);
}

.call-problem-chip:hover,
.call-problem-chip.is-active {
  transform: translateY(-2px);
  border-color: rgba(14, 165, 233, 0.34);
  background: linear-gradient(135deg, #ffffff, #f0f9ff);
  box-shadow: 0 16px 34px rgba(14, 165, 233, 0.12);
}

.call-problem-chip.is-active {
  outline: 2px solid rgba(14, 165, 233, 0.18);
}

.form-grid--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
}

.call-premium__form .form-row {
  margin-bottom: 1rem;
}

.call-premium__form input,
.call-premium__form select,
.call-premium__form textarea {
  width: 100%;
}

.form-row__hint {
  display: block;
  margin-top: 0.45rem;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.45;
}

.call-form-summary {
  margin: 0.15rem 0 1rem;
  padding: 0.95rem 1rem;
  border-radius: 18px;
  background: linear-gradient(135deg, #0f2f57, #115e8e);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.94rem;
  line-height: 1.5;
  box-shadow: 0 16px 36px rgba(14, 88, 130, 0.18);
}

.call-form-summary strong {
  color: #fff;
}

.call-premium__submit {
  width: 100%;
  min-height: 56px;
  border-radius: 16px;
  font-size: 1.02rem;
}

@media (max-width: 820px) {
  .call-problem-grid,
  .form-grid--two {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .call-trust-strip {
    display: grid;
    grid-template-columns: 1fr;
  }

  .call-problem-picker {
    padding: 0.85rem;
    border-radius: 18px;
  }

  .call-problem-picker__head {
    display: block;
  }

  .call-problem-picker__head span {
    display: block;
    margin-bottom: 0.4rem;
  }

  .call-problem-chip {
    min-height: 50px;
    border-radius: 14px;
    font-size: 0.92rem;
  }
}

/* =============================================================
   Stage 10: quick lead form + CTA modal
   ------------------------------------------------------------- */
.call-premium--quick {
  padding: clamp(42px, 6vw, 78px) 0;
}

.quick-call-shell {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(320px, 1.1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
}

.quick-call-shell__info,
.quick-lead-card {
  position: relative;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(14, 165, 233, 0.14);
  box-shadow: 0 24px 70px rgba(15, 37, 69, 0.11);
  overflow: hidden;
}

.quick-call-shell__info {
  padding: clamp(22px, 3vw, 32px);
  background:
    radial-gradient(circle at 0 0, rgba(34, 211, 238, 0.18), transparent 34%),
    linear-gradient(145deg, #ffffff, #eef8ff);
}

.quick-call-shell__eyebrow,
.quick-lead-form__head span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 10px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.10);
  color: #0284c7;
  font-size: 0.76rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quick-call-shell__info h3,
.quick-lead-form__head h3 {
  margin: 0 0 12px;
  color: #0f2545;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.quick-lead-form__head p {
  margin: 0;
  color: #557086;
  line-height: 1.55;
}

.quick-call-steps {
  list-style: none;
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 22px 0 0;
}

.quick-call-steps li {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(14, 165, 233, 0.10);
}

.quick-call-steps span {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 13px;
  color: #ffffff;
  background: linear-gradient(135deg, #14b8d6, #0284c7);
  font-weight: 900;
}

.quick-call-steps p {
  margin: 0;
  color: #27445f;
  font-weight: 750;
  line-height: 1.35;
}

.quick-call-phone {
  margin-top: 18px;
  padding: 16px;
  border-radius: 22px;
  background: #0f2545;
  color: #fff;
}

.quick-call-phone strong,
.quick-call-phone a {
  display: block;
}

.quick-call-phone strong {
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.86rem;
}

.quick-call-phone a {
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 900;
  text-decoration: none;
}

.quick-lead-card {
  padding: clamp(20px, 3vw, 34px);
}

.quick-lead-form,
.call-premium__form.quick-lead-form {
  display: block !important;
  width: 100%;
  margin: 0;
}

.quick-lead-form .form-row {
  margin: 0;
}

.quick-problem-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 18px;
}

.quick-problem-chip {
  appearance: none;
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-radius: 999px;
  background: #f5fbff;
  color: #1f425f;
  padding: 10px 13px;
  font: inherit;
  font-size: 0.93rem;
  line-height: 1.1;
  font-weight: 850;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.quick-problem-chip:hover,
.quick-problem-chip.is-active {
  transform: translateY(-1px);
  border-color: rgba(14, 165, 233, 0.42);
  background: #e0f7ff;
  box-shadow: 0 12px 26px rgba(14, 165, 233, 0.12);
}

.quick-main-fields {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(180px, 0.8fr);
  gap: 12px;
  align-items: end;
}

.quick-lead-form label {
  display: block;
  margin-bottom: 7px;
  color: #0f2545;
  font-size: 0.92rem;
  font-weight: 900;
}

.quick-lead-form label span {
  color: #64748b;
  font-weight: 650;
}

.quick-lead-form input,
.quick-lead-form select,
.quick-lead-form textarea {
  width: 100%;
  min-height: 54px;
  padding: 0 14px;
  border: 1px solid rgba(11, 94, 158, 0.16);
  border-radius: 16px;
  background: #f8fbff;
  color: #0f172a;
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.quick-lead-form textarea {
  min-height: 92px;
  padding-top: 13px;
  resize: vertical;
}

.quick-lead-form input:focus,
.quick-lead-form select:focus,
.quick-lead-form textarea:focus {
  outline: none;
  border-color: rgba(14, 165, 233, 0.9);
  box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.13);
  background: #ffffff;
}

.quick-lead-details {
  margin: 14px 0 12px;
  border-radius: 20px;
  border: 1px solid rgba(14, 165, 233, 0.14);
  background: rgba(248, 252, 255, 0.78);
}

.quick-lead-details summary {
  cursor: pointer;
  padding: 14px 16px;
  color: #0b5e9e;
  font-weight: 900;
  list-style: none;
}

.quick-lead-details summary::-webkit-details-marker {
  display: none;
}

.quick-lead-details summary::after {
  content: '+';
  float: right;
  font-weight: 900;
}

.quick-lead-details[open] summary::after {
  content: '−';
}

.quick-lead-details__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.quick-lead-details__wide {
  grid-column: 1 / -1;
}

.quick-call-summary {
  margin: 12px 0 12px;
  border-radius: 18px;
}

.quick-lead-form .question-form__note {
  margin: 0 0 14px;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.45;
  text-align: left;
}

.quick-lead-submit {
  width: 100%;
  min-height: 58px;
  border-radius: 18px !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
}

.quick-lead-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.quick-lead-modal.is-open {
  display: flex;
}

.quick-lead-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 20, 38, 0.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.quick-lead-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  max-height: min(720px, calc(100vh - 32px));
  overflow: auto;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(14, 165, 233, 0.16);
  box-shadow: 0 28px 90px rgba(2, 6, 23, 0.34);
}

.quick-lead-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #eef7ff;
  color: #0f2545;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.quick-modal-form {
  padding: clamp(22px, 5vw, 34px);
}

.quick-modal-form__head {
  padding-right: 44px;
  margin-bottom: 16px;
}

.quick-modal-form__head span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.10);
  color: #0284c7;
  font-size: 0.74rem;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.quick-modal-form__head h3 {
  margin: 0 0 8px;
  color: #0f2545;
  font-size: clamp(1.45rem, 6vw, 2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.quick-modal-form__head p {
  margin: 0;
  color: #557086;
  line-height: 1.5;
}

.quick-modal-form .form-row {
  margin-bottom: 12px;
}

.quick-modal-form label {
  display: block;
  margin-bottom: 7px;
  color: #0f2545;
  font-weight: 900;
}

.quick-modal-form input,
.quick-modal-form textarea {
  width: 100%;
  min-height: 54px;
  padding: 0 14px;
  border: 1px solid rgba(11, 94, 158, 0.16);
  border-radius: 16px;
  background: #f8fbff;
  color: #0f172a;
  font: inherit;
}

.quick-modal-form textarea {
  min-height: 88px;
  padding-top: 13px;
  resize: vertical;
}

.quick-modal-service-note {
  display: none;
  margin: 0 0 12px;
  padding: 11px 13px;
  border-radius: 16px;
  background: #f0f9ff;
  color: #23506f;
  font-weight: 800;
  line-height: 1.35;
}

.quick-modal-service-note.is-visible {
  display: block;
}

.quick-modal-form__actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.quick-modal-submit {
  width: 100%;
  min-height: 56px;
  border-radius: 18px !important;
}

.quick-modal-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: 16px;
  border: 1px solid rgba(14, 165, 233, 0.18);
  color: #0b5e9e;
  background: #f8fbff;
  font-weight: 900;
  text-decoration: none;
}

body.quick-modal-open {
  overflow: hidden;
}

@media (max-width: 860px) {
  .quick-call-shell {
    grid-template-columns: 1fr;
  }

  .quick-call-shell__info {
    order: 2;
  }

  .quick-lead-card {
    order: 1;
  }
}

@media (max-width: 560px) {
  .call-premium--quick {
    padding-top: 34px;
  }

  .quick-call-shell__info,
  .quick-lead-card {
    border-radius: 22px;
  }

  .quick-main-fields,
  .quick-lead-details__grid {
    grid-template-columns: 1fr;
  }

  .quick-problem-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-problem-chip {
    justify-content: center;
    min-height: 46px;
    padding: 10px 8px;
    text-align: center;
  }

  .quick-call-summary {
    font-size: 0.9rem;
  }

  .quick-lead-modal {
    padding: 12px;
    align-items: flex-end;
  }

  .quick-lead-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 24px;
  }
}


/* Stage 11: hero photo replacements + safe page-title fit */
html body .pfhero-v7.pfhero-v7--page .pfhero-v7__card {
  max-width: 660px !important;
  overflow: visible !important;
}
html body .pfhero-v7.pfhero-v7--page h1 {
  font-size: clamp(36px, 4.05vw, 56px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  text-wrap: balance;
}
html body .pfhero-v7.pfhero-v7--page {
  background-position: center center !important;
}
@media (max-width: 992px) {
  html body .pfhero-v7.pfhero-v7--page {
    background-position: center top !important;
  }
  html body .pfhero-v7.pfhero-v7--page h1 {
    font-size: clamp(31px, 8vw, 44px) !important;
  }
}
@media (max-width: 640px) {
  html body .pfhero-v7.pfhero-v7--page .pfhero-v7__card {
    padding: 22px !important;
  }
  html body .pfhero-v7.pfhero-v7--page h1 {
    font-size: clamp(28px, 8.7vw, 38px) !important;
    line-height: 1.1 !important;
  }
}

/* Stage 12: stronger glass modal + keep navigation link to call-master as a real page */
.quick-lead-modal {
  padding: clamp(12px, 4vw, 28px) !important;
}

.quick-lead-modal__backdrop {
  background:
    radial-gradient(circle at 28% 16%, rgba(34, 211, 238, .18), transparent 34%),
    linear-gradient(135deg, rgba(3, 12, 28, .70), rgba(15, 23, 42, .58)) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}

.quick-lead-modal__dialog {
  width: min(500px, 100%) !important;
  max-height: min(680px, calc(100vh - 28px)) !important;
  overflow: auto !important;
  border-radius: 30px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(240,249,255,.86)) !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  box-shadow:
    0 32px 90px rgba(2, 6, 23, .40),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  backdrop-filter: blur(22px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(140%) !important;
}

.quick-lead-modal__dialog::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 16% 0%, rgba(34, 211, 238, .20), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(14, 165, 233, .13), transparent 30%);
}

.quick-lead-modal__close {
  top: 16px !important;
  right: 16px !important;
  width: 44px !important;
  height: 44px !important;
  background: rgba(239, 248, 255, .82) !important;
  border: 1px solid rgba(14, 165, 233, .14) !important;
  box-shadow: 0 10px 24px rgba(2, 6, 23, .08) !important;
  color: #0f2545 !important;
}

.quick-modal-form {
  position: relative;
  z-index: 1;
  padding: clamp(24px, 4vw, 36px) !important;
}

.quick-modal-form__head {
  padding-right: 52px !important;
  margin-bottom: 14px !important;
}

.quick-modal-form__head span {
  background: rgba(14, 165, 233, .12) !important;
  color: #0369a1 !important;
  box-shadow: inset 0 0 0 1px rgba(14,165,233,.10) !important;
}

.quick-modal-form__head h3 {
  font-size: clamp(1.55rem, 5vw, 2.1rem) !important;
  line-height: 1.02 !important;
  max-width: 360px !important;
}

.quick-modal-form__head p {
  max-width: 390px !important;
  color: #49657d !important;
}

.quick-modal-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.quick-modal-benefits span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(14, 165, 233, .14);
  color: #16405d;
  font-size: .76rem;
  line-height: 1.1;
  font-weight: 900;
}

.quick-modal-benefits span::before {
  content: '•';
  color: #22c7e8;
  font-weight: 1000;
}

.quick-modal-chip-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 0 0 14px;
}

.quick-modal-chip-row button {
  min-height: 42px;
  border: 1px solid rgba(14, 165, 233, .16);
  border-radius: 14px;
  background: rgba(255,255,255,.68);
  color: #0f2545;
  font: inherit;
  font-size: .84rem;
  font-weight: 950;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.quick-modal-chip-row button:hover,
.quick-modal-chip-row button.is-active {
  transform: translateY(-1px);
  border-color: rgba(14, 165, 233, .34);
  background: linear-gradient(135deg, rgba(14,165,233,.15), rgba(34,211,238,.12));
  box-shadow: 0 12px 26px rgba(14, 165, 233, .14);
}

.quick-modal-form .form-row {
  display: block !important;
  margin-bottom: 11px !important;
}

.quick-modal-form label {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px !important;
  color: #0f2545 !important;
  font-size: .92rem !important;
  line-height: 1.2 !important;
}

.quick-modal-form label span,
.quick-modal-form label strong {
  color: #64748b;
  font-size: .82rem;
  font-weight: 850;
}

.quick-modal-form label strong {
  color: #0ea5e9;
}

.quick-modal-form input,
.quick-modal-form textarea {
  width: 100% !important;
  min-height: 56px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(11, 94, 158, .18) !important;
  border-radius: 17px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #0f172a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.quick-modal-form input:focus,
.quick-modal-form textarea:focus {
  outline: none !important;
  border-color: rgba(14, 165, 233, .58) !important;
  box-shadow: 0 0 0 4px rgba(14, 165, 233, .13), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.quick-modal-form textarea {
  min-height: 74px !important;
  padding-top: 13px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}

.quick-modal-extra {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.quick-modal-service-note {
  display: none;
  margin: 0 0 12px !important;
  padding: 11px 13px !important;
  border-radius: 17px !important;
  background: rgba(224, 242, 254, .70) !important;
  border: 1px solid rgba(14, 165, 233, .12) !important;
  color: #16405d !important;
  font-weight: 900 !important;
}

.quick-modal-form .question-form__note {
  margin: 8px 0 12px !important;
  color: #60748a !important;
  font-size: .82rem !important;
  line-height: 1.4 !important;
}

.quick-modal-form__actions {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-top: 8px !important;
}

.quick-modal-submit {
  min-height: 58px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #18b8f0, #27d4d2) !important;
  box-shadow: 0 18px 38px rgba(14, 165, 233, .24) !important;
}

.quick-modal-call {
  min-height: 50px !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.60) !important;
  border-color: rgba(14, 165, 233, .18) !important;
}

@media (max-width: 640px) {
  .quick-lead-modal {
    align-items: flex-end !important;
    padding: 10px !important;
  }

  .quick-lead-modal__dialog {
    width: 100% !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 26px !important;
  }

  .quick-modal-form {
    padding: 22px 18px 18px !important;
  }

  .quick-modal-form__head h3 {
    max-width: 280px !important;
  }

  .quick-modal-chip-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .quick-modal-extra {
    grid-template-columns: 1fr;
    gap: 0;
  }
}


/* Stage 13: simpler, shorter and cleaner quick modal */
.quick-lead-modal {
  padding: 20px;
}

.quick-lead-modal__dialog {
  width: min(100%, 540px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(248,252,255,.95), rgba(238,246,252,.92));
  border: 1px solid rgba(168, 212, 242, .75);
  box-shadow: 0 28px 80px rgba(8, 37, 71, .32);
  backdrop-filter: blur(18px);
}

.quick-modal-form--simple {
  gap: 16px;
  padding: 34px 36px 30px;
}

.quick-modal-form--simple .quick-modal-form__head h3 {
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: .95;
  max-width: 360px;
}

.quick-modal-form--simple .quick-modal-form__head p {
  max-width: 380px;
  font-size: 18px;
}

.quick-modal-benefits {
  gap: 8px;
}

.quick-modal-benefits span {
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}

.quick-modal-service-note {
  margin-top: -2px;
  padding: 12px 14px;
  font-size: 14px;
}

.quick-modal-form--simple .form-row--phone input {
  min-height: 64px;
  border-radius: 20px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .02em;
}

.quick-modal-chip-block {
  display: grid;
  gap: 10px;
}

.quick-modal-chip-title {
  font-size: 15px;
  font-weight: 800;
  color: #17325b;
}

.quick-modal-chip-title span {
  font-size: 13px;
  font-weight: 700;
  color: #6e84a1;
  margin-left: 6px;
}

.quick-modal-chip-row {
  gap: 10px;
}

.quick-modal-chip-row button {
  min-height: 46px;
  padding: 11px 16px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(166, 205, 231, .8);
  color: #163257;
  font-weight: 800;
}

.quick-modal-details {
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(166, 205, 231, .7);
  border-radius: 18px;
  padding: 0 16px;
}

.quick-modal-details summary {
  list-style: none;
  cursor: pointer;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 800;
  color: #17325b;
}
.quick-modal-details summary::-webkit-details-marker { display: none; }
.quick-modal-details summary::after {
  content: '+';
  font-size: 24px;
  line-height: 1;
  color: #2aa7df;
}
.quick-modal-details[open] summary::after { content: '–'; }
.quick-modal-details__row { padding: 0 0 16px; }
.quick-modal-details textarea {
  min-height: 110px;
  resize: vertical;
}

.quick-modal-form__actions--stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.quick-modal-submit {
  min-height: 60px;
  border-radius: 18px;
  font-size: 20px;
  font-weight: 900;
}

.quick-modal-call {
  min-height: 54px;
  border-radius: 18px;
  font-size: 18px;
  font-weight: 800;
}

@media (max-width: 767px) {
  .quick-lead-modal { padding: 14px; }
  .quick-lead-modal__dialog { width: 100%; max-height: calc(100vh - 28px); border-radius: 24px; }
  .quick-modal-form--simple { padding: 26px 20px 22px; gap: 14px; }
  .quick-modal-form--simple .quick-modal-form__head h3 { font-size: 34px; max-width: 280px; }
  .quick-modal-form--simple .quick-modal-form__head p { font-size: 16px; }
  .quick-modal-form--simple .form-row--phone input { min-height: 58px; font-size: 21px; }
  .quick-modal-chip-row button { flex: 1 1 calc(50% - 8px); }
  .quick-modal-call { font-size: 16px; }
}


/* Stage 14: real ultra-fast modal — phone only */
.quick-lead-modal--ultra {
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.quick-lead-modal--ultra .quick-lead-modal__dialog {
  width: min(100%, 430px);
  max-height: none;
  overflow: visible;
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 10%, rgba(47, 210, 233, .16), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(240,248,253,.94));
  border: 1px solid rgba(184, 226, 245, .86);
  box-shadow: 0 30px 90px rgba(7, 31, 62, .36);
  backdrop-filter: blur(18px);
}

.quick-modal-form--ultra {
  padding: 34px 34px 28px;
  gap: 16px;
}

.quick-modal-form--ultra .quick-modal-form__head {
  gap: 8px;
}

.quick-modal-form--ultra .quick-modal-form__head span {
  width: max-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(30, 184, 226, .12);
  border: 1px solid rgba(30, 184, 226, .18);
  color: #0785bd;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.quick-modal-form--ultra .quick-modal-form__head h3 {
  margin: 0;
  max-width: 340px;
  font-size: clamp(30px, 4vw, 42px);
  line-height: .98;
  color: #102647;
  letter-spacing: -.04em;
}

.quick-modal-form--ultra .quick-modal-form__head p {
  margin: 0;
  max-width: 320px;
  font-size: 17px;
  line-height: 1.45;
  color: #526c88;
}

.quick-modal-form--ultra .form-row--phone {
  gap: 8px;
}

.quick-modal-form--ultra .form-row--phone label {
  color: #122a4d;
  font-size: 15px;
  font-weight: 900;
}

.quick-modal-form--ultra .form-row--phone input {
  min-height: 66px;
  border-radius: 20px;
  border: 2px solid rgba(35, 183, 229, .55);
  background: rgba(255,255,255,.9);
  color: #0f2746;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 12px 34px rgba(16, 83, 132, .12);
}

.quick-modal-form--ultra .quick-modal-form__actions--stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.quick-modal-form--ultra .quick-modal-submit {
  min-height: 62px;
  border-radius: 20px;
  font-size: 21px;
  font-weight: 950;
  box-shadow: 0 18px 38px rgba(24, 181, 223, .28);
}

.quick-modal-form--ultra .quick-modal-call {
  min-height: 52px;
  border-radius: 18px;
  font-size: 17px;
  font-weight: 850;
}

.quick-modal-form--ultra .question-form__note {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: #6a7f97;
  text-align: center;
}

.quick-modal-form--ultra .question-form__note a {
  color: #176599;
  font-weight: 800;
}

.quick-modal-form--ultra .quick-modal-benefits,
.quick-modal-form--ultra .quick-modal-service-note,
.quick-modal-form--ultra .quick-modal-chip-block,
.quick-modal-form--ultra .quick-modal-chip-row,
.quick-modal-form--ultra .quick-modal-details,
.quick-modal-form--ultra .quick-modal-extra {
  display: none !important;
}

@media (max-width: 767px) {
  .quick-lead-modal--ultra {
    padding: 14px;
  }

  .quick-lead-modal--ultra .quick-lead-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 28px);
    overflow: auto;
    border-radius: 24px;
  }

  .quick-modal-form--ultra {
    padding: 28px 20px 22px;
    gap: 14px;
  }

  .quick-modal-form--ultra .quick-modal-form__head h3 {
    font-size: 34px;
    max-width: 290px;
  }

  .quick-modal-form--ultra .quick-modal-form__head p {
    font-size: 16px;
  }

  .quick-modal-form--ultra .form-row--phone input {
    min-height: 60px;
    font-size: 22px;
  }

  .quick-modal-form--ultra .quick-modal-submit {
    min-height: 58px;
    font-size: 19px;
  }

  .quick-modal-form--ultra .quick-modal-call {
    font-size: 15px;
  }
}


/* Stage 15 — home trust block compactness + better plumbing icon */
html body .trust-block--stage4 .trust-grid {
  align-items: start !important;
  gap: 14px !important;
}

html body .trust-block--stage4 .trust-card {
  height: auto !important;
  justify-content: flex-start !important;
  align-self: start !important;
  padding: 18px !important;
  border-radius: 24px !important;
}

html body .trust-block--stage4 .trust-card__topline {
  margin-bottom: 10px !important;
  padding: 6px 10px !important;
}

html body .trust-block--stage4 .trust-card h3 {
  margin-bottom: 8px !important;
  font-size: 1.08rem !important;
  line-height: 1.22 !important;
}

html body .trust-block--stage4 .trust-card p {
  flex: 0 0 auto !important;
  margin-bottom: 10px !important;
  font-size: .9rem !important;
  line-height: 1.48 !important;
}

html body .trust-block--stage4 .trust-badges,
html body .trust-block--stage4 .team-badges {
  gap: 7px !important;
}

html body .trust-block--stage4 .trust-badges .badge,
html body .trust-block--stage4 .team-badges .badge {
  font-size: .74rem !important;
  padding: 6px 10px !important;
}

html body .trust-block--stage4 .trust-card.team-card img {
  max-height: 150px !important;
  margin-bottom: 10px !important;
}

html body .trust-block--stage4 .trust-card.cost-card {
  gap: 10px !important;
}

html body .trust-block--stage4 .trust-card.cost-card .mini-list {
  padding: 14px !important;
}

html body .trust-block--stage4 .trust-card.cost-card .mini-list li {
  font-size: .86rem !important;
  margin-bottom: .45rem !important;
}

html body .trust-block--stage4 .trust-card.cost-card .cost-card__note {
  padding: 14px !important;
}

html body .trust-control-strip {
  margin: 14px 0 0 !important;
  padding: 12px !important;
  border-radius: 24px !important;
}

html body .trust-control-strip div {
  padding: 14px !important;
}

html body .direction-icon--plumbing img {
  transform: scale(1.04) !important;
}

@media (max-width: 768px) {
  html body .trust-block--stage4 .trust-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body .trust-block--stage4 .trust-card.team-card img {
    max-height: 138px !important;
  }
}


/* =============================================================
   STAGE 17 — CRO director polish: trust, form clarity, mobile rhythm
   Scope: CSS/HTML/JS only. PHP, Telegram, Metrika, sitemap, robots, canonical and URLs untouched.
   ============================================================= */

/* First-screen trust line */
.pfhero-v7__trustline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 18px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}
.pfhero-v7__trustline span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(10px) !important;
}
.pfhero-v7__trustline span::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #22d3ee !important;
  box-shadow: 0 0 0 4px rgba(34,211,238,.12) !important;
}

/* Homepage hero: make the message sharper without hiding the photo */
html body .pfhero-v7.pfhero-v7--home {
  background-position: 58% top !important;
}
html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
  width: min(720px, 100%) !important;
}
html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
  max-width: 680px !important;
}
html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge:last-child {
  grid-column: auto !important;
}

/* Honest trust block instead of fake platform screenshots */
.reviews-platforms--honest {
  background:
    radial-gradient(circle at 12% 18%, rgba(34, 211, 238, .15), transparent 30%),
    radial-gradient(circle at 88% 70%, rgba(37, 99, 235, .10), transparent 32%),
    linear-gradient(180deg, #f7fcff 0%, #eef8ff 100%) !important;
}
.honest-trust-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
.reviews-platforms--honest .honest-trust-card {
  min-height: 100% !important;
  padding: 1.35rem !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(14,165,233,.13) !important;
  box-shadow: 0 18px 42px rgba(15, 71, 120, .09) !important;
}
.honest-trust-card__icon {
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  margin-bottom: .9rem !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(34, 211, 238, .16), rgba(37, 99, 235, .10)) !important;
  color: #075985 !important;
  font-weight: 950 !important;
  font-size: 1.15rem !important;
  border: 1px solid rgba(14,165,233,.16) !important;
}
.reviews-platforms--honest .reviews-platforms__card h3 {
  margin: 0 0 .45rem !important;
  color: #12335c !important;
  font-size: 1.08rem !important;
  line-height: 1.2 !important;
}
.reviews-platforms--honest .reviews-platforms__card p {
  margin: 0 !important;
  color: #38506b !important;
  line-height: 1.48 !important;
}

/* Reviews carousel is now typical cases: no fake stars */
.reviews-book .review-rating,
.reviews-book .star {
  display: none !important;
}
.reviews-book .review-name {
  display: inline-flex !important;
  width: max-content !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #075985 !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.reviews-book .review-text {
  font-size: 1.02rem !important;
  line-height: 1.62 !important;
}

/* Quick modal: calmer, simpler, more premium */
.quick-lead-modal--ultra .quick-lead-modal__dialog {
  width: min(100%, 462px) !important;
  border-radius: 30px !important;
  box-shadow: 0 34px 100px rgba(5, 22, 48, .38) !important;
}
.quick-modal-form--ultra {
  padding: 32px 32px 26px !important;
}
.quick-modal-form--ultra .quick-modal-form__head h3 {
  font-size: clamp(30px, 4vw, 38px) !important;
  letter-spacing: -.035em !important;
}
.quick-modal-form--ultra .quick-modal-form__head p {
  color: #48647f !important;
}
.quick-modal-form--ultra .form-row--phone input {
  min-height: 62px !important;
  border-width: 1px !important;
  font-size: clamp(20px, 5vw, 24px) !important;
}
.quick-modal-form--ultra .quick-modal-submit {
  min-height: 58px !important;
}
.quick-modal-form--ultra .form-submit-status {
  margin-top: 0 !important;
  text-align: center !important;
}

/* Call page: the form should feel like a fast action, not a questionnaire */
.quick-lead-card {
  border-radius: 30px !important;
}
.quick-lead-form__head span {
  background: rgba(34,211,238,.13) !important;
  border: 1px solid rgba(14,165,233,.18) !important;
}
.quick-lead-details summary {
  border-radius: 16px !important;
}
.call-form-summary.quick-call-summary {
  border-radius: 16px !important;
  background: rgba(14, 165, 233, .08) !important;
  border: 1px solid rgba(14, 165, 233, .13) !important;
}

/* Service pages: keep CTA and trust visible in first screen */
.service-page .pfhero-v7__trustline {
  margin-top: 16px !important;
}
.service-page .pfhero-v7__trustline span {
  background: rgba(255,255,255,.11) !important;
}
.service-profit-card,
.problem-solution-card,
.price-item {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
@media (hover: hover) {
  .service-profit-card:hover,
  .problem-solution-card:hover,
  .price-item:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 42px rgba(15, 71, 120, .10) !important;
    border-color: rgba(14,165,233,.20) !important;
  }
}

/* Mobile first: tighter rhythm, readable CTA, no squeezed desktop */
@media (max-width: 900px) {
  .honest-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  html body .pfhero-v7.pfhero-v7--home {
    background-position: 61% top !important;
  }
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge:last-child {
    grid-column: auto !important;
  }
  .pfhero-v7__trustline {
    justify-content: center !important;
    margin-top: 14px !important;
    font-size: 12px !important;
  }
  .pfhero-v7__trustline span {
    padding: 6px 8px !important;
  }
  .reviews-platforms--honest .reviews-cta,
  .home-final-cta,
  .urgent-cta {
    text-align: left !important;
  }
  .quick-modal-form--ultra {
    padding: 26px 20px 22px !important;
  }
  .quick-modal-form--ultra .quick-modal-form__head h3 {
    font-size: 32px !important;
  }
}
@media (max-width: 560px) {
  .honest-trust-grid {
    grid-template-columns: 1fr !important;
  }
  .reviews-platforms--honest .honest-trust-card {
    border-radius: 22px !important;
  }
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    font-size: 12.2px !important;
  }
  .pfhero-v7__trustline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  .pfhero-v7__trustline span {
    justify-content: center !important;
  }
  .quick-lead-modal--ultra .quick-lead-modal__dialog {
    border-radius: 24px !important;
  }
}

/* Stage 18 — real cases, coffee machines, honest verification */
.real-cases--stage18 {
  position: relative;
  overflow: hidden;
  padding: 86px 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(34, 211, 238, .18), transparent 32%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 72%);
}
.real-cases--stage18::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(14, 165, 233, .07), transparent 32%, rgba(34, 211, 238, .06));
}
.real-cases__head { position: relative; z-index: 1; max-width: 880px; margin: 0 auto 34px; text-align: center; }
.real-cases__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.real-case-card {
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(173, 216, 245, .78);
  box-shadow: 0 22px 60px rgba(8, 37, 71, .10);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.real-case-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 80px rgba(8, 37, 71, .16);
  border-color: rgba(36, 185, 228, .9);
}
.real-case-card__image {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: #e7f5fb;
}
.real-case-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}
.real-case-card:hover .real-case-card__image img { transform: scale(1.045); filter: saturate(1.04) contrast(1.02); }
.real-case-card__body { padding: 20px 20px 22px; }
.real-case-card__tag {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
  color: #075985;
  background: #e6f8ff;
  border: 1px solid rgba(14, 165, 233, .18);
}
.real-case-card h3 {
  margin-bottom: 12px;
  font-size: clamp(1.12rem, 1.5vw, 1.38rem);
  line-height: 1.18;
  color: #10284d;
}
.real-case-card p { margin: 0 0 8px; font-size: .94rem; line-height: 1.55; color: #40536f; }
.real-case-card p strong { color: #17325b; }
.real-case-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 11px 15px;
  border-radius: 14px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #20c8ee, #0b8fe8);
  box-shadow: 0 14px 28px rgba(14, 165, 233, .20);
}
.real-case-card__cta:hover { transform: translateY(-2px); }
.real-cases__note {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 18px 20px;
  border-radius: 22px;
  color: #17325b;
  background: rgba(232, 247, 255, .78);
  border: 1px solid rgba(118, 195, 238, .45);
  box-shadow: 0 14px 38px rgba(8, 37, 71, .06);
}
.real-cases__note strong { color: #075985; }
.verify-block--stage18 {
  padding: 76px 0;
  background: linear-gradient(180deg, #ffffff, #edf9ff);
}
.verify-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.verify-card {
  padding: 22px;
  border-radius: 24px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(173,216,245,.75);
  box-shadow: 0 18px 50px rgba(8,37,71,.08);
}
.verify-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 14px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #20c8ee, #0b8fe8);
}
.verify-card h3 { margin-bottom: 8px; font-size: 1.1rem; color: #163257; }
.verify-card p { margin-bottom: 14px; font-size: .94rem; color: #53657f; }
.verify-card a { color: #0785c7; font-weight: 900; }
.service-card--coffee .service-card__meta span,
.service-card--coffee .price { color: #0b5e9e; }
.pfhero-v7--coffee { background-position: center center!important; }
.service-coffee-problems .problem-solution-card { border-color: rgba(14, 165, 233, .18); }
.trust-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) {
  .real-cases__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .verify-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .real-cases--stage18 { padding: 58px 0; }
  .real-cases__grid, .verify-grid, .trust-grid--compact { grid-template-columns: 1fr; }
  .real-case-card { border-radius: 22px; }
  .real-case-card__body { padding: 18px; }
  .verify-block--stage18 { padding: 54px 0; }
  .verify-card { padding: 18px; }
}


/* Stage 19: safe Avito/Yandex trust cards after reasons, without fake ratings */


/* Stage 20: restored original platform cards after reasons */
html body .reviews-platforms .reviews-platforms__card.reveal-on-scroll {
  will-change: transform, opacity;
}


/* =============================================================
   MOBILE ADAPTIVE HOTFIX — no new stage, only mobile repair
   Scope: mobile hero, header, floating contacts, case cards, overflow.
   Does not touch PHP/forms/URLs/metrics/sitemap/canonical.
   ============================================================= */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 768px) {
  html body {
    padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
  }

  html body img,
  html body svg,
  html body video,
  html body canvas {
    max-width: 100% !important;
  }

  html body .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Mobile header: compact, stable, no horizontal overflow */
  html body .header {
    z-index: 60 !important;
  }

  html body .header .row {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 48px !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 8px 0 !important;
  }

  html body .header .logo {
    margin-left: 0 !important;
    justify-self: start !important;
    gap: 0 !important;
    min-width: 0 !important;
  }

  html body .header .logo img,
  html body .header .logo__icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    object-fit: contain !important;
  }

  html body .header .logo__text {
    display: none !important;
  }

  html body .header .cta {
    justify-self: stretch !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body .header .phone {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 46px !important;
    padding: 9px 10px !important;
    border-radius: 16px !important;
    font-size: clamp(13px, 3.7vw, 16px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body .header .phone svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }

  html body .burger {
    justify-self: end !important;
    margin-right: 0 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 16px !important;
  }

  html body .mobile-menu__header .logo {
    margin-left: 14px !important;
  }

  html body .mobile-menu__header .mobile-menu__close {
    margin-right: 14px !important;
  }

  /* Mobile hero: separate layout, photo strip on top, readable card below */
  html body .pfhero-v7,
  html body .pfhero-v7.pfhero-v7--page,
  html body .pfhero-v7.pfhero-v7--home {
    min-height: auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: clamp(214px, 58vw, 270px) 0 22px !important;
    background-image:
      linear-gradient(180deg, rgba(3, 8, 20, .05) 0%, rgba(3, 8, 20, .28) 34%, rgba(3, 8, 20, .82) 100%),
      var(--hero-static-image) !important;
    background-size: 100% 100%, auto clamp(240px, 66vw, 304px) !important;
    background-repeat: no-repeat !important;
    background-position: center top, 54% top !important;
  }

  html body .pfhero-v7.pfhero-v7--home {
    background-position: center top, 61% top !important;
    padding-top: clamp(222px, 60vw, 286px) !important;
  }

  html body .pfhero-v7--coffee {
    background-position: center top, 50% top !important;
  }

  html body .pfhero-v7__container,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__container {
    width: min(100% - 24px, 520px) !important;
    max-width: 520px !important;
    padding: 0 !important;
  }

  html body .pfhero-v7__card,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto calc(68px + env(safe-area-inset-bottom, 0px)) !important;
    padding: clamp(18px, 4.9vw, 22px) !important;
    border-radius: 24px !important;
    text-align: center !important;
    background: linear-gradient(145deg, rgba(8, 17, 34, .90), rgba(15, 23, 42, .76)) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 20px 50px rgba(2, 6, 23, .30) !important;
  }

  html body .pfhero-v7 h1,
  html body .pfhero-v7.pfhero-v7--home h1 {
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    font-size: clamp(26px, 7.2vw, 34px) !important;
    line-height: 1.10 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-wrap: balance !important;
  }

  html body .pfhero-v7__subtitle,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
    margin: 0 auto 14px !important;
    max-width: 34em !important;
    font-size: clamp(14px, 3.9vw, 16px) !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }

  html body .pfhero-v7__badges,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 12px 0 14px !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  html body .pfhero-v7__badge,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    width: 100% !important;
    min-height: 36px !important;
    justify-content: center !important;
    padding: 8px 9px !important;
    font-size: clamp(11.8px, 3.25vw, 13px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  html body .pfhero-v7__actions,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin: 8px 0 0 !important;
  }

  html body .pfhero-v7__btn,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
  }

  html body .pfhero-v7__trustline,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__trustline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-top: 12px !important;
  }

  html body .pfhero-v7__trustline span {
    justify-content: center !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 12.5px !important;
    white-space: normal !important;
  }

  /* Fixed contacts: no vertical oval, no center overlap, safe-area aware */
  html body .social-widget,
  html body.service-page .social-widget {
    position: fixed !important;
    z-index: 38 !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 28px), 360px) !important;
    max-width: 360px !important;
    height: 58px !important;
    min-height: 58px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .84) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 38px rgba(2, 6, 23, .24) !important;
    backdrop-filter: blur(16px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: 0 8px 20px rgba(2, 6, 23, .18) !important;
  }

  html body .social-widget__button svg,
  html body .social-widget__button img,
  html body.service-page .social-widget__button svg,
  html body.service-page .social-widget__button img {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    object-fit: contain !important;
  }

  html body .social-widget__button--max img,
  html body .social-widget__max-icon-img,
  html body.service-page .social-widget__button--max img,
  html body.service-page .social-widget__max-icon-img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
  }

  /* Mobile cases: compact, readable, no giant cards */
  html body .real-cases--stage18 {
    padding: 44px 0 48px !important;
  }

  html body .real-cases__head {
    margin-bottom: 20px !important;
  }

  html body .real-cases__head h2,
  html body .reviews-platforms h2,
  html body .reasons-section h2 {
    font-size: clamp(25px, 7vw, 32px) !important;
    line-height: 1.12 !important;
    text-wrap: balance !important;
  }

  html body .real-cases__head .section-subtitle {
    margin-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
  }

  html body .real-cases__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  html body .real-case-card {
    border-radius: 22px !important;
    box-shadow: 0 16px 42px rgba(8, 37, 71, .10) !important;
  }

  html body .real-case-card__image {
    aspect-ratio: 4 / 3 !important;
    max-height: 214px !important;
  }

  html body .real-case-card__image img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  html body .real-case-card--fridge .real-case-card__image img {
    object-position: center center !important;
  }

  html body .real-case-card--coffee .real-case-card__image img,
  html body .real-case-card--coffee-service .real-case-card__image img {
    object-position: center center !important;
  }

  html body .real-case-card__body {
    padding: 16px !important;
  }

  html body .real-case-card__tag {
    margin-bottom: 8px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
  }

  html body .real-case-card h3 {
    margin-bottom: 9px !important;
    font-size: clamp(20px, 5.8vw, 24px) !important;
    line-height: 1.18 !important;
    text-wrap: balance !important;
  }

  html body .real-case-card p {
    margin-bottom: 6px !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
  }

  html body .real-case-card__cta {
    width: 100% !important;
    min-height: 46px !important;
    margin-top: 10px !important;
    padding: 11px 14px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
  }

  html body .real-cases__note {
    display: none !important;
  }

  /* Reasons/platforms cards mobile cleanup */
  html body .reasons-grid,
  html body .platforms-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  html body .reviews-platforms,
  html body .reasons-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  html body .reviews-platforms__image {
    max-height: 185px !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  html body .reviews-platforms__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Forms and CTAs: keep clear of fixed contact dock */
  html body .quick-lead-modal__dialog,
  html body .quick-lead-card,
  html body .call-premium__form,
  html body .question-form {
    max-width: 100% !important;
  }

  html body .footer-premium,
  html body .final-cta,
  html body .lead-picker,
  html body .call-premium {
    padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 380px) {
  html body .header .row {
    grid-template-columns: 42px minmax(0, 1fr) 44px !important;
    gap: 6px !important;
  }

  html body .header .logo img,
  html body .header .logo__icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  html body .burger {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  html body .header .phone {
    min-height: 44px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 13px !important;
  }

  html body .pfhero-v7,
  html body .pfhero-v7.pfhero-v7--page,
  html body .pfhero-v7.pfhero-v7--home {
    padding-top: 218px !important;
  }

  html body .pfhero-v7 h1,
  html body .pfhero-v7.pfhero-v7--home h1 {
    font-size: 25px !important;
  }

  html body .pfhero-v7__badges,
  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    grid-template-columns: 1fr !important;
  }

  html body .social-widget,
  html body.service-page .social-widget {
    width: min(calc(100vw - 20px), 340px) !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 6px 8px !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
    min-height: 43px !important;
    flex-basis: 43px !important;
  }
}

/* Stage 19 — homepage audit compact pass
   Goal: shorter, denser homepage after removing duplicate trust/legal/review explanations.
   Scope: CSS only. PHP/forms/Telegram/Metrika/sitemap/robots/canonical/.htaccess untouched. */

body.home-compact-audit {}

/* Keep the shortened homepage visually tight without looking squeezed. */
html body .directions--surgical,
html body .popular-services--surgical,
html body .reasons--surgical,
html body .real-cases--stage18,
html body .home-process,
html body .faq-premium-section,
html body .home-final-cta {
  scroll-margin-top: 92px;
}

@media (min-width: 993px) {
  html body .directions--surgical,
  html body .popular-services--surgical,
  html body .reasons--surgical,
  html body .real-cases--stage18,
  html body .home-process,
  html body .faq-premium-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  html body .directions--surgical .section-subtitle,
  html body .popular-services--surgical .section-subtitle,
  html body .reasons--surgical .section-subtitle,
  html body .real-cases--stage18 .section-subtitle,
  html body .home-process .section-subtitle {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 28px !important;
  }

  html body .popular-services-grid--premium,
  html body .real-cases__grid {
    gap: 20px !important;
  }
}

/* The fridge card used to feel random because the right edge pulled attention away from the appliance.
   The new crop is from the existing archive photo; this rule keeps the refrigerator centered in all cards. */
html body .real-case-card--fridge .real-case-card__image img {
  object-fit: cover !important;
  object-position: center 48% !important;
}

/* Four-step process after the audit: cleaner rhythm and no fifth duplicate card. */
html body .home-process .process-timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html body .home-process .process-card {
  min-height: 100% !important;
}

/* Slightly stronger visual hierarchy for the now-earlier service/pricing block. */
html body .popular-services--surgical {
  background:
    radial-gradient(circle at 82% 10%, rgba(34, 211, 238, .16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f3fbff 100%) !important;
}

html body .popular-services-grid--premium .service-card h3 {
  text-wrap: balance;
}

html body .popular-actions--stage2 {
  margin-top: 20px !important;
}

/* Mobile: the fixed contact dock stays useful, but content gets safe breathing room. */
@media (max-width: 768px) {
  html body {
    padding-bottom: 72px !important;
  }

  html body .directions--surgical,
  html body .popular-services--surgical,
  html body .reasons--surgical,
  html body .real-cases--stage18,
  html body .home-process,
  html body .faq-premium-section,
  html body .home-final-cta {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }

  html body .popular-services-grid--premium,
  html body .real-cases__grid {
    gap: 14px !important;
  }

  html body .real-case-card--fridge .real-case-card__image img {
    object-position: center 46% !important;
  }

  html body .home-process .process-timeline {
    grid-template-columns: 1fr !important;
  }

  html body .home-process .process-card {
    padding: 18px !important;
  }
}

/* Stage 23: trust screenshots redesigned in Doctor Fix-style composition */
html body .platform-screens--df {
  padding: clamp(54px, 7vw, 92px) 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(20, 185, 255, 0.18), transparent 34%),
    radial-gradient(circle at 92% 12%, rgba(0, 117, 255, 0.10), transparent 30%),
    linear-gradient(180deg, #eef8ff 0%, #f7fbff 58%, #ffffff 100%);
  overflow: hidden;
}

html body .platform-screens__shell {
  position: relative;
  display: grid;
  gap: clamp(22px, 3vw, 32px);
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(33, 111, 178, 0.13);
  border-radius: clamp(26px, 3vw, 38px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.88), rgba(246, 252, 255, 0.94)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.96), transparent 58%);
  box-shadow: 0 28px 90px rgba(20, 62, 112, 0.13);
  isolation: isolate;
}

html body .platform-screens__shell::before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: -1;
  pointer-events: none;
  border-radius: clamp(20px, 2.4vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.78);
}

html body .platform-screens__shell::after {
  content: "";
  position: absolute;
  inset: auto 8% -12% 8%;
  z-index: -2;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(0, 132, 255, 0.14), transparent 68%);
  filter: blur(18px);
}

html body .platform-screens__head {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

html body .platform-screens__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 15px;
  border: 1px solid rgba(0, 132, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #1159b0;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 10px 28px rgba(20, 62, 112, 0.08);
}

html body .platform-screens__kicker svg,
html body .platform-screens__badges svg,
html body .platform-screens__contact-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex: 0 0 auto;
}

html body .platform-screens__head h2 {
  max-width: 880px;
  margin: clamp(14px, 2vw, 22px) auto 12px;
  color: #101d35;
  font-size: clamp(2.15rem, 5vw, 4.45rem);
  line-height: 1.03;
  letter-spacing: -0.055em;
  font-weight: 950;
}

html body .platform-screens__head .section-subtitle {
  max-width: 850px;
  margin: 0 auto;
  color: #4d6077;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.62;
}

html body .platform-screens__badges {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: clamp(18px, 2.4vw, 26px);
}

html body .platform-screens__badges span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(20, 62, 112, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #10223a;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(20, 62, 112, 0.08);
}

html body .platform-screens__badges svg {
  color: #1093e8;
}

html body .platform-screens__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

html body .platform-screen-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 132, 255, 0.15);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 22px 54px rgba(20, 62, 112, 0.10);
  transform: translateZ(0);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

html body .platform-screen-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 132, 255, 0.28);
  box-shadow: 0 30px 68px rgba(20, 62, 112, 0.16);
}

html body .platform-screen-card__media {
  position: relative;
  aspect-ratio: 16 / 8.4;
  margin: 0;
  overflow: hidden;
  background: linear-gradient(135deg, #f5f9ff, #ffffff);
}

html body .platform-screen-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 22%;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.86));
  pointer-events: none;
}

html body .platform-screen-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  transform: scale(1.01);
  transition: transform 0.35s ease;
}

html body .platform-screen-card:hover .platform-screen-card__media img {
  transform: scale(1.045);
}

html body .platform-screen-card__body {
  display: grid;
  gap: 9px;
  padding: clamp(18px, 2vw, 24px);
}

html body .platform-screen-card__tag {
  width: max-content;
  max-width: 100%;
  padding: 8px 13px;
  border-radius: 999px;
  background: #e1f4ff;
  color: #0870bd;
  font-size: 0.77rem;
  font-weight: 950;
  letter-spacing: 0.015em;
  line-height: 1;
  text-transform: uppercase;
}

html body .platform-screen-card h3 {
  margin: 0;
  color: #10223a;
  font-size: clamp(1.22rem, 1.8vw, 1.58rem);
  line-height: 1.14;
  letter-spacing: -0.035em;
  font-weight: 900;
}

html body .platform-screen-card p {
  margin: 0;
  color: #52657d;
  font-size: clamp(0.95rem, 1.1vw, 1.08rem);
  line-height: 1.5;
}

html body .platform-screens__contact {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(0, 132, 255, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 16px 42px rgba(20, 62, 112, 0.09);
}

html body .platform-screens__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1688ff, #00bfae);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(0, 132, 255, 0.24);
}

html body .platform-screens__contact p {
  margin: 0;
  color: #314258;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 650;
}

html body .platform-screens__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

html body .platform-screens__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1688ff, #00bfae);
  color: #ffffff;
  font-weight: 950;
  font-size: 0.94rem;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(0, 132, 255, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  white-space: nowrap;
}

html body .platform-screens__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(0, 132, 255, 0.30);
  filter: saturate(1.08);
}

html body .platform-screens__button--ghost {
  background: #ffffff;
  color: #1262ad;
  border: 1px solid rgba(0, 132, 255, 0.22);
  box-shadow: 0 14px 26px rgba(20, 62, 112, 0.08);
}

@media (max-width: 980px) {
  html body .platform-screens__shell {
    padding: clamp(22px, 4vw, 34px);
  }

  html body .platform-screens__grid {
    grid-template-columns: 1fr;
  }

  html body .platform-screens__contact {
    grid-template-columns: auto minmax(0, 1fr);
  }

  html body .platform-screens__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  html body .platform-screens--df {
    padding: 42px 0;
  }

  html body .platform-screens__shell {
    gap: 18px;
    padding: 18px;
    border-radius: 26px;
  }

  html body .platform-screens__head h2 {
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: 1.05;
  }

  html body .platform-screens__head h2 br {
    display: none;
  }

  html body .platform-screens__head .section-subtitle {
    font-size: 0.95rem;
    line-height: 1.52;
  }

  html body .platform-screens__badges {
    gap: 8px;
    margin-top: 16px;
  }

  html body .platform-screens__badges span {
    min-height: 38px;
    padding: 0 12px;
    font-size: 0.82rem;
  }

  html body .platform-screen-card {
    border-radius: 20px;
  }

  html body .platform-screen-card__media {
    aspect-ratio: 16 / 9;
  }

  html body .platform-screen-card__body {
    padding: 15px;
    gap: 7px;
  }

  html body .platform-screen-card__tag {
    padding: 6px 10px;
    font-size: 0.68rem;
  }

  html body .platform-screen-card h3 {
    font-size: 1.16rem;
  }

  html body .platform-screen-card p {
    font-size: 0.9rem;
    line-height: 1.42;
  }

  html body .platform-screens__contact {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border-radius: 19px;
  }

  html body .platform-screens__contact-icon {
    width: 42px;
    height: 42px;
  }

  html body .platform-screens__contact p {
    font-size: 0.92rem;
  }

  html body .platform-screens__actions {
    justify-content: stretch;
  }

  html body .platform-screens__button {
    flex: 1 1 160px;
    min-height: 44px;
    padding: 0 14px;
    font-size: 0.86rem;
  }
}

@media (max-width: 430px) {
  html body .platform-screens__shell {
    padding: 14px;
  }

  html body .platform-screens__kicker {
    font-size: 0.68rem;
    padding: 6px 11px;
  }

  html body .platform-screens__badges {
    align-items: stretch;
    flex-direction: column;
  }

  html body .platform-screens__badges span {
    justify-content: center;
    width: 100%;
  }

  html body .platform-screen-card__media {
    aspect-ratio: 4 / 3;
  }
}

/* Stage 24: premium framed trust screenshots — compact Doctor Fix-level polish */
html body .platform-screens--df {
  padding: clamp(46px, 6vw, 78px) 0 !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(31, 179, 255, 0.20), transparent 32%),
    radial-gradient(circle at 92% 14%, rgba(20, 120, 255, 0.11), transparent 31%),
    linear-gradient(180deg, #eef8ff 0%, #f7fbff 56%, #ffffff 100%) !important;
}

html body .platform-screens__shell {
  gap: clamp(20px, 2.5vw, 28px) !important;
  padding: clamp(24px, 3.3vw, 42px) !important;
  border-radius: clamp(24px, 2.7vw, 34px) !important;
  border-color: rgba(33, 111, 178, 0.15) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.91), rgba(245, 251, 255, 0.97)),
    radial-gradient(circle at 50% 0%, rgba(205, 240, 255, 0.72), transparent 52%) !important;
  box-shadow: 0 24px 74px rgba(20, 62, 112, 0.13) !important;
}

html body .platform-screens__head {
  max-width: 920px !important;
}

html body .platform-screens__kicker {
  min-height: 32px !important;
  padding: 7px 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(231, 247, 255, 0.9)) !important;
  border-color: rgba(0, 132, 255, 0.20) !important;
  box-shadow: 0 10px 24px rgba(20, 62, 112, 0.07) !important;
}

html body .platform-screens__head h2 {
  max-width: 840px !important;
  margin: clamp(14px, 1.8vw, 20px) auto 11px !important;
  font-size: clamp(2rem, 3.8vw, 3.45rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  color: #0f1d34 !important;
}

html body .platform-screens__head .section-subtitle {
  max-width: 780px !important;
  font-size: clamp(0.98rem, 1.15vw, 1.12rem) !important;
  line-height: 1.55 !important;
  color: #4b5f78 !important;
}

html body .platform-screens__badges {
  margin-top: clamp(16px, 2vw, 22px) !important;
  gap: 10px !important;
}

html body .platform-screens__badges span {
  min-height: 40px !important;
  padding: 0 16px !important;
  background: linear-gradient(180deg, #ffffff, #f5fbff) !important;
  border-color: rgba(20, 62, 112, 0.11) !important;
  box-shadow: 0 10px 24px rgba(20, 62, 112, 0.075) !important;
  font-size: 0.93rem !important;
}

html body .platform-screens__grid {
  gap: clamp(16px, 1.75vw, 22px) !important;
}

html body .platform-screen-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 12px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(18, 110, 190, 0.17) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,253,255,0.96)) !important;
  box-shadow:
    0 18px 48px rgba(20, 62, 112, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

html body .platform-screen-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 132, 255, 0.30) !important;
  box-shadow:
    0 26px 62px rgba(20, 62, 112, 0.15),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

html body .platform-screen-card__media {
  position: relative !important;
  aspect-ratio: 16 / 8.35 !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(25, 107, 177, 0.14) !important;
  border-radius: 21px !important;
  background:
    linear-gradient(135deg, rgba(234, 248, 255, 0.92), rgba(255,255,255,0.96)),
    radial-gradient(circle at 10% 0%, rgba(0, 174, 255, 0.10), transparent 42%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 -18px 38px rgba(25, 122, 199, 0.045),
    0 12px 30px rgba(20, 62, 112, 0.075) !important;
  overflow: hidden !important;
}

html body .platform-screen-card__media::before {
  content: "" !important;
  position: absolute !important;
  left: 21px !important;
  top: 19px !important;
  z-index: 2 !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(24, 147, 232, 0.42) !important;
  box-shadow: 11px 0 0 rgba(24, 147, 232, 0.24), 22px 0 0 rgba(24, 147, 232, 0.16) !important;
  pointer-events: none !important;
}

html body .platform-screen-card__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0) 38%, rgba(255,255,255,0.80) 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.62) !important;
  pointer-events: none !important;
}

html body .platform-screen-card__media img {
  width: 100% !important;
  height: 100% !important;
  border: 1px solid rgba(18, 72, 125, 0.10) !important;
  border-radius: 15px !important;
  object-fit: cover !important;
  object-position: center top !important;
  box-shadow: 0 10px 24px rgba(17, 62, 112, 0.10) !important;
  transform: scale(1.005) !important;
}

html body .platform-screen-card:hover .platform-screen-card__media img {
  transform: scale(1.032) !important;
}

html body .platform-screen-card__body {
  flex: 1 1 auto !important;
  align-content: start !important;
  gap: 7px !important;
  padding: 16px 6px 4px !important;
}

html body .platform-screen-card__tag {
  padding: 7px 11px !important;
  background: linear-gradient(180deg, #e2f5ff, #d5efff) !important;
  color: #0870bd !important;
  font-size: 0.70rem !important;
  letter-spacing: 0.025em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

html body .platform-screen-card h3 {
  font-size: clamp(1.14rem, 1.45vw, 1.38rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

html body .platform-screen-card p {
  max-width: 92% !important;
  color: #52647a !important;
  font-size: clamp(0.91rem, 1vw, 1rem) !important;
  line-height: 1.42 !important;
}

html body .platform-screens__contact {
  gap: 14px !important;
  padding: 14px 16px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(242, 251, 255, 0.88)) !important;
  box-shadow: 0 14px 34px rgba(20, 62, 112, 0.08) !important;
}

html body .platform-screens__contact-icon {
  width: 44px !important;
  height: 44px !important;
  box-shadow: 0 12px 28px rgba(0, 132, 255, 0.22) !important;
}

html body .platform-screens__contact p {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
}

html body .platform-screens__button {
  min-height: 44px !important;
  padding: 0 19px !important;
  font-size: 0.90rem !important;
}

@media (max-width: 980px) {
  html body .platform-screen-card__media {
    aspect-ratio: 16 / 8.7 !important;
  }
}

@media (max-width: 720px) {
  html body .platform-screens--df {
    padding: 38px 0 !important;
  }

  html body .platform-screens__shell {
    padding: 17px !important;
    gap: 17px !important;
    border-radius: 24px !important;
  }

  html body .platform-screens__head h2 {
    font-size: clamp(1.55rem, 7.8vw, 2.22rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
  }

  html body .platform-screens__head h2 br {
    display: none !important;
  }

  html body .platform-screens__head .section-subtitle {
    font-size: 0.92rem !important;
    line-height: 1.48 !important;
  }

  html body .platform-screens__badges {
    justify-content: center !important;
    gap: 8px !important;
  }

  html body .platform-screens__badges span {
    min-height: 36px !important;
    padding: 0 11px !important;
    font-size: 0.80rem !important;
  }

  html body .platform-screen-card {
    padding: 9px !important;
    border-radius: 20px !important;
  }

  html body .platform-screen-card__media {
    padding: 7px !important;
    border-radius: 17px !important;
    aspect-ratio: 16 / 9.4 !important;
  }

  html body .platform-screen-card__media::before {
    left: 15px !important;
    top: 14px !important;
  }

  html body .platform-screen-card__media::after {
    inset: 7px !important;
    border-radius: 12px !important;
  }

  html body .platform-screen-card__media img {
    border-radius: 12px !important;
  }

  html body .platform-screen-card__body {
    padding: 13px 4px 3px !important;
  }

  html body .platform-screen-card p {
    max-width: none !important;
  }
}

@media (max-width: 430px) {
  html body .platform-screens__shell {
    padding: 13px !important;
  }

  html body .platform-screens__kicker {
    font-size: 0.66rem !important;
  }

  html body .platform-screens__badges {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  html body .platform-screens__badges span {
    justify-content: center !important;
  }

  html body .platform-screen-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  html body .platform-screens__button {
    width: 100% !important;
  }
}

/* Stage 25: final clean polish for trust screenshots — remove overlay artefacts and tighten headline */
html body .platform-screens__head h2 {
  max-width: 760px !important;
  margin: clamp(12px, 1.5vw, 17px) auto 9px !important;
  font-size: clamp(1.78rem, 3.05vw, 2.86rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.038em !important;
}

html body .platform-screens__head .section-subtitle {
  max-width: 700px !important;
  font-size: clamp(0.94rem, 1vw, 1.03rem) !important;
  line-height: 1.48 !important;
}

html body .platform-screens__shell {
  gap: clamp(18px, 2.2vw, 26px) !important;
}

html body .platform-screen-card__media {
  padding: 8px !important;
  background: linear-gradient(180deg, #f8fcff, #ffffff) !important;
  border: 1px solid rgba(20, 102, 174, 0.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 12px 28px rgba(20, 62, 112, 0.075) !important;
}

html body .platform-screen-card__media::before,
html body .platform-screen-card__media::after {
  content: none !important;
  display: none !important;
}

html body .platform-screen-card__media img {
  border-radius: 14px !important;
  object-position: center top !important;
  transform: none !important;
  filter: none !important;
  box-shadow: 0 8px 20px rgba(17, 62, 112, 0.085) !important;
}

html body .platform-screen-card:hover .platform-screen-card__media img {
  transform: none !important;
}

@media (max-width: 720px) {
  html body .platform-screens__head h2 {
    max-width: 100% !important;
    font-size: clamp(1.42rem, 6.9vw, 2.02rem) !important;
    line-height: 1.15 !important;
  }

  html body .platform-screens__head .section-subtitle {
    font-size: 0.9rem !important;
    line-height: 1.44 !important;
  }

  html body .platform-screen-card__media {
    padding: 6px !important;
  }

  html body .platform-screen-card__media img {
    border-radius: 11px !important;
  }
}


/* Stage 26: trust screenshots height fix — reduce vertical crop and show full platform cards */
html body .platform-screens__head h2 {
  max-width: 730px !important;
  font-size: clamp(1.72rem, 2.9vw, 2.68rem) !important;
  line-height: 1.12 !important;
}

html body .platform-screens__head .section-subtitle {
  max-width: 680px !important;
  font-size: clamp(0.93rem, 0.98vw, 1rem) !important;
  line-height: 1.44 !important;
}

html body .platform-screen-card {
  padding: 11px !important;
}

html body .platform-screen-card__media {
  aspect-ratio: 1448 / 1086 !important;
  padding: 8px !important;
  align-items: flex-start !important;
}

html body .platform-screen-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: top center !important;
  background: #ffffff !important;
}

@media (max-width: 980px) {
  html body .platform-screen-card__media {
    aspect-ratio: 1448 / 1086 !important;
  }
}

@media (max-width: 720px) {
  html body .platform-screens__head h2 {
    font-size: clamp(1.34rem, 6.4vw, 1.9rem) !important;
    line-height: 1.13 !important;
  }

  html body .platform-screens__head .section-subtitle {
    font-size: 0.88rem !important;
    line-height: 1.42 !important;
  }

  html body .platform-screen-card {
    padding: 8px !important;
  }

  html body .platform-screen-card__media {
    aspect-ratio: 1448 / 1086 !important;
    padding: 6px !important;
  }

  html body .platform-screen-card__media img {
    object-fit: contain !important;
  }
}

@media (max-width: 430px) {
  html body .platform-screen-card__media {
    aspect-ratio: 1448 / 1086 !important;
  }
}


/* Stage 29: INDEX ONLY mobile hero final fix — visible photo, no giant dark gap */
@media (max-width: 640px) {
  html body .pfhero-v7.pfhero-v7--home {
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: clamp(112px, 31vw, 136px) !important;
    padding-bottom: 18px !important;
    margin-top: 0 !important;
    background-color: #071426 !important;
    background-image:
      linear-gradient(180deg,
        rgba(7, 20, 38, .10) 0%,
        rgba(7, 20, 38, .22) 30%,
        rgba(7, 20, 38, .70) 68%,
        rgba(7, 20, 38, .95) 100%),
      url('../img/hero-static/home-master.jpg?v=mobile-index-hero-final-1') !important;
    background-size: cover !important;
    background-position: 68% top !important;
    background-repeat: no-repeat !important;
  }

  html body .pfhero-v7.pfhero-v7--home::before,
  html body .pfhero-v7.pfhero-v7--home::after {
    content: none !important;
    display: none !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__overlay {
    z-index: 1 !important;
    background:
      radial-gradient(circle at 68% 8%, rgba(34, 211, 238, .12), transparent 34%),
      linear-gradient(180deg, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, .08) 42%, rgba(2, 6, 23, .18) 100%) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__container {
    position: relative !important;
    z-index: 3 !important;
    width: calc(100% - 22px) !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 16px 16px 17px !important;
    border-radius: 22px !important;
    text-align: center !important;
    background: linear-gradient(145deg, rgba(7, 15, 31, .88), rgba(15, 23, 42, .74)) !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    box-shadow: 0 18px 44px rgba(2, 6, 23, .30) !important;
    backdrop-filter: blur(10px) saturate(122%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(122%) !important;
  }

  html body .pfhero-v7.pfhero-v7--home h1 {
    margin: 0 auto 9px !important;
    max-width: 12em !important;
    font-size: clamp(26px, 7.3vw, 31px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
    margin: 0 auto 11px !important;
    max-width: 32em !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
    text-align: center !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badges {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 10px 0 11px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    width: 100% !important;
    min-height: 32px !important;
    justify-content: center !important;
    padding: 6px 7px !important;
    border-radius: 17px !important;
    font-size: 11.7px !important;
    line-height: 1.12 !important;
    text-align: center !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 5px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__trustline {
    display: none !important;
  }
}

@media (max-width: 390px) {
  html body .pfhero-v7.pfhero-v7--home {
    padding-top: 106px !important;
    padding-bottom: 16px !important;
    background-position: 69% top !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    padding: 15px 14px 16px !important;
  }

  html body .pfhero-v7.pfhero-v7--home h1 {
    font-size: clamp(25px, 7vw, 29px) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
    font-size: 13.5px !important;
    line-height: 1.34 !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    min-height: 30px !important;
    font-size: 11.2px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__btn {
    min-height: 42px !important;
  }
}

/* Stage 31: INDEX ONLY mobile hero glass opacity tune — no position changes */
@media (max-width: 640px) {
  html body .pfhero-v7.pfhero-v7--home {
    padding-top: clamp(82px, 23vw, 96px) !important;
    padding-bottom: 16px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__overlay {
    background:
      radial-gradient(circle at 68% 8%, rgba(34, 211, 238, .10), transparent 34%),
      linear-gradient(180deg, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, .05) 36%, rgba(2, 6, 23, .12) 100%) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    transform: translateY(-22px) !important;
    padding: 15px 15px 16px !important;
    background:
      linear-gradient(135deg, rgba(8, 18, 38, .34), rgba(8, 18, 38, .18)) !important;
    border: 1px solid rgba(255, 255, 255, .30) !important;
    box-shadow:
      0 16px 42px rgba(0, 0, 0, .18),
      inset 0 1px 0 rgba(255, 255, 255, .24),
      inset 0 -1px 0 rgba(255, 255, 255, .05) !important;
    backdrop-filter: blur(24px) saturate(165%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(165%) !important;
  }

  html body .pfhero-v7.pfhero-v7--home h1 {
    text-shadow: 0 10px 28px rgba(0, 0, 0, .48) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__subtitle {
    color: rgba(255, 255, 255, .92) !important;
    text-shadow: 0 8px 20px rgba(0, 0, 0, .34) !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__badge {
    background: rgba(255, 255, 255, .15) !important;
    border-color: rgba(255, 255, 255, .28) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09) !important;
  }
}

@media (max-width: 390px) {
  html body .pfhero-v7.pfhero-v7--home {
    padding-top: 78px !important;
    padding-bottom: 14px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__card {
    transform: translateY(-20px) !important;
    padding: 14px 13px 15px !important;
  }

  html body .pfhero-v7.pfhero-v7--home .pfhero-v7__actions {
    gap: 7px !important;
    margin-top: 4px !important;
  }
}


/* MODULE RESTORE: mobile header + floating contacts from working SOURCE */
@media (max-width: 768px) {
  body .header .container.row,
  body .header .row {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 56px !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body .header .logo {
    min-width: 0 !important;
    width: 52px !important;
    max-width: 52px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    order: 1 !important;
  }

  body .header .logo img,
  body .header .logo__icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    object-fit: contain !important;
    display: block !important;
  }

  body .header .logo span,
  body .header .logo .logo__text {
    display: none !important;
  }

  body .header .cta {
    order: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: stretch !important;
  }

  body .header .btn.phone,
  body .header .phone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: 56px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    border-radius: 12px !important;
    font-size: clamp(13px, 3.6vw, 16px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    justify-content: center !important;
  }

  body .header .burger {
    order: 3 !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    justify-self: end !important;
    border-radius: 12px !important;
  }

  html body .social-widget,
  html body.service-page .social-widget {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 7px !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .72) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 48px rgba(2, 6, 23, .28) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .20) !important;
  }

  html body .social-widget__button svg,
  html body .social-widget__button img,
  html body.service-page .social-widget__button svg,
  html body.service-page .social-widget__button img {
    width: 21px !important;
    height: 21px !important;
  }

  html body .social-widget__button--max img,
  html body .social-widget__max-icon-img,
  html body.service-page .social-widget__button--max img,
  html body.service-page .social-widget__max-icon-img {
    width: 25px !important;
    max-width: 25px !important;
    height: auto !important;
  }
}

@media (max-width: 380px) {
  body .header .container.row,
  body .header .row {
    grid-template-columns: 48px minmax(0, 1fr) 52px !important;
    gap: 8px !important;
  }

  body .header .logo,
  body .header .logo img,
  body .header .logo__icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  body .header .btn.phone,
  body .header .phone {
    min-height: 52px !important;
    height: 52px !important;
    font-size: 13px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body .header .burger {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }

  html body .social-widget,
  html body.service-page .social-widget {
    width: calc(100% - 22px) !important;
    justify-content: space-between !important;
  }
}

/* Emergency cleanup 2026-05-19: rollback broken photo/float layers without redesign.
   Purpose: no random SEO photo blocks; mobile contact dock hidden on hero until JS opens it. */
@media (max-width: 768px) {
  html body .pfhero-v7.pfhero-v7--page {
    min-height: auto !important;
    padding: 92px 0 26px !important;
    align-items: center !important;
    justify-content: center !important;
    background-image:
      linear-gradient(180deg, rgba(5, 12, 24, .48) 0%, rgba(5, 12, 24, .74) 100%),
      var(--hero-static-image) !important;
    background-size: cover !important;
    background-position: var(--hero-mobile-position, center center) !important;
    background-repeat: no-repeat !important;
  }

  html body .pfhero-v7.pfhero-v7--page::before,
  html body .pfhero-v7.pfhero-v7--page::after {
    content: none !important;
    display: none !important;
  }

  html body .pfhero-v7.pfhero-v7--page .pfhero-v7__card {
    margin: 0 auto !important;
    padding: clamp(17px, 4.4vw, 22px) !important;
  }

  html body .pfhero-v7.pfhero-v7--page .pfhero-v7__trustline {
    display: none !important;
  }

  html body .pfhero-v7__photo.seo-visible-photo {
    display: none !important;
  }

  html body .social-widget,
  html body.service-page .social-widget {
    position: fixed !important;
    z-index: 38 !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 16px) !important;
    transform: translateX(-50%) translateY(14px) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: min(calc(100vw - 32px), 308px) !important;
    max-width: 308px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 6px 8px !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .72) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 48px rgba(2, 6, 23, .28) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex: 0 0 38px !important;
  }

  html body.social-widget-visible .social-widget,
  html body.service-page.social-widget-visible .social-widget {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }
}

@media (max-width: 430px) {
  html body .pfhero-v7.pfhero-v7--page {
    padding-top: 78px !important;
    padding-bottom: 22px !important;
  }

  html body .pfhero-v7.pfhero-v7--page h1 {
    font-size: clamp(24px, 6.7vw, 30px) !important;
    line-height: 1.08 !important;
  }

  html body .pfhero-v7.pfhero-v7--page .pfhero-v7__subtitle {
    font-size: 14px !important;
    line-height: 1.38 !important;
  }
}

/* Footer final polish: roomy privacy link and calmer legal notice. */
html body .footer-premium__top {
  grid-template-columns:
    minmax(260px, 1.18fr)
    minmax(220px, .82fr)
    minmax(150px, .58fr)
    minmax(230px, .82fr) !important;
}

html body .footer-premium__top > .footer-premium__nav:last-child {
  min-width: 230px;
}

html body .footer-premium__top > .footer-premium__nav:last-child a {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.38;
}

html body .footer-premium__top > .footer-premium__nav:last-child a[href$="privacy.html"] {
  white-space: normal;
  text-wrap: balance;
}

html body.service-page .footer-premium__top {
  grid-template-columns:
    minmax(0, 1.18fr)
    minmax(220px, .78fr)
    minmax(160px, .58fr)
    minmax(230px, .78fr) !important;
}

html body .footer-premium__legal-blur,
html body.service-page .footer-premium__legal-blur {
  width: min(100%, 1040px) !important;
  padding: 14px 18px !important;
  border-radius: 16px !important;
  border-color: rgba(148, 210, 255, .08) !important;
  background: rgba(255, 255, 255, .026) !important;
  box-shadow: none !important;
  color: rgba(202, 220, 236, .48) !important;
  filter: none !important;
  opacity: 1 !important;
  text-align: left !important;
}

html body .footer-premium__legal-blur::before,
html body.service-page .footer-premium__legal-blur::before {
  color: rgba(139, 220, 255, .52) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .075em !important;
}

html body .footer-premium__legal-line,
html body.service-page .footer-premium__legal-line {
  color: inherit !important;
  font-size: .74rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: .015em !important;
  text-shadow: none !important;
}

html body .footer-premium__legal-line + .footer-premium__legal-line,
html body.service-page .footer-premium__legal-line + .footer-premium__legal-line {
  margin-top: 3px !important;
  color: rgba(202, 220, 236, .42) !important;
}

@media (max-width: 1180px) and (min-width: 981px) {
  html body .footer-premium__top,
  html body.service-page .footer-premium__top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .footer-premium__top > .footer-premium__nav:last-child {
    min-width: 0;
  }
}

@media (max-width: 980px) {
  html body .footer-premium__top,
  html body.service-page .footer-premium__top {
    grid-template-columns: 1fr !important;
  }

  html body .footer-premium__top > .footer-premium__nav:last-child {
    min-width: 0;
  }

  html body .footer-premium__legal-blur,
  html body.service-page .footer-premium__legal-blur {
    padding: 13px 14px !important;
  }

  html body .footer-premium__legal-line,
  html body.service-page .footer-premium__legal-line {
    font-size: .72rem !important;
    line-height: 1.52 !important;
  }
}

/* Homepage services toggle: keep the first view compact without removing content. */
html body .popular-services-grid--premium {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .popular-services-grid--premium > .service-card {
  display: none !important;
}

html body .popular-services-grid--premium > .popular-service-primary {
  display: flex !important;
  min-height: 100%;
}

html body .popular-services-grid--premium > .popular-service-primary--1 { order: 1; }
html body .popular-services-grid--premium > .popular-service-primary--2 { order: 2; }
html body .popular-services-grid--premium > .popular-service-primary--3 { order: 3; }

html body .services-toggle {
  display: flex;
  justify-content: center;
  margin: 30px 0 0;
}

html body .services-toggle__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  min-width: 250px;
  padding: 16px 26px;
  border: 2px solid rgba(11, 120, 255, .72);
  border-radius: 16px;
  color: #0b78ff;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 16px 34px rgba(15, 50, 90, .10);
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

html body .services-toggle__button:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 20px 42px rgba(15, 50, 90, .14);
}

html body .services-toggle__icon {
  width: 18px;
  height: 18px;
  background: currentColor;
  clip-path: polygon(50% 72%, 10% 30%, 22% 18%, 50% 47%, 78% 18%, 90% 30%);
  transition: transform .2s ease;
}

html body .services-toggle__button[aria-expanded="true"] .services-toggle__icon {
  transform: rotate(180deg);
}

html body .services-more-list {
  display: block;
  margin: 24px auto 0;
  max-height: 900px;
  opacity: 1;
  transform: translateY(0);
  overflow: hidden;
  transition: max-height .34s ease, opacity .24s ease, transform .24s ease, margin-top .24s ease;
}

html body .services-more-list[hidden] {
  display: block;
  max-height: 0;
  margin-top: 0;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

html body .services-more-list__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(11, 120, 255, .10);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.96));
  box-shadow: 0 22px 60px rgba(15, 50, 90, .10);
}

html body .services-more-list__category {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(12, 71, 130, .08);
  border-radius: 20px;
  background: #fff;
}

html body .services-more-list__category h3 {
  margin: 0 0 14px;
  color: #0a1738;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

html body .services-more-list__category a {
  display: block;
  padding: 10px 0;
  border-top: 1px solid rgba(12, 71, 130, .07);
  color: #465772;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}

html body .services-more-list__category a:hover {
  color: #0b78ff;
  transform: translateX(3px);
}

@media (max-width: 980px) {
  html body .popular-services-grid--premium {
    grid-template-columns: 1fr !important;
  }

  html body .services-more-list__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html body .popular-services--surgical {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body .services-toggle {
    margin-top: 22px;
    padding-bottom: 72px;
    position: relative;
    z-index: 45;
  }

  html body .services-toggle__button {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    border-radius: 14px;
  }

  html body .services-more-list__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 20px;
  }

  html body .services-more-list__category {
    padding: 16px;
    border-radius: 18px;
  }
}

/* Final fix: homepage "show more" uses service cards, not category text lists. */
html body .popular-services-grid--premium[data-services-grid] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

html body .popular-services-grid--premium[data-services-grid] > .service-card {
  min-height: 100% !important;
}

html body .popular-services-grid--premium[data-services-grid] > .service-card[hidden] {
  display: none !important;
}

html body .popular-services-grid--premium[data-services-grid].is-expanded > .service-card:not(.popular-service-primary) {
  display: flex !important;
  animation: popularServiceCardIn .32s ease both;
}

@keyframes popularServiceCardIn {
  from {
    max-height: 0;
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    max-height: 560px;
    opacity: 1;
    transform: translateY(0);
  }
}

html body .services-more-list {
  display: none !important;
}

html body .services-toggle {
  position: relative !important;
  z-index: 4 !important;
  margin: 28px 0 0 !important;
  padding-bottom: 0 !important;
}

html body .services-toggle__button[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  html body .popular-services-grid--premium[data-services-grid] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html body .popular-services--surgical {
    padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body .services-toggle {
    margin-top: 20px !important;
    padding-bottom: 0 !important;
  }
}

/* Final fix: communication buttons are fixed UI, never content in the page flow. */
html body .social-widget,
html body.service-page .social-widget {
  position: fixed !important;
  z-index: 9998 !important;
  left: auto !important;
  right: clamp(24px, 2.2vw, 32px) !important;
  top: 50% !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

html body .social-widget__button,
html body.service-page .social-widget__button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  flex: 0 0 56px !important;
}

html body .social-widget__button--max img,
html body .social-widget__max-icon-img,
html body.service-page .social-widget__button--max img,
html body.service-page .social-widget__max-icon-img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  object-fit: contain !important;
}

@media (max-width: 768px) {
  html body {
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body .social-widget,
  html body.service-page .social-widget,
  html body.social-widget-visible .social-widget,
  html body.service-page.social-widget-visible .social-widget {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: min(calc(100vw - 28px), 336px) !important;
    max-width: 336px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .86) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: 0 18px 44px rgba(2, 6, 23, .26) !important;
    backdrop-filter: blur(16px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
  }
}

/* services.html: use the no-logo doorway photo and keep the master away from text. */
html body.services-page .inner-premium-hero--services {
  --hero-static-image: url('../img/hero-static/call-master.jpg?v=services-no-logo-1') !important;
  --hero-mobile-position: 72% center;
  --hero-mobile-object-position: 72% center;
  background-position: 72% center !important;
}

html body.services-page .inner-premium-hero--services .pd-hero-clean__media img {
  content: url('../img/hero-static/call-master.jpg') !important;
  object-position: 72% center !important;
}

/* Final desktop home hero compaction + mobile side floating contacts. */
@media (min-width: 993px) {
  html body .pd-hero-clean.pfhero-v7--home {
    min-height: clamp(520px, 62svh, 650px) !important;
    padding-top: clamp(18px, 2.2vh, 28px) !important;
    padding-bottom: clamp(28px, 4vh, 44px) !important;
    align-items: center !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__container {
    transform: translateY(-18px) !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__card {
    width: min(635px, 100%) !important;
    max-width: 635px !important;
    padding: clamp(24px, 2.7vw, 36px) !important;
  }

  html body .pd-hero-clean.pfhero-v7--home h1 {
    font-size: clamp(36px, 3.65vw, 54px) !important;
    line-height: 1.04 !important;
    margin-bottom: 14px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__subtitle {
    margin-bottom: 16px !important;
    font-size: clamp(16px, 1.15vw, 18px) !important;
    line-height: 1.5 !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__badges {
    margin: 14px 0 18px !important;
    gap: 8px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__badge {
    padding: 8px 13px !important;
    font-size: 13px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__actions {
    gap: 12px !important;
    margin-top: 4px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__btn {
    min-height: 50px !important;
    padding: 13px 21px !important;
  }

  html body .today-status {
    margin-top: -20px !important;
    position: relative !important;
    z-index: 5 !important;
  }
}

@media (max-width: 768px) {
  html body {
    padding-bottom: 0 !important;
  }

  html body .social-widget,
  html body.service-page .social-widget,
  html body.social-widget-visible .social-widget,
  html body.service-page.social-widget-visible .social-widget {
    position: fixed !important;
    z-index: 9998 !important;
    left: auto !important;
    right: clamp(10px, 3.2vw, 14px) !important;
    top: 55% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
    border-radius: 50% !important;
    box-shadow: 0 12px 26px rgba(2, 6, 23, .24) !important;
  }

  html body .social-widget__button svg,
  html body .social-widget__button img,
  html body.service-page .social-widget__button svg,
  html body.service-page .social-widget__button img {
    width: 20px !important;
    height: 20px !important;
  }

  html body .social-widget__button--max img,
  html body .social-widget__max-icon-img,
  html body.service-page .social-widget__button--max img,
  html body.service-page .social-widget__max-icon-img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
  }

  html body.mobile-menu-open .social-widget,
  html body.menu-open .social-widget,
  html body.nav-open .social-widget {
    z-index: 30 !important;
  }
}

@media (max-width: 380px) {
  html body .social-widget,
  html body.service-page .social-widget,
  html body.social-widget-visible .social-widget,
  html body.service-page.social-widget-visible .social-widget {
    right: 8px !important;
    gap: 8px !important;
  }

  html body .social-widget__button,
  html body.service-page .social-widget__button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    flex-basis: 42px !important;
  }
}

/* Last-mile desktop fold: the home hero should hand off to the status strip. */
@media (min-width: 993px) {
  html body .pd-hero-clean.pfhero-v7--home {
    height: clamp(560px, calc(100svh - 190px), 760px) !important;
    min-height: 0 !important;
    padding-top: 18px !important;
    padding-bottom: 24px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__container {
    transform: translateY(-28px) !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__card {
    width: min(590px, 100%) !important;
    max-width: 590px !important;
    padding: clamp(22px, 2.25vw, 30px) !important;
    border-radius: 26px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home h1 {
    font-size: clamp(34px, 3.15vw, 46px) !important;
    line-height: 1.03 !important;
    margin-bottom: 12px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__subtitle {
    max-width: 540px !important;
    margin-bottom: 12px !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.42 !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__badges {
    margin: 12px 0 14px !important;
    gap: 8px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__badge {
    min-height: 42px !important;
    padding: 7px 12px !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__btn {
    min-height: 46px !important;
    min-width: 170px !important;
    padding: 12px 19px !important;
    border-radius: 12px !important;
  }

  html body .pd-hero-clean.pfhero-v7--home .pfhero-v7__trustline {
    margin-top: 10px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  html body .today-status {
    margin-top: -18px !important;
  }
}
