/* Isolated final repair layer for the WordPress service page. */
.wp-page {
  --wp-ink: #202426;
  --wp-dark: #17221d;
  --wp-green: #087b43;
  --wp-accent: #16ad5b;
  --wp-mint: #dff7e9;
  --wp-line: #d6e0da;
  --wp-muted: #6f7873;
}

.wp-page h1,
.wp-page h2,
.wp-page h3 { letter-spacing: -.025em; }

@media (min-width: 1180px) {
  .wp-page .hero { grid-template-columns: 1fr 1fr; gap: 44px; }
  .wp-page .hero h1 { font-size: clamp(58px, 5.15vw, 74px); white-space: nowrap; }
}

.wp-page button:focus-visible,
.wp-page a:focus-visible,
.wp-page summary:focus-visible,
.wp-page input:focus-visible,
.wp-page textarea:focus-visible {
  outline: 3px solid rgba(22, 173, 91, .2);
  outline-offset: 3px;
}

.wp-page button i img,
.wp-page .text-button i img {
  display: block;
  width: 18px;
  height: 18px;
}

.wp-page .site-header .brand {
  position: relative;
  isolation: isolate;
  width: 132px;
  height: 40px;
}

.wp-page .site-header .brand::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 4px;
  left: -7px;
  width: 43px;
  height: 31px;
  border-radius: 9px;
  background: #d9f8e6;
  transform: rotate(-2deg);
}

.wp-page .site-header .brand img { width: 126px; }

.wp-page .header-cta i img,
.wp-page .mobile-menu button i img { width: 15px; height: 15px; filter: brightness(0) invert(1); }

.wp-page .header-cta,
.wp-page .mobile-menu button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 7px 8px 7px 16px;
  line-height: 1;
  white-space: nowrap;
}

.wp-page .header-cta i,
.wp-page .mobile-menu button i {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin-left: 0;
}

.wp-page .direct-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.wp-page .direct-contact > a {
  display: inline-flex;
  width: auto;
  min-width: 104px;
  height: 42px;
  padding: 0 14px;
  gap: 8px;
  color: var(--wp-ink);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}

.wp-page .direct-contact > a:hover { border-color: #9acfb2; transform: translateY(-1px); }

.wp-page .wp-mark,
.wp-page .wp-symbol {
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  border: 1px solid rgba(8, 123, 67, .18);
  border-radius: 50%;
  background: #fff;
}

.wp-page .wp-mark { width: 42px; height: 42px; }
.wp-page .wp-symbol { width: 34px; height: 34px; }
.wp-page .wp-mark img { width: 36px; height: 36px; object-fit: contain; }
.wp-page .wp-symbol img { width: 28px; height: 28px; object-fit: contain; }

.wp-page .task-icon svg,
.wp-page .result-badge > i svg,
.wp-page .trust-strip article > i svg,
.wp-page .service-icon svg,
.wp-page .path-num svg,
.wp-page .workflow-icon svg,
.wp-page .price-card li > i svg,
.wp-page .modal-close svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wp-page .task-icon svg { width: 18px; height: 18px; }
.wp-page .result-badge > i svg { width: 17px; height: 17px; }

.wp-page .result-badge { top: 48px; right: -8px; }

.wp-page .trust-strip article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
}

.wp-page .trust-strip article > i {
  display: grid;
  grid-column: 1;
  grid-row: 1 / 3;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(22, 173, 91, .12);
  border-radius: 13px;
  background: var(--wp-mint);
  color: var(--wp-green);
}

.wp-page .trust-strip article > i svg { width: 21px; height: 21px; }
.wp-page .trust-strip article > b,
.wp-page .trust-strip article > span { grid-column: 2; }

