/* File: automatic-custom-css.css - Version: 3.3.6 - Generated: 2026-06-22 02:35:20 */
@charset "UTF-8";
/* amw:brand-palette-v1 */
:root {
  --brand-navy: #003479;
  --brand-orange: #ef5236;
  --brand-orange-mid: #f37649;
  --brand-coral: #f7a58d;
  --brand-teal-dark: #005d8f;
  --brand-teal-mid: #0078a3;
  --brand-teal: #00a4d1;
  --brand-cyan: #00d4ff;
  --brand-steel: #6494b4;
  --brand-blue-grey: #b5c8d4;
  --brand-slate: #7a8a9e;
  --brand-warm-white: #f8f4f2;
  --brand-cool-white: #eff2f1;
  --brand-peach: #f1e8e4;
}
:root {
  --color-secondary-darker: var(--secondary-ultra-dark);
  --color-text-muted: var(--neutral);
  --color-text-secondary: var(--neutral-dark);
  --color-bg-light: var(--neutral-ultra-light);
  --color-bg-offwhite: var(--white);
  --color-border-light: var(--neutral-light);
  --color-border: var(--neutral-semi-light);
  --secondary-color-light: var(--secondary-light);
  --font-main: var(--heading-font-family);
  --fs-base: var(--text-m);
  --fs-xs: var(--text-s);
  --fs-s: var(--text-s);
  --fs-m: var(--text-m);
  --fs-l: var(--text-l);
  --fs-xl: var(--text-xl);
  --fs-2xl: var(--text-2xl);
  --fs-3xl: var(--text-3xl);
  --fs-4xl: clamp(2rem, 4vw, 3rem);
  --fs-5xl: clamp(2.5rem, 5vw, 3.5rem);
  --container-max: var(--content-width);
  --container-pad: var(--gutter);
  --transition-fast: 0.2s ease;
  --transition-med: var(--transition-duration) var(--transition-timing);
  --transition-slow: 0.4s ease;
  --radius-xs: var(--radius-xs);
  --radius-l: var(--radius-m);
  --radius-xl: var(--radius-l);
  --radius-pill: var(--radius-full);
  --shadow-sm: var(--box-shadow-1);
  --shadow-md: var(--box-shadow-m);
  --shadow-lg: var(--box-shadow-l);
  --shadow-xl: var(--box-shadow-xl);
}
html {
  -webkit-text-size-adjust: 100%;
  font-family: "Poppins", sans-serif;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
  padding: 0;
  margin: 0;
  background: var(--color-bg-offwhite);
}
div, h1, h2, h3, h4, h5, h6, p {
  width: 100%;
}
.skip-link {
  position: absolute;
  top: calc(var(--space-s) * -10);
  left: var(--space-s);
  background: var(--secondary);
  color: var(--white);
  padding: var(--space-xs) var(--space-s);
  border-radius: var(--radius-s);
  font-weight: 700;
  font-size: var(--text-base);
  z-index: 99999;
  text-decoration: none;
  transition: top var(--transition-fast);
}
.skip-link:focus {
  top: var(--space-s);
}
.justify-content-center {
  justify-content: center !important;
}
@keyframes zoom-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bounce-animation {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-15px);
  }
  60% {
    transform: translateY(-7px);
  }
}
@keyframes play-ring {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  70% {
    transform: scale(1.55);
    opacity: 0;
  }
  100% {
    transform: scale(1.55);
    opacity: 0;
  }
}
@keyframes popup-slide-in {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* ═══ ZONE 1 — ACSS Base / Tokens (permanent) ═══ */
/* amw:font-stack */
html, body {
  font-family: var(--text-font-family, "Poppins", sans-serif);
}
.stat-counter, .counter, .bitform-field {
  font-family: var(--heading-font-family, "Lato", sans-serif);
}
/* amw:fa-normalize */
.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
  font-variant: normal !important;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.fab, .fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}
