/* Fonts */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/inter-400-subset.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/inter-500-subset.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/inter-600-subset.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/inter-700-subset.woff) format('woff');
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/libre-caslon-400-italic-subset.woff) format('woff');
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/libre-caslon-400-subset.woff) format('woff');
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/libre-caslon-700-subset.woff) format('woff');
}
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url(../fonts/material-symbols-variable-fill.woff2) format('woff2');
}

@media (max-width: 767px) {
  body.spotless-page-about main > section:first-of-type,
  body.spotless-page-about main > section:nth-of-type(2),
  body.spotless-page-services main > section:first-of-type {
    padding-top: var(--theme-section-padding-lg) !important;
    padding-bottom: var(--theme-section-padding-lg) !important;
  }
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
}

/* Design tokens */
:root {
  --theme-surface: #fef8f1;
  --theme-surface-container-lowest: #ffffff;
  --theme-surface-container-low: #f9f3ec;
  --theme-surface-container: #f3ede6;
  --theme-surface-variant: #e7e2db;
  --theme-background: #fef8f1;
  --theme-off-white: #FDF8F5;
  --theme-primary: #021525;
  --theme-primary-container: #172a3a;
  --theme-on-primary: #ffffff;
  --theme-on-primary-container: #7e91a5;
  --theme-secondary: #006d40;
  --theme-secondary-container: #8ff4b6;
  --theme-deep-forest: #2D6A4F;
  --theme-mint-surface: #EAF8F4;
  --theme-on-surface: #1d1b17;
  --theme-on-surface-variant: #43474c;
  --theme-outline: #65696f;
  --theme-outline-variant: #c3c7cc;
  --theme-border-subtle: #e5e7eb;
  --theme-container: 1200px;
  --theme-gutter: 24px;
  --theme-mobile-margin: 20px;
  --theme-header-mobile-padding: 18px;
  --theme-footer-mobile-padding: 18px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --section-space-compact: 72px;
  --section-space: 96px;
  --section-space-large: 112px;
  --section-space-feature: 120px;
  --theme-section-padding-lg: var(--section-space-large);
  --theme-shadow-signature: 0px 4px 20px rgba(23, 42, 58, 0.04);
}

/* Base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--theme-background);
  color: var(--theme-on-surface);
  font-family: Inter;
  font-size: 16px;
  line-height: 24px;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, h5, h6, figure { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }

/* WordPress layout normalization */
.wp-site-blocks { padding: 0; overflow-x: clip; }
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; }
body .is-layout-flow > .material-symbols-outlined { margin-block-start: 0; margin-block-end: 0; }
.flex.is-layout-flow > *,
.grid.is-layout-flow > * { margin-block-start: 0; }
.wp-block-template-part { margin-block-start: 0; margin-block-end: 0; }
.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-image, .wp-block-buttons, .wp-block-heading, .wp-block-list, .wp-block-list li, .spotless-link-wrap { margin-block-start: 0; margin-block-end: 0; }
.entry-content.wp-block-post-content { display: block; margin-block-start: 0; }
.wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.spotless-page-services main .is-layout-flow > :not([class*="mt-"]) { margin-block-start: 0; }
.spotless-page-reviews main .is-layout-flow > :not([class*="mt-"]) { margin-block-start: 0; }
.spotless-page-reviews main .space-y-2 > * + * { margin-top: .5rem; }
.spotless-page-reviews main .space-y-3 > * + * { margin-top: .75rem; }
.spotless-page-reviews main .space-y-4 > * + * { margin-top: 1rem; }
.spotless-page-reviews main .space-y-6 > * + * { margin-top: 1.5rem; }
.spotless-page-reviews main .space-y-8 > * + * { margin-top: 2rem; }
.spotless-page-reviews main .is-layout-flow.space-y-2 > * + * { margin-top: .5rem; }
.spotless-page-reviews main .is-layout-flow.space-y-3 > * + * { margin-top: .75rem; }
.spotless-page-reviews main .is-layout-flow.space-y-4 > * + * { margin-top: 1rem; }
.spotless-page-reviews main .is-layout-flow.space-y-6 > * + * { margin-top: 1.5rem; }
.spotless-page-reviews main .is-layout-flow.space-y-8 > * + * { margin-top: 2rem; }
.spotless-page-reviews {
  background: #ffffff;
}
.spotless-page-reviews .bg-surface {
  background: #ffffff;
}
.spotless-page-reviews header {
  background: #ffffff;
}
.spotless-page-reviews footer {
  background: var(--theme-primary);
  color: var(--theme-on-primary);
}
.wp-block-image img { width: 100%; }
.wp-block-columns { gap: inherit; }
.spotless-link-wrap { line-height: inherit; }
.flex.flex-col > .spotless-link-wrap { width: 100%; }
.flex.flex-col > .spotless-link-wrap > a:not(.inline-block):not(.flex) { display: block; }
.flex.flex-col > .spotless-link-wrap > a.bg-deep-forest,
.flex.flex-col > .spotless-link-wrap > a.bg-primary,
.flex.flex-col > .spotless-link-wrap > a.bg-primary-container,
.flex.flex-col > .spotless-link-wrap > a.bg-secondary { display: block; text-align: center; }

/* Header */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 50;
}
header.wp-block-template-part > .site-header {
  position: static;
}
.admin-bar header.wp-block-template-part {
  top: 32px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 72px;
  background: var(--theme-surface);
  border-bottom: 1px solid var(--theme-border-subtle);
}
.site-header-inner { min-height: 72px; }
.site-header .site-header-inner { gap: normal; }
.wp-block-site-title a { color: inherit; text-decoration: none; }
.site-header .wp-block-site-title { letter-spacing: -0.025em; }
.site-header .wp-block-site-title a { display: block; line-height: 32px; }
.site-logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}
.site-logo {
  display: block;
  width: auto;
  height: 50px;
  max-width: min(275px, 55vw);
  object-fit: contain;
}
.site-nav,
.site-nav .wp-block-navigation__container {
  gap: normal;
  height: 74px;
  align-items: center;
}
.site-nav .wp-block-navigation-item + .wp-block-navigation-item { margin-left: 0; }
.site-nav .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content { margin-left: 2rem; }
.site-nav .wp-block-navigation-item__content {
  position: relative;
  color: var(--theme-primary);
  font: 400 16px/24px Inter;
  letter-spacing: normal;
  padding: 24px 0;
  height: 72px;
}
.site-header .site-nav .wp-block-navigation-item__content { color: var(--theme-primary); }
.site-nav .wp-block-navigation-item__content:hover { color: var(--theme-secondary); }
.home .site-nav .wp-block-navigation-item:first-child .wp-block-navigation-item__content,
.spotless-page-about .site-nav .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content,
.spotless-page-services .site-nav .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content,
.spotless-page-reviews .site-nav .wp-block-navigation-item:nth-child(4) .wp-block-navigation-item__content,
.spotless-page-contact .site-nav .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content,
.site-nav .current-menu-item .wp-block-navigation-item__content,
.site-nav .current-menu-ancestor .wp-block-navigation-item__content {
  color: var(--theme-secondary);
  font-weight: 700;
}
.home .site-nav .wp-block-navigation-item:first-child .wp-block-navigation-item__content::after,
.spotless-page-about .site-nav .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content::after,
.spotless-page-services .site-nav .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content::after,
.spotless-page-reviews .site-nav .wp-block-navigation-item:nth-child(4) .wp-block-navigation-item__content::after,
.spotless-page-contact .site-nav .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content::after,
.site-nav .current-menu-item .wp-block-navigation-item__content::after,
.site-nav .current-menu-ancestor .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 21px;
  height: 2px;
  background: var(--theme-secondary);
}
.site-header-cta { height: 48px; gap: normal; }
.site-header-cta .wp-block-button { padding: 0; margin: 0; }
.site-header-cta .wp-block-button + .wp-block-button { margin-left: 1.5rem; }
.site-header-cta .wp-block-button__link {
  padding: 12px 24px;
  border-radius: .125rem;
  font: 400 16px/24px Inter;
  letter-spacing: normal;
  min-height: auto;
}
.site-header-cta .phone-link .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: .125rem;
  background: #006D40;
  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.site-header-cta .phone-link .wp-block-button__link:hover,