.wp-page .diagnostic-copy > span,
.wp-page .price-main > span { color: #72e6a5; }

.wp-page .service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.wp-page .service-card,
.wp-page .service-card.featured {
  grid-row: auto;
  min-height: 340px;
}

.wp-page .service-card.featured { background: linear-gradient(150deg, #e9faf0 0, #fff 75%); }
.wp-page .service-icon { flex: 0 0 48px; margin-bottom: 34px; }
.wp-page .service-card > span { margin-top: 0; }
.wp-page .service-card h3 { overflow-wrap: anywhere; }
.wp-page .service-card .text-button { margin-top: auto; padding-top: 20px; }

.wp-page .path-num {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: var(--wp-green);
}

.wp-page .workflow-board article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  grid-template-rows: auto auto 1fr;
  column-gap: 20px;
  min-height: 280px;
  padding: 28px;
}

.wp-page .workflow-board > article > span {
  align-self: center;
  grid-column: 1;
  grid-row: 1;
}

.wp-page .workflow-icon {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: var(--wp-green);
}

.wp-page .workflow-board h3 {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 38px 0 12px;
}

.wp-page .workflow-board p {
  grid-column: 1 / -1;
  grid-row: 3;
  margin: 0;
}

.wp-page .price-card > small {
  display: block;
  color: var(--wp-muted);
  font-size: 13px;
}

.wp-page .price-card > strong {
  display: block;
  margin: 8px 0 20px;
  color: var(--wp-ink);
  font-size: clamp(40px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -.04em;
}

.wp-page .price-card > strong i {
  color: var(--wp-muted);
  font-size: 17px;
  font-style: normal;
  letter-spacing: 0;
}

.wp-page .price-card > p { color: var(--wp-muted); }
.wp-page .price-card li { display: grid; grid-template-columns: 26px 1fr; gap: 11px; padding: 16px 0; }
.wp-page .price-card li::before { content: none; }
.wp-page .price-card li > i {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--wp-mint);
  color: var(--wp-green);
}
.wp-page .price-card li > i svg { width: 15px; height: 15px; stroke-width: 2.3; }
.wp-page .price-card li span { display: grid; gap: 3px; color: var(--wp-muted); font-size: 14px; line-height: 1.45; }
.wp-page .price-card li b { color: var(--wp-ink); font-size: 16px; }

.wp-page .faq-list details summary::before,
.wp-page .faq-list details summary::after,
.wp-page .faq-list details[open] summary::before,
.wp-page .faq-list details[open] summary::after { content: none !important; display: none !important; }
.wp-page .faq-list summary > i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid #c4d9ce;
  border-radius: 50%;
  background: #fff;
  transition: background .2s ease, transform .2s ease;
}
.wp-page .faq-list summary > i img { display: block; width: 18px; height: 18px; transform: rotate(90deg); }
.wp-page .faq-list details[open] summary > i { background: var(--wp-mint); transform: rotate(180deg); }

.wp-page .lead-modal form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.wp-page .lead-modal form > * { min-width: 0; }
.wp-page .lead-modal form > label:not(.consent) { display: grid; gap: 7px; }
.wp-page .lead-modal form > label:not(.consent) > span {
  color: #315c47;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.wp-page .lead-modal input[type="text"],
.wp-page .lead-modal input[type="tel"] {
  width: 100%;
  min-height: 64px;
  padding: 18px 16px;
  border: 1px solid #c8d9d0;
  border-radius: 12px;
  outline: 0;
  background: #fff;
  color: var(--wp-ink);
  font: inherit;
  font-size: 16px;
}

.wp-page .lead-modal input[type="text"]:focus,
.wp-page .lead-modal input[type="tel"]:focus { border-color: var(--wp-accent); box-shadow: 0 0 0 3px rgba(22, 173, 91, .11); }

.wp-page .lead-form[data-form-source="wordpress_final_form"] > label:not(.consent) {
  transition: border-color .18s ease, box-shadow .18s ease;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] > label:not(.consent):focus-within {
  border-color: var(--wp-accent);
  box-shadow: 0 0 0 3px rgba(22, 173, 91, .11);
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] > label:not(.consent) input:focus-visible,
.wp-page .lead-form[data-form-source="wordpress_final_form"] > label:not(.consent) textarea:focus-visible {
  outline: 0;
}

.wp-page .lead-modal .consent,
.wp-page .lead-modal button[type="submit"] { grid-column: 1 / -1; }

.wp-page .lead-modal button[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 8px 10px 8px 20px;
  border: 0;
  border-radius: 999px;
  background: var(--wp-dark);
  color: #fff;
  font-weight: 700;
}

.wp-page .lead-modal button[type="submit"] i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--wp-mint);
}