.fas, .fa-solid {
  font-weight: 900 !important;
}
.far, .fa-regular {
  font-weight: 400 !important;
}
.fa-location-dot:before {
  content: "";
}
/* amw:body-copy — paragraph rhythm in main content */
main#main-content p:not([class]), main#main-content .intro-section__description, main#main-content .services-archive-intro__text, main#main-content .archive-promise-section__text, main#main-content .process-intro-section__mission-text {
  line-height: 1.75;
  margin-bottom: var(--space-s);
}
main#main-content p:not([class]):last-child, main#main-content .intro-section__description:last-child, main#main-content .services-archive-intro__text:last-child {
  margin-bottom: 0;
}
/* ═══ ZONE 3 — Custom Global Rules (permanent sitewide) ═══ */
/* amw:viewport-fluid-v1 */
/* Fluid inset: Samsung S23 Ultra (384px), large Android (412px), iPhone Pro Max (430px) */
@media (max-width: 991px) {
  :root {
    --amw-mobile-tight-inset: clamp(
			calc(var(--gutter) * 0.32),
			1.75vw,
			calc(var(--gutter) * 0.48)
		);
    --amw-safe-inline-start: max(var(--amw-mobile-tight-inset), env(safe-area-inset-left, 0px));
    --amw-safe-inline-end: max(var(--amw-mobile-tight-inset), env(safe-area-inset-right, 0px));
  }
}
html {
  overflow-x: clip;
}
body {
  overflow-x: clip;
  min-width: 0;
}
main#main-content {
  max-width: 100%;
  overflow-x: clip;
}
main#main-content img, main#main-content video, main#main-content iframe, main#main-content table, main#main-content svg {
  max-width: 100%;
}
main#main-content [class*="__grid"], main#main-content [class*="-grid"], main#main-content .swiper {
  min-width: 0;
}
@media (max-width: 767px) {
  .site-nav__wrap, .main-footer__wrap, .top-bar__inner, main#main-content section [class*="__wrap"], main#main-content section.service-areas-section, main#main-content .video-section__wrap {
    padding-inline-start: var(--amw-safe-inline-start, var(--amw-mobile-tight-inset));
    padding-inline-end: var(--amw-safe-inline-end, var(--amw-mobile-tight-inset));
    max-width: min(var(--content-width), calc(100% - var(--amw-safe-inline-start, var(--amw-mobile-tight-inset)) - var(--amw-safe-inline-end, var(--amw-mobile-tight-inset))));
  }
  main#main-content section > .container, main#main-content section > .container-md, main#main-content > .container, main#main-content > .container-md {
    padding-inline-start: var(--amw-safe-inline-start, var(--gutter));
    padding-inline-end: var(--amw-safe-inline-end, var(--gutter));
    max-width: min(var(--content-width), calc(100% - var(--amw-safe-inline-start, var(--gutter)) - var(--amw-safe-inline-end, var(--gutter))));
  }
}
/* Tablet / phablet band (768–991): foldables, iPad mini, landscape large phones */
@media (min-width: 768px) and (max-width: 991px) {
  .impact-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .care-insights-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Landscape phones — short viewport height */
@media (max-height: 520px) and (orientation: landscape) and (max-width: 991px) {
  main#main-content section.hero-section {
    min-height: auto;
    aspect-ratio: auto;
    padding-block: var(--space-m);
  }
  .impact-section__grid, .services-section__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-s);
  }
}
@media (max-width: 575px) {
  .impact-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* amw:universal-content-rail-v1 */
/* Universal Content Rail — golden half-gutter recipe sitewide (§2.2 + §2.3) */
.site-nav__wrap, .main-footer__wrap, .top-bar__inner, main#main-content section [class*="__wrap"], main#main-content > .service-area-detail__wrap, main#main-content > .local-service-detail__wrap, main#main-content > .container, main#main-content > .container-md, main#main-content section > .container, main#main-content section > .container-md, main#main-content > .container:has(.detail-grid), main#main-content .office-location-section > .container, main#main-content .join-the-best-section > .container, main#main-content .jobs-section > .container, main#main-content .contact-form-section > .container, main#main-content .faq-section > .container, main#main-content .privacy-policy-section > .container, main#main-content .care-process-section > .container, main#main-content .process-intro-section__content, main#main-content .privacy-policy-section__content, .solutions-hero-section > .container {
  max-width: min(var(--content-width), calc(100% - var(--gutter)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) * 0.5);
  box-sizing: border-box;
  width: 100%;
}
/* Nested .container inside an already-inset __wrap must not double-gutter */
main#main-content section [class*="__wrap"] > .container, main#main-content section [class*="__wrap"] > .container-md {
  max-width: 100%;
  padding-inline: 0;
  margin-inline: 0;
  box-sizing: border-box;
}
main#main-content .detail-grid, main#main-content .detail-content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .site-nav__wrap, .main-footer__wrap, .top-bar__inner, main#main-content section [class*="__wrap"], main#main-content > .service-area-detail__wrap, main#main-content > .local-service-detail__wrap, main#main-content > .container, main#main-content > .container-md, main#main-content section > .container, main#main-content section > .container-md, main#main-content > .container:has(.detail-grid), main#main-content .office-location-section > .container, main#main-content .join-the-best-section > .container, main#main-content .jobs-section > .container, main#main-content .contact-form-section > .container, main#main-content .faq-section > .container, main#main-content .privacy-policy-section > .container, main#main-content .care-process-section > .container, main#main-content .process-intro-section__content, main#main-content .privacy-policy-section__content, .solutions-hero-section > .container {
    padding-inline: var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4));
    max-width: min(var(--content-width), calc(100% - 2 * var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4))));
  }
}
/* amw:sitewide-mobile-rail-v1 */
/* Homepage golden reference — all templates (§2.1) */
@media (max-width: 767px) {
  main#main-content section[class*="section"], main#main-content section.ai-chat, main#main-content section.service-areas-section {
    padding-inline: 0;
  }
  main#main-content section [class*="__wrap"], main#main-content section.service-areas-section {
    padding-inline: var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4));
    max-width: min(var(--content-width), calc(100% - 2 * var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4))));
    margin-inline: auto;
    box-sizing: border-box;
  }
  main#main-content section.services-section, main#main-content section.commitment-section, main#main-content section.newsletter-section, main#main-content section.hero-section {
    padding-inline: 0;
  }
}
/* amw:mobile-gutter-half */
@media (max-width: 767px) {
  /* Bootstrap / legacy containers only — __wrap shells use amw:sitewide-mobile-rail-v1 */
  main#main-content > .container, main#main-content > .container-md, main#main-content section > .container, main#main-content section > .container-md, .intro-section > .container, .intro-section > .container-md, .services-archive-intro > .container, .services-archive-intro > .container-md, .solutions-hero-section > .container {
    padding-inline: var(--gutter);
  }
  main#main-content > .container, main#main-content > .container-md, main#main-content section > .container, main#main-content section > .container-md, .intro-section > .container, .intro-section > .container-md, .services-archive-intro > .container, .services-archive-intro > .container-md, .solutions-hero-section > .container {
    max-width: min(var(--content-width), calc(100% - 2 * var(--gutter)));
    margin-inline: auto;
    box-sizing: border-box;
  }
  main#main-content section > .container .row, main#main-content section > .container-md .row {
    --bs-gutter-x: var(--space-m);
    margin-inline: 0;
    max-width: 100%;
  }
  main#main-content section > .container [class*="col-"], main#main-content section > .container-md [class*="col-"] {
    padding-inline: 0;
  }
}
/* amw:sitewide-section-rhythm-v2 */
main#main-content .hero-section, main#main-content .intro-section, main#main-content .promise-section, main#main-content .services-section, main#main-content .service-areas-section, main#main-content .impact-section, main#main-content .video-section, main#main-content .commitment-section, main#main-content .comparison-section, main#main-content .newsletter-section, main#main-content .ai-chat, main#main-content .testimonials-section, main#main-content .trust-reviews-section, main#main-content .cta-section, main#main-content .care-insights-section, main#main-content .pre-footer-cta, main#main-content .testimonials-intro-section, main#main-content .about-hero-section, main#main-content .why-choose-section, main#main-content .faq-section, main#main-content .office-location-section, main#main-content .process-intro-section, main#main-content .care-process-section, main#main-content .solutions-hero-section, main#main-content .why-love-section, main#main-content .consultation-section, main#main-content .simple-steps-section, main#main-content .process-section, main#main-content .jobs-section {
  padding-block: unset;
  padding-block-start: var(--section-space-m);
  padding-block-end: var(--section-space-m);
}
main#main-content .newsletter-section {
  padding-inline: 0;
}
/* Shell owns seam distance — direct children must not inflate it */
main#main-content > section > :first-child {
  margin-block-start: 0;
}
main#main-content > section > :last-child {
  margin-block-end: 0;
}
@media (max-width: 767px) {
  main#main-content .hero-section, main#main-content .intro-section, main#main-content .promise-section, main#main-content .services-section, main#main-content .service-areas-section, main#main-content .impact-section, main#main-content .video-section, main#main-content .commitment-section, main#main-content .comparison-section, main#main-content .newsletter-section, main#main-content .ai-chat, main#main-content .testimonials-section, main#main-content .trust-reviews-section, main#main-content .cta-section, main#main-content .care-insights-section, main#main-content .pre-footer-cta, main#main-content .testimonials-intro-section, main#main-content .about-hero-section, main#main-content .why-choose-section, main#main-content .faq-section, main#main-content .office-location-section, main#main-content .process-intro-section, main#main-content .care-process-section, main#main-content .solutions-hero-section, main#main-content .why-love-section, main#main-content .consultation-section, main#main-content .simple-steps-section, main#main-content .process-section, main#main-content .jobs-section {
    padding-block: unset;
    padding-top: var(--section-space-m);
    padding-bottom: var(--section-space-m);
  }
}
/* amw:touch-target-v1 */
button.nav-toggler, .swiper-pagination button, button[aria-label^="Go to slide"], button[aria-label^="Toggle answer"], a.btn-get-started, a.btn-promo-contact, a.contact-link, .newsletter-form .b4-1-btn, #bitforms_4_1473_1 .b4-1-btn {
  min-height: 48px;
  min-width: 48px;
}
a.btn-get-started, a.btn-promo-contact, a.btn-contact-office, a.btn-cta-phone, button.btn-submit, a.btn-callback, a.btn-view-services, .location-card__cta {
  min-height: var(--space-xl);
  min-width: var(--space-xl);
}
a.btn-promo-contact, a.btn-contact-office, a.btn-cta-phone, button.btn-submit, a.btn-callback {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
a.btn-get-started {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .hero-section .hero-section__content .hero-section__actions > a.btn-get-started {
    display: inline-block !important;
    width: max-content !important;
    max-width: 100%;
    text-align: left !important;
    padding-inline: var(--space-m) var(--space-l) !important;
  }
}
/* amw:critical-perf */
.faq-banner {
  position: relative;
  overflow: hidden;
  min-height: clamp(200px, 52vw, 340px);
  --radius:0}
.faq-banner-bg-img{position:absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-section {
  position: relative;
  overflow: hidden;
  min-height: clamp(280px, 70vw, 520px);
}
.hero-section__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  --radius:0}
.intro-section__title,.intro-section__subtitle{min-height:1.2em}
.about-intro-section{min-height:clamp(180px,40vw,260px)}
.newsletter-section__media-col{--radius:0}
.newsletter-section__bg-img{width:100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-section__content {
  position: relative;
  z-index: 1;
  min-height: clamp(180px, 45vw, 320px);
}
.hero-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  min-height: 7rem;
}
a.btn-get-started, a.btn-cta-phone {
  display: inline-block;
  box-sizing: border-box;
  min-height: 54px;
  padding: 16px 40px;
  line-height: 1.2;
}
.hero-section__actions a.btn-view-services {
  display: inline-block;
  box-sizing: border-box;
  min-height: 28px;
  padding: 8px 0;
  line-height: 1.4;
}
@media (min-width: 992px) {
  .hero-section__actions {
    flex-direction: row;
    min-height: 3.5rem;
  }
}
.cta-section__media-wrap {
  aspect-ratio: 1.5;
  max-width: 560px;
}
.cta-section__media-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cta-section .cta-section__content {
  min-height: 12rem;
}
.cta-section .btn-cta-phone {
  display: inline-block;
  box-sizing: border-box;
  min-height: 54px;
  padding: 16px 40px;
  line-height: 1.2;
}
@media (max-width: 991px) {
  .cta-section {
    text-align: center;
  }
  .cta-section .cta-section__grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "title" "ratings" "image" "phone";
    gap: 1.5rem;
    justify-items: center;
  }
  .cta-section .cta-section__content {
    display: contents;
  }
  .cta-section .cta-section__title {
    grid-area: title;
    width: 100%;
    text-align: center;
  }
  .cta-section .cta-section__ratings {
    grid-area: ratings;
  }
  .cta-section .cta-section__media-wrap {
    grid-area: image;
    width: 100%;
    max-width: 560px;
  }
  .cta-section .btn-cta-phone {
    grid-area: phone;
  }
}
.contact-form-section .contact-form-section__intro {
  min-height: clamp(140px, 38vw, 220px);
}
.contact-form-section .contact-form-section__text {
  display: block;
  min-height: 3.2em;
}
/* amw:chat-widget-anchor */
[class*="_mobile_controller_"] {
  left: auto !important;
  right: var(--space-s) !important;
  bottom: var(--space-s) !important;
  transform: none !important;
  width: auto !important;
  max-width: min(20rem, calc(100% - 2 * var(--space-s))) !important;
}
[class*="_realTimeBubble_"], [class*="_speechTextModule_"], [class*="_minimizeVoice_"] {
  left: auto !important;
  right: var(--space-s) !important;
  transform: none !important;
}
@media (max-width: 767px) {
  [class*="_mobile_controller_"] {
    right: var(--space-s) !important;
    bottom: 0.25in !important;
  }
  [class*="_realTimeBubble_"], [class*="_speechTextModule_"], [class*="_minimizeVoice_"] {
    right: var(--space-s) !important;
    bottom: 0.25in !important;
  }
}
/* amw:footer-ontario-logo-cap-v1 */
/* Footer Ontario licence logo — beat main#main-content img { max-width: 100% } when footer is inside main */
.main-footer .ontario-logo img, main#main-content .main-footer .ontario-logo img {
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
  box-sizing: border-box;
}
/* amw:focus-ring-v1 */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .location-card:focus-visible, .service-card-link:focus-visible, .swiper-pagination button:focus-visible, button[aria-label^="Go to slide"]:focus-visible, .btn:focus-visible, a.btn-get-started:focus-visible, a.contact-link:focus-visible {
  outline: 2px solid var(--action);
  outline-offset: 2px;
}
/* amw:services-archive-visual-restore-v1 */
main#main-content .services-section .services-section__title, main#main-content .services-section .services-section__lead {
  color: var(--white);
}
main#main-content .services-section .services-section__eyebrow {
  color: var(--white);
}
main#main-content .testimonials-section .testimonials-section__quote {
  text-align: left;
}
/* amw:services-archive-polish-v2 */
main#main-content .trust-quality-section__wrap {
  max-width: 100% !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}
