  html,
  body {
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: #fffdf7 !important;
    overflow-x: hidden !important;
  }

  #root {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  body,
  body > div,
  body > section,
  body .section,
  body .container,
  body .container-fluid,
  body .row,
  body .c-row,
  body .c-section,
  body .c-wrapper,
  body .c-container,
  body .inner,
  body .hl_page-preview,
  body .hl_page-preview--content,
  body .page-builder-body,
  body .page-builder-body > div {
    max-width: 100%;
  }

  body .section,
  body .container,
  body .container-fluid,
  body .row,
  body .c-row,
  body .c-section,
  body .c-wrapper,
  body .c-container,
  body .inner,
  body .hl_page-preview,
  body .hl_page-preview--content,
  body .page-builder-body,
  body .page-builder-body > div {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .abc-site {
    --abc-ink: #18372c;
    --abc-ink-soft: #446357;
    --abc-mint: #b8d0b5;
    --abc-mint-strong: #86a989;
    --abc-mint-deep: #587c63;
    --abc-cream: #f7f2e8;
    --abc-paper: #fffdf7;
    --abc-wood: #b98d58;
    --abc-line: rgba(24, 55, 44, .14);
    --abc-shadow: 0 24px 70px rgba(52, 78, 65, .18);
    color: var(--abc-ink);
    font-family: "Manrope", "Segoe UI", sans-serif;
    background: var(--abc-paper);
    min-height: 100vh;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .abc-site *,
  .abc-site *::before,
  .abc-site *::after {
    box-sizing: border-box;
  }

  .abc-site a {
    color: inherit;
    text-decoration: none;
  }

  .abc-site h1,
  .abc-site h2,
  .abc-site h3,
  .abc-site h4 {
    text-align: center;
  }

  .abc-site img {
    display: block;
    max-width: 100%;
  }

  .abc-whatsapp-sticky {
    position: fixed;
    right: 1.25rem;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.9rem);
    width: 3.9rem;
    height: 3.9rem;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #25d366, #179c52);
    box-shadow: 0 18px 36px rgba(17, 74, 45, .28);
    z-index: 89;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  }

  .abc-whatsapp-sticky:hover,
  .abc-whatsapp-sticky:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(17, 74, 45, .34);
    filter: saturate(1.06);
  }

  .abc-whatsapp-sticky svg {
    width: 2rem;
    height: 2rem;
    display: block;
  }

  .abc-cookie-banner {
    position: fixed;
    left: 50%;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem);
    transform: translateX(-50%);
    width: min(1100px, calc(100% - 1.2rem));
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) auto;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(49, 93, 71, .16);
    border-radius: 1.5rem;
    background: rgba(255, 253, 247, .96);
    box-shadow: 0 24px 56px rgba(51, 72, 61, .18);
    backdrop-filter: blur(18px);
    z-index: 96;
  }

  .abc-cookie-banner[hidden] {
    display: none !important;
  }

  .abc-cookie-copy {
    min-width: 0;
  }

  .abc-cookie-copy strong {
    display: block;
    margin-bottom: .35rem;
    color: #17382c;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
  }

  .abc-cookie-copy p {
    margin: 0;
    color: var(--abc-ink-soft);
    font-size: .97rem;
    line-height: 1.58;
  }

  .abc-cookie-copy a {
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: .18rem;
  }

  .abc-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .7rem;
  }

  .abc-cookie-btn {
    min-height: 3.35rem;
    padding: .8rem 1.1rem;
    border-radius: 999px;
    border: 1px solid rgba(49, 93, 71, .16);
    background: rgba(255,255,255,.86);
    color: #214d3e;
    font: inherit;
    font-size: .96rem;
    font-weight: 850;
    line-height: 1.1;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  }

  .abc-cookie-btn:hover,
  .abc-cookie-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(51, 72, 61, .12);
  }

  .abc-cookie-btn-primary {
    border-color: rgba(91, 145, 88, .65);
    background: linear-gradient(135deg, #81b25c, #d97732);
    color: #fffdf7;
    box-shadow: 0 16px 32px rgba(116, 88, 39, .2);
  }

  .abc-cookie-btn-muted {
    background: rgba(244, 248, 239, .95);
  }

  .abc-container {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
  }

  .abc-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 0;
    background: transparent;
  }

  .abc-nav-shell {
    width: min(1220px, calc(100% - 1.6rem));
    min-height: 4.8rem;
    margin: 0 auto;
    padding: .4rem .9rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.1rem;
    border: 1px solid rgba(150, 184, 149, .34);
    border-top: none;
    border-radius: 0 0 1.6rem 1.6rem;
    background: linear-gradient(135deg, rgba(249, 251, 245, .96), rgba(226, 238, 220, .92));
    box-shadow: 0 20px 54px rgba(51, 72, 61, .15);
    backdrop-filter: blur(18px);
  }

  .abc-nav.is-scrolled {
    padding: 0;
  }

  .abc-nav.is-scrolled .abc-nav-shell {
    background:
      linear-gradient(135deg, rgba(247, 250, 241, .98), rgba(220, 234, 214, .95));
    box-shadow: 0 16px 42px rgba(51, 72, 61, .2);
  }

  .abc-brand {
    width: 5.5rem;
    height: 5.5rem;
    display: block;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    transform: scale(1.15);
    z-index: 10;
  }

  .abc-brand img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.12);
    border-radius: 50%;
  }

  .abc-nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.08rem;
    font-weight: 800;
    font-size: 1.06rem;
    color: #28493d;
  }

  .abc-nav-links a {
    position: relative;
    padding: .55rem .1rem;
    border-radius: 999px;
    transition: color .22s ease, background .22s ease, transform .2s ease, box-shadow .22s ease;
  }

  .abc-nav-links a:hover,
  .abc-nav-links a:focus-visible {
    color: #18372c;
    background: rgba(124, 163, 122, .14);
    box-shadow: inset 0 0 0 1px rgba(110, 152, 109, .18);
    transform: translateY(-1px);
  }

  .abc-nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
  }

  .desktop-only {
    display: inline-flex;
  }

  .abc-mobile-icon-btn {
    display: none;
  }

  .abc-phone,
  .abc-btn {
    min-height: 3.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--abc-line);
    font-weight: 900;
    transition: transform .2s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
  }

  .abc-phone {
    min-width: 10.4rem;
    padding: .95rem 1.35rem;
    background: linear-gradient(180deg, rgba(234,223,187,.98), rgba(214,193,136,.98));
    border-color: rgba(163, 132, 64, .38);
    color: #18372c;
    box-shadow: 0 14px 30px rgba(70, 62, 35, .16), inset 0 1px 0 rgba(255,245,214,.52);
  }

  .abc-btn {
    padding: .95rem 1.35rem;
  }

  .abc-phone:hover,
  .abc-phone:focus-visible,
  .abc-btn:hover,
  .abc-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(51, 72, 61, .16);
  }

  .abc-phone:active,
  .abc-btn:active,
  .abc-nav-links a:active,
  .abc-social-link:active {
    transform: translateY(0) scale(.985);
  }

  .abc-phone:focus-visible,
  .abc-btn:focus-visible,
  .abc-nav-links a:focus-visible,
  .abc-social-link:focus-visible {
    outline: 0;
    box-shadow:
      0 0 0 3px rgba(245, 248, 237, .92),
      0 0 0 6px rgba(118, 160, 117, .28);
  }

  .abc-btn-primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #4a875e 0%, #8fb46d 50%, #6f9c60 100%);
    background-size: 160% 160%;
    box-shadow: 0 18px 38px rgba(77, 139, 97, .3);
  }

  .abc-btn-primary:hover,
  .abc-btn-primary:focus-visible {
    transform: translateY(-4px) scale(1.025);
    filter: saturate(1.08);
    background-position: 100% 50%;
    box-shadow:
      0 24px 44px rgba(77, 139, 97, .34),
      inset 0 0 0 1px rgba(255,255,255,.18);
  }

  .abc-btn-light {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(241,247,238,.9));
    color: #214d3e;
    box-shadow: 0 10px 22px rgba(51, 72, 61, .08);
  }

  .abc-btn-urgent {
    color: #fff8ee;
    border-color: rgba(139, 62, 34, .22);
    background:
      linear-gradient(135deg, #b85a34 0%, #d37a3d 48%, #a4472d 100%);
    background-size: 160% 160%;
    box-shadow:
      0 18px 38px rgba(156, 74, 42, .28),
      inset 0 1px 0 rgba(255,255,255,.18);
  }

  .abc-btn-urgent:hover,
  .abc-btn-urgent:focus-visible {
    transform: translateY(-4px) scale(1.025);
    filter: saturate(1.08);
    background-position: 100% 50%;
    box-shadow:
      0 24px 44px rgba(156, 74, 42, .34),
      inset 0 0 0 1px rgba(255,255,255,.16);
  }

  .abc-btn-light:hover,
  .abc-btn-light:focus-visible,
  .abc-phone:hover,
  .abc-phone:focus-visible {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(232,241,227,.95));
  }

  .abc-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: clip;
    background: #d7e3d0;
  }

  .abc-hero-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .abc-hero-overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(247, 242, 232, .98) 0%, rgba(239, 244, 229, .95) 24%, rgba(215, 226, 207, .72) 44%, rgba(215, 226, 207, .16) 67%),
      linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.04));
  }

  .abc-hero-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 7rem 0 4rem;
  }

  .abc-kicker,
  .abc-card-tag {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .45rem;
    margin: 0 0 1rem;
    padding: .42rem .78rem;
    border-radius: 999px;
    background: rgba(184, 208, 181, .42);
    color: #315d47;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .abc-hero h1,
  .abc-section h1,
  .abc-section h2,
  .abc-footer h2 {
    font-family: "Fraunces", Georgia, serif;
    letter-spacing: 0;
    color: #1d3a2e;
  }

  .abc-hero h1 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(3rem, 5.15vw, 5.35rem);
    line-height: .99;
  }

  .abc-hero-lead {
    max-width: 650px;
    margin: 1.25rem 0 0;
    color: var(--abc-ink-soft);
    font-size: 1.22rem;
    line-height: 1.75;
    font-weight: 600;
  }

  .abc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.9rem;
  }


  .abc-section {
    padding: 4.75rem 0;
    margin: 0;
    display: block;
  }

  .abc-section + .abc-section {
    padding-top: 1.75rem;
  }

  .abc-reviews,
  .abc-prices {
    background: var(--abc-paper);
  }

  .abc-two-col {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
  }

  .abc-two-col > div > p {
    margin-top: 0;
    max-width: 46rem;
    font-size: 1.18rem;
    line-height: 1.78;
  }

  .abc-section h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.15rem);
    line-height: 1.05;
  }

  .abc-section h1 {
    margin: 0;
    font-size: clamp(2.8rem, 4.2vw, 4rem);
    line-height: 1.03;
  }

  .abc-section-head {
    max-width: 820px;
    margin-bottom: 2.5rem;
  }

  .abc-home-centered-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .abc-home-centered-head .abc-kicker {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1.2rem;
  }

  .abc-home-centered-head h2 {
    max-width: 980px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1.1rem;
  }

  .abc-home-centered-head p {
    max-width: 900px;
    margin-left: 0;
    margin-right: 0;
  }

  .abc-section-head-inline {
    max-width: none;
  }

  .abc-section-head-inline h2 {
    font-size: clamp(2.3rem, 3.5vw, 3.6rem);
    line-height: 1.02;
  }

  .abc-section-head p,
  .abc-text-stack p,
  .abc-zones p,
  .abc-cta p,
  .abc-footer p {
    color: var(--abc-ink-soft);
    font-size: 1.12rem;
    line-height: 1.72;
  }

  .abc-text-stack p:first-child {
    margin-top: 0;
  }

  .abc-services {
    background: linear-gradient(180deg, #f2f5ea, #fffdf7);
  }

  .abc-service-list {
    display: grid;
    gap: 1.2rem;
  }

  .abc-service-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid var(--abc-line);
    border-radius: 1.6rem;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 46px rgba(70, 92, 72, .12);
  }

  .abc-service-card:nth-child(even) .abc-service-copy {
    order: 2;
  }

  .abc-service-card:nth-child(even) img {
    order: 1;
  }

  .abc-service-copy {
    min-height: 24rem;
    padding: clamp(1.2rem, 3vw, 2.3rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .abc-service-copy h2 {
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.02;
    margin-bottom: 1.15rem;
  }

  .abc-service-copy p {
    color: var(--abc-ink-soft);
    font-size: 1.06rem;
    line-height: 1.72;
    margin-bottom: 1.2rem;
  }

  .abc-service-copy ul {
    padding: 0;
    margin: .8rem 0 1.3rem;
    list-style: none;
    display: grid;
    gap: .45rem;
  }

  .abc-service-copy li {
    color: #315d47;
    font-weight: 750;
  }

  .abc-service-copy li::before {
    content: "•";
    margin-right: .55rem;
    color: var(--abc-wood);
  }

  .abc-service-copy > a,
  .abc-inline-cta {
    width: fit-content;
    margin-top: auto;
    font-weight: 900;
    color: #315d47;
    border-bottom: 2px solid rgba(49, 93, 71, .24);
    transition: color .22s ease, border-color .22s ease, transform .2s ease;
  }

  .abc-service-copy > a:hover,
  .abc-service-copy > a:focus-visible,
  .abc-inline-cta:hover,
  .abc-inline-cta:focus-visible {
    color: #214d3e;
    border-color: rgba(49, 93, 71, .52);
    transform: translateY(-1px);
  }

  .abc-service-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .7rem;
    margin-top: auto;
  }

  .abc-service-links a {
    margin-top: 0;
  }

  .abc-services-footer-link {
    display: flex;
    justify-content: center;
    margin-top: .95rem;
  }

  .abc-services-footer-link .abc-inline-cta {
    margin-top: 0;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    border-bottom-width: 3px;
  }

  .abc-service-card img {
    width: 100%;
    height: 100%;
    min-height: 24rem;
    object-fit: cover;
    object-position: center;
    border-radius: 1.05rem;
  }

  .abc-service-card img.abc-img-focus-tool-left {
    object-fit: cover;
    object-position: left center;
  }

  .abc-category-service-grid {
    display: grid;
    gap: 1rem;
  }

  .abc-category-service-card {
    grid-template-columns: minmax(220px, .95fr) minmax(0, 1.35fr);
    gap: 1rem 2rem;
    align-items: start;
    padding: 1.65rem 1.7rem;
    background: linear-gradient(135deg, rgba(245, 249, 240, .98), rgba(230, 239, 222, .95));
    border-color: rgba(139, 171, 136, .24);
  }

  .abc-category-service-card h3 {
    margin: 0;
    color: #17372c;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    line-height: 1.18;
  }

  .abc-category-service-card p {
    margin: 0;
    color: var(--abc-ink-soft);
    font-size: 1.08rem;
    line-height: 1.7;
  }

  .abc-category-service-card > a {
    grid-column: 1 / -1;
    width: fit-content;
    margin-top: .15rem;
    font-weight: 900;
    color: #315d47;
    border-bottom: 2px solid rgba(49, 93, 71, .24);
    transition: color .22s ease, border-color .22s ease, transform .2s ease;
  }

  .abc-category-service-card > a:hover,
  .abc-category-service-card > a:focus-visible {
    color: #214d3e;
    border-color: rgba(49, 93, 71, .52);
    transform: translateY(-1px);
  }

  .abc-table-wrap {
    overflow: auto;
    border: 1px solid rgba(49, 93, 71, .12);
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 18px 40px rgba(51, 72, 61, .1);
  }

  .abc-overview-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    table-layout: fixed;
  }

  .abc-overview-table th,
  .abc-overview-table td {
    padding: 1.05rem 1.15rem;
    text-align: left;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .abc-overview-table thead th {
    background: linear-gradient(180deg, rgba(232, 241, 227, .9), rgba(246, 249, 239, .92));
    color: #214d3e;
    font-size: 1.3rem;
    font-weight: 900;
    text-align: center;
    border-bottom: 1px solid rgba(49, 93, 71, .12);
  }

  .abc-overview-table tbody tr + tr td {
    border-top: 1px solid rgba(49, 93, 71, .1);
  }

  .abc-overview-table th:nth-child(1),
  .abc-overview-table td:nth-child(1) {
    width: 20%;
  }

  .abc-overview-table th:nth-child(4),
  .abc-overview-table td:nth-child(4) {
    width: 11%;
  }

  .abc-overview-table th:nth-child(3),
  .abc-overview-table td:nth-child(3) {
    width: 29%;
  }

  .abc-overview-table th:nth-child(2),
  .abc-overview-table td:nth-child(2) {
    width: 40%;
  }

  .abc-overview-table td:nth-child(1) {
    color: #17372c;
    font-weight: 850;
    line-height: 1.38;
  }

  .abc-overview-table td:nth-child(2) {
    color: var(--abc-ink-soft);
    line-height: 1.66;
  }

  .abc-overview-table td:nth-child(3) a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .72rem .95rem;
    border-radius: 999px;
    border: 1px solid rgba(49, 93, 71, .16);
    background: rgba(244, 248, 239, .92);
    color: #214d3e;
    font-weight: 900;
    text-align: center;
    transition: transform .2s ease, box-shadow .22s ease, background .22s ease;
  }

  .abc-overview-table td:nth-child(3) a:hover,
  .abc-overview-table td:nth-child(3) a:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(51, 72, 61, .12);
    background: rgba(236, 244, 232, .98);
  }

  .abc-related-links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .9rem;
  }

  .abc-related-links li {
    margin: 0;
  }

  .abc-related-links a {
    min-height: 100%;
    display: flex;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(49, 93, 71, .14);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, .78);
    color: #214d3e;
    font-weight: 850;
    line-height: 1.45;
    box-shadow: 0 14px 28px rgba(51, 72, 61, .08);
    transition: transform .2s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  }

  .abc-related-links a:hover,
  .abc-related-links a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(49, 93, 71, .24);
    background: rgba(248, 251, 244, .96);
    box-shadow: 0 18px 34px rgba(51, 72, 61, .12);
  }

  .abc-primary-card {
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(230, 239, 222, .84));
  }

  .abc-muted-card {
    background: rgba(250, 247, 239, .82);
  }

  .abc-team {
    background:
      radial-gradient(circle at 18% 22%, rgba(204, 230, 214, .68), transparent 34%),
      radial-gradient(circle at 82% 28%, rgba(227, 237, 217, .56), transparent 32%),
      linear-gradient(180deg, #f3f8ef 0%, #fffdf7 100%);
    padding-top: 2.7rem;
  }

  .abc-team-grid {
    display: grid;
    grid-template-columns: 1.25fr repeat(3, 1fr);
    gap: 1rem;
  }

  .abc-team-card {
    display: grid;
    border: 1px solid var(--abc-line);
    border-radius: 1.35rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 42px rgba(70, 92, 72, .12);
  }

  .abc-team-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    object-position: center top;
    padding: .35rem;
    background: #eef4e8;
  }

  .abc-team-card div {
    padding: 1rem;
  }

  .abc-team-card h3 {
    margin: 0;
    color: #214d3e;
    font-size: 1.05rem;
    margin-bottom: .7rem;
  }

  .abc-team-card p {
    margin: 0;
    color: var(--abc-ink-soft);
    line-height: 1.58;
    font-size: .95rem;
  }

  .abc-team-lead {
    background: #f2f5ea;
  }

  .abc-results {
    background: linear-gradient(135deg, #fffdf8 0%, #f0f5ea 100%);
  }

  .abc-results-layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "grid"
      "equipment";
    gap: clamp(1.8rem, 3.4vw, 3rem);
    align-items: start;
  }

  .abc-results-copy {
    grid-area: copy;
    max-width: 66rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .abc-results-copy .abc-kicker,
  .abc-zones .abc-kicker {
    margin-bottom: 1.2rem;
  }

  .abc-results-copy h2,
  .abc-zones h2 {
    margin-bottom: 1.1rem;
  }

  .abc-results-copy > p:not(.abc-kicker) {
    color: var(--abc-ink-soft);
    font-size: 1.12rem;
    line-height: 1.72;
    margin: 0;
    max-width: 56rem;
  }

  .abc-equipment-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(11.5rem, 1fr));
    gap: 1.15rem;
    width: 100%;
    max-width: 58rem;
    justify-content: center;
    margin-top: .35rem;
  }

  .abc-equipment-preview-card {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: .65rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(49, 93, 71, .12);
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 34px rgba(51, 72, 61, .08);
  }

  .abc-equipment-preview-card img {
    display: block;
    width: 100%;
    height: 15.4rem;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }

  .abc-zones p {
    margin-top: 0;
  }

  .abc-results-cta {
    margin-top: 1.2rem;
  }

  .abc-home-cta-note {
    margin-top: 1rem;
    align-self: flex-start;
    margin-left: 1.9rem;
    font-size: 1.62rem;
    font-weight: 900;
    line-height: 1.15;
    text-align: left;
    border-bottom-width: 3px;
  }

  .abc-equipment-cta {
    margin-top: 1rem;
    margin-left: 0;
  }

  .abc-results-grid {
    grid-area: grid;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    width: 100%;
    max-width: 78rem;
    margin: 0 auto;
  }

  .abc-equipment-showcase {
    grid-area: equipment;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 58rem;
    margin-left: auto;
    margin-right: auto;
  }

  .abc-results .abc-btn,
  .abc-results .abc-home-cta-note,
  .abc-results .abc-equipment-cta {
    align-self: center;
    margin-left: 0;
    text-align: center;
  }

  .abc-result-card {
    display: grid;
    grid-template-rows: minmax(15.5rem, 18rem) auto;
    overflow: hidden;
    min-height: 0;
    border-radius: 2rem;
    border: 1px solid rgba(49, 93, 71, .12);
    background: rgba(255,255,255,.78);
    box-shadow: 0 18px 44px rgba(51, 72, 61, .1);
  }

  .abc-result-media {
    position: relative;
    min-height: 0;
    overflow: hidden;
    background: rgba(220, 232, 211, .55);
  }

  .abc-result-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .abc-result-badge {
    position: absolute;
    top: .9rem;
    left: .9rem;
    padding: .5rem .75rem;
    border-radius: 999px;
    background: rgba(24, 55, 44, .82);
    color: #fffdf7;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .abc-result-copy {
    padding: 1.15rem 1.15rem 1.25rem;
  }

  .abc-result-copy h3 {
    margin: 0 0 .75rem;
    color: #17372c;
    font-size: 1.22rem;
    line-height: 1.18;
  }

  .abc-result-copy p {
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--abc-ink-soft);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.62;
  }

  .abc-reviews {
    background: #fffdf7;
  }

  .abc-reviews-widget-shell {
    overflow: hidden;
    border-radius: 1.8rem;
    background: transparent;
    box-shadow: none;
    padding: 0;
  }

  .abc-reviews-static-shell {
    display: grid;
    gap: 1rem;
    padding: 1.2rem;
    border: 1px solid rgba(147, 185, 149, .28);
    border-radius: 1.8rem;
    background: linear-gradient(135deg, #bcd3b7 0%, #d2e1cc 100%);
    box-shadow: 0 20px 44px rgba(51, 72, 61, .1);
  }

  .abc-reviews-static-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .abc-review-static-card {
    min-height: 100%;
    padding: 1.1rem 1.1rem 1rem;
    border-radius: 1.35rem;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(49, 93, 71, .1);
    box-shadow: 0 14px 32px rgba(51, 72, 61, .08);
  }

  .abc-review-static-head,
  .abc-review-static-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
  }

  .abc-review-static-stars {
    color: #f4b400;
    font-size: 1.12rem;
    letter-spacing: .08em;
  }

  .abc-review-static-date {
    color: #72877d;
    font-size: .84rem;
    font-weight: 700;
  }

  .abc-review-static-card p {
    margin: .8rem 0 .95rem;
    color: #415f53;
    font-size: .95rem;
    line-height: 1.62;
  }

  .abc-review-static-name {
    color: #214d3e;
    font-size: .9rem;
    font-weight: 800;
  }

  .abc-review-static-source {
    color: #3d6c5c;
    font-size: .86rem;
    font-weight: 700;
  }

  .abc-reviews-static-actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: .9rem;
    flex-wrap: wrap;
  }

  .abc-thirdparty-note {
    color: #466958;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.5;
  }

  .abc-reviews-widget-shell iframe {
    display: block;
    min-height: 24rem;
    border-radius: 1.8rem;
  }

  .abc-reviews-link-row {
    display: flex;
    justify-content: flex-end;
    margin-top: .65rem;
  }

  .abc-reviews-link {
    font-size: .98rem;
    font-weight: 800;
    color: #315d47;
    opacity: .92;
  }

  .abc-reviews-link:hover,
  .abc-reviews-link:focus-visible {
    opacity: 1;
  }

  .abc-trust {
    padding-top: 1.2rem;
    background:
      radial-gradient(circle at 18% 22%, rgba(214, 229, 204, .36), transparent 34%),
      radial-gradient(circle at 72% 18%, rgba(244, 236, 214, .28), transparent 31%),
      linear-gradient(135deg, #dce8d3 0%, #eef4e5 42%, #fbf3e3 100%);
  }

  .abc-trust .abc-section-head {
    max-width: 980px;
  }

  .abc-reviews .abc-section-head {
    max-width: 66rem;
    transform: translateX(-2.1rem);
  }

  .abc-reviews .abc-section-head h2,
  .abc-trust .abc-section-head h2 {
    font-size: clamp(2.45rem, 3.6vw, 3.65rem);
    line-height: 1;
    white-space: nowrap;
    margin-bottom: .9rem;
  }

  .abc-trust-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    max-width: 62rem;
    margin: 0 auto .9rem;
  }

  .abc-trust-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    min-height: 7.25rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid rgba(165, 215, 199, .7);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .84);
    color: #274e3d;
    text-align: center;
    box-shadow: 0 16px 32px rgba(68, 116, 96, .08);
  }

  .abc-trust-stat strong {
    display: block;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.55rem;
    font-weight: 650;
    line-height: 1.02;
    color: #17382c;
  }

  .abc-trust-stat span {
    display: block;
    font-size: .97rem;
    font-weight: 700;
    line-height: 1.4;
    color: #466958;
  }

  .abc-trust-note {
    margin: 0 auto 1.35rem;
    max-width: 48rem;
    color: #3d6c5c;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
  }

  .abc-logo-strip {
    overflow-x: auto;
    overflow-y: hidden;
    padding: .4rem .2rem .9rem;
    margin: 0 auto;
    cursor: grab;
    -ms-overflow-style: none;
    scrollbar-width: none;
    touch-action: pan-x;
    user-select: none;
  }

  .abc-logo-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(9.5rem, 11.5rem);
    gap: 1.4rem;
    align-items: center;
    width: max-content;
    min-width: 100%;
  }

  .abc-logo-strip::-webkit-scrollbar {
    display: none;
  }

  .abc-logo-strip.is-dragging {
    cursor: grabbing;
  }

  .abc-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.4rem;
    gap: .5rem;
    padding: .35rem .25rem;
    white-space: nowrap;
  }

  .abc-logo-item span {
    display: none;
    font-size: 1.08rem;
    font-weight: 700;
    color: #214d3e;
    letter-spacing: 0;
  }

  .abc-logo-mark {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 2.45rem;
    object-fit: contain;
    transition: transform .18s ease;
  }

  .abc-logo-fedex {
    max-height: 1.9rem;
  }

  .abc-logo-porsche {
    max-height: 2.65rem;
  }

  .abc-logo-medlife,
  .abc-logo-maxipet,
  .abc-logo-megagen {
    max-height: 2.65rem;
  }

  .abc-logo-piatraonline,
  .abc-logo-veneta,
  .abc-logo-temad {
    max-height: 2.1rem;
  }

  .abc-logo-profi {
    max-height: 2.35rem;
    border-radius: .55rem;
  }

  .abc-logo-rovere {
    filter: brightness(0) saturate(100%) invert(18%) sepia(21%) saturate(846%) hue-rotate(111deg) brightness(96%) contrast(92%);
  }

  .abc-logo-item:hover .abc-logo-mark,
  .abc-logo-item:focus-within .abc-logo-mark {
    transform: translateY(-2px);
  }

  @media (max-width: 1120px) {
    .abc-trust-stats {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .abc-trust .abc-section-head {
      max-width: 980px;
    }

    .abc-reviews .abc-section-head {
      max-width: 60rem;
      transform: none;
    }

    .abc-reviews .abc-section-head h2,
    .abc-trust .abc-section-head h2 {
      white-space: normal;
      font-size: clamp(2.2rem, 4.5vw, 3rem);
    }
  }

  @media (max-width: 740px) {
    .abc-trust-stats {
      grid-template-columns: 1fr;
      max-width: 26rem;
    }

    .abc-logo-strip {
      overflow: hidden;
      cursor: default;
      touch-action: auto;
    }

    .abc-logo-strip.is-mobile-marquee .abc-logo-track {
      animation: abc-logo-marquee 30s linear infinite;
      will-change: transform;
    }

    .abc-logo-mark {
      max-height: 1.95rem;
    }

    .abc-logo-item span {
      font-size: 1.08rem;
    }

  }

  @keyframes abc-logo-marquee {
    from {
      transform: translate3d(0, 0, 0);
    }
    to {
      transform: translate3d(calc(-1 * var(--abc-logo-loop-distance, 0px)), 0, 0);
    }
  }

  .abc-zones {
    background: linear-gradient(135deg, #dce8d3, #fbf3e3);
  }

  .abc-zone-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  .abc-zone-links a {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .95rem 1rem 1rem;
    border: 1px solid rgba(49, 93, 71, .18);
    border-radius: 1.15rem;
    background: rgba(255,255,255,.68);
    color: #214d3e;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(51, 72, 61, .08);
  }

  .abc-zone-links .abc-zone-link-all {
    grid-column: 1 / -1;
    background: rgba(255,255,255,.82);
  }

  .abc-zone-links strong {
    font-size: 1.08rem;
    line-height: 1.28;
  }

  .abc-zone-links span {
    color: var(--abc-ink-soft);
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.5;
  }

  @media (max-width: 680px) {
    .abc-zone-links {
      grid-template-columns: 1fr;
    }

    .abc-zone-links .abc-zone-link-all {
      grid-column: auto;
    }
  }

  .abc-faq {
    background: linear-gradient(135deg, #e8f2df 0%, #f7f2e8 100%);
  }

  .abc-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .abc-faq-grid article {
    padding: 1.3rem;
    border: 1px solid var(--abc-line);
    border-radius: 1.1rem;
    background: rgba(255,253,247,.74);
  }

  .abc-faq-grid h3 {
    margin: 0;
    color: #214d3e;
    font-size: 1.24rem;
    line-height: 1.2;
  }

  .abc-faq-grid p {
    margin: .75rem 0 0;
    color: var(--abc-ink-soft);
    line-height: 1.68;
  }

  .abc-cta {
    background: #fffdf7;
  }

  .abc-form-panel {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border-radius: 2rem;
    background: linear-gradient(135deg, #f7f9f2, #fffdf8);
    box-shadow: var(--abc-shadow);
    border: 1px solid rgba(160, 184, 166, .22);
  }

  .abc-ghl-embed {
    width: 100%;
    min-height: 1003px;
    overflow: hidden;
    border-radius: 1.5rem;
    background: #fff;
    border: 1px solid rgba(49, 93, 71, .12);
    box-shadow: 0 18px 40px rgba(51, 72, 61, .08);
  }

  .abc-ghl-embed iframe {
    display: block;
    width: 100%;
    min-height: 1003px;
  }

  .abc-form-intro p:last-child {
    margin-bottom: 0;
  }

  .abc-lead-form {
    display: grid;
    gap: .9rem;
  }

  .abc-lead-form label {
    color: #214d3e;
    font-size: 1.05rem;
    font-weight: 900;
  }

  .abc-lead-form input,
  .abc-lead-form select,
  .abc-lead-form textarea {
    width: 100%;
    padding: 1.15rem 1.2rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(49, 93, 71, .16);
    background: #fff;
    color: #18372c;
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    transition: border-color .22s ease, box-shadow .22s ease, transform .18s ease;
  }

  .abc-lead-form textarea {
    resize: vertical;
    min-height: 8rem;
  }

  .abc-lead-form input::placeholder,
  .abc-lead-form textarea::placeholder {
    color: rgba(24, 55, 44, .6);
    font-weight: 700;
  }

  .abc-lead-form input:focus,
  .abc-lead-form select:focus,
  .abc-lead-form textarea:focus {
    outline: 0;
    border-color: rgba(36, 155, 154, .45);
    box-shadow:
      0 0 0 4px rgba(45, 187, 188, .12),
      inset 0 1px 0 rgba(255,255,255,.92);
  }

  .abc-form-submit {
    margin-top: .5rem;
    min-height: 5.6rem;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font: inherit;
    font-size: 1.15rem;
    font-weight: 900;
    cursor: pointer;
    background: linear-gradient(135deg, #4a875e 0%, #79a367 50%, #6f9c60 100%);
    background-size: 160% 160%;
    box-shadow: 0 22px 40px rgba(77, 139, 97, .26);
    transition: transform .2s ease, box-shadow .22s ease, filter .22s ease, background .22s ease;
  }

  .abc-form-submit:hover,
  .abc-form-submit:focus-visible {
    transform: translateY(-4px) scale(1.025);
    filter: saturate(1.08);
    background-position: 100% 50%;
    box-shadow:
      0 24px 44px rgba(77, 139, 97, .34),
      inset 0 0 0 1px rgba(255,255,255,.16);
  }

  .abc-form-submit:active {
    transform: scale(.988);
  }

  .abc-footer {
    padding: 3.5rem 0;
    background: #18372c;
    color: #fffdf7;
  }

.abc-footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 3rem;
}

  .abc-footer-brand {
    width: 10.5rem;
    height: 10.5rem;
    display: block;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    margin-bottom: 1rem;
  }

  .abc-footer-brand img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.12);
    border-radius: 50%;
  }

  .abc-footer-socials {
    display: flex;
    gap: .7rem;
    flex-wrap: wrap;
    margin-top: 1rem;
  }

  .abc-social-link {
    width: 3rem;
    height: 3rem;
    display: inline-grid;
    place-items: center;
    border-radius: 1rem;
    box-shadow: 0 12px 28px rgba(7, 22, 17, .22);
    transition: transform .2s ease, box-shadow .22s ease, filter .22s ease;
    padding: 0;
    line-height: 0;
  }

  .abc-social-link:hover,
  .abc-social-link:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(7, 22, 17, .28);
    filter: saturate(1.06);
  }

  .abc-social-link svg {
    width: 100%;
    height: 100%;
    display: block;
    flex: 0 0 auto;
    transform: none;
  }

  .abc-social-facebook {
    background: #1877F2;
  }

  .abc-social-facebook svg {
    padding: .22rem;
  }

  .abc-social-instagram {
    background: linear-gradient(135deg, #833ab4 0%, #c13584 30%, #fd1d1d 58%, #fcb045 100%);
  }

  .abc-social-instagram svg {
    padding: .28rem;
  }

  .abc-social-tiktok {
    background: #111;
  }

  .abc-social-tiktok svg {
    padding: .18rem;
  }

  .abc-social-gbp {
    background: #fff;
  }

  .abc-social-gbp svg {
    padding: .22rem;
  }

  .abc-footer h2 {
    color: #fffdf7;
    font-size: 1.25rem;
    margin: 0 0 1rem;
    text-align: left;
  }

  .abc-footer p,
  .abc-footer a {
    color: rgba(255,253,247,.82);
  }

  .abc-footer a {
    display: block;
    margin: .45rem 0;
  }

  .abc-map {
    background: linear-gradient(135deg, #eef4e8 0%, #fffaf0 100%);
  }

  .abc-map-frame {
    overflow: hidden;
    border-radius: 1.8rem;
    border: 1px solid rgba(49, 93, 71, .12);
    box-shadow: 0 20px 44px rgba(51, 72, 61, .1);
  }

  .abc-map-static {
    position: relative;
    min-height: 28rem;
    display: grid;
    place-items: center;
    padding: 1.3rem;
    background:
      linear-gradient(135deg, rgba(240, 245, 232, .92), rgba(255, 250, 240, .96)),
      url("https://assets.cdn.filesafe.space/lvi5uwcrQmUKNbEEU4WO/media/6a1d6539045e32379f368adb.webp") center/cover no-repeat;
  }

  .abc-map-static::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 50% 45%, rgba(186, 213, 182, .42), transparent 28%),
      linear-gradient(180deg, rgba(255,253,247,.24), rgba(255,253,247,.58));
  }

  .abc-map-static-card {
    position: relative;
    z-index: 1;
    width: min(34rem, 100%);
    padding: 1.35rem 1.3rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(49, 93, 71, .12);
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 40px rgba(51, 72, 61, .12);
    text-align: center;
  }

  .abc-map-pin {
    width: 3rem;
    height: 3rem;
    margin: 0 auto .8rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #81b25c, #d97732);
    color: #fffdf7;
    box-shadow: 0 14px 28px rgba(112, 88, 47, .22);
  }

  .abc-map-pin svg {
    width: 1.45rem;
    height: 1.45rem;
    display: block;
  }

  .abc-map-static-card strong {
    display: block;
    margin-bottom: .45rem;
    color: #17382c;
    font-size: 1.08rem;
    font-weight: 900;
  }

  .abc-map-static-card p {
    margin: 0 0 1rem;
    color: #466958;
    font-size: .97rem;
    line-height: 1.6;
  }

  .abc-map-static-actions {
    display: flex;
    justify-content: center;
    gap: .8rem;
    flex-wrap: wrap;
  }

  .abc-map-frame iframe {
    display: block;
    width: 100%;
    min-height: 28rem;
  }

  @media (max-width: 1120px) {
    .abc-nav-shell {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      border-radius: 0 0 1.6rem 1.6rem;
      padding: .5rem .85rem;
    }

    .abc-brand {
      width: 4rem;
      height: 4rem;
    }

    .abc-nav-links {
      display: none;
      width: 100%;
      flex-basis: 100%;
      flex-direction: column;
      gap: .2rem;
      padding: 1rem 0 .5rem;
      order: 3;
    }

    .abc-site.is-menu-open .abc-nav-links {
      display: flex;
    }

    .abc-nav-links a {
      width: 100%;
      min-height: 3rem;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: .9rem;
      background: rgba(184, 208, 181, .23);
      font-size: 1.18rem;
    }

    .abc-nav-actions {
      display: flex;
      gap: 1rem;
      align-items: center;
    }

    .desktop-only {
      display: none !important;
    }

    .abc-mobile-icon-btn {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.2rem;
      color: #214d3e;
      background: transparent;
      border: none;
      font-size: 0.7rem;
      font-weight: 800;
      cursor: pointer;
      padding: 0.2rem;
      text-decoration: none;
    }

    .abc-mobile-icon-btn svg {
      width: 24px;
      height: 24px;
    }

    .abc-hero {
      min-height: auto;
    }

    .abc-hero-bg {
      opacity: .85;
    }

    .abc-hero-inner {
      padding-top: 6rem;
    }

    .abc-two-col,
    .abc-results-layout,
    .abc-form-panel,
    .abc-footer-grid {
      grid-template-columns: 1fr;
    }

    .abc-results-layout {
      grid-template-areas:
        "copy"
        "grid"
        "equipment";
    }

    .abc-service-card {
      display: flex;
      flex-direction: column;
    }

    .abc-service-card:nth-child(even) .abc-service-copy,
    .abc-service-card:nth-child(even) img {
      order: initial;
    }

    .abc-service-card > .abc-service-copy {
      order: 1;
    }

    .abc-service-card > img {
      order: 2;
    }

    .abc-service-copy,
    .abc-service-card img {
      min-height: auto;
    }

    .abc-service-card img {
      aspect-ratio: 4 / 3;
      width: 100%;
      height: auto;
    }

    .abc-category-service-card {
      grid-template-columns: 1fr;
      gap: .9rem;
    }

    .abc-section-head-inline h2 {
      max-width: 14ch;
    }

    .abc-team-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .abc-results-grid {
      grid-template-columns: 1fr;
    }

    .abc-equipment-showcase {
      margin-top: .8rem;
      max-width: 22rem;
    }
  }

  @media (max-width: 900px) {
    html {
      font-size: 92.5%;
    }

    .abc-hero {
      min-height: 100svh;
      background: #d7e3d0;
    }

    .abc-hero-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      max-width: none;
      border-radius: 0;
      box-shadow: none;
      object-fit: cover;
      object-position: 58% center;
      opacity: 1;
    }

    .abc-hero-overlay {
      display: block;
      background: linear-gradient(
        180deg,
        rgba(247, 242, 232, .94) 0%,
        rgba(239, 244, 229, .88) 56%,
        rgba(215, 226, 207, .68) 100%
      );
    }

    .abc-hero-inner {
      padding-top: 6.5rem;
      padding-bottom: 3rem;
      min-height: auto;
    }

    .abc-container,
    .abc-hero-inner {
      width: min(100% - .5rem, 1180px);
    }

    .abc-nav {
      padding: .15rem 0 .4rem;
    }

    .abc-nav-shell {
      width: min(100% - .5rem, 1220px);
    }

    .abc-hero h1 {
      font-size: clamp(2.22rem, 8.18vw, 3.22rem) !important;
    }

    .abc-section h2 {
      font-size: clamp(1.87rem, 7.13vw, 2.52rem) !important;
    }

    .abc-section h1 {
      font-size: clamp(2.35rem, 8.53vw, 3.26rem) !important;
    }

    .abc-service-copy h2 {
      font-size: clamp(1.87rem, 7.05vw, 2.44rem) !important;
    }

    .abc-hero-lead,
    .abc-section-head p,
    .abc-text-stack p,
    .abc-zones p,
    .abc-cta p,
    .abc-service-copy p,
    .abc-service-copy li,
    .abc-inline-cta,
    .abc-result-copy p,
    .abc-faq-grid p,
    .abc-zone-links a,
    .abc-lead-form label,
    .abc-lead-form input,
    .abc-lead-form select,
    .abc-lead-form textarea,
    .abc-footer p,
    .abc-footer a,
    .abc-page-hero-copy p,
    .abc-page-hero-card p,
    .abc-check-list li,
    .abc-info-table td {
      font-size: .97rem !important;
      line-height: 1.66 !important;
    }

    .abc-faq-grid h3,
    .abc-page-hero-card h2,
    .abc-mini-card h3,
    .abc-footer h2 {
      font-size: 1.24rem !important;
    }

    .abc-kicker,
    .abc-card-tag {
      font-size: .77rem !important;
    }

    .abc-phone,
    .abc-btn,
    .abc-form-submit {
      font-size: .9rem !important;
    }
  }

  @media (max-width: 680px) {
    html {
      font-size: 92.5%;
    }

    .abc-site {
      -webkit-text-size-adjust: 100%;
    }

    .abc-container,
    .abc-hero-inner {
      width: min(100% - .5rem, 1180px);
    }

    .abc-section {
      padding: 3rem 0;
    }

    .abc-section + .abc-section {
      padding-top: 1rem;
    }

    .abc-hero h1 {
      font-size: clamp(2.31rem, 8.7vw, 3.22rem);
    }

    .abc-hero-lead,
    .abc-section-head p,
    .abc-text-stack p,
    .abc-zones p,
    .abc-cta p {
      font-size: 1.01rem;
      line-height: 1.68;
    }

    .abc-hero-actions,
    .abc-hero-actions .abc-btn {
      width: 100%;
    }


    .abc-section h2 {
      font-size: clamp(1.91rem, 7.74vw, 2.57rem);
    }

    .abc-section h1 {
      font-size: clamp(2.44rem, 8.7vw, 3.31rem);
    }

    .abc-service-copy h2 {
      font-size: clamp(1.91rem, 7.66vw, 2.48rem);
    }

    .abc-service-card {
      padding: .65rem;
      border-radius: 1.2rem;
      overflow: hidden;
    }

    .abc-category-service-card {
      padding: 1.15rem;
    }

    .abc-table-wrap {
      overflow: visible;
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    .abc-overview-table,
    .abc-overview-table thead,
    .abc-overview-table tbody,
    .abc-overview-table tr,
    .abc-overview-table th,
    .abc-overview-table td {
      display: block;
    }

    .abc-overview-table {
      min-width: 0;
    }

    .abc-overview-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      clip-path: inset(50%);
      white-space: nowrap;
    }

    .abc-overview-table tbody {
      display: grid;
      gap: .9rem;
    }

    .abc-overview-table tbody tr {
      padding: 1rem;
      border: 1px solid rgba(49, 93, 71, .12);
      border-radius: 1.25rem;
      background: rgba(255, 255, 255, .92);
      box-shadow: 0 14px 30px rgba(51, 72, 61, .08);
    }

    .abc-overview-table tbody tr + tr td {
      border-top: 0;
    }

    .abc-overview-table td {
      width: auto !important;
      padding: 0;
    }

    .abc-overview-table td + td {
      margin-top: .85rem;
    }

    .abc-overview-table td:nth-child(1) {
      font-size: 1.2rem;
      line-height: 1.3;
    }

    .abc-overview-table td:nth-child(2),
    .abc-overview-table td:nth-child(3) {
      position: relative;
      padding-top: 1.4rem;
    }

    .abc-overview-table td:nth-child(2)::before,
    .abc-overview-table td:nth-child(3)::before {
      content: attr(data-label);
      position: absolute;
      top: 0;
      left: 0;
      color: #315d47;
      font-size: .82rem;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .abc-overview-table td:nth-child(3) a {
      width: 100%;
      min-height: 3rem;
    }

    .abc-service-copy {
      order: 1;
      padding: 1.2rem 1.1rem 1.3rem;
      background: rgba(255, 253, 247, .92);
      border-radius: 1rem;
    }

    .abc-service-card > img {
      order: 2;
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      border-radius: 1rem;
    }

    .abc-kicker,
    .abc-card-tag {
      font-size: .78rem;
    }

    .abc-nav-links a,
    .abc-phone,
    .abc-btn,
    .abc-service-copy p,
    .abc-service-copy li,
    .abc-inline-cta,
    .abc-result-copy p,
    .abc-faq-grid p,
    .abc-zone-links a,
    .abc-lead-form label,
    .abc-lead-form input,
    .abc-lead-form select,
    .abc-lead-form textarea,
    .abc-footer p,
    .abc-footer a,
    .abc-page-hero-copy p,
    .abc-page-hero-card p,
    .abc-check-list li,
    .abc-info-table td {
      font-size: .96rem;
    }

    .abc-faq-grid h3,
    .abc-page-hero-card h2,
    .abc-mini-card h3,
    .abc-footer h2 {
      font-size: 1.24rem;
    }

    .abc-service-copy li {
      line-height: 1.55;
    }

    .abc-service-copy > a,
    .abc-inline-cta {
      font-size: .9rem;
    }

    .abc-cookie-banner {
      grid-template-columns: 1fr;
      gap: .85rem;
      padding: .95rem .95rem 1rem;
      border-radius: 1.3rem;
      width: min(100%, calc(100% - .85rem));
      bottom: calc(env(safe-area-inset-bottom, 0px) + .7rem);
    }

    .abc-cookie-copy strong,
    .abc-cookie-copy p {
      text-align: left;
    }

    .abc-cookie-actions {
      width: 100%;
      justify-content: stretch;
      display: grid;
      grid-template-columns: 1fr;
    }

    .abc-cookie-btn {
      width: 100%;
      min-height: 3.15rem;
    }

    .abc-phone,
    .abc-btn {
      min-height: 3.6rem;
    }

    .abc-lead-form input,
    .abc-lead-form select,
    .abc-lead-form textarea {
      padding: 1.2rem 1.15rem;
    }

    .abc-related-links {
      grid-template-columns: 1fr;
    }

    .abc-team-grid,
    .abc-faq-grid {
      grid-template-columns: 1fr;
    }

    .abc-results {
      padding-top: 1.35rem;
      padding-bottom: 1.65rem;
    }

    .abc-results-layout {
      gap: 1.15rem;
    }

    .abc-results-copy .abc-kicker {
      margin-bottom: .7rem;
    }

    .abc-results-copy h2 {
      margin-bottom: .7rem;
    }

    .abc-results-copy > p:not(.abc-kicker) {
      margin-bottom: 0;
    }

    .abc-results-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    .abc-result-card {
      grid-template-rows: minmax(14rem, auto) auto;
    }

    .abc-result-media img {
      object-fit: contain;
      object-position: center top;
      background: rgba(255,255,255,.94);
    }

    .abc-equipment-preview {
      grid-template-columns: 1fr;
      gap: .9rem;
      width: 100%;
      margin-top: .45rem;
    }

    .abc-equipment-preview-card {
      padding: .7rem;
    }

    .abc-equipment-preview-card img {
      height: 15rem;
    }

    .abc-home-cta-note,
    .abc-services-footer-link .abc-inline-cta {
      align-self: flex-start;
      font-size: 1.15rem;
      line-height: 1.25;
      text-align: left;
    }

    .abc-team {
      padding-top: 2rem;
    }

    .abc-equipment-cta {
      align-self: center;
      margin-top: .85rem;
      margin-left: 0;
      text-align: center;
    }

    .abc-result-card {
      grid-template-rows: minmax(13.5rem, 15rem) auto;
    }

    .abc-reviews-widget-shell iframe,
    .abc-map-frame iframe {
      min-height: 24rem;
    }

    .abc-reviews-static-grid {
      grid-template-columns: 1fr;
    }

    .abc-map-static {
      min-height: 23rem;
      padding: 1rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .abc-site *,
    .abc-site *::before,
    .abc-site *::after {
      animation-duration: .001ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .001ms !important;
    }
  }

  .abc-page-hero {
    padding: 9rem 0 4rem;
    background:
      radial-gradient(circle at top left, rgba(184, 208, 181, .3), transparent 38%),
      linear-gradient(135deg, #f4f7ee 0%, #fffdf8 55%, #eef4e8 100%);
  }

  .abc-page-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 1.4rem;
    align-items: start;
  }

  .abc-page-hero-layout.abc-service-card {
    padding: clamp(.8rem, 1.6vw, 1.1rem);
    gap: clamp(1.1rem, 2vw, 1.6rem);
    align-items: stretch;
  }

  .abc-page-hero-layout.abc-service-card .abc-service-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .abc-page-hero-copy {
    padding: clamp(1.4rem, 3vw, 2.4rem);
    border: 1px solid rgba(49, 93, 71, .12);
    border-radius: 2rem;
    background: rgba(255, 253, 247, .82);
    box-shadow: 0 20px 46px rgba(51, 72, 61, .1);
  }

  .abc-page-hero-copy h1 {
    margin: 0 0 1rem;
  }

  .abc-page-hero-copy p {
    color: var(--abc-ink-soft);
    font-size: 1.08rem;
    line-height: 1.74;
  }

  .abc-page-hero-card,
  .abc-table-shell {
    border: 1px solid rgba(49, 93, 71, .12);
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 18px 40px rgba(51, 72, 61, .1);
  }

  .abc-page-hero-card {
    padding: 1.4rem;
  }

  .abc-page-hero-side {
    align-self: stretch;
  }

  .abc-page-hero-card h2 {
    font-size: clamp(1.6rem, 2.4vw, 2.15rem);
    margin-bottom: .8rem;
  }

  .abc-page-hero-card p,
  .abc-long-copy p {
    color: var(--abc-ink-soft);
    font-size: 1.08rem;
    line-height: 1.74;
  }

  .abc-check-list {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .55rem;
  }

  .abc-check-list li {
    color: #315d47;
    font-weight: 800;
  }

  .abc-check-list li::before {
    content: "•";
    margin-right: .55rem;
    color: var(--abc-wood);
  }

  .abc-services-overview {
    background: linear-gradient(180deg, #eef4e8, #fffdf7);
  }

  .abc-mini-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .abc-mini-card {
    padding: 1.25rem;
    border: 1px solid var(--abc-line);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 16px 36px rgba(51, 72, 61, .08);
  }

  .abc-mini-card h3 {
    margin: 0 0 .7rem;
    color: #214d3e;
    font-size: 1.28rem;
    line-height: 1.2;
  }

  .abc-mini-card p {
    margin: 0 0 1rem;
    color: var(--abc-ink-soft);
    line-height: 1.7;
  }

  .abc-table-shell {
    margin-top: 1.25rem;
    overflow: auto;
  }

  .abc-info-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
  }

  .abc-info-table caption {
    padding: 1rem 1rem .2rem;
    text-align: left;
    color: #214d3e;
    font-weight: 900;
  }

  .abc-info-table th,
  .abc-info-table td {
    padding: .95rem 1rem;
    border-top: 1px solid rgba(49, 93, 71, .12);
    text-align: left;
    vertical-align: top;
  }

  .abc-info-table th {
    color: #214d3e;
    font-size: .95rem;
  }

  .abc-info-table td {
    color: var(--abc-ink-soft);
    line-height: 1.6;
  }

  @media (max-width: 1120px) {
    .abc-page-hero-layout,
    .abc-mini-card-grid {
      grid-template-columns: 1fr;
    }
  }

  .abc-page-hero-copy h1,
  .abc-page-hero-card h2 {
    font-family: "Fraunces", Georgia, serif;
    letter-spacing: 0;
    color: #1d3a2e;
  }

  .abc-page-hero-copy h1 {
    font-size: clamp(2.75rem, 4.2vw, 4rem);
    line-height: 1.03;
  }

  .abc-overview-table th:nth-child(1),
  .abc-overview-table td:nth-child(1) {
    width: 24%;
  }

  .abc-overview-table th:nth-child(2),
  .abc-overview-table td:nth-child(2) {
    width: 40%;
  }

  .abc-overview-table th:nth-child(3),
  .abc-overview-table td:nth-child(3) {
    width: 36%;
  }

  .abc-overview-table:has(thead th:nth-child(4)) th:nth-child(1),
  .abc-overview-table:has(thead th:nth-child(4)) td:nth-child(1) {
    width: 20%;
  }

  .abc-overview-table:has(thead th:nth-child(4)) th:nth-child(2),
  .abc-overview-table:has(thead th:nth-child(4)) td:nth-child(2) {
    width: 34%;
  }

  .abc-overview-table:has(thead th:nth-child(4)) th:nth-child(3),
  .abc-overview-table:has(thead th:nth-child(4)) td:nth-child(3) {
    width: 28%;
  }

  .abc-overview-table:has(thead th:nth-child(4)) th:nth-child(4),
  .abc-overview-table:has(thead th:nth-child(4)) td:nth-child(4) {
    width: 18%;
    min-width: 9.6rem;
  }

  .abc-overview-table td:last-child,
  .abc-overview-table td:last-child a {
    overflow-wrap: normal;
    word-break: normal;
  }

  .abc-overview-table td:last-child a {
    display: inline-flex;
    min-width: 8.6rem;
    align-items: center;
    justify-content: center;
    padding: .72rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(49, 93, 71, .16);
    background: rgba(244, 248, 239, .92);
    color: #214d3e;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    transition: transform .2s ease, box-shadow .22s ease, background .22s ease;
  }

  .abc-overview-table td:last-child a:hover,
  .abc-overview-table td:last-child a:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(51, 72, 61, .12);
    background: rgba(236, 244, 232, .98);
  }

  @media (max-width: 1120px) {
    .abc-nav-shell {
      min-height: 5.45rem !important;
      padding: .55rem .95rem !important;
    }

    .abc-brand {
      width: 4.9rem !important;
      height: 4.9rem !important;
      transform: scale(1.08) !important;
      transform-origin: left center !important;
    }

    .abc-mobile-icon-btn {
      min-width: 3.25rem !important;
      min-height: 3.25rem !important;
      font-size: .82rem !important;
      line-height: 1.12 !important;
    }

    .abc-mobile-icon-btn svg {
      width: 1.8rem !important;
      height: 1.8rem !important;
    }
  }

  @media (max-width: 900px) {
    html {
      font-size: 100% !important;
    }

    .abc-page-hero {
      padding: 5.9rem 0 1.9rem !important;
    }

    .abc-page-hero + .abc-section {
      padding-top: 1.65rem !important;
    }

    .abc-section + .abc-section {
      padding-top: 2.35rem !important;
    }

    .abc-page-hero-copy,
    .abc-page-hero-card {
      border-radius: 1.45rem !important;
    }

    .abc-page-hero-copy h1 {
      font-size: clamp(2.35rem, 8.6vw, 3.15rem) !important;
      line-height: 1.04 !important;
      margin-bottom: .9rem !important;
    }

    .abc-section h2 {
      font-size: clamp(2.2rem, 8vw, 2.8rem) !important;
      line-height: 1.08 !important;
    }

    .abc-page-hero-card h2,
    .abc-faq-grid h3,
    .abc-mini-card h3 {
      font-size: 1.69rem !important;
      line-height: 1.18 !important;
    }

    .abc-page-hero-copy p,
    .abc-page-hero-card p,
    .abc-category-service-card p,
    .abc-two-col > div > p,
    .abc-section-head p,
    .abc-text-stack p,
    .abc-zones p,
    .abc-cta p,
    .abc-faq-grid p,
    .abc-related-links a,
    .abc-check-list li,
    .abc-overview-table td,
    .abc-info-table td {
      font-size: 1.24rem !important;
      line-height: 1.72 !important;
    }

    .abc-category-service-card h3 {
      font-size: clamp(1.72rem, 6.5vw, 2.2rem) !important;
      line-height: 1.16 !important;
    }

    .abc-category-service-card > a,
    .abc-service-copy > a,
    .abc-inline-cta {
      font-size: 1.14rem !important;
      line-height: 1.45 !important;
    }

    .abc-btn,
    .abc-phone {
      font-size: 1rem !important;
    }
  }

  @media (max-width: 680px) {
    html {
      font-size: 100% !important;
    }

    .abc-container,
    .abc-hero-inner {
      width: min(100% - .75rem, 1180px) !important;
    }

    .abc-nav-shell {
      width: min(100% - .45rem, 1220px) !important;
      min-height: 5.25rem !important;
      padding: .5rem .75rem !important;
    }

    .abc-brand {
      width: 4.75rem !important;
      height: 4.75rem !important;
      transform: scale(1.05) !important;
    }

    .abc-page-hero {
      padding-top: 6.15rem !important;
    }

    .abc-page-hero-copy,
    .abc-page-hero-card {
      padding: 1.45rem 1.25rem !important;
    }

    .abc-hero-actions {
      gap: .7rem !important;
    }

    .abc-hero-actions .abc-btn {
      width: auto !important;
      min-height: 3.25rem !important;
      padding: .82rem 1.05rem !important;
      flex: 1 1 9rem !important;
    }


    .abc-overview-table td:nth-child(2),
    .abc-overview-table td:nth-child(3),
    .abc-overview-table td:nth-child(4) {
      position: relative;
      padding-top: 1.55rem;
    }

    .abc-overview-table td:nth-child(4)::before {
      content: attr(data-label);
      position: absolute;
      top: 0;
      left: 0;
      color: #315d47;
      font-size: .82rem;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .abc-overview-table td:last-child a {
      width: 100%;
      min-width: 0;
      min-height: 3.2rem;
    }
  }

  /* Final GHL mobile alignment: keep generated pages visually aligned with the homepage. */
  @media (max-width: 1120px) {
    .abc-site .abc-nav {
      padding: 0 !important;
    }

    .abc-site .abc-nav .abc-nav-shell {
      width: min(100% - .5rem, 1220px) !important;
      min-height: 6.05rem !important;
      padding: .48rem .85rem !important;
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: .75rem !important;
      border-radius: 0 0 1.55rem 1.55rem !important;
    }

    .abc-site .abc-nav .abc-brand {
      width: 5.25rem !important;
      height: 5.25rem !important;
      transform: none !important;
      transform-origin: left center !important;
      flex: 0 0 auto !important;
    }

    .abc-site .abc-nav .abc-brand img {
      transform: scale(1.12) !important;
    }

    .abc-site .abc-nav .abc-nav-actions {
      gap: 1.05rem !important;
      align-items: center !important;
    }

    .abc-site .abc-nav .abc-mobile-icon-btn {
      min-width: 3.65rem !important;
      min-height: 3.65rem !important;
      padding: .2rem !important;
      font-size: .86rem !important;
      line-height: 1.12 !important;
      font-weight: 900 !important;
    }

    .abc-site .abc-nav .abc-mobile-icon-btn svg {
      width: 2rem !important;
      height: 2rem !important;
    }

    .abc-site.is-menu-open .abc-nav-links {
      gap: .45rem !important;
      padding: 1rem 0 .45rem !important;
    }

    .abc-site .abc-nav-links a {
      min-height: 3.85rem !important;
      font-size: 1.45rem !important;
      line-height: 1.18 !important;
    }

    .abc-site .abc-page-hero {
      padding: 6.7rem 0 3rem !important;
    }

    .abc-site .abc-page-hero-layout {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 1rem !important;
      padding: 1.35rem !important;
      border: 1px solid rgba(49, 93, 71, .12) !important;
      border-radius: 1.65rem !important;
      background: rgba(255, 253, 247, .86) !important;
      box-shadow: 0 18px 42px rgba(51, 72, 61, .1) !important;
    }

    .abc-site .abc-page-hero-copy {
      padding: .2rem .05rem 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      min-height: auto !important;
      order: 1 !important;
    }

    .abc-site .abc-page-hero-card {
      padding: 1.15rem 0 0 !important;
      border: 0 !important;
      border-top: 1px solid rgba(49, 93, 71, .12) !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      align-self: stretch !important;
      order: 2 !important;
    }

    .abc-site .abc-faq-grid {
      grid-template-columns: 1fr !important;
      gap: .95rem !important;
    }

    .abc-site .abc-faq-grid article {
      padding: 1.25rem !important;
      border-radius: 1.15rem !important;
    }

    .abc-site .abc-page-hero-copy h1 {
      font-size: clamp(2.22rem, 8.18vw, 3.22rem) !important;
      line-height: 1.04 !important;
      text-align: center !important;
      margin-bottom: .9rem !important;
    }

    .abc-site .abc-page-hero-card h2,
    .abc-site .abc-faq-grid h3,
    .abc-site .abc-mini-card h3 {
      font-size: 1.69rem !important;
      line-height: 1.18 !important;
    }

    .abc-site .abc-page-hero-copy p,
    .abc-site .abc-page-hero-card p,
    .abc-site .abc-check-list li,
    .abc-site .abc-category-service-card p,
    .abc-site .abc-section-head p,
    .abc-site .abc-text-stack p,
    .abc-site .abc-zones p,
    .abc-site .abc-cta p,
    .abc-site .abc-faq-grid p,
    .abc-site .abc-related-links a,
    .abc-site .abc-overview-table td,
    .abc-site .abc-info-table td {
      font-size: 1.08rem !important;
      line-height: 1.68 !important;
    }

    .abc-site .abc-category-service-card h3 {
      font-size: clamp(1.75rem, 6.5vw, 2.15rem) !important;
      line-height: 1.1 !important;
    }

    .abc-site .abc-category-service-card > a,
    .abc-site .abc-service-copy > a,
    .abc-site .abc-inline-cta {
      font-size: 1.06rem !important;
      line-height: 1.45 !important;
    }

    .abc-site .abc-btn,
    .abc-site .abc-phone {
      min-height: 3.85rem !important;
      font-size: 1.02rem !important;
    }
  }

  @media (max-width: 680px) {
    .abc-site .abc-container,
    .abc-site .abc-hero-inner {
      width: min(100% - .6rem, 1180px) !important;
    }

    .abc-site .abc-nav .abc-nav-shell {
      width: min(100% - .35rem, 1220px) !important;
      min-height: 6.05rem !important;
      padding: .45rem .75rem !important;
    }

    .abc-site .abc-nav .abc-brand {
      width: 5.15rem !important;
      height: 5.15rem !important;
    }

    .abc-site .abc-page-hero {
      padding-top: 6.55rem !important;
      padding-bottom: 2.7rem !important;
    }

    .abc-site .abc-page-hero-copy,
    .abc-site .abc-page-hero-card {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    .abc-site .abc-hero-actions {
      width: 100% !important;
      gap: .75rem !important;
    }

    .abc-site .abc-hero-actions .abc-btn {
      width: auto !important;
      flex: 1 1 9.5rem !important;
      min-height: 3.65rem !important;
      padding: .86rem 1rem !important;
    }

    .abc-site .abc-hero-actions .abc-btn-urgent {
      text-align: center !important;
      justify-content: center !important;
    }


    .abc-site .abc-overview-table td:last-child a {
      min-height: 3.55rem !important;
      font-size: 1.18rem !important;
    }
  }

  /* Hard mobile navbar fallback for GHL pages that keep stale compact navbar rules. */
  @media (max-width: 1120px) {
    .abc-site > .abc-nav {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      z-index: 1000 !important;
      padding: 0 !important;
      background: transparent !important;
    }

    .abc-site > .abc-nav > .abc-nav-shell {
      width: min(100% - .45rem, 1220px) !important;
      min-height: 5.25rem !important;
      margin: 0 auto !important;
      padding: .5rem .75rem !important;
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: .65rem !important;
      border: 1px solid rgba(150, 184, 149, .34) !important;
      border-top: none !important;
      border-radius: 0 0 1.55rem 1.55rem !important;
      background: linear-gradient(135deg, rgba(249, 251, 245, .96), rgba(226, 238, 220, .92)) !important;
      box-shadow: 0 20px 54px rgba(51, 72, 61, .15) !important;
      backdrop-filter: blur(18px) !important;
    }

    .abc-site > .abc-nav .abc-brand {
      width: 4.75rem !important;
      height: 4.75rem !important;
      min-width: 4.75rem !important;
      min-height: 4.75rem !important;
      display: block !important;
      border-radius: 50% !important;
      overflow: hidden !important;
      background: #fff !important;
      transform: none !important;
      flex: 0 0 auto !important;
      z-index: 10 !important;
    }

    .abc-site > .abc-nav .abc-brand img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center !important;
      transform: scale(1.12) !important;
      border-radius: 50% !important;
    }

    .abc-site > .abc-nav .abc-nav-actions {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
      gap: .65rem !important;
      margin-left: auto !important;
    }

    .abc-site > .abc-nav .desktop-only {
      display: none !important;
    }

    .abc-site > .abc-nav .abc-mobile-icon-btn {
      width: 3.25rem !important;
      min-width: 3.25rem !important;
      height: 3.25rem !important;
      min-height: 3.25rem !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      gap: .15rem !important;
      padding: .1rem !important;
      border: 0 !important;
      background: transparent !important;
      color: #214d3e !important;
      font-size: .82rem !important;
      line-height: 1.12 !important;
      font-weight: 900 !important;
      text-decoration: none !important;
    }

    .abc-site > .abc-nav .abc-mobile-icon-btn svg {
      width: 1.8rem !important;
      height: 1.8rem !important;
      stroke: currentColor !important;
    }
  }

  @media (max-width: 680px) {
    .abc-site > .abc-nav > .abc-nav-shell {
      width: min(100% - .45rem, 1220px) !important;
      min-height: 5.25rem !important;
      padding: .5rem .75rem !important;
    }

    .abc-site > .abc-nav .abc-brand {
      width: 4.75rem !important;
      height: 4.75rem !important;
      min-width: 4.75rem !important;
      min-height: 4.75rem !important;
    }

    .abc-whatsapp-sticky {
      right: 1rem;
      bottom: calc(env(safe-area-inset-bottom, 0px) + 5.6rem);
      width: 3.7rem;
      height: 3.7rem;
    }
  }