.site-header-cta .phone-link .wp-block-button__link:focus {
  background: #005733;
  color: #FFFFFF;
}
.site-header-cta .phone-link .wp-block-button__link:focus-visible {
  outline: 3px solid rgba(0, 109, 64, .35);
  outline-offset: 3px;
}
.site-header .material-symbols-outlined.md\:hidden { line-height: 30px; }
.site-footer {
  padding: 64px 0 44px;
  background: var(--theme-primary);
  color: var(--theme-on-primary);
}
.site-footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 42px;
}
.site-footer-brand,
.site-footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.site-footer-brand {
  gap: 14px;
  max-width: 320px;
}
.site-footer-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  width: fit-content;
}
.site-footer-logo {
  display: block;
  width: auto;
  height: 68px;
  max-width: min(300px, 70vw);
  object-fit: contain;
}
.site-footer-description,
.site-footer-credit {
  margin: 0;
}
.site-footer-description {
  max-width: 280px;
  color: #AEBCC5;
  line-height: 1.6;
}
.site-footer-credit {
  margin-top: 6px;
  color: #8FA1AC;
  line-height: 1.55;
}
.site-footer-heading {
  margin: 0 0 12px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: .02em;
}
.site-footer-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
  color: #C7D2D9;
}
.site-footer-list li {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
.site-footer a {
  color: #C7D2D9;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s ease;
}
.site-footer a:hover,
.site-footer a:focus {
  color: var(--theme-on-primary);
}
.site-footer a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .72);
  outline-offset: 4px;
}
.site-footer-credit a {
  color: var(--theme-secondary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer-credit a:hover,
.site-footer-credit a:focus {
  color: #9FD8B8;
}

@media (min-width: 768px) {
  .home main > section:first-of-type {
    padding-bottom: var(--section-space);
  }
  .home main > section:nth-of-type(2) {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
  }
  .home main > section.bg-white {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
  }
  .home .home-trust-section {
    padding-top: var(--section-space-feature);
    padding-bottom: var(--section-space-feature);
  }
}

@media (max-width: 767px) {
  :root {
    --section-space-compact: 44px;
    --section-space: 56px;
    --section-space-large: 64px;
    --section-space-feature: 72px;
  }
}
.spotless-page-about main > section:nth-of-type(1) .flex.items-center.gap-2 > .text-secondary:first-child {
  font-family: sans-serif;
}
.spotless-page-services main section[id] .flex.gap-8.mb-8 > .wp-block-group > p:not(:first-child) {
  display: inline;
}
.spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface {
  position: static;
  top: auto;
  z-index: auto;
}
.spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface > div > ul {
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}
.spotless-page-services .border-border-subtle {
  border-color: #E5E1DA;
}
.spotless-page-services .spotless-card {
  box-shadow: none;
}
.spotless-page-services .shadow-sm {
  box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(0, 0, 0, .05);
}
.spotless-page-services main section[id] img {
  vertical-align: middle;
}
.spotless-page-reviews .border-border-subtle {
  border-color: #E5E1DA;
}
.spotless-page-reviews img.aspect-\[4\/3\],
.spotless-page-reviews img.aspect-\[4\/5\] {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.spotless-page-reviews .wp-block-image.aspect-\[4\/3\] img,
.spotless-page-reviews .wp-block-image.aspect-\[4\/5\] img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.spotless-page-reviews main #reviews .border-t > p.font-label-md,
.spotless-page-reviews main #reviews .border-t > p.font-label-sm:not(.inline-flex) {
  display: inline;
  margin-top: 0;
}
.spotless-page-reviews main #reviews .border-t > p.inline-flex {
  display: inline-flex;
  margin-top: 0;
  gap: .25rem;
}
.spotless-page-reviews main section:nth-of-type(4) .grid > .wp-block-group > p.font-label-md {
  display: block;
}
.spotless-page-reviews main section:nth-of-type(6) .spotless-link-wrap > a.self-start {
  display: inline-block;
}
.spotless-page-contact main form input,
.spotless-page-contact main form select {
  padding: 8px 12px;
}
.spotless-page-contact main form select {
  padding-right: 40px;
}
.spotless-page-contact main form textarea {
  padding: 10px 12px;
}


/* Buttons */
.wp-block-button__link, button, input[type="submit"] {
  border-radius: .25rem;
  font: inherit;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: opacity .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.bg-primary .wp-block-button__link, .bg-primary-container .wp-block-button__link { background: var(--theme-primary); color: #fff; }
.bg-deep-forest .wp-block-button__link { background: var(--theme-deep-forest); color: #fff; }
.border .wp-block-button__link, .border-primary .wp-block-button__link, .border-primary-container .wp-block-button__link {
  background: transparent;
  border: 1px solid currentColor;
  color: inherit;
}
.wp-block-button__link:hover, button:hover { opacity: .9; }

/* Forms */
form input, form select, form textarea {
  width: 100%;
  border: 1px solid #6b7280;
  background: transparent;
  padding: 8px 12px;
  font: 400 16px/24px Inter;
  color: var(--theme-on-surface);
}
form select { padding: 8px 40px 8px 12px; }
form select { line-height: 24px; }
form .border-b { border: 1px solid #6b7280; }
form label { display: inline; }
form button { border: 0; cursor: pointer; }

/* Typography compatibility */
.font-body-md, .font-body-lg, .font-label-sm, .font-label-md { font-family: Inter; }
.font-headline-md, .font-headline-lg, .font-display-lg-mobile, .font-display-lg { font-family: "Libre Caslon Text"; }
p.font-label-sm:not(.block):not([class*="mt-"]),
p.font-label-md:not(.block):not([class*="mt-"]),
p.text-label-sm:not(.block):not([class*="mt-"]) { display: inline; }
.text-body-md { font-size: 16px; line-height: 24px; font-weight: 400; }
.text-body-lg { font-size: 18px; line-height: 28px; font-weight: 400; }
.text-label-sm { font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .08em; }
.text-label-md { font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: .05em; }
.text-headline-md { font-size: 24px; line-height: 32px; font-weight: 400; }
.text-headline-lg { font-size: 32px; line-height: 40px; font-weight: 400; }
.text-display-lg-mobile { font-size: 40px; line-height: 48px; font-weight: 400; }
.text-display-lg { font-size: 64px; line-height: 72px; font-weight: 400; letter-spacing: -0.02em; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.font-normal { font-weight: 400; }
.uppercase { text-transform: uppercase; }
.tracking-tight { letter-spacing: -0.02em; }
.tracking-wider { letter-spacing: .05em; }
.tracking-widest { letter-spacing: .1em; }
.leading-tight { line-height: 1.1; }
.text-sm { font-size: 14px; line-height: 20px; }
.text-\[14px\] { font-size: 14px; }
.text-\[16px\] { font-size: 16px; }
.text-lg { font-size: 18px; line-height: 28px; }
.text-4xl { font-size: 36px; line-height: 40px; }
.text-3xl { font-size: 30px; line-height: 36px; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.border-collapse { border-collapse: collapse; }

/* Color utilities */
.bg-background { background: var(--theme-background); }
.bg-surface { background: var(--theme-surface); }
.bg-white { background: #fff; }
.bg-off-white { background: var(--theme-off-white); }
.bg-transparent { background: transparent; }
.bg-primary { background: var(--theme-primary); }
.bg-primary-container { background: var(--theme-primary-container); }
.bg-secondary { background: var(--theme-secondary); }
.bg-secondary-container { background: var(--theme-secondary-container); }
.bg-secondary-fixed\/20 { background: rgba(146, 247, 184, .2); }
.bg-on-primary-fixed-variant { background: #36495a; }
.bg-deep-forest { background: var(--theme-deep-forest); }
.bg-mint-surface { background: var(--theme-mint-surface); }
.bg-surface-container { background: var(--theme-surface-container); }
.bg-surface-container-low { background: var(--theme-surface-container-low); }
.bg-surface-container-lowest { background: var(--theme-surface-container-lowest); }
.bg-surface-container-highest { background: #e7e2db; }
.bg-surface-variant { background: var(--theme-surface-variant); }
.bg-border-subtle { background: var(--theme-border-subtle); }
.bg-outline-variant { background: var(--theme-outline-variant); }
.text-primary { color: var(--theme-primary); }
.text-primary-container { color: var(--theme-primary-container); }
.text-secondary { color: var(--theme-secondary); }
.text-secondary-container { color: var(--theme-secondary-container); }
.text-secondary-fixed { color: #92f7b8; }
.text-deep-forest { color: var(--theme-deep-forest); }
.text-white, .text-on-primary { color: #fff; }
.text-on-secondary { color: #fff; }
.text-off-white { color: var(--theme-off-white); }
.text-on-background, .text-on-surface { color: var(--theme-on-surface); }
.text-on-surface-variant { color: var(--theme-on-surface-variant); }
.text-on-primary-container { color: var(--theme-on-primary-container); }
.text-outline { color: var(--theme-outline); }
.text-\[\#f59e0b\] { color: #f59e0b; }

/* Layout utilities */
.block { display: block; }
.inline-block { display: inline-block; }
.hidden { display: none !important; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-1 { flex: 1 1 0%; }
.flex-grow { flex-grow: 1; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.self-start { align-self: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.col-span-1 { grid-column: span 1 / span 1; }
.order-1 { order: 1; }
.order-2 { order: 2; }
.relative { position: relative; }
.absolute { position: absolute; }
.sticky { position: sticky; }
.inset-0 { inset: 0; }
.top-0 { top: 0; }
.top-4 { top: 1rem; }
.top-20 { top: 5rem; }
.right-4 { right: 1rem; }
.left-4 { left: 1rem; }
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.overflow-hidden { overflow: hidden; }
.overflow-x-auto { overflow-x: auto; }
.whitespace-nowrap { white-space: nowrap; }
.object-cover { object-fit: cover; }
.bg-cover { background-size: cover; }
.bg-center { background-position: center; }
.h-full { height: 100%; }
.w-full { width: 100%; }
.w-auto { width: auto; }
.h-auto { height: auto; }
.h-2 { height: .5rem; }
.h-12 { height: 3rem; }
.w-12 { width: 3rem; }
.w-px { width: 1px; }
.w-\[1\%\] { width: 1%; }
.w-\[3\%\] { width: 3%; }
.w-\[10\%\] { width: 10%; }
.w-\[85\%\] { width: 85%; }
.max-w-container-max { max-width: var(--theme-container); }
.max-w-xs { max-width: 20rem; }
.max-w-md { max-width: 28rem; }
.max-w-lg { max-width: 32rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-sm { max-width: 24rem; }
.max-w-\[800px\] { max-width: 800px; }
.min-w-\[800px\] { min-width: 800px; }
.mx-auto { margin-left: auto; margin-right: auto; }
.aspect-square { aspect-ratio: 1 / 1; }
.aspect-\[4\/3\] { aspect-ratio: 4 / 3; }
.aspect-\[4\/5\] { aspect-ratio: 4 / 5; }
.h-1 { height: .25rem; }
.w-1 { width: .25rem; }
.w-1\/3 { width: 33.333333%; }
.h-\[72px\] { height: 72px; }
.h-\[400px\] { height: 400px; }
.h-\[500px\] { height: 500px; }
.h-\[600px\] { height: 600px; }
.min-h-\[300px\] { min-height: 300px; }

/* Spacing utilities */
.gap-2 { gap: var(--space-xs); }
.gap-3 { gap: var(--space-sm); }
.gap-4 { gap: var(--space-md); }
.gap-6 { gap: var(--space-lg); }
.gap-8 { gap: var(--space-xl); }
.gap-12 { gap: var(--space-2xl); }
.gap-16 { gap: 64px; }
.gap-gutter { gap: var(--theme-gutter); }
.auto-rows-max { grid-auto-rows: max-content; }
.space-x-1 > * + * { margin-left: 4px; }
.space-x-2 > * + * { margin-left: var(--space-xs); }
.space-x-6 > * + * { margin-left: var(--space-lg); }
.space-x-8 > * + * { margin-left: var(--space-xl); }
.space-y-0 > * + * { margin-top: 0; }
.space-y-2 > * + * { margin-top: var(--space-xs); }
.space-y-3 > * + * { margin-top: var(--space-sm); }
.space-y-4 > * + * { margin-top: var(--space-md); }
.space-y-6 > * + * { margin-top: var(--space-lg); }
.space-y-8 > * + * { margin-top: var(--space-xl); }
.space-y-4 > * + .mt-2 { margin-top: var(--space-md); }
.space-y-4 > * + .mt-8 { margin-top: var(--space-md); }
.wp-block-list.space-y-3 > * + * { margin-top: var(--space-sm); }
.p-2 { padding: var(--space-xs); }
.p-6 { padding: var(--space-lg); }
.p-8 { padding: var(--space-xl); }
.px-3 { padding-left: var(--space-sm); padding-right: var(--space-sm); }
.px-0 { padding-left: 0; padding-right: 0; }
.px-2 { padding-left: var(--space-xs); padding-right: var(--space-xs); }
.px-4 { padding-left: var(--space-md); padding-right: var(--space-md); }
.px-6 { padding-left: var(--space-lg); padding-right: var(--space-lg); }
.px-8 { padding-left: var(--space-xl); padding-right: var(--space-xl); }
.px-gutter { padding-left: var(--theme-gutter); padding-right: var(--theme-gutter); }
.px-margin-mobile { padding-left: var(--theme-mobile-margin); padding-right: var(--theme-mobile-margin); }
.py-1 { padding-top: 4px; padding-bottom: 4px; }
.py-2 { padding-top: var(--space-xs); padding-bottom: var(--space-xs); }
.py-3 { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }
.py-4 { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.py-6 { padding-top: var(--space-lg); padding-bottom: var(--space-lg); }
.py-12 { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.py-16 { padding-top: 64px; padding-bottom: 64px; }
.py-section-padding-lg { padding-top: var(--theme-section-padding-lg); padding-bottom: var(--theme-section-padding-lg); }
.pt-4 { padding-top: var(--space-md); }
.pt-24 { padding-top: var(--section-space); }
.pb-16 { padding-bottom: 64px; }
.pb-24 { padding-bottom: var(--section-space); }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 4px; }
.mb-2 { margin-bottom: var(--space-xs); }
.mb-3 { margin-bottom: var(--space-sm); }
.mb-4 { margin-bottom: var(--space-md); }
.mb-6 { margin-bottom: var(--space-lg); }
.mb-8 { margin-bottom: var(--space-xl); }
.mb-10 { margin-bottom: 40px; }
.mb-12 { margin-bottom: var(--space-2xl); }
.mb-16 { margin-bottom: 64px; }
.mt-2 { margin-top: var(--space-xs); }
.mt-0\.5 { margin-top: .125rem; }
.mt-8 { margin-top: var(--space-xl); }
.mt-12 { margin-top: var(--space-2xl); }
.ml-2 { margin-left: var(--space-xs); }
.mx-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-2 { margin-left: .5rem; margin-right: .5rem; }

/* Borders / radius */
.border { border-width: 1px; border-style: solid; }
.border-0 { border-width: 0; }
.border-b { border-bottom: 1px solid; }
.border-t { border-top: 1px solid; }
.border-y { border-top: 1px solid; border-bottom: 1px solid; }
.border-b-2 { border-bottom: 2px solid; }
.border-t-0 { border-top: 0; }
.border-subtle, .border-border-subtle { border-color: var(--theme-border-subtle); }
.border-primary { border-color: var(--theme-primary); }
.border-primary-container { border-color: var(--theme-primary-container); }
.border-secondary { border-color: var(--theme-secondary); }
.border-secondary\/20 { border-color: rgba(0, 109, 64, .2); }
.border-deep-forest { border-color: var(--theme-deep-forest); }
.divide-y > * + * { border-top: 1px solid currentColor; }
.divide-border-subtle > * + * { border-color: var(--theme-border-subtle); }
.rounded, .rounded-DEFAULT { border-radius: .125rem; }
.rounded-sm { border-radius: .125rem; }
.rounded-lg { border-radius: .25rem; }
.rounded-xl { border-radius: .5rem; }
.rounded-full { border-radius: .75rem; }
.shadow-\[0px_4px_20px_rgba\(23\2c 42\2c 58\2c 0\.04\)\], .spotless-card { box-shadow: var(--theme-shadow-signature); }
.shadow-sm { box-shadow: 0 1px 2px rgba(23, 42, 58, .06); }
.shadow-lg { box-shadow: var(--theme-shadow-signature); }
.opacity-50 { opacity: .5; }
.opacity-60 { opacity: .6; }
.opacity-70 { opacity: .7; }
.opacity-80 { opacity: .8; }
.placeholder-on-surface-variant::placeholder { color: var(--theme-on-surface-variant); }
.resize-none { resize: none; }
.brightness-50 { filter: brightness(.5); }
.transition-colors { transition-property: color, background-color, border-color; }
.transition-opacity { transition-property: opacity; }
.transition-shadow { transition-property: box-shadow; }
.duration-200 { transition-duration: .2s; }
.duration-300 { transition-duration: .3s; }

/* Components */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.material-symbols-outlined.text-sm { font-size: 14px; line-height: 20px; }
.material-symbols-outlined.text-\[14px\] { font-size: 14px; line-height: 14px; }
.material-symbols-outlined.text-\[16px\] { font-size: 16px; line-height: 16px; }
.material-symbols-outlined.text-lg { font-size: 18px; line-height: 28px; }
.material-symbols-outlined.text-3xl { font-size: 30px; line-height: 36px; }
.material-symbols-outlined.text-4xl { font-size: 36px; line-height: 40px; }
.hide-scrollbar { scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.icon-fill, .material-symbols-outlined[data-weight="fill"] { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.spotless-page-services main .material-symbols-outlined,
.spotless-page-faq main .material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.spotless-page-services main .icon-fill,
.spotless-page-services main .material-symbols-outlined[data-weight="fill"] {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.home main section:nth-of-type(1) .border-t .flex.text-deep-forest > .material-symbols-outlined[data-weight="fill"] {
  color: var(--theme-deep-forest);
  font-family: 'Material Symbols Outlined';
  font-size: 24px;
  font-weight: 400;
  line-height: 24px;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 > li {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  white-space: nowrap;
}
.home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 > li > .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 18px;
  line-height: 20px;
}
.home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 > li > * + * {
  margin-left: 0;
}
@media (max-width: 767px) {
  .home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 > li {
    white-space: normal;
  }
}
@media (min-width: 1200px) {
  .home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > ul.flex.flex-wrap.gap-4 {
    flex-wrap: nowrap;
    gap: 12px;
  }
}
.home-trust-section {
  padding: var(--theme-section-padding-lg) var(--theme-gutter);
  background: var(--theme-surface);
}
.home-trust-section__inner {
  display: grid;
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  max-width: 1200px;
  min-height: 500px;
  margin: 0 auto;
}
.home-trust-section__image {
  min-height: 500px;
  overflow: hidden;
}
.home-trust-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.home-trust-section__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 5vw, 64px);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
}
.home-trust-section__content h2 {
  max-width: 460px;
  font-size: clamp(48px, 4.5vw, 56px);
  line-height: 1.12;
}
.home-trust-section__points {
  display: grid;
  gap: 0;
  margin-top: 36px;
}
.home-trust-section__point {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 0;
  color: var(--theme-on-primary);
  border-top: 1px solid rgba(255, 255, 255, .18);
}
.home-trust-section__point:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.home-trust-section__point .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--theme-secondary-container);
  font-size: 28px;
  line-height: 1;
}
.home-trust-section__point p {
  color: var(--theme-on-primary);
  letter-spacing: .08em;
}
@media (max-width: 900px) {
  .home-trust-section__inner {
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    min-height: 460px;
  }
  .home-trust-section__image {
    min-height: 460px;
  }
  .home-trust-section__content {
    padding: 48px 40px;
  }
  .home-trust-section__points {
    margin-top: 36px;
  }
}
@media (max-width: 640px) {
  .home-trust-section {
    padding: 64px 20px;
  }
  .home-trust-section__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .home-trust-section__image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .home-trust-section__content {
    padding: 40px 28px;
  }
  .home-trust-section__content h2 {
    max-width: 100%;
  }
  .home-trust-section__points {
    margin-top: 32px;
  }
  .home-trust-section__point {
    gap: 16px;
    padding: 18px 0;
  }
  .home-trust-section__point .material-symbols-outlined {
    font-size: 24px;
  }
}
.accordion-content-inner { display: block; }
.wp-block-details {
  border-bottom: 1px solid var(--theme-border-subtle);
  padding: 24px 0;
}
.wp-block-details summary {
  cursor: pointer;
  font-family: "Libre Caslon Text";
  font-size: 24px;
  line-height: 32px;
  color: var(--theme-primary);
}
.mobile-header-actions,
.mobile-nav-panel,
.mobile-hero-social-proof,
.mobile-hero-trust-badges,
.home-availability-mobile,
.mobile-sticky-cta-bar,
.mobile-testimonial-proof,
.mobile-before-after-caption {
  display: none;
}

/* Responsive rules */
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:flex-row { flex-direction: row; }
  .sm\:inline-block { display: inline-block; }
  .sm\:col-span-2 { grid-column: span 2 / span 2; }
  .sm\:w-auto { width: auto; }
  .sm\:flex-row > .spotless-link-wrap,
  .flex.flex-col.sm\:flex-row > .spotless-link-wrap { width: auto; }
}
@media (min-width: 768px) {
  .md\:flex { display: flex !important; }
  .md\:block { display: block !important; }
  .md\:hidden { display: none !important; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md\:col-span-1 { grid-column: span 1 / span 1; }
  .md\:order-1 { order: 1; }
  .md\:order-2 { order: 2; }
  .md\:flex-row { flex-direction: row; }
  .md\:justify-start { justify-content: flex-start; }
  .md\:px-gutter { padding-left: var(--theme-gutter); padding-right: var(--theme-gutter); }
  .md\:px-6 { padding-left: var(--space-lg); padding-right: var(--space-lg); }
  .md\:p-8 { padding: var(--space-xl); }
  .md\:py-0 { padding-top: 0; padding-bottom: 0; }
  .md\:py-24 { padding-top: var(--section-space); padding-bottom: var(--section-space); }
  .md\:pt-section-padding-lg { padding-top: var(--theme-section-padding-lg); }
  .md\:pb-24 { padding-bottom: var(--section-space); }
  .md\:py-section-padding-lg { padding-top: var(--theme-section-padding-lg); padding-bottom: var(--theme-section-padding-lg); }
  .md\:gap-12 { gap: var(--space-2xl); }
  .md\:gap-24 { gap: var(--section-space); }
  .md\:mb-0 { margin-bottom: 0; }
  .md\:ml-auto { margin-left: auto; }
  .md\:w-1\/2 { width: 50%; }
  .md\:w-1\/3 { width: 33.333333%; }
  .md\:w-2\/3 { width: 66.666667%; }
  .md\:h-\[500px\] { height: 500px; }
  .md\:h-\[600px\] { height: 600px; }
  .md\:text-left { text-align: left; }
  .md\:divide-x > * + * { border-left: 1px solid currentColor; }
  .md\:divide-y-0 > * + * { border-top: 0; }
  .md\:font-headline-lg, .md\:text-headline-lg { font-family: "Libre Caslon Text"; font-size: 32px; line-height: 40px; font-weight: 400; }
  .md\:font-display-lg, .md\:text-display-lg {
    font-family: "Libre Caslon Text";
    font-size: 64px;
    line-height: 72px;
    font-weight: 400;
    letter-spacing: -0.02em;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .md\:font-display-lg, .md\:text-display-lg {
    font-size: clamp(48px, 5.6vw, 56px);
    line-height: 1.12;
  }
  .md\:grid-cols-3,
  .md\:grid-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-footer-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 36px 48px;
  }
}
@media (min-width: 1024px) {
  .lg\:flex { display: flex !important; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:gap-gutter { gap: var(--theme-gutter); }
  .lg\:h-\[700px\] { height: 700px; }
}

/* Page-specific presentation refinements. */
.site-section > .wp-block-group:empty { display: none; }
.spotless-buttons { gap: 0; }
.wp-block-button.font-label-md.text-primary:not(.phone-link) .wp-block-button__link { background: transparent; color: var(--theme-primary); padding: 0; }
.wp-block-group > .wp-block-image.relative, .relative > .wp-block-image { height: 100%; }
.wp-block-image.h-full img, .h-full img { height: 100%; object-fit: cover; }
.wp-block-image.brightness-50 { filter: none; }
.wp-block-image.brightness-50 img { filter: brightness(.5); }
.spotless-page-reviews main section:nth-of-type(6) .spotless-link-wrap > a.self-start {
  display: inline-block;
}
.spotless-page-reviews main section:nth-of-type(6) .flex.flex-col > p.spotless-link-wrap > a.self-start {
  display: inline-block;
  width: auto;
}
.spotless-page-reviews main section:nth-of-type(6) .mb-8 > p {
  display: inline;
}
.spotless-page-reviews main section:nth-of-type(8) .spotless-card {
  box-shadow: none;
}
.spotless-page-reviews main section:nth-of-type(8) .divide-border-subtle > * + * {
  border-color: #E5E1DA;
}

/* FAQ page presentation. */
.spotless-page-faq .spotless-card {
  box-shadow: none;
}
.spotless-page-faq .border-border-subtle,
.spotless-page-faq .border-subtle {
  border-color: #E5E1DA;
}
.spotless-page-faq .text-\[\#f59e0b\] {
  color: #f59e0b;
}
.spotless-page-faq main section:nth-of-type(1) > .flex.items-center.justify-center > p {
  font-family: Inter;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
}
.spotless-page-faq main section:nth-of-type(1) > .flex.items-center.justify-center > .text-\[\#f59e0b\] {
  font-family: Inter;
  font-size: 11.16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
}
.spotless-page-faq main section:nth-of-type(2) .spotless-link-wrap > a {
  display: block;
}
.spotless-page-faq .accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows .3s ease-out;
}
.spotless-page-faq .accordion-content[data-open="true"] {
  grid-template-rows: 1fr;
}
.spotless-page-faq .accordion-content-inner {
  overflow: hidden;
}
.spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left > span:first-child {
  flex: 1 1 auto;
  padding-right: 24px;
}
.spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left > .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 24px;
  line-height: 1;
}
.spotless-page-faq .wp-block-details {
  position: relative;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #E5E1DA;
  min-height: 97px;
  padding: 24px 0;
  background: transparent;
  box-shadow: none;
}
.spotless-page-faq .wp-block-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  color: var(--theme-primary);
  font-family: "Libre Caslon Text";
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0;
  list-style: none;
}
.spotless-page-faq .wp-block-details summary::-webkit-details-marker {
  display: none;
}
.spotless-page-faq .wp-block-details summary::marker {
  content: "";
}
.spotless-page-faq .wp-block-details summary::after {
  content: "add";
  flex: 0 0 auto;
  color: var(--theme-primary);
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  transition: transform .3s ease;
}
.spotless-page-faq .material-symbols-outlined.text-primary.transition-transform.duration-300 {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.spotless-page-faq .wp-block-details[open] summary::after {
  transform: rotate(45deg);
}
.spotless-page-faq .wp-block-details .accordion-content-inner {
  display: block;
  overflow: visible;
  padding-top: 16px;
}
.spotless-page-faq .aspect-square.max-w-sm {
  width: 384px;
  height: 384px;
}
.spotless-page-faq .aspect-square.max-w-sm figure,
.spotless-page-faq .aspect-square.max-w-sm img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Responsive presentation refinements. */
@media (max-width: 782px) {
  .admin-bar header.wp-block-template-part {
    top: 46px;
  }
  .font-display-lg, .text-display-lg { font-size: 40px; line-height: 48px; }
  .site-header-cta { display: none; }
}
@media (max-width: 767px) {
  .site-footer {
    padding: 48px 0 calc(64px + env(safe-area-inset-bottom));
  }
  .site-footer-inner {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-left: var(--theme-footer-mobile-padding);
    padding-right: var(--theme-footer-mobile-padding);
  }
  .site-footer-brand {
    max-width: 100%;
    gap: 18px;
  }
  .site-footer-logo {
    height: 74px;
    max-width: min(310px, 82vw);
  }
  .site-footer-description {
    max-width: 32rem;
    line-height: 1.65;
  }
  .site-footer-credit {
    font-size: 13px;
    line-height: 1.6;
  }
  .site-footer-column {
    gap: 0;
  }
  .site-footer-heading {
    margin: 4px 0 14px;
  }
  .site-footer-list {
    gap: 6px;
  }
  .site-footer-list li,
  .site-footer a {
    line-height: 1.75;
  }
  header.wp-block-template-part,
  header.wp-block-template-part > .site-header,
  .site-header,
  .site-header.sticky {
    position: static;
    top: auto;
  }
  .admin-bar header.wp-block-template-part {
    top: auto;
  }
  .site-header .wp-block-site-title {
    flex: 0 1 78px;
    font-size: 17px;
    line-height: 19px;
  }
  .site-header .wp-block-site-title a {
    line-height: 19px;
  }
  .site-header-inner {
    gap: 8px;
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }
  .home main > section:first-of-type {
    padding-top: 12px;
    padding-bottom: 16px;
    gap: 12px;
    align-items: stretch;
  }
  .home main > section:first-of-type > .space-y-8 {
    order: 2;
  }
  .home main > section:first-of-type > .relative.h-\[500px\] {
    order: 1;
    height: clamp(170px, 52vw, 220px);
    max-height: 220px;
  }
  .home main > section:first-of-type > .relative.h-\[500px\] img {
    object-position: top center;
  }
  .home main > section:first-of-type > .space-y-8,
  .home main > section:first-of-type .space-y-4 {
    display: flex;
    flex-direction: column;
    gap: 9px;
  }
  .home main > section:first-of-type > .space-y-8 > * + *,
  .home main > section:first-of-type .space-y-4 > * + * {
    margin-top: 0;
  }
  .home main > section:first-of-type h1 {
    font-size: clamp(34px, 9.2vw, 40px);
    line-height: 1.12;
  }
  .home main > section:first-of-type .font-body-lg {
    font-size: 16px;
    line-height: 24px;
  }
  .mobile-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
    flex: 0 0 auto;
  }
  .mobile-header-location {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--theme-on-surface-variant);
    font: 600 11px/14px Inter, sans-serif;
    white-space: nowrap;
  }
  .mobile-header-location .material-symbols-outlined {
    color: var(--theme-secondary);
    font-size: 16px;
    line-height: 16px;
  }
  .mobile-header-call {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .25rem;
    background: #006D40;
    color: #FFFFFF;
    text-decoration: none;
    line-height: 1;
  }
  .mobile-header-call:hover,
  .mobile-header-call:focus {
    background: #005733;
    color: #FFFFFF;
  }
  .mobile-header-call:focus-visible {
    outline: 3px solid rgba(0, 109, 64, .35);
    outline-offset: 3px;
  }
  .site-header .material-symbols-outlined.md\:hidden {
    width: 44px;
    min-width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    align-self: center;
    flex: 0 0 44px;
  }
  .mobile-nav-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 72px;
    z-index: 80;
    display: none;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-bottom: 1px solid var(--theme-border-subtle);
    background: var(--theme-surface);
    box-shadow: 0 12px 24px rgba(2, 21, 37, .12);
  }
  .mobile-nav-panel.is-open {
    display: block;
  }
  .mobile-nav-panel__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: var(--theme-container);
    margin: 0 auto;
    padding: 8px 20px 16px;
  }
  .mobile-nav-panel a {
    min-height: 48px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--theme-border-subtle);
    color: var(--theme-primary);
    font: 600 14px/20px Inter, sans-serif;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
  }
  .mobile-nav-panel a:last-child {
    border-bottom: 0;
  }
  .mobile-nav-panel a.mobile-nav-panel__cta {
    justify-content: center;
    margin-top: 12px;
    border: 0;
    border-radius: .125rem;
    background: var(--theme-primary);
    color: var(--theme-on-primary);
  }
  .mobile-hero-social-proof {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 8px;
    padding: 8px 10px;
    border: 1px solid rgba(45, 106, 79, .18);
    border-radius: .25rem;
    background: rgba(255, 255, 255, .78);
    color: var(--theme-primary);
    font: 700 16px/22px Inter, sans-serif;
  }
  .mobile-stars {
    display: inline-flex;
    color: #d69e2e;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 1px;
  }
  .mobile-google-label {
    color: var(--theme-on-surface-variant);
    font-size: 13px;
    line-height: 16px;
  }
  .mobile-hero-trust-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }
  .mobile-hero-trust-badges > span {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 50px;
    padding: 6px 4px;
    border: 1px solid rgba(0, 109, 64, .24);
    border-radius: .25rem;
    background: var(--theme-mint-surface);
    color: var(--theme-primary);
    font: 700 12px/15px Inter, sans-serif;
    white-space: nowrap;
  }
  .mobile-hero-trust-badges > span:last-child {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
    min-width: 0;
  }
  .mobile-hero-trust-badges .material-symbols-outlined {
    color: var(--theme-secondary);
    font-size: 18px;
    line-height: 18px;
  }
  .home-availability-card,
  .home-hero-social-proof-desktop {
    display: none !important;
  }
  .home-availability-mobile {
    display: block;
    margin-top: 0;
    padding: 0;
    overflow: hidden;
  }
  .home-availability-mobile summary {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    background: var(--theme-deep-forest);
    color: var(--theme-on-primary);
    cursor: pointer;
    list-style: none;
    font: 800 14px/20px Inter, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .home-availability-mobile summary::-webkit-details-marker {
    display: none;
  }
  .home-availability-mobile form {
    padding: 18px;
    gap: 14px;
  }
  .home main > section:nth-of-type(2) {
    padding-top: 40px;
  }
  .home main > section:nth-of-type(2) > .mb-12 {
    margin-bottom: 28px;
  }
  .mobile-sticky-cta-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 16px max(10px, env(safe-area-inset-bottom));
    background: var(--theme-primary);
    box-shadow: 0 -8px 22px rgba(2, 21, 37, .18);
    opacity: 0;
    transform: translateY(110%);
    transition: transform .22s ease;
    visibility: hidden;
    pointer-events: none;
  }
  .mobile-sticky-cta-bar.is-visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }
  .has-mobile-sticky-cta body {
    padding-bottom: 76px;
  }
  .mobile-sticky-availability {
    flex: 1 1 auto;
    min-height: 48px;
    background: var(--theme-deep-forest);
    color: var(--theme-on-primary);
    font: 800 14px/20px Inter, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .mobile-sticky-call {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: .25rem;
    color: var(--theme-on-primary);
    text-decoration: none;
  }
  body.spotless-page-about main > section:first-of-type {
    padding-bottom: 48px;
  }
  .spotless-page-about main > section:first-of-type > .grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 {
    display: contents;
  }
  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 > * {
    margin-top: 0;
  }
  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 > p:first-child {
    order: 1;
  }
  .spotless-page-about main > section:first-of-type h1 {
    order: 2;
  }
  .spotless-page-about main > section:first-of-type h1 + p {
    order: 3;
  }
  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2 {
    order: 4;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 109, 64, .18);
    border-radius: .25rem;
    background: rgba(255, 255, 255, .72);
    color: var(--theme-primary);
    font: 700 13px/19px Inter, sans-serif;
  }
  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2::before {
    content: "\2605\2605\2605\2605\2605";
    color: #d69e2e;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 1px;
  }
  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2 > .text-secondary {
    display: none;
  }
  .spotless-page-about main > section:first-of-type > .grid > .spotless-card.relative.h-\[400px\] {
    order: 5;
    height: 235px;
  }
  .spotless-page-about main > section:first-of-type > .grid > .spotless-card.relative.h-\[400px\] img {
    object-fit: cover;
    object-position: top center;
  }
  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row {
    order: 6;
    padding-top: 0;
  }
  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > .spotless-link-wrap:first-child {
    display: block;
    width: 100%;
  }
  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > .spotless-link-wrap:first-child > a {
    min-height: 48px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > .spotless-link-wrap:nth-child(2) {
    display: none;
  }
  body.spotless-page-about main > section:nth-of-type(2) {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .spotless-page-about main > section:nth-of-type(2) .grid > .spotless-card.relative.h-\[400px\] {
    display: none;
  }
  .spotless-page-about main > section:nth-of-type(2) .space-y-6 {
    gap: 16px;
  }
  .spotless-page-about main > section:nth-of-type(2) .space-y-4 > * + * {
    margin-top: 14px;
  }
  .home main > section:nth-of-type(2) .spotless-link-wrap > a {
    min-height: 48px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 1px solid var(--theme-deep-forest);
    border-radius: .125rem;
    background: var(--theme-deep-forest);
    color: var(--theme-on-primary);
    text-align: center;
    font-weight: 800;
  }
  .home main > section:nth-of-type(2) .spotless-link-wrap > a .material-symbols-outlined {
    display: none;
  }
  body:not(.home) main > section:first-of-type,
  body:not(.home) main.wp-block-group {
    padding-top: 20px;
  }
  body.spotless-page-services main > section:first-of-type {
    padding-bottom: 48px;
  }
  .spotless-page-services main > section:first-of-type .font-body-lg {
    margin-bottom: 24px;
  }
  .spotless-page-services main > section:first-of-type .flex.flex-col.sm\:flex-row.justify-center.gap-4 {
    margin-bottom: 24px;
  }
  .spotless-page-services main > section:first-of-type > .flex.flex-col.sm\:flex-row.justify-center.items-center {
    align-items: stretch;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
  }
  .spotless-page-services main > section:first-of-type > .flex.flex-col.sm\:flex-row.justify-center.items-center > p {
    justify-content: center;
    min-height: 32px;
  }
  .spotless-page-services main > section:first-of-type + .spotless-card > div {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .spotless-page-services main > section:first-of-type + .spotless-card ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 20px;
    min-width: max-content;
    padding-right: 20px;
  }
  .spotless-page-services main > section:first-of-type + .spotless-card li,
  .spotless-page-services main > section:first-of-type + .spotless-card a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .spotless-page-services #deep > .grid > div:not(.relative) > .spotless-card.inline-block:first-child {
    display: none;
  }
  .spotless-page-services .mobile-service-toggle {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    border: 1px solid var(--theme-border-subtle);
    border-radius: .25rem;
    background: var(--theme-surface-container-lowest);
    color: var(--theme-primary);
    font: 800 14px/20px Inter, sans-serif;
    letter-spacing: .05em;
  }
  .spotless-page-services .mobile-service-collapsible {
    display: none;
    margin-bottom: 18px;
  }
  .spotless-page-services .mobile-service-collapsible.is-open {
    display: block;
  }
  .spotless-page-services .mobile-service-collapsible > * + * {
    margin-top: 18px;
  }
  .spotless-page-services #standard,
  .spotless-page-services #deep {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .spotless-page-services #standard .spotless-link-wrap > a,
  .spotless-page-services #deep .spotless-link-wrap > a {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mobile-testimonial-proof {
    display: block;
    padding: 36px 20px;
    background: var(--theme-background);
  }
  .mobile-testimonial-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--theme-border-subtle);
    border-radius: .25rem;
    background: var(--theme-surface-container-lowest);
    padding: 24px 20px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(23,42,58,.04);
  }
  .mobile-testimonial-stars {
    display: flex;
    justify-content: center;
    color: #d69e2e;
    margin-bottom: 8px;
  }
  .mobile-testimonial-stars span {
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 1px;
  }
  .mobile-testimonial-card p {
    color: var(--theme-primary);
    font-family: "Libre Caslon Text", Georgia, serif;
    font-size: 22px;
    line-height: 30px;
  }
  .mobile-testimonial-card span,
  .mobile-testimonial-card small {
    display: block;
    margin-top: 8px;
    color: var(--theme-on-surface-variant);
    font: 600 13px/18px Inter, sans-serif;
  }
  .home main > section.bg-white .relative.h-\[400px\] {
    height: 360px;
    min-height: 360px;
  }
  .mobile-before-after-caption {
    display: block;
    margin: -10px 0 8px;
    color: var(--theme-on-surface-variant);
    font: 700 12px/18px Inter, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-align: center;
  }
  .font-display-lg-mobile.leading-tight,
  .text-display-lg-mobile.leading-tight { line-height: 1.25; }
  .h-\[600px\] { height: clamp(460px, 118vw, 560px); }
}
@media (width: 768px) {
  header.wp-block-template-part,
  header.wp-block-template-part > .site-header,
  .site-header,
  .site-header.sticky {
    position: static;
    top: auto;
  }
  .site-nav,
  .site-header-cta {
    display: none !important;
  }
  .site-logo {
    width: auto !important;
    height: 55px !important;
    max-width: min(300px, 60vw);
    object-fit: contain !important;
  }
  .site-header .material-symbols-outlined.md\:hidden {
    width: 44px;
    min-width: 44px;
    height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    align-self: center;
    flex: 0 0 44px;
  }
  .mobile-nav-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 72px;
    z-index: 80;
    display: none;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-bottom: 1px solid var(--theme-border-subtle);
    background: var(--theme-surface);
    box-shadow: 0 12px 24px rgba(2, 21, 37, .12);
  }
  .mobile-nav-panel.is-open {
    display: block;
  }
  .mobile-nav-panel__inner {
    display: flex;
    flex-direction: column;
    max-width: var(--theme-container);
    margin: 0 auto;
    padding: 8px 24px 16px;
  }
  .mobile-nav-panel a {
    min-height: 48px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--theme-border-subtle);
    color: var(--theme-primary);
    font: 600 14px/20px Inter, sans-serif;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
  }
  .mobile-nav-panel a.mobile-nav-panel__cta {
    justify-content: center;
    margin-top: 12px;
    border: 0;
    border-radius: .125rem;
    background: var(--theme-primary);
    color: var(--theme-on-primary);
  }
}
@media (max-width: 390px) {
  .spotless-page-about .font-display-lg-mobile,
  .spotless-page-about .text-display-lg-mobile,
  .spotless-page-contact .font-display-lg-mobile,
  .spotless-page-contact .text-display-lg-mobile,
  .spotless-page-faq .font-display-lg-mobile,
  .spotless-page-faq .text-display-lg-mobile,
  .spotless-page-reviews .font-display-lg-mobile,
  .spotless-page-reviews .text-display-lg-mobile {
    font-size: 38px;
    line-height: 1.18;
  }
}
@media (max-width: 360px) {
  .spotless-page-about .font-display-lg-mobile,
  .spotless-page-about .text-display-lg-mobile,
  .spotless-page-contact .font-display-lg-mobile,
  .spotless-page-contact .text-display-lg-mobile,
  .spotless-page-faq .font-display-lg-mobile,
  .spotless-page-faq .text-display-lg-mobile,
  .spotless-page-reviews .font-display-lg-mobile,
  .spotless-page-reviews .text-display-lg-mobile {
    font-size: 36px;
  }
}
@media (min-width: 1024px) {
  .spotless-page-about main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row > .spotless-link-wrap:first-child > a {
    height: 54px;
  }
}

@media (min-width: 1024px) {
  .home .site-header .site-header-inner {
    width: 100%;
    max-width: var(--theme-container);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--theme-gutter);
    padding-right: var(--theme-gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .home .site-header .site-nav {
    flex: 0 1 auto;
  }
  .home .site-header .site-header-cta {
    flex: 0 0 auto;
    margin-left: 24px;
  }
}

@media (min-width: 1200px) and (max-width: 1279px) {
  .home .site-header .site-nav .wp-block-navigation-item + .wp-block-navigation-item .wp-block-navigation-item__content {
    margin-left: 1rem;
  }
  .home .site-header .site-header-cta {
    margin-left: 16px;
  }
  .home .site-header .site-header-cta .wp-block-button + .wp-block-button {
    margin-left: 1rem;
  }
}

/* Mobile presentation rules. */
.mobile-header-actions,
.mobile-hero-social-proof,
.mobile-hero-trust-badges,
.home-availability-mobile,
.mobile-sticky-cta-bar,
.mobile-testimonial-proof,
.mobile-before-after-caption,
.mobile-service-toggle {
  display: none !important;
}

@media (max-width: 767px) {
  header.wp-block-template-part,
  header.wp-block-template-part > .site-header,
  .site-header,
  .site-header.sticky {
    position: sticky;
    top: 0;
  }

  .site-header .wp-block-site-title {
    flex: initial;
    font-size: 24px;
    line-height: 32px;
  }

  .site-header .wp-block-site-title a {
    line-height: 32px;
  }

  .site-header-inner {
    gap: normal;
    min-height: 72px;
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .site-logo {
    width: auto !important;
    height: 55px !important;
    max-width: min(300px, 60vw);
    object-fit: contain !important;
  }

  .site-logo-link {
    align-self: center;
  }

  .site-header .material-symbols-outlined.md\:hidden {
    width: 44px;
    min-width: 44px;
    height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    align-self: center;
    flex: 0 0 44px;
    margin: 0;
    padding: 0;
    line-height: 44px;
  }

  .home main > section:first-of-type {
    padding-top: 4rem;
    padding-bottom: 4rem;
    gap: 3rem;
    align-items: center;
  }

  .home main > section:first-of-type > .space-y-8,
  .home main > section:first-of-type > .relative.h-\[500px\] {
    order: initial;
  }

  .home main > section:first-of-type > .relative.h-\[500px\] {
    height: 500px;
    max-height: none;
  }

  .home main > section:first-of-type > .relative.h-\[500px\] img {
    object-position: center;
  }

  .home main > section:first-of-type > .space-y-8,
  .home main > section:first-of-type .space-y-4 {
    display: block;
  }

  .home main > section:first-of-type > .space-y-8 > * + * {
    margin-top: 2rem;
  }

  .home main > section:first-of-type .space-y-4 > * + * {
    margin-top: 1rem;
  }

  .home main > section:first-of-type h1 {
    font-size: 40px;
    line-height: 48px;
  }

  .home main > section:first-of-type .font-body-lg {
    font-size: 18px;
    line-height: 28px;
  }

  .home main > section:first-of-type .space-y-4.pt-4.border-t.border-subtle > .flex.items-center.space-x-2 span.font-body-md,
  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2,
  .spotless-page-contact main > section:first-of-type .font-label-sm,
  .spotless-page-faq main > section:first-of-type .font-label-sm {
    font-size: 14px;
    line-height: 20px;
  }

  .home main > section:nth-of-type(2) .grid > .wp-block-group {
    padding: 20px;
  }

  .home main > section:nth-of-type(2) .grid > .wp-block-group p.font-body-md,
  .spotless-page-services #standard p.font-body-md,
  .spotless-page-services #deep p.font-body-md,
  .spotless-page-services #move p.font-body-md,
  .spotless-page-reviews .spotless-card p.font-body-md {
    font-size: 17px;
    line-height: 26px;
  }

  .home main > section:nth-of-type(2) .grid > .wp-block-group span.font-label-md.text-secondary {
    font-size: 15px;
    line-height: 22px;
  }

  .home main > section.bg-white {
    padding-top: calc(var(--theme-section-padding-lg) - 16px);
  }

  .home main > section.bg-white > .max-w-container-max {
    padding-left: var(--theme-footer-mobile-padding);
    padding-right: var(--theme-footer-mobile-padding);
  }

  .home main > section.bg-white .text-center.mb-16 {
    margin-bottom: 24px;
  }

  .home main > section.bg-white .grid.grid-cols-1 {
    gap: 22px;
  }

  .home main > section.bg-white .relative.h-\[400px\] {
    width: 100%;
  }

  .home main > section.bg-white .space-y-6 {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .home main > section.bg-white .space-y-6 > * + * {
    margin-top: 0;
  }

  .home main > section.bg-white .space-y-6 p.font-body-lg {
    font-size: 17px;
    line-height: 27px;
  }

  .home main > section.bg-white .space-y-6 a.border.border-primary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    padding: 12px 24px;
  }

  .home-availability-card,
  .home-hero-social-proof-desktop {
    display: block !important;
  }

  .spotless-page-services #deep > .grid > div:not(.relative) > .spotless-card.inline-block:first-child {
    display: inline-block;
  }

  .spotless-page-services .mobile-service-collapsible {
    display: block;
  }

  .spotless-page-about main > section:first-of-type {
    padding-top: var(--theme-section-padding-lg);
    padding-bottom: 64px;
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-about main > section:first-of-type > .grid {
    display: grid;
    gap: 32px;
  }

  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 {
    display: block;
  }

  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 > * {
    order: initial;
  }

  .spotless-page-about main > section:first-of-type > .grid > .space-y-8 > :first-child {
    display: block;
    margin-bottom: 14px;
  }

  .spotless-page-about main > section:first-of-type h1 {
    line-height: 1.12;
  }

  .spotless-page-about main > section:first-of-type h1 + p {
    padding-top: 14px;
    line-height: 1.55;
  }

  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2 {
    display: flex;
    margin-top: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--theme-on-surface-variant);
    font: 500 13px/19px Inter, sans-serif;
    letter-spacing: .08em;
  }

  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2::before {
    content: none;
  }

  .spotless-page-about main > section:first-of-type .font-label-sm.text-label-sm.text-on-surface-variant.flex.items-center.gap-2 > .text-secondary {
    display: inline;
  }

  .spotless-page-about main > section:first-of-type > .grid > .relative.h-\[400px\] {
    height: 400px;
  }

  .spotless-page-about main > section:first-of-type > .grid > .relative.h-\[400px\] img {
    object-position: center;
  }

  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 22px;
    padding-top: 0;
  }

  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > * {
    display: block;
    width: 100%;
  }

  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > a,
  .spotless-page-about main > section:first-of-type .flex.flex-col.sm\:flex-row > * > a {
    min-height: 48px;
    height: 48px !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .spotless-page-about main > section:nth-of-type(2) {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .spotless-page-about main > section:nth-of-type(2) > .max-w-container-max {
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-about main > section:nth-of-type(2) .grid {
    gap: 34px;
  }

  .spotless-page-about main > section:nth-of-type(2) .grid > .relative.h-\[400px\] {
    display: block;
    height: 400px;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-6 {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-6 > * + * {
    margin-top: 0;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-6 > p:first-child,
  .spotless-page-about main > section:nth-of-type(2) .space-y-6 > span:first-child {
    margin-bottom: 14px;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-6 > h2 {
    margin-bottom: 26px;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-4 {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-4 > * + * {
    margin-top: 0;
  }

  .spotless-page-about main > section:nth-of-type(2) .space-y-4 p {
    line-height: 1.58;
  }

  .spotless-page-services main > section:first-of-type {
    padding: var(--theme-section-padding-lg) var(--theme-header-mobile-padding) 64px;
  }

  .spotless-page-services main > section:first-of-type h1 {
    margin-bottom: 20px;
  }

  .spotless-page-services main > section:first-of-type .font-body-lg {
    margin-bottom: 22px;
    line-height: 1.56;
  }

  .spotless-page-services main > section:first-of-type .flex.flex-col.sm\:flex-row.justify-center.gap-4 {
    gap: 12px;
    margin-bottom: 24px;
  }

  .spotless-page-services main > section:first-of-type .flex.flex-col.sm\:flex-row.justify-center.gap-4 a {
    min-height: 48px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
  }

  .spotless-page-services main > section:first-of-type > .flex.flex-col.sm\:flex-row.justify-center.items-center {
    align-items: center;
    gap: 10px;
    font-size: 13px;
    line-height: 19px;
  }

  .spotless-page-services main > section:first-of-type > .flex.flex-col.sm\:flex-row.justify-center.items-center > span:not(.hidden) {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-services main > section:first-of-type > .flex.flex-col.sm\:flex-row.justify-center.items-center .material-symbols-outlined {
    font-size: 20px;
    line-height: 20px;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface > div {
    padding: 10px var(--theme-header-mobile-padding);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    scrollbar-width: none;
    scroll-padding-inline: var(--theme-header-mobile-padding);
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface > div::-webkit-scrollbar {
    display: none;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface ul {
    gap: 4px;
    flex-wrap: nowrap;
    min-width: max-content;
    padding-right: 0;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface ul::after {
    content: "";
    flex: 0 0 28px;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 6px;
    border-bottom: 2px solid transparent;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface li:first-child a {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-secondary);
  }

  .spotless-page-services #standard,
  .spotless-page-services #deep {
    padding: 56px var(--theme-header-mobile-padding);
  }

  .spotless-page-services #standard .grid,
  .spotless-page-services #deep .grid {
    gap: 32px;
  }

  .spotless-page-services #standard .inline-block,
  .spotless-page-services #deep .inline-block:not(a) {
    margin-bottom: 10px;
  }

  .spotless-page-services #standard h2,
  .spotless-page-services #deep h2 {
    margin-bottom: 14px;
  }

  .spotless-page-services #standard p.font-body-md,
  .spotless-page-services #deep p.font-body-md {
    margin-bottom: 22px;
    line-height: 1.56;
  }

  .spotless-page-services main section[id] .flex.gap-8.mb-8 {
    margin-bottom: 24px;
  }

  .spotless-page-services main section[id] ul.space-y-3 {
    margin-bottom: 24px;
  }

  .spotless-page-services main section[id] ul.space-y-3 > li {
    gap: 10px;
    line-height: 1.55;
  }

  .spotless-page-services main section[id] ul.space-y-3 .material-symbols-outlined {
    margin-top: 2px;
    font-size: 21px;
    line-height: 21px;
    flex: 0 0 21px;
  }

  .spotless-page-services #standard .bg-surface.p-6 {
    padding: 22px;
    margin-bottom: 26px;
  }

  .spotless-page-services #standard .spotless-link-wrap > a,
  .spotless-page-services #deep .spotless-link-wrap > a,
  .spotless-page-services #standard a[href*="contact"],
  .spotless-page-services #deep a[href*="contact"] {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-services #compare {
    padding-top: 60px;
    padding-bottom: 64px;
  }

  .spotless-page-services #compare > .max-w-container-max {
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-services #compare .text-center.mb-12 {
    margin-bottom: 22px;
  }

  .spotless-page-services #compare h2 {
    margin-bottom: 14px;
  }

  .spotless-page-services #compare p {
    line-height: 1.56;
  }

  .spotless-page-services #compare .overflow-x-auto {
    position: relative;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 14px;
    scrollbar-width: thin;
  }

  .spotless-page-services #compare .overflow-x-auto::before {
    content: "Swipe to compare ->";
    position: sticky;
    left: 0;
    z-index: 3;
    display: block;
    padding: 10px 14px 10px;
    background: var(--theme-surface);
    color: var(--theme-on-surface-variant);
    font: 600 12px/18px Inter, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .spotless-page-services #compare table {
    min-width: 642px;
    table-layout: fixed;
  }

  .spotless-page-services #compare th,
  .spotless-page-services #compare td {
    padding: 14px 16px;
  }

  .spotless-page-services #compare th {
    font-size: 12px;
    line-height: 18px;
  }

  .spotless-page-services #compare tbody {
    font-size: 15px;
    line-height: 23px;
  }

  .spotless-page-services #compare th:first-child,
  .spotless-page-services #compare td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 154px;
    min-width: 154px;
    background: var(--theme-surface);
  }

  .spotless-page-services #compare th:first-child {
    z-index: 2;
    background: var(--theme-surface-container-low);
  }

  .spotless-page-services #compare .text-center.mt-8 {
    margin-top: 22px;
  }

  .spotless-page-services #compare .text-center.mt-8 a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-reviews main > section:nth-of-type(1) {
    padding: 64px var(--theme-header-mobile-padding);
  }

  .spotless-page-reviews main > section:nth-of-type(1) > span {
    margin-bottom: 14px;
  }

  .spotless-page-reviews main > section:nth-of-type(1) h1 {
    margin-bottom: 20px;
  }

  .spotless-page-reviews main > section:nth-of-type(1) p {
    margin-bottom: 24px;
    line-height: 1.56;
  }

  .spotless-page-reviews main > section:nth-of-type(1) .flex.items-center.gap-2 {
    margin-bottom: 28px;
  }

  .spotless-page-reviews main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row {
    gap: 12px;
    width: 100%;
  }

  .spotless-page-reviews main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row a,
  .spotless-page-reviews main > section:nth-of-type(10) .flex.flex-col.sm\:flex-row a {
    min-height: 48px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
  }

  .spotless-page-reviews main > section:nth-of-type(2) {
    padding-top: 40px;
    padding-bottom: 48px;
  }

  .spotless-page-reviews main > section:nth-of-type(2) > .max-w-container-max {
    gap: 28px;
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-reviews main > section:nth-of-type(2) h2 {
    margin-bottom: 8px;
  }

  .spotless-page-reviews main > section:nth-of-type(2) h2 + .flex {
    margin-bottom: 8px;
  }

  .spotless-page-reviews main > section:nth-of-type(2) p {
    line-height: 1.55;
  }

  .spotless-page-reviews main > section:nth-of-type(2) .space-y-3 {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .spotless-page-reviews main > section:nth-of-type(2) .space-y-3 > div {
    align-items: center;
  }

  .spotless-page-reviews main > section:nth-of-type(2) .space-y-3 > div > span {
    width: 58px;
    min-width: 58px;
    font-size: 13px;
    line-height: 18px;
    white-space: nowrap;
  }

  .spotless-page-reviews main > section:nth-of-type(2) .space-y-3 .h-2 {
    height: 9px;
  }

  .spotless-page-reviews main > section:nth-of-type(2) .space-y-3 > * + * {
    margin-top: 0;
  }

  .spotless-page-reviews #reviews,
  .spotless-page-reviews main > section:nth-of-type(4),
  .spotless-page-reviews main > section:nth-of-type(7),
  .spotless-page-reviews main > section:nth-of-type(8),
  .spotless-page-reviews main > section:nth-of-type(9),
  .spotless-page-reviews main > section:nth-of-type(10) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-reviews #reviews > .max-w-container-max,
  .spotless-page-reviews main > section:nth-of-type(4),
  .spotless-page-reviews main > section:nth-of-type(5) > .max-w-container-max,
  .spotless-page-reviews main > section:nth-of-type(6) > .max-w-container-max,
  .spotless-page-reviews main > section:nth-of-type(7),
  .spotless-page-reviews main > section:nth-of-type(8) > .max-w-container-max,
  .spotless-page-reviews main > section:nth-of-type(9) > .max-w-container-max,
  .spotless-page-reviews main > section:nth-of-type(10) > .max-w-container-max {
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-reviews #reviews h2,
  .spotless-page-reviews main > section:nth-of-type(7) .text-center.mb-12 {
    margin-bottom: 28px;
  }

  .spotless-page-reviews #reviews .grid,
  .spotless-page-reviews main > section:nth-of-type(4) .grid,
  .spotless-page-reviews main > section:nth-of-type(7) .grid {
    gap: 16px;
  }

  .spotless-page-reviews #reviews .grid > div {
    padding: 20px;
  }

  .spotless-page-reviews main > section:nth-of-type(4) .grid > div {
    padding: 20px;
  }

  .spotless-page-reviews #reviews .grid > div > .flex.text-secondary,
  .spotless-page-reviews main > section:nth-of-type(4) .grid > div > .flex.text-secondary {
    margin-bottom: 12px;
  }

  .spotless-page-reviews #reviews .grid > div > p.font-body-md,
  .spotless-page-reviews main > section:nth-of-type(4) .grid > div > p.font-body-md {
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 26px;
  }

  .spotless-page-reviews #reviews .border-t {
    padding-top: 14px;
  }

  .spotless-page-reviews main > section:nth-of-type(5) {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .spotless-page-reviews main > section:nth-of-type(5) > .max-w-container-max {
    gap: 24px;
  }

  .spotless-page-reviews main > section:nth-of-type(5) .flex.items-center.gap-4 {
    justify-content: center;
    width: 100%;
    gap: 14px;
  }

  .spotless-page-reviews main > section:nth-of-type(5) a {
    min-height: 44px;
    justify-content: center;
    text-align: center;
  }

  .spotless-page-reviews main > section:nth-of-type(6) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-reviews main > section:nth-of-type(6) > .max-w-container-max {
    gap: 32px;
  }

  .spotless-page-reviews main > section:nth-of-type(6) h2 {
    margin-bottom: 20px;
  }

  .spotless-page-reviews main > section:nth-of-type(6) p.font-body-md {
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 26px;
  }

  .spotless-page-reviews main > section:nth-of-type(6) .mb-8 {
    margin-bottom: 24px;
  }

  .spotless-page-reviews main > section:nth-of-type(6) a.self-start,
  .spotless-page-reviews main > section:nth-of-type(9) a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-reviews main > section:nth-of-type(7) .flex.flex-col.gap-4 {
    gap: 12px;
  }

  .spotless-page-reviews main > section:nth-of-type(7) p.font-label-md {
    font-size: 15px;
    line-height: 22px;
  }

  .spotless-page-reviews main > section:nth-of-type(8) .grid {
    gap: 0;
  }

  .spotless-page-reviews main > section:nth-of-type(8) .grid > div {
    padding: 22px 0;
  }

  .spotless-page-reviews main > section:nth-of-type(8) .material-symbols-outlined {
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 32px;
  }

  .spotless-page-reviews main > section:nth-of-type(8) h3 {
    margin-bottom: 8px;
  }

  .spotless-page-reviews main > section:nth-of-type(8) p {
    font-size: 14px;
    line-height: 21px;
  }

  .spotless-page-reviews main > section:nth-of-type(9) p {
    margin-bottom: 22px;
    line-height: 1.56;
  }

  .spotless-page-reviews main > section:nth-of-type(10) h2 {
    margin-bottom: 24px;
  }

  .spotless-page-reviews main > section:nth-of-type(10) .flex.flex-col.sm\:flex-row {
    gap: 12px;
    width: 100%;
  }

  .spotless-page-contact main > section:nth-of-type(1) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-contact main > section:nth-of-type(1) > .max-w-container-max,
  .spotless-page-contact main > section:nth-of-type(2) > .max-w-container-max,
  .spotless-page-contact main > section:nth-of-type(3) > .max-w-container-max,
  .spotless-page-contact main > section:nth-of-type(4) > .max-w-container-max {
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-contact main > section:nth-of-type(1) > .max-w-container-max {
    gap: 32px;
  }

  .spotless-page-contact main > section:nth-of-type(1) .space-y-8 {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(1) .space-y-8 > * + * {
    margin-top: 0;
  }

  .spotless-page-contact main > section:nth-of-type(1) h1 {
    margin-bottom: 20px;
  }

  .spotless-page-contact main > section:nth-of-type(1) .font-body-lg {
    line-height: 1.56;
  }

  .spotless-page-contact main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row.items-center,
  .spotless-page-contact main > section:nth-of-type(4) .flex.flex-col.sm\:flex-row {
    gap: 12px;
    width: 100%;
  }

  .spotless-page-contact main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row.items-center a,
  .spotless-page-contact main > section:nth-of-type(4) .flex.flex-col.sm\:flex-row a {
    min-height: 48px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
  }

  .spotless-page-contact main > section:nth-of-type(1) .flex.flex-wrap.items-center.gap-2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
  }

  .spotless-page-contact main > section:nth-of-type(1) .flex.flex-wrap.items-center.gap-2 .text-deep-forest {
    font-size: 16px;
    line-height: 18px;
  }

  .spotless-page-contact main > section:nth-of-type(1) .flex.flex-wrap.items-center.gap-2 .mx-1 {
    display: none;
  }

  .spotless-page-contact main > section:nth-of-type(1) form {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form > * + * {
    margin-top: 0;
  }

  .spotless-page-contact main > section:nth-of-type(1) form > .grid {
    gap: 18px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form + p {
    margin-top: 22px;
    line-height: 1.55;
  }

  .spotless-page-contact main > section:nth-of-type(1) form + p a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .spotless-page-contact main > section:nth-of-type(1) form label {
    display: block;
    margin-bottom: 8px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form input,
  .spotless-page-contact main > section:nth-of-type(1) form select,
  .spotless-page-contact main > section:nth-of-type(1) form textarea {
    min-height: 48px;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--theme-border-subtle);
    border-radius: .125rem;
    background: transparent;
    line-height: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form select {
    padding-right: 40px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form textarea {
    min-height: 128px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form input:focus,
  .spotless-page-contact main > section:nth-of-type(1) form select:focus,
  .spotless-page-contact main > section:nth-of-type(1) form textarea:focus {
    border-color: var(--theme-primary);
    box-shadow: 0 0 0 3px rgba(0, 109, 64, .18);
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  .spotless-page-contact main > section:nth-of-type(1) form button[type="submit"] {
    min-height: 48px;
    width: 100%;
  }

  .spotless-page-contact main > section:nth-of-type(1) form,
  .spotless-page-contact main > section:nth-of-type(1) form + p {
    width: 100%;
  }

  .spotless-page-contact main > section:nth-of-type(1) form {
    margin: 0;
  }

  .spotless-page-contact main > section:nth-of-type(1) form:where(:not(.unused)) {
    max-width: none;
  }

  .spotless-page-contact main > section:nth-of-type(1) form:not(.unused) {
    padding: 0;
  }

  .spotless-page-contact main > section:nth-of-type(1) form {
    box-sizing: border-box;
  }

  .spotless-page-contact main > section:nth-of-type(1) form button,
  .spotless-page-contact main > section:nth-of-type(3) a,
  .spotless-page-contact main > section:nth-of-type(4) a {
    touch-action: manipulation;
  }

  .spotless-page-contact main > section:nth-of-type(1) .bg-surface-container-lowest.p-8 {
    padding: 20px;
  }

  .spotless-page-contact main > section:nth-of-type(2) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-contact main > section:nth-of-type(2) .grid {
    gap: 32px;
  }

  .spotless-page-contact main > section:nth-of-type(2) .bg-surface.p-8 {
    padding: 20px;
  }

  .spotless-page-contact main > section:nth-of-type(2) h2 {
    margin-bottom: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(2) .space-y-6 {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .spotless-page-contact main > section:nth-of-type(2) .space-y-6 > * + * {
    margin-top: 0;
  }

  .spotless-page-contact main > section:nth-of-type(2) .space-y-6 > div {
    gap: 12px;
  }

  .spotless-page-contact main > section:nth-of-type(2) .material-symbols-outlined {
    margin-top: 1px;
    width: 24px;
    min-width: 24px;
    line-height: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(2) h4 {
    margin-bottom: 6px;
  }

  .spotless-page-contact main > section:nth-of-type(2) p {
    line-height: 1.55;
  }

  .spotless-page-contact main > section:nth-of-type(2) [data-location] {
    width: 100%;
    height: 360px;
  }

  .spotless-page-contact main > section:nth-of-type(2) [data-location] .bg-primary {
    max-width: calc(100% - 32px);
    justify-content: center;
    text-align: center;
  }

  .spotless-page-contact main > section:nth-of-type(3) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-contact main > section:nth-of-type(3) h2 {
    margin-bottom: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(3) .flex.flex-wrap {
    gap: 12px;
    margin-bottom: 24px;
  }

  .spotless-page-contact main > section:nth-of-type(3) .flex.flex-wrap a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    line-height: 20px;
  }

  .spotless-page-contact main > section:nth-of-type(3) > .max-w-container-max > a:last-child {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .spotless-page-contact main > section:nth-of-type(4) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-contact main > section:nth-of-type(4) h2 {
    margin-bottom: 18px;
  }

  .spotless-page-contact main > section:nth-of-type(4) p {
    margin-bottom: 24px;
    line-height: 1.56;
  }

  .spotless-page-faq main > section {
    scroll-margin-top: 88px;
  }

  .spotless-page-faq main > section:nth-of-type(1) {
    padding: 56px var(--theme-header-mobile-padding) 32px;
  }

  .spotless-page-faq main > section:nth-of-type(1) > span:first-child {
    margin-bottom: 12px;
  }

  .spotless-page-faq main > section:nth-of-type(1) h1 {
    margin-bottom: 18px;
    line-height: 1.12;
  }

  .spotless-page-faq main > section:nth-of-type(1) p.font-body-lg {
    margin-bottom: 24px;
    line-height: 1.56;
  }

  .spotless-page-faq main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row {
    gap: 12px;
    margin-bottom: 24px;
  }

  .spotless-page-faq main > section:nth-of-type(1) .flex.flex-col.sm\:flex-row a,
  .spotless-page-faq main > section:nth-of-type(5) .flex.flex-col.sm\:flex-row a {
    min-height: 48px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
  }

  .spotless-page-faq main > section:nth-of-type(1) > .flex.items-center.justify-center {
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 14px;
    line-height: 20px;
  }

  .spotless-page-faq main > section:nth-of-type(1) > .flex.items-center.justify-center > .text-\[\#f59e0b\] {
    font-size: 15px;
    line-height: 18px;
  }

  .spotless-page-faq main > section:nth-of-type(1) > .flex.items-center.justify-center > .w-1.h-1 {
    display: none;
  }

  .spotless-page-faq main > section:nth-of-type(2) {
    padding: 0 var(--theme-header-mobile-padding) 40px;
  }

  .spotless-page-faq main > section:nth-of-type(2) > .flex.flex-wrap {
    gap: 8px;
  }

  .spotless-page-faq main > section:nth-of-type(2) a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 11px;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
    touch-action: manipulation;
  }

  .spotless-page-faq main > section:nth-of-type(3) {
    padding: 56px var(--theme-header-mobile-padding);
  }

  .spotless-page-faq main > section:nth-of-type(3) h2 {
    margin-bottom: 22px;
  }

  .spotless-page-faq main .border-b.border-border-subtle.py-6 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left {
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    touch-action: manipulation;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left:focus-visible {
    outline: 2px solid rgba(0, 109, 64, .36);
    outline-offset: 4px;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left > span:first-child {
    padding-right: 0;
    font-size: 23px;
    line-height: 31px;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left > .material-symbols-outlined {
    width: 28px;
    min-width: 28px;
    text-align: right;
  }

  .spotless-page-faq .accordion-content-inner {
    padding-top: 0;
  }

  .spotless-page-faq .accordion-content-inner p {
    padding-bottom: 18px;
    font-size: 16px;
    line-height: 25px;
  }

  .spotless-page-faq main > section:nth-of-type(3) .mt-12 {
    margin-top: 28px;
  }

  .spotless-page-faq main > section:nth-of-type(3) .mt-12 a,
  .spotless-page-faq main > section:nth-of-type(4) a.border,
  .spotless-page-faq main > section:nth-of-type(5) a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
  }

  .spotless-page-faq main > section:nth-of-type(4) {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .spotless-page-faq main > section:nth-of-type(4) > .max-w-container-max {
    padding-left: var(--theme-header-mobile-padding);
    padding-right: var(--theme-header-mobile-padding);
  }

  .spotless-page-faq main > section:nth-of-type(4) .grid {
    gap: 32px;
  }

  .spotless-page-faq main > section:nth-of-type(4) h2 {
    margin-bottom: 20px;
  }

  .spotless-page-faq main > section:nth-of-type(4) .flex.flex-col.gap-4 {
    gap: 12px;
    margin-bottom: 24px;
  }

  .spotless-page-faq main > section:nth-of-type(4) .flex.items-center.gap-3 {
    align-items: flex-start;
    gap: 10px;
  }

  .spotless-page-faq main > section:nth-of-type(4) .flex.items-center.gap-3 > .material-symbols-outlined {
    width: 24px;
    min-width: 24px;
    font-size: 22px;
    line-height: 24px;
    margin-top: 2px;
  }

  .spotless-page-faq main > section:nth-of-type(4) .flex.items-center.gap-3 > span:last-child {
    font-size: 17px;
    line-height: 26px;
  }

  .spotless-page-faq main > section:nth-of-type(4) .aspect-square.max-w-sm {
    width: 100%;
    max-width: 384px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .spotless-page-faq main > section:nth-of-type(5) {
    padding: 56px var(--theme-header-mobile-padding);
  }

  .spotless-page-faq main > section:nth-of-type(5) > span:first-child {
    margin-bottom: 10px;
  }

  .spotless-page-faq main > section:nth-of-type(5) h2 {
    margin-bottom: 18px;
  }

  .spotless-page-faq main > section:nth-of-type(5) p {
    margin-bottom: 24px;
    line-height: 1.56;
  }

  .spotless-page-faq main > section:nth-of-type(6) {
    padding: 56px var(--theme-header-mobile-padding);
  }

  .spotless-page-faq main > section:nth-of-type(6) h2 {
    margin-bottom: 24px;
  }

  .spotless-page-faq main > section:nth-of-type(6) .flex.flex-col.sm\:flex-row {
    gap: 12px;
  }

  .spotless-page-faq main > section:nth-of-type(6) .flex.flex-col.sm\:flex-row a {
    min-height: 48px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    touch-action: manipulation;
  }
}

@media (max-width: 374px) {
  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface ul {
    gap: 2px;
  }

  .spotless-page-services main > section:first-of-type + .border-y.border-border-subtle.bg-surface a {
    padding-left: 3px;
    padding-right: 3px;
    letter-spacing: .04em;
  }
}

@media (width: 768px) {
  .spotless-page-contact main form input,
  .spotless-page-contact main form select {
    min-height: 48px;
  }

  .spotless-page-contact main form textarea {
    min-height: 128px;
  }

  .spotless-page-contact main > section:nth-of-type(3) .flex.flex-wrap a,
  .spotless-page-contact main > section:nth-of-type(3) > .max-w-container-max > a:last-child {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-faq main > section:nth-of-type(2) a,
  .spotless-page-faq main > section:nth-of-type(3) .mt-12 a,
  .spotless-page-faq main > section:nth-of-type(4) a.border,
  .spotless-page-faq main > section:nth-of-type(5) a,
  .spotless-page-faq main > section:nth-of-type(6) a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left {
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    touch-action: manipulation;
  }

  .spotless-page-faq main .border-b.border-border-subtle > button.flex.justify-between.items-center.w-full.text-left:focus-visible {
    outline: 2px solid rgba(0, 109, 64, .36);
    outline-offset: 4px;
  }
}