main#main-content .trust-quality-section, main#main-content .trust-quality-section__grid {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  box-sizing: border-box;
}
main#main-content .commitment-section .commitment-section__card-title, main#main-content .commitment-section .commitment-section__card-desc {
  text-align: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
main#main-content .testimonials-section .testimonials-section__quote {
  margin-bottom: var(--space-m);
}
main#main-content .testimonials-section .testimonials-section__stars {
  margin-top: var(--space-m);
  margin-bottom: var(--space-s);
}
main#main-content .testimonials-section .testimonials-section__card {
  gap: var(--space-m);
}
/* amw:detail-content-empty-guard-v1 */
/* Collapse empty post/local-service article column when wp:post-content has no body */
/* Hide the article column when wp-block-post-content has no child elements */
main#main-content article.detail-content:has(.wp-block-post-content:not(:has(> *))) {
  display: none;
}
/* Convert blog single detail grid to single-column when article is empty */
main#main-content .blog-single-detail__grid:has(article.detail-content:has(.wp-block-post-content:not(:has(> *)))) {
  grid-template-columns: 1fr;
}
/* Convert local-service detail grid to single-column when article is empty */
main#main-content .detail__grid:has(article.detail-content:has(.wp-block-post-content:not(:has(> *)))) {
  grid-template-columns: 1fr;
}
/* Also handle service-area detail grid */
main#main-content .service-area-detail__grid:has(article.detail-content:has(.wp-block-post-content:not(:has(> *)))) {
  grid-template-columns: 1fr;
}
/* When collapsed, sidebar takes full width at appropriate max */
main#main-content .detail-sidebar {
  min-width: 0;
  max-width: 100%;
}
/* /amw:detail-content-empty-guard-v1 */
/* amw:thankyou-h1-v1 — Thank You page H1 styling */
/* H1 is injected by AMW_Semantic_HTML before .thank-you-section.
   We use negative margin to pull it DOWN into the section, and set a
   background that matches the section overlay so it appears to be inside. */