.wp-page .consent { position: relative; font-size: 11px; line-height: 1.45; cursor: pointer; }
.wp-page .consent > span { text-transform: none; letter-spacing: 0; }
.wp-page .consent i { position: relative; }
.wp-page .consent i::after {
  content: "";
  width: 12px;
  height: 12px;
  opacity: 0;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.wp-page .consent input:focus-visible + i { outline: 3px solid rgba(22, 173, 91, .2); outline-offset: 2px; }
.wp-page .consent input:checked + i::after { opacity: 1; }

.wp-page button[disabled] { cursor: not-allowed; opacity: .52; }
.wp-page .modal-close svg { width: 20px; height: 20px; stroke-width: 2; }

.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct { margin-top: 22px; }
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: #789084;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-title::before,
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-title::after {
  content: "";
  height: 1px;
  background: #bad5c7;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 48px;
  padding: 9px 10px;
  gap: 8px;
  border: 1px solid #b8d4c6;
  border-radius: 12px;
  background: rgba(255, 255, 255, .78);
  color: #26312c;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links a:hover {
  border-color: #75bc95;
  background: #fff;
  transform: translateY(-1px);
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links img,
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links svg {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links svg { fill: #279dd8; }

@media (max-width: 1179px) {
  .wp-page .desktop-nav,
  .wp-page .header-socials,
  .wp-page .header-contacts,
  .wp-page .header-cta { display: none; }
  .wp-page .menu-toggle { display: grid; }
  .wp-page .mobile-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    padding: 18px;
    border: 1px solid var(--wp-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(30, 45, 38, .14);
  }
  .wp-page .mobile-menu.is-open { display: flex; flex-direction: column; gap: 14px; }
  .wp-page .mobile-menu a { text-decoration: none; font-weight: 650; }
  .wp-page .mobile-phone { color: var(--wp-green); }
  .wp-page .hero { grid-template-columns: 1fr; min-height: 0; gap: 44px; padding-top: 72px; }
  .wp-page .hero h1 { max-width: 700px; font-size: clamp(52px, 8vw, 68px); }
  .wp-page .wp-visual { width: min(680px, 100%); margin-inline: auto; }
  .wp-page .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-page .service-card,
  .wp-page .service-card.featured { min-height: 320px; }
  .wp-page .workflow-board article { min-height: 260px; }
  .wp-page .diagnostic-grid,
  .wp-page .price-grid,
  .wp-page .contact-grid { grid-template-columns: 1fr; }
  .wp-page .diagnostic-grid { gap: 46px; }
  .wp-page .price-grid { gap: 16px; }
  .wp-page .price-main { padding: 44px; }
  .wp-page .contact-grid { gap: 42px; }
  .wp-page .section-heading,
  .wp-page .faq-heading { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 760px) {
  .wp-page .shell { width: calc(100% - 36px); }
  .wp-page .site-header.shell { width: calc(100% - 24px); }
  .wp-page .header-side { gap: 7px; }
  .wp-page .header-socials {
    display: flex;
    gap: 5px;
    padding-right: 0;
    border-right: 0;
  }
  .wp-page .header-socials a { width: 32px; height: 32px; }
  .wp-page .header-socials img,
  .wp-page .header-socials svg { width: 17px; height: 17px; }
  .wp-page .header-socials .phone svg {
    fill: none;
    stroke: #16ad5b;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .wp-page .site-header .brand { width: 105px; height: 34px; }
  .wp-page .site-header .brand::before { top: 4px; left: -5px; width: 36px; height: 27px; border-radius: 8px; }
  .wp-page .site-header .brand img { width: 100px; }
  .wp-page .hero { gap: 28px; padding-top: 56px; }
  .wp-page .hero h1 { font-size: 42px; white-space: nowrap; }
  .wp-page .direct-contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .wp-page .direct-contact > span { grid-column: 1 / -1; }
  .wp-page .direct-contact > a { min-width: 0; padding: 0 8px; font-size: 12px; }
  .wp-page .service-grid { grid-template-columns: 1fr; }
  .wp-page .service-card,
  .wp-page .service-card.featured { min-height: 0; }
  .wp-page .workflow-board { grid-template-columns: 1fr; }
  .wp-page .workflow-board article { min-height: 0; padding: 24px 22px; }
  .wp-page .workflow-board h3 { margin-top: 28px; }
  .wp-page .path-list article { grid-template-columns: 52px minmax(0, 1fr); }
  .wp-page .price-main,
  .wp-page .price-card { padding: 30px 22px; }
  .wp-page .lead-modal form { grid-template-columns: 1fr; }
  .wp-page .lead-modal form > * { grid-column: 1; }
  .wp-page .modal-dialog { max-height: calc(100vh - 24px); overflow-y: auto; padding: 26px 20px; }
  .wp-page .faq-list summary { gap: 14px; font-size: 16px; line-height: 1.35; }
  .wp-page .wp-visual {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
    gap: 8px;
    margin-top: 0;
    padding-bottom: 0;
  }
  .wp-page .wp-visual .admin-window { grid-column: 1 / -1; }
  .wp-page .wp-badge,
  .wp-page .result-badge {
    position: static;
    min-width: 0;
    min-height: 60px;
    padding: 9px 10px;
    box-shadow: 0 10px 24px rgba(25, 54, 40, .09);
  }
  .wp-page .wp-badge { justify-self: stretch; }
  .wp-page .result-badge { justify-self: stretch; }
}

@media (max-width: 390px) {
  .wp-page .hero h1 { font-size: 38px; }
  .wp-page .section-heading h2,
  .wp-page .diagnostic-copy h2,
  .wp-page .price-main h2,
  .wp-page .contact-copy h2 { font-size: 36px; }
  .wp-page .admin-window { overflow: hidden; }
  .wp-page .direct-contact > a { font-size: 11px; }
  .wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links { grid-template-columns: 1fr; }
  .wp-page .lead-form[data-form-source="wordpress_final_form"] .form-direct-links a { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-page *,
  .wp-page *::before,
  .wp-page *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