main#main-content h1.thank-you-title {
  font-family: var(--font-main, "Poppins", sans-serif);
  font-size: clamp(var(--text-l), 4vw, var(--h2));
  font-weight: 800;
  line-height: 1.3;
  color: var(--white);
  text-align: center;
  margin: 0;
  padding: var(--space-xl) var(--gutter) var(--space-l);
  background: color-mix(in srgb, var(--primary) 65%, transparent);
  text-shadow: 0 1px 6px color-mix(in srgb, var(--primary) 60%, transparent);
  box-sizing: border-box;
  width: 100%;
  position: relative;
  z-index: 1;
}
/* /amw:thankyou-h1-v1 */
/* amw:about-us-breadcrumb-v1 */
.page-id-682 .amw-breadcrumbs-nav, .page-id-682 .breadcrumb-trail {
  padding: var(--space-s) var(--gutter);
  font-size: var(--text-s);
  color: var(--neutral-dark);
  background: color-mix(in srgb, var(--primary) 6%, transparent);
}
.page-id-682 .amw-breadcrumbs-nav a, .page-id-682 .breadcrumb-trail a {
  color: var(--primary);
  text-decoration: none;
}
.page-id-682 .amw-breadcrumbs-nav a:hover, .page-id-682 .breadcrumb-trail a:hover {
  color: var(--secondary);
  text-decoration: underline;
}
/* /amw:about-us-breadcrumb-v1 */
/* amw:intro-section-eyebrow-v1 */
main#main-content .intro-section__eyebrow {
  font-size: var(--text-m);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: var(--space-s);
  color: var(--secondary);
}
/* /amw:intro-section-eyebrow-v1 */
/* amw:contact-form-card-v1 */
.page-id-971 .bf-form-control {
  border: 1px solid color-mix(in srgb, var(--primary) 20%, transparent);
  border-radius: var(--radius);
  padding: var(--space-s) var(--space-m);
  font-family: var(--font-main);
  font-size: var(--text-m);
  color: var(--primary);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.page-id-971 .bf-form-control:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent);
}
.page-id-971 .bf-btn-submit, .page-id-971 [type="submit"] {
  background: var(--secondary);
  color: var(--white);
  border: none;
  border-radius: var(--radius);
  padding: var(--space-s) var(--space-xl);
  font-weight: 700;
  font-family: var(--font-main);
  font-size: var(--text-m);
  cursor: pointer;
  transition: background var(--transition-fast), transform var(--transition-fast);
  min-height: 48px;
}
.page-id-971 .bf-btn-submit:hover, .page-id-971 [type="submit"]:hover {
  background: color-mix(in srgb, var(--secondary) 85%, var(--black));
  transform: translateY(-1px);
}
/* /amw:contact-form-card-v1 */
/* amw:careers-page-v1 */
/* Gracefully hide orphan empty sections on careers page */
.page-id-2049 section:not([aria-label]):empty, .page-id-2049 section:not(.join-the-best-section):not(.careers-intro-section):not(.jobs-section):not(.services-section):not(.commitment-section):not(.testimonials-section):not(.cta-section):empty {
  display: none;
}
/* Benefit item image styling */
.page-id-2049 .join-the-best-section__img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-inline: auto;
  border-radius: var(--radius);
}
/* /amw:careers-page-v1 */
/* amw:header-dark-band-contrast-v1 */
.site-nav {
  transition: background-color var(--transition-med), box-shadow var(--transition-med);
  border-bottom: none;
  box-shadow: 0 1px 0 0 var(--primary);
}
html.amw-header-on-dark-band .site-nav {
  box-shadow: 0 1px 0 0 var(--white), 0 4px 0 0 var(--secondary), 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}
/* amw:comparison-grey-continue-v1 */
main#main-content .comparison-section + .newsletter-section {
  background-color: var(--color-bg-light);
}
/* amw:header-sticky-seam-v1 */
header.header {
  margin-bottom: -1px;
}
header.header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background-color: var(--primary);
  pointer-events: none;
  z-index: 0;
}
main#main-content > *:first-child {
  margin-top: -1px;
}
/* amw:header-dropdown-seam-fix-v1 */
@media (min-width: 992px) {
  .header .site-nav {
    position: relative;
    z-index: 1;
  }
  header.header:has(.dropdown-mega:hover, .dropdown-mega.show, .dropdown:hover > .dropdown-menu) .site-nav {
    z-index: 2;
  }
  .site-nav .dropdown-mega, .site-nav .dropdown-menu:not(.dropdown-mega) {
    z-index: 1001;
  }
}
/* amw:cta-section-polish-v2-v1 */
/* Lead paragraph + mobile grid order for CTA block 957 */
.cta-section .cta-section__content {
  min-height: 0;
}
@media (max-width: 991px) {
  .cta-section .cta-section__grid {
    grid-template-areas: "title" "lead" "ratings" "image" "phone";
  }
  .cta-section .cta-section__lead {
    grid-area: lead;
    width: 100%;
    text-align: center;
  }
}
/* amw:family4-main-wrap-rail-v1 */
/* Belt-and-suspenders if universal marker merge missed a selector group */
main#main-content > .service-area-detail__wrap, main#main-content > .local-service-detail__wrap {
  max-width: min(var(--content-width), calc(100% - var(--gutter)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) * 0.5);
  box-sizing: border-box;
  width: 100%;
}
@media (max-width: 767px) {
  main#main-content > .service-area-detail__wrap, main#main-content > .local-service-detail__wrap {
    padding-inline: var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4));
    max-width: min(var(--content-width), calc(100% - 2 * var(--amw-mobile-tight-inset, calc(var(--gutter) * 0.4))));
  }
}
/* amw:cta-phone-btn-left-align-v1 */
main#main-content .cta-section .btn-cta-phone {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start !important;
  text-align: left;
  gap: var(--space-s);
  padding-inline: var(--space-m) var(--space-l) !important;
  padding-block: var(--space-s) !important;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}
main#main-content .cta-section .btn-cta-phone i {
  flex-shrink: 0;
  line-height: 1;
}
