




:root {
  --aclass-navy:        #0F2540;
  --aclass-navy-deep:   #081929;
  --aclass-navy-mid:    #1A3656;
  --aclass-blue:        #2F7DD1;
  --aclass-blue-hover:  #1F66B8;
  --aclass-blue-light:  #85B7EB;
  --aclass-blue-soft:   #E6F1FB;
  --aclass-cream:       #F4F1EA;
  --aclass-paper:       #FFFFFF;
  --aclass-ink:         #0F2540;
  --aclass-ink-soft:    #4A4A48;
  --aclass-ink-mute:    #6E6E6C;
  --aclass-line:        #E5E5E2;
  --aclass-shadow-sm:   0 2px 8px rgba(15, 37, 64, 0.06);
  --aclass-shadow-md:   0 8px 24px rgba(15, 37, 64, 0.1);
  --aclass-shadow-lg:   0 16px 40px rgba(15, 37, 64, 0.14);
  --aclass-radius:      8px;
  --aclass-radius-lg:   14px;
  --aclass-transition:  all 0.18s ease;

  /* Heights used by sticky utility bar + header */
  --aclass-utility-h:   42px;
  --aclass-header-h:    84px;
}


/* ============ BASE / TYPOGRAPHY ============ */
html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 17px;       /* enforces minimum body size above 16 */
  line-height: 1.65;
  color: var(--aclass-ink);
  background: var(--aclass-paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--aclass-ink);
}

a {
  color: var(--aclass-blue);
  text-decoration: none;
  transition: var(--aclass-transition);
}
a:hover { color: var(--aclass-blue-hover); }

.text-accent { color: var(--aclass-blue); }


/* ============ SECTION HEADING BLOCK ============ */
.section-heading-block {
  max-width: 760px;
  margin: 0 auto 3.5rem;
}

.section-eyebrow {
  display: inline-block;
  font-size: 1rem;          /* 16px minimum */
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  margin-bottom: 0.875rem;
}

.section-eyebrow-light {
  display: inline-block;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue-light);
  margin-bottom: 0.875rem;
}

.section-headline {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.18;
  margin-bottom: 1rem;
  color: var(--aclass-ink);
}

.section-lead {
  font-size: 1.125rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .section-headline { font-size: 1.875rem; }
  .section-lead { font-size: 1.0625rem; }
}


















/* ============ UTILITY BAR (sticky, hides on scroll) ============ */
.utility-bar {
  background: var(--aclass-cream);
  border-bottom: 1px solid var(--aclass-line);
  font-size: 1rem;
  color: var(--aclass-ink);
  position: sticky;
  top: 0;
/*  z-index: 1050;*/
  height: var(--aclass-utility-h);
  transition: transform 0.28s ease, opacity 0.28s ease;
}

.utility-bar.utility-bar-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

.utility-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--aclass-utility-h);
  gap: 1rem;
}

.utility-bar-locations {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--aclass-ink-soft);
}
.utility-bar-locations i { color: var(--aclass-blue); }

.utility-bar-actions {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.utility-bar-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--aclass-ink);
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.utility-bar-phone i { color: var(--aclass-blue); }
.utility-bar-phone:hover { color: var(--aclass-blue); }

@media (max-width: 768px) {
  .utility-bar-locations { display: none; }
  .utility-bar-inner { justify-content: center; }
}


/* ============ SITE HEADER (sticky navbar) ============ */
.site-header {
  position: sticky;
  top: var(--aclass-utility-h);
  z-index: 1040;
  transition: top 0.28s ease;
}

/* When utility bar is hidden, header rides up to top */
.site-header.site-header-promoted {
  top: 0;
}

.site-navbar {
  background: var(--aclass-navy);
  padding: 0.875rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 2px 12px rgba(15, 37, 64, 0.18);
}

.site-navbar > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.site-logo img {
  display: block;
  height: 60px;
  width: auto;
}

.site-nav-desktop {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  flex: 1;
  justify-content: flex-end;
}

.site-nav-menu {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-nav-item { position: relative; }

.site-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--aclass-radius);
  transition: var(--aclass-transition);
}
.site-nav-link:hover,
.site-nav-link:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.site-nav-link.dropdown-toggle::after { display: none; }
.site-nav-link.dropdown-toggle::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 0.375rem;
  margin-top: -3px;
  transition: var(--aclass-transition);
}
.site-nav-item.show .site-nav-link.dropdown-toggle::before {
  transform: rotate(225deg);
  margin-top: 3px;
}

.site-nav-item.active > .site-nav-link {
  color: #fff;
  background: rgba(133, 183, 235, 0.12);
}
.site-nav-item.active > .site-nav-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: var(--aclass-blue-light);
  border-radius: 2px;
}

/* Dropdown panel */
.site-nav-dropdown {
  background: #fff;
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-lg);
  padding: 0.5rem;
  margin-top: 0.625rem !important;
  min-width: 260px;
}

/* Provide a small invisible bridge so cursor can cross the gap to the dropdown */
.site-nav-item.dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 0.625rem;
}

.site-nav-dropdown .dropdown-item {
  padding: 0.625rem 0.875rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--aclass-ink);
  border-radius: var(--aclass-radius);
  transition: var(--aclass-transition);
}
.site-nav-dropdown .dropdown-item:hover,
.site-nav-dropdown .dropdown-item:focus {
  background: var(--aclass-blue-soft);
  color: var(--aclass-navy);
}

.site-nav-dropdown .dropdown-divider {
  margin: 0.375rem 0;
  border-color: var(--aclass-line);
}

.dropdown-item-allservices {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  color: var(--aclass-blue) !important;
  font-weight: 600 !important;
}
.dropdown-item-allservices i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.dropdown-item-allservices:hover i { transform: translateX(3px); }

/* Get a Quote CTA */
.site-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--aclass-blue);
  color: #fff;
  padding: 0.7rem 1.25rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
  white-space: nowrap;
}
.site-nav-cta:hover {
  background: var(--aclass-blue-hover);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(47, 125, 209, 0.35);
}
.site-nav-cta i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.site-nav-cta:hover i { transform: translateX(2px); }

/* Mobile toggler */
.site-nav-toggler {
  display: none;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--aclass-radius);
  padding: 0.5rem 0.625rem;
  cursor: pointer;
  width: 44px;
  height: 40px;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.site-nav-toggler:focus { box-shadow: none; outline: 2px solid var(--aclass-blue-light); outline-offset: 2px; }

.site-nav-toggler-bar {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}

@media (max-width: 991.98px) {
  .site-nav-toggler { display: flex; }
  .site-nav-desktop { display: none !important; }
  .site-navbar { padding: 0.625rem 0; }
  .site-logo img { height: 48px; }
}


/* ============ MOBILE OFFCANVAS MENU ============ */
.site-mobile-menu {
  width: min(360px, 88vw) !important;
  background: var(--aclass-navy) !important;
  color: #fff;
  border-left: none !important;
}

.site-mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-mobile-menu-logo { display: inline-flex; align-items: center; text-decoration: none; }
.site-mobile-menu-logo img { display: block; height: 44px; width: auto; }

.site-mobile-menu-close {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.5rem;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--aclass-radius);
  cursor: pointer;
  transition: var(--aclass-transition);
}
.site-mobile-menu-close:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.site-mobile-menu-body {
  padding: 1.25rem !important;
  display: flex;
  flex-direction: column;
}

.site-mobile-cta-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.site-mobile-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--aclass-blue);
  color: #fff;
  padding: 0.875rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-mobile-cta-primary:hover { background: var(--aclass-blue-hover); color: #fff; }

.site-mobile-cta-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  padding: 0.875rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-mobile-cta-phone:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }

.site-mobile-nav-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-mobile-nav-item { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }

.site-mobile-nav-link {
  display: block;
  padding: 0.875rem 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.0625rem;
  font-weight: 500;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-mobile-nav-link:hover { color: var(--aclass-blue-light); }

.site-mobile-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.875rem 0;
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.0625rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: var(--aclass-transition);
}
.site-mobile-nav-toggle:hover { color: var(--aclass-blue-light); }
.site-mobile-nav-toggle i {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.6);
  transition: transform 0.2s ease;
}
.site-mobile-nav-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
  color: var(--aclass-blue-light);
}

.site-mobile-nav-sub {
  padding: 0 0 0.5rem 0.75rem;
  border-left: 2px solid rgba(133, 183, 235, 0.25);
  margin-left: 0.25rem;
}
.site-mobile-nav-sub a {
  display: block;
  padding: 0.5rem 0.75rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
  border-radius: var(--aclass-radius);
  transition: var(--aclass-transition);
}
.site-mobile-nav-sub a:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}
.site-mobile-nav-sub-all {
  color: var(--aclass-blue-light) !important;
  font-weight: 600 !important;
  margin-top: 0.25rem;
}

.site-mobile-meta {
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-mobile-meta-block { margin-bottom: 1rem; }
.site-mobile-meta-block:last-child { margin-bottom: 0; }

.site-mobile-meta-label {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aclass-blue-light);
  margin-bottom: 0.375rem;
}

.site-mobile-meta-text {
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}








/* ============ SITE FOOTER ============ */
.site-footer {
  background: var(--aclass-navy-deep);
  color: rgba(255, 255, 255, 0.85);
  padding: 4rem 0 0;
}

.site-footer-main { padding-bottom: 3rem; }

.site-footer-brand { margin-bottom: 1.5rem; }

.site-footer-logo {
  display: inline-block;
  margin-bottom: 1.25rem;
  text-decoration: none;
}
.site-footer-logo img {
  display: block;
  height: 64px;
  width: auto;
}

.site-footer-tagline {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
}

.site-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
}

.site-footer-contact li i {
  color: var(--aclass-blue-light);
  font-size: 1rem;
  width: 18px;
  text-align: center;
  margin-top: 0.25rem;
  flex-shrink: 0;
}

.site-footer-contact li a,
.site-footer-contact li span {
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-footer-contact li a:hover { color: var(--aclass-blue-light); }

.site-footer-heading {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aclass-blue-light);
  margin: 0 0 1.25rem;
}

.site-footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer-list li {
  margin-bottom: 0.625rem;
  font-size: 1rem;
  line-height: 1.4;
}

.site-footer-list a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-footer-list a:hover { color: #fff; }

.site-footer-list-static {
  color: rgba(255, 255, 255, 0.85);
  cursor: default;
}

.site-footer-list-all {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  color: var(--aclass-blue-light) !important;
  font-weight: 600;
}
.site-footer-list-all i {
  font-size: 0.75rem;
  transition: var(--aclass-transition);
}
.site-footer-list-all:hover i { transform: translateX(2px); }

.site-footer-trust-mini {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.site-footer-trust-mini-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.78);
}
.site-footer-trust-mini-item i {
  color: var(--aclass-blue-light);
  font-size: 1rem;
  width: 18px;
  text-align: center;
}

.site-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1.5rem 0;
}

.site-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.site-footer-copyright {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.65);
}

.site-footer-copyright a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-footer-copyright a:hover { color: #fff; }

.site-footer-bottom-divider {
  margin: 0 0.5rem;
  color: rgba(255, 255, 255, 0.3);
}

.site-footer-social {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.site-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1rem;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.site-footer-social-link:hover {
  background: var(--aclass-blue);
  border-color: var(--aclass-blue);
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .site-footer { padding: 3rem 0 0; }
  .site-footer-main { padding-bottom: 2rem; }
  .site-footer-bottom-inner { justify-content: center; text-align: center; }
  .site-footer-copyright { width: 100%; }
}


/* ============ SECTION SPACING - MOBILE ============ */
@media (max-width: 992px) {
  .services-detail,
  .industries-served,
  .how-it-works,
  .client-reviews,
  .service-area,
  .final-cta,
  .owner-led-section { padding: 3.5rem 0; }

  .section-heading-block { margin-bottom: 2.5rem; }
}






































.svc-hero {
  position: relative;
  background: linear-gradient(135deg, #122d4f 0%, #0a2540 60%, #061a30 100%);
  color: #fff;
  padding: 4rem 0;
  overflow: hidden;
}

.svc-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top right, rgba(133, 183, 235, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(47, 125, 209, 0.10) 0%, transparent 50%);
  pointer-events: none;
}
/*
.cleaning-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(133, 183, 235, 0.15);
  border: 1px solid rgba(133, 183, 235, 0.25);
  color: #85b7eb;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.4rem 0.875rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}
.cleaning-hero-eyebrow i { font-size: 0.875rem; }
*/
.svc-hero-h1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 1.25rem;
}
.svc-hero-h1-accent { color: #85b7eb; }

.svc-hero-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 1.75rem;
  max-width: 560px;
}

.svc-hero-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75rem;
}
.svc-hero-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.4rem 0;
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.92);
}
.svc-hero-bullets li i {
  color: #85b7eb;
  font-size: 0.875rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.svc-hero-phone-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.85);
}
.svc-hero-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.125rem;




  transition: color 0.2s ease;
}
.svc-hero-phone-link i { color: #85b7eb; font-size: 1rem; }
.svc-hero-phone-link:hover { color: #85b7eb; }

.svc-hero-form-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 1.875rem 1.75rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  color: #1a1a1a;
}
.svc-hero-form-header {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e2e8f0;
}
.svc-hero-form-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0a2540;
  margin: 0 0 0.375rem;
  letter-spacing: -0.02em;
  text-align:center;
}
.svc-hero-form-sub {
  font-size: 1rem;
  color: #718096;
  margin: 0;
  line-height: 1.5;
  text-align:center;

}

@media (max-width: 991.98px) {
  .svc-hero { padding: 3rem 0; }
}
@media (max-width: 768px) {
  .svc-hero-h1 { font-size: 2rem; }
  .svc-hero-lead { font-size: 1.0625rem; }
  .svc-hero-form-card { padding: 1.5rem 1.25rem; }
}







.quote-form-group {
  margin-bottom: 1rem;
}

.quote-form-label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0a2540;
  margin-bottom: 0.375rem;
}

.required {
  color: #2f7dd1;
}

.quote-form-control {
  display: block;
  width: 100%;
  padding: 0.75rem 0.875rem;
  font-size: 1rem;
  font-family: inherit;
  color: #1a1a1a;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  appearance: auto;
}
.quote-form-control:focus {
  outline: none;
  border-color: #2f7dd1;
  box-shadow: 0 0 0 3px rgba(47, 125, 209, 0.15);
}
.quote-form-control::placeholder {
  color: #718096;
}

textarea.quote-form-control {
  min-height: 100px;
  resize: vertical;
  font-family: inherit;
}

select.quote-form-control {
  cursor: pointer;
}

.quote-form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.95rem 1.5rem;
  background: #2f7dd1;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1.0625rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 0.5rem;
}
.quote-form-submit:hover {
  background: #2569b8;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(10, 37, 64, 0.10);
}
.quote-form-submit i { font-size: 0.9375rem; }

.quote-form-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin: 0.875rem 0 0;
  font-size: 0.875rem;
  color: #718096;
}
.quote-form-trust i {
  color: #2f7dd1;
  font-size: 0.75rem;
}

/* Validation error block */
.quote-form-errors {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: 0.875rem 1rem;
  margin-bottom: 1rem;
}
.quote-form-errors .errMessage {
  display: block;
  font-size: 0.9375rem;
  color: #b91c1c;
  margin: 0.25rem 0;
}
.quote-form-errors .errMessage i {
  margin-right: 0.4rem;
}

/* Success state - replaces form after submit */
.quote-form-success {
  text-align: center;
  padding: 1.5rem 0.5rem;
}
.quote-form-success-messages {
  margin-bottom: 1rem;
  color: #00a139;
}
.quote-form-success-messages  {
  text-align: center;
}
.quote-form-success-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: #e8f1fb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f7dd1;
  font-size: 1.875rem;
}
.quote-form-success-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #0a2540;
  margin: 0 0 0.625rem;
}
.quote-form-success-text {
  font-size: 1rem;
  color: #4a5568;
  line-height: 1.55;
  margin: 0 0 0.625rem;
}
.quote-form-success-text a {
  color: #2f7dd1;
  font-weight: 600;
  text-decoration: none;
}
.quote-form-success-text a:hover {
  text-decoration: underline;
}
.quote-form-success-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: #2f7dd1;
  color: #ffffff;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease;
}
.quote-form-success-link:hover {
  background: #2569b8;
  color: #ffffff;
}

/* Honeypot - hide from humans, bots fill it */
.checker {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden;
}

/* Anchor target offset for sticky header */
.anchor {
  display: block;
  position: relative;
  top: -220px;
  visibility: hidden;
}











.ctc-hero {
  position: relative;
  background: linear-gradient(135deg, #122d4f 0%, #0a2540 60%, #061a30 100%);
  color: #fff;
  padding: 4rem 0 3.5rem;
  overflow: hidden;
}

.ctc-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top right, rgba(133, 183, 235, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(47, 125, 209, 0.10) 0%, transparent 50%);
  pointer-events: none;
}

.ctc-hero-h1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 1.25rem;
}
.ctc-hero-h1-accent { color: #85b7eb; }

.ctc-hero-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 auto;
  max-width: 760px;
}

@media (max-width: 768px) {
  .ctc-hero { padding: 2.75rem 0 2.5rem; }
  .ctc-hero-h1 { font-size: 2rem; }
  .ctc-hero-lead { font-size: 1.0625rem; }
}









/* ========================================================
   STANDARD BUTTONS - used across all pages
======================================================== */

.btn-quote-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: #2f7dd1;
  color: #ffffff;
  border: 1px solid #2f7dd1;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.btn-quote-primary:hover {
  background: #2569b8;
  border-color: #2569b8;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(10, 37, 64, 0.10);
}
.btn-quote-primary i { font-size: 0.875rem; }

.btn-quote-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: #ffffff;
  color: #0a2540;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-quote-secondary:hover {
  background: #f5f1e8;
  border-color: #85b7eb;
  color: #0a2540;
  transform: translateY(-1px);
}

.btn-quote-banner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: #ffffff;
  color: #0a2540;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-quote-banner:hover {
  background: #f5f1e8;
  color: #0a2540;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(10, 37, 64, 0.10);
}

.btn-phone-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-phone-outline i { color: #2f7dd1; font-size: 0.875rem; }
.btn-phone-outline:hover {
  border-color: #2f7dd1;
  background: #e8f1fb;
  color: #0a2540;
  transform: translateY(-1px);
}

.btn-phone-outline-light {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-phone-outline-light i { color: #85b7eb; font-size: 0.875rem; }
.btn-phone-outline-light:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
  transform: translateY(-1px);
}

.btn-section-cta-light {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #0a2540;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-section-cta-light:hover {
  border-color: #2f7dd1;
  background: #e8f1fb;
  color: #0a2540;
  transform: translateY(-1px);
}


/* ========================================================
   HOMEPAGE HERO - used ONLY on the home page
   Has a background image with overlay, italicized accent word
   in the headline, two CTA buttons, and a row of trust pills.
   Markup pattern is in the index.php file.
======================================================== */

/* ============ HERO ============ */
.cleaning-hero {
  position: relative;
  background: var(--aclass-navy-deep);
  color: #fff;
  padding: 6rem 0 6.5rem;
  overflow: hidden;
}

/* Hero photo: high opacity (~90%), positioned right */
.cleaning-hero-image {
  position: absolute;
  inset: 0;
  background-image: url('../../img/hero-commercial-cleaning.jpg');
  background-size: cover;
  background-position: center right;
  opacity: 0.9;
}

/* Subtle dark gradient on the left so text stays readable */
.cleaning-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(8, 25, 41, 0.95) 0%,
    rgba(15, 37, 64, 0.85) 35%,
    rgba(15, 37, 64, 0.4) 60%,
    rgba(15, 37, 64, 0.1) 100%
  );
}

.cleaning-hero-content { position: relative; z-index: 2; }

.cleaning-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue-light);
  background: rgba(133, 183, 235, 0.12);
  border: 1px solid rgba(133, 183, 235, 0.3);
  padding: 0.45rem 1rem;
  border-radius: var(--aclass-radius);
  margin-bottom: 1.75rem;
}
.cleaning-hero-eyebrow .fa-solid {
  font-size: 0.875rem;
  color: var(--aclass-blue-light);
}

@media (max-width: 576px) {
  /* On phones, drop the pill - the city list wraps to 2 lines and looks
     awkward in a rounded shape. Keep the eyebrow style readable as plain text. */
  .cleaning-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: 0;
    padding: 0.25rem 0;
    border-radius: 0;
    font-size: 1rem;
    letter-spacing: 0.06em;
    margin-bottom: 1.25rem;
    line-height: 1.4;
  }
  .cleaning-hero-eyebrow .fa-solid {
    color: var(--aclass-blue-light);
    font-size: 1rem;
    flex-shrink: 0;
  }
}

.cleaning-hero-headline {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: #fff;
  margin-bottom: 1.25rem;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}
.cleaning-hero-headline em {
  font-style: normal;
  color: var(--aclass-blue-light);
}

.cleaning-hero-lead {
  font-size: 1.1875rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 2rem;
  max-width: 95%;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.cleaning-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

.cleaning-hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.cleaning-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(15, 37, 64, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
  padding: 0.55rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  color: #fff;
}
.cleaning-trust-pill i { color: var(--aclass-blue-light); }

@media (max-width: 992px) {
  .cleaning-hero { padding: 4rem 0 4.5rem; }
  .cleaning-hero-headline { font-size: 2.625rem; }
  .cleaning-hero-image { background-position: center; opacity: 0.5; }
  .cleaning-hero-overlay {
    background: linear-gradient(
      180deg,
      rgba(15, 37, 64, 0.65) 0%,
      rgba(8, 25, 41, 0.85) 100%
    );
  }
}
@media (max-width: 576px) {
  .cleaning-hero-headline { font-size: 2.125rem; }
  .cleaning-hero-lead { font-size: 1.0625rem; }
}









/* ========================================================
   TRUST STRIP - 4 horizontal trust signals below hero
   Used on all non-home pages (service, city, about, etc.)
   Markup pattern: section.svc-trust-strip > .svc-trust-row
   with .svc-trust-item separated by .svc-trust-divider
======================================================== */
/*

.svc-trust-strip {
  background: #ffffff;
  padding: 1.75rem 0;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}

.svc-trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.svc-trust-item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex: 0 0 auto;
}

.svc-trust-stars {
  color: #f59e0b;
  letter-spacing: 0.125em;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.svc-trust-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e8f1fb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f7dd1;
  font-size: 1rem;
  flex-shrink: 0;
}

.svc-trust-text {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}
.svc-trust-text strong {
  font-size: 1rem;
  font-weight: 700;
  color: #0a2540;
}
.svc-trust-text span {
  font-size: 0.9375rem;
  color: #718096;
  margin-top: 0.125rem;
}

.svc-trust-divider {
  width: 1px;
  height: 32px;
  background: #e2e8f0;
  flex-shrink: 0;
}

@media (max-width: 991.98px) {
  .svc-trust-row { gap: 1.5rem; }
}
@media (max-width: 768px) {
  .svc-trust-row { gap: 1.25rem 2rem; }
  .svc-trust-divider { display: none; }
}

.svc-trust-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e8f1fb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f7dd1;
  font-size: 1rem;
  flex-shrink: 0;
}

.svc-trust-text {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}
.svc-trust-text strong {
  font-size: 1rem;
  font-weight: 700;
  color: #0a2540;
}
.svc-trust-text span {
  font-size: 0.9375rem;
  color: #718096;
  margin-top: 0.125rem;
}

.svc-trust-divider {
  width: 1px;
  height: 32px;
  background: #e2e8f0;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .svc-trust-row { gap: 1rem; }
  .svc-trust-divider { display: none; }
  .svc-trust-item { flex: 1 1 45%; }
}


*/




.svc-trust-strip {
  background: var(--aclass-paper);
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--aclass-line);
}

.svc-trust-row {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 1rem;
  flex-wrap: wrap;
}

.svc-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 0 0 auto;
}

.svc-trust-stars {
  color: #F2A623;
  font-size: 1.0625rem;
  letter-spacing: 0.08em;
}

.svc-trust-icon {
  width: 36px;
  height: 36px;
  background: var(--aclass-blue-soft);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1rem;
  flex-shrink: 0;
}

.svc-trust-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.svc-trust-text strong {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
}
.svc-trust-text span {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-top: 0.125rem;
}

.svc-trust-divider {
  width: 1px;
  height: 36px;
  background: var(--aclass-line);
}

@media (max-width: 991.98px) {
  .svc-trust-row { gap: 1.25rem 1.5rem; }
  .svc-trust-divider { display: none; }
}









/* ============ REVIEWS ============ */
.client-reviews {
  background: var(--aclass-cream);
  padding: 5rem 0;
}

.reviews-summary {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 992px) { .reviews-summary { align-items: flex-start; } }

.reviews-summary-stars {
  color: #F2A623;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
}

.reviews-summary-rating {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.02em;
  line-height: 1;
  margin-top: 0.25rem;
}

.reviews-summary-label {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.375rem;
  font-weight: 500;
}

.review-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.875rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.review-card-stars {
  color: #F2A623;
  font-size: 1.0625rem;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.review-card-quote {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--aclass-ink);
  margin: 0 0 1.25rem;
  flex: 1;
  font-style: normal;
}

.review-card-author {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  padding-top: 0.875rem;
  border-top: 1px solid var(--aclass-line);
}

.review-card-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-top: 0.125rem;
}



/* ====================================================================
   REVIEWS CAROUSEL
   ==================================================================== */
.reviews-carousel {
  position: relative;
}

.reviews-carousel-viewport {
  overflow: hidden;
  padding: 0.5rem 0;
}

.reviews-carousel-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
}

.reviews-carousel-slide {
  flex: 0 0 calc(33.333% - 1rem);
  margin-right: 1.5rem;
  min-width: 0;
}
.reviews-carousel-slide:last-child { margin-right: 0; }

@media (max-width: 991px) {
  .reviews-carousel-slide { flex-basis: calc(50% - 0.75rem); }
}
@media (max-width: 640px) {
  .reviews-carousel-slide { flex-basis: 100%; margin-right: 1rem; }
}

/* Carousel inherits .review-card styling unchanged */
.reviews-carousel .review-card {
  height: 100%;
}

/* Controls (arrows + dots) */
.reviews-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.reviews-carousel-arrow {
  width: 44px;
  height: 44px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  color: var(--aclass-navy);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: var(--aclass-transition);
}
.reviews-carousel-arrow:hover {
  background: var(--aclass-blue);
  border-color: var(--aclass-blue);
  color: #fff;
  transform: translateY(-1px);
}
.reviews-carousel-arrow:focus {
  outline: 2px solid var(--aclass-blue-light);
  outline-offset: 2px;
}
.reviews-carousel-arrow:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.reviews-carousel-dots {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.reviews-carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(15, 37, 64, 0.2);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: var(--aclass-transition);
}
.reviews-carousel-dot:hover {
  background: rgba(15, 37, 64, 0.4);
}
.reviews-carousel-dot.is-active {
  background: var(--aclass-blue);
  width: 28px;
  border-radius: 999px;
}
.reviews-carousel-dot:focus {
  outline: 2px solid var(--aclass-blue-light);
  outline-offset: 2px;
}




/* ====================================================================
   FAQ SECTION
   ==================================================================== */
.faq-section {
  background: var(--aclass-paper);
  padding: 5rem 0;
  border-top: 1px solid var(--aclass-line);
}

.faq-item {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 0;
  overflow: hidden;
      margin-bottom: 12px;
  transition: var(--aclass-transition);
  /* Removed height: 100% - items should size to their content,
     not stretch to match the tallest neighbor in the row */
}
.faq-item:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-sm);
}
.faq-item[open] {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-sm);
}

/* Hide default details marker */
.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--aclass-navy);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.faq-question::-webkit-details-marker { display: none; }
.faq-question::marker { content: ''; }

.faq-icon {
  font-size: 1rem;
  color: var(--aclass-blue);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.faq-item[open] .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  padding: 0 1.5rem 1.25rem;
  border-top: 1px solid var(--aclass-line);
  margin-top: 0;
}
.faq-answer p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin: 1rem 0 0;
}

@media (max-width: 768px) {
  .faq-section { padding: 3.5rem 0; }
  .faq-question { font-size: 1.0625rem; padding: 1rem 1.25rem; }
  .faq-answer { padding: 0 1.25rem 1.125rem; }
}












.service-area {
  background: #ffffff;
  padding: 4rem 0;
}

.service-area .container {
  max-width: 1000px;
}
/* Section heading helpers - shared with other sections */
.section-eyebrow {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2f7dd1;
  margin-bottom: 0.875rem;
}

.svc-section-h2 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #0a2540;
  line-height: 1.2;
  margin: 0 0 1rem;
}

.svc-body {
  font-size: 1rem;
  line-height: 1.7;
  color: #4a5568;
  margin: 0 0 1.25rem;
}

@media (max-width: 768px) {
  .svc-section-h2 { font-size: 1.625rem; }
}

/* Tag cluster */
.neighborhood-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  justify-content: center;
}

.neighborhood-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.125rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 600;
  color: #0a2540;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* Linked variant - same look but hoverable */
.neighborhood-tag-link {
  cursor: pointer;
}
.neighborhood-tag-link:hover {
  background: #e8f1fb;
  border-color: #85b7eb;
  color: #0a2540;
  transform: translateY(-1px);
}










/* ============ PRE-FOOTER CTA STRIP ============ */
.pre-footer-cta {
  background: var(--aclass-blue);
  padding: 3rem 0;
  color: #fff;
}

.pre-footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.pre-footer-cta-text { flex: 1; min-width: 280px; }

.pre-footer-cta-title {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 0.5rem;
}

.pre-footer-cta-sub {
  font-size: 1.0625rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
}

.pre-footer-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.pre-footer-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  color: var(--aclass-navy);
  padding: 0.875rem 1.5rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: var(--aclass-transition);
  white-space: nowrap;
}
.pre-footer-cta-primary:hover {
  background: var(--aclass-cream);
  color: var(--aclass-navy);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.pre-footer-cta-primary i { font-size: 0.8125rem; transition: var(--aclass-transition); }
.pre-footer-cta-primary:hover i { transform: translateX(3px); }

.pre-footer-cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 0.875rem 1.5rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
  white-space: nowrap;
}
.pre-footer-cta-phone:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}

@media (max-width: 768px) {
  .pre-footer-cta-inner { justify-content: center; text-align: center; }
  .pre-footer-cta-title { font-size: 1.625rem; }
  .pre-footer-cta-actions { width: 100%; justify-content: center; }
}


/* ============ BLUE CTA STRIP ============ */
.svc-cta-strip {
  background: var(--aclass-blue);
  padding: 2.75rem 0;
  color: #fff;
}

.svc-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.svc-cta-text { flex: 1; min-width: 280px; }

.svc-cta-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.375rem;
  letter-spacing: -0.015em;
}

.svc-cta-sub {
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
}

.svc-cta-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.svc-cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 0.875rem 1.5rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.svc-cta-phone:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}

@media (max-width: 768px) {
  .svc-cta-inner { justify-content: center; text-align: center; }
  .svc-cta-title { font-size: 1.5rem; }
  .svc-cta-actions { width: 100%; justify-content: center; }
}







/* ====================================================================
   JANITORIAL PAGE - ZIGZAG ROWS
   ==================================================================== */
.jan-zigzag {
  background: var(--aclass-cream);
  padding: 4rem 0 4.5rem;
}

.jan-zigzag-intro { /* container */ }

.jan-zigzag-row {
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--aclass-line);
}
.jan-zigzag-row:last-child { border-bottom: 0; padding-bottom: 0; }

/* Flip the column order on alternate rows */
.jan-zigzag-row-flip {
  flex-direction: row-reverse;
}

.jan-zigzag-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}

.jan-zigzag-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 1rem;
}

.jan-zigzag-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--aclass-navy);
  color: #fff;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 700;
}

.jan-zigzag-label {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue);
}

.jan-zigzag-title {
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.jan-zigzag-text {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin: 0 0 1.25rem;
}

.jan-zigzag-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem 1rem;
}
.jan-zigzag-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
}
.jan-zigzag-bullets li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.jan-zigzag-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.jan-zigzag-link i { font-size: 0.8125rem; transition: var(--aclass-transition); }
.jan-zigzag-link:hover {
  color: var(--aclass-blue-hover);
}
.jan-zigzag-link:hover i { transform: translateX(3px); }

@media (max-width: 991.98px) {
  .jan-zigzag-bullets { grid-template-columns: 1fr; }
  .jan-zigzag-row { padding: 2rem 0; }
  .jan-zigzag-title { font-size: 1.375rem; }
  /* On mobile, force consistent stacking order: image top, text below, regardless of zigzag direction */
  .jan-zigzag-row-flip { flex-direction: column-reverse; }
}



/* ====================================================================
   JANITORIAL PAGE - FREQUENCY CALLOUT
   ==================================================================== */
.jan-frequency {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.jan-frequency-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
}

.jan-frequency-pill {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.125rem 1.25rem;
  transition: var(--aclass-transition);
}
.jan-frequency-pill:hover {
  border-color: var(--aclass-blue-light);
  background: var(--aclass-blue-soft);
  transform: translateY(-2px);
}

.jan-frequency-pill-label {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  margin-bottom: 0.25rem;
}

.jan-frequency-pill-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
}

@media (max-width: 480px) {
  .jan-frequency-pills { grid-template-columns: 1fr; }
}








/* ====================================================================
   JANITORIAL PAGE - "BEYOND THE SURFACE" BLOCK
   ==================================================================== */
.jan-beyond {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.jan-beyond-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem;
  box-shadow: var(--aclass-shadow-sm);
}

.jan-beyond-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.jan-beyond-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.015em;
}

.jan-beyond-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.jan-beyond-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.4rem 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.jan-beyond-card-list li:last-child { border-bottom: 0; }
.jan-beyond-card-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}





/* ====================================================================
   JANITORIAL PAGE - PULL-QUOTE BLOCK
   ==================================================================== */
.jan-pullquote {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.jan-pullquote-mark {
  font-size: 2.5rem;
  color: var(--aclass-blue-light);
  line-height: 1;
  margin-bottom: 1rem;
  opacity: 0.85;
}

.jan-pullquote-headline {
  font-size: 2rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.jan-pullquote-sub {
  font-size: 1.0625rem;
  color: var(--aclass-ink-mute);
  margin: 0;
}

@media (max-width: 991.98px) {
  .jan-pullquote-headline { font-size: 1.625rem; }
}







/* ============ CROSS-LINK CARDS (Other Services) ============ */
.svc-cross-links {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.cross-link-card {
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
}
.cross-link-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-ink);
}

.cross-link-icon {
  width: 48px;
  height: 48px;
  background: var(--aclass-blue-soft);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.cross-link-icon i {
  font-size: 1.25rem;
  color: var(--aclass-navy);
}

.cross-link-title {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
}

.cross-link-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}

.cross-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
}
.cross-link-arrow i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.cross-link-card:hover .cross-link-arrow i { transform: translateX(3px); }





/* ====================================================================
   ON-DEMAND PAGE - RESPONSE TIME CALLOUT
   ==================================================================== */
.ond-response {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.ond-response-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.ond-response-tile {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.125rem 1rem;
  text-align: center;
}

.ond-response-tile-urgent {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
}

.ond-response-tile-time {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  margin-bottom: 0.25rem;
}
.ond-response-tile-urgent .ond-response-tile-time { color: var(--aclass-blue); }

.ond-response-tile-label {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.35;
}

@media (max-width: 480px) {
  .ond-response-grid { grid-template-columns: 1fr; }
}


/* ====================================================================
   ON-DEMAND PAGE - 2x2 SERVICE CARDS
   ==================================================================== */
.ond-services {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.ond-service-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: var(--aclass-transition);
}
.ond-service-card:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-md);
  transform: translateY(-2px);
}

.ond-service-card-header {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--aclass-line);
}

.ond-service-card-icon {
  width: 48px;
  height: 48px;
  background: var(--aclass-blue-soft);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ond-service-card-icon i {
  font-size: 1.25rem;
  color: var(--aclass-navy);
}

.ond-service-card-title {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

.ond-service-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}

.ond-service-card-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  flex: 1;
}
.ond-service-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.3rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
}
.ond-service-card-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.ond-service-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--aclass-line);
  transition: var(--aclass-transition);
}
.ond-service-card-link i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.ond-service-card-link:hover { color: var(--aclass-blue-hover); }
.ond-service-card-link:hover i { transform: translateX(3px); }

.ond-service-card-link-urgent {
  color: var(--aclass-navy);
}
.ond-service-card-link-urgent:hover { color: var(--aclass-blue); }
.ond-service-card-link-urgent:hover i { transform: none; }


/* ====================================================================
   ON-DEMAND PAGE - SCENARIO CARDS
   ==================================================================== */
.ond-scenarios {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.ond-scenario-card {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.25rem;
  height: 100%;
  text-align: center;
  transition: var(--aclass-transition);
}
/*.ond-scenario-card:hover {
  border-color: var(--aclass-blue-light);
  background: var(--aclass-blue-soft);
  transform: translateY(-2px);
}*/

.ond-scenario-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.875rem;
  color: var(--aclass-blue);
  font-size: 1.125rem;
}

.ond-scenario-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.ond-scenario-card-text {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--aclass-ink-soft);
  margin: 0;
}








.svc-neighborhoods {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.neighborhood-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  max-width: 800px;
  margin: 0 auto;
}

.neighborhood-tag {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--aclass-ink);
  text-decoration: none;
  transition: var(--aclass-transition);
}

.neighborhood-tag-link:hover {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-navy);
  cursor: pointer;
}








.svc-featured-cities { /* row container */ }

.featured-city-card {
  position: relative;
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.25rem 1.25rem;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
  overflow: hidden;
}
.featured-city-card:hover {
  border-color: var(--aclass-blue);
  box-shadow: var(--aclass-shadow-md);
  transform: translateY(-2px);
  color: var(--aclass-ink);
}

.featured-city-flag {
  display: inline-block;
  background: var(--aclass-blue);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.625rem;
}

.featured-city-name {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  margin-bottom: 0.25rem;
  line-height: 1.1;
}

.featured-city-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
  padding-right: 1.5rem;
}

.featured-city-arrow {
  position: absolute;
  bottom: 1rem;
  right: 1.125rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.featured-city-card:hover .featured-city-arrow {
  background: var(--aclass-blue);
  color: #fff;
  transform: translateX(2px);
}


/* ====================================================================
   "ALSO SERVE" inline list (under featured cities)
   ==================================================================== */
.svc-also-serve {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
}

.svc-also-serve-label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  flex-shrink: 0;
}

.svc-also-serve-list {
  font-size: 1rem;
  color: var(--aclass-ink-soft);
  line-height: 1.6;
}

@media (max-width: 576px) {
  .svc-also-serve { flex-direction: column; align-items: flex-start; gap: 0.4rem; }
}








/* ====================================================================
   POST-CONSTRUCTION PAGE - INTRO
   ==================================================================== */
.pcc-intro {
  background: var(--aclass-paper);
  padding: 4rem 0;
}


/* ====================================================================
   POST-CONSTRUCTION PAGE - 3-PHASE TIMELINE (signature layout)
   ==================================================================== */
.pcc-phases {
  background: var(--aclass-cream);
  padding: 4rem 0 4.5rem;
}

.pcc-phases-timeline {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: stretch;
}

.pcc-phase-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem 1.5rem;
  position: relative;
  transition: var(--aclass-transition);
}
.pcc-phase-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.pcc-phase-card-featured {
  background: var(--aclass-navy);
  border-color: var(--aclass-navy);
  color: #fff;
}
.pcc-phase-card-featured:hover { border-color: var(--aclass-blue); }

.pcc-phase-num {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-blue-light);
  line-height: 1;
  opacity: 0.85;
}

.pcc-phase-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.pcc-phase-icon i {
  font-size: 1.25rem;
  color: var(--aclass-navy);
}
.pcc-phase-card-featured .pcc-phase-icon {
  background: rgba(133, 183, 235, 0.18);
}
.pcc-phase-card-featured .pcc-phase-icon i {
  color: var(--aclass-blue-light);
}

.pcc-phase-when {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  margin-bottom: 0.375rem;
}
.pcc-phase-card-featured .pcc-phase-when { color: var(--aclass-blue-light); }

.pcc-phase-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.75rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.pcc-phase-card-featured .pcc-phase-title { color: #fff; }

.pcc-phase-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}
.pcc-phase-card-featured .pcc-phase-text { color: rgba(255, 255, 255, 0.85); }

.pcc-phase-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pcc-phase-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.3rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
}
.pcc-phase-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}
.pcc-phase-card-featured .pcc-phase-list li {
  color: rgba(255, 255, 255, 0.92);
}
.pcc-phase-card-featured .pcc-phase-list li i {
  color: var(--aclass-blue-light);
}

.pcc-phase-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  color: var(--aclass-blue);
  font-size: 1.25rem;
}

@media (max-width: 991.98px) {
  .pcc-phases-timeline {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .pcc-phase-arrow {
    transform: rotate(90deg);
    padding: 0.5rem 0;
  }
}


/* ====================================================================
   POST-CONSTRUCTION PAGE - AREA CARDS (6-card grid)
   ==================================================================== */
.pcc-areas {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.pcc-area-card {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.25rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.pcc-area-card:hover {
  background: var(--aclass-paper);
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

.pcc-area-card-icon {
  width: 44px;
  height: 44px;
      border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  border: 1px solid var(--aclass-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.0625rem;
  margin-bottom: 0.875rem;
}

.pcc-area-card-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.015em;
}

.pcc-area-card-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}


/* ====================================================================
   POST-CONSTRUCTION PAGE - GC COORDINATION BLOCK
   ==================================================================== */
.pcc-gc {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.pcc-gc-icon {
  width: 56px;
  height: 56px;
     border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.pcc-gc-features {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pcc-gc-feature {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.125rem 1.25rem;
  transition: var(--aclass-transition);
}
.pcc-gc-feature:hover {
  border-color: var(--aclass-blue-light);
  transform: translateX(4px);
}

.pcc-gc-feature-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1rem;
}

.pcc-gc-feature-body {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.pcc-gc-feature-body strong {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin-bottom: 0.125rem;
}
.pcc-gc-feature-body span {
  font-size: 1rem;
  color: var(--aclass-ink-soft);
}


/* ====================================================================
   POST-CONSTRUCTION PAGE - PROJECT TYPES (residential vs commercial)
   ==================================================================== */
.pcc-projects {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.pcc-project-block {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.pcc-project-block:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.pcc-project-block-header {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--aclass-line);
}

.pcc-project-block-icon {
  width: 48px;
  height: 48px;
  background: var(--aclass-blue);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.pcc-project-block-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.pcc-project-block-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}

.pcc-project-block-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pcc-project-block-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.4rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.pcc-project-block-list li:last-child { border-bottom: 0; }
.pcc-project-block-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}










.svc-intro {
  background: var(--aclass-paper);
  padding: 4rem 0;
}
.svc-content-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}




.city-services {
  background: var(--aclass-paper);
  padding: 4.5rem 0;
}

.city-service-card {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.375rem 1.625rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.city-service-card:hover {
  background: var(--aclass-paper);
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.city-service-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  transition: var(--aclass-transition);
}
/*.city-service-card:hover .city-service-card-icon {
  background: var(--aclass-blue-soft);
  color: #fff;
}*/

.city-service-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

.city-service-card-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}

.city-services-cta {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--aclass-line);
}


/* ============ INDUSTRIES SERVED ============ */
.city-industries {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.city-industries-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 576px) {
  .city-industries-list { grid-template-columns: 1fr; }
}

.city-industries-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.125rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 500;
  color: var(--aclass-navy);
  transition: var(--aclass-transition);
}
.city-industries-list li:hover {
  border-color: var(--aclass-blue-light);
  background: var(--aclass-blue-soft);
  transform: translateX(2px);
}
.city-industries-list li i {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 0.6875rem;
}
.city-industries-list li:hover i {
  background: var(--aclass-blue);
  color: #fff;
}


/* ============ SERVICE AREA + MAP ============ */
.city-service-area {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.city-areas-subhead {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  margin: 1.5rem 0 0.875rem;
}

.city-map-frame {
  position: relative;
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  box-shadow: var(--aclass-shadow-md);
  border: 1px solid var(--aclass-line);
  min-height: 420px;
  height: 100%;
}
.city-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
}
/* Hide first iframe (premium API embed) when no key; second iframe is the
   universal fallback. Both render identically when working. */
.city-map-frame iframe:first-child {
  display: none;
}
.city-map-frame iframe:last-child {
  display: block;
}



.city-personalized {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.city-personalized-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.875rem 1.625rem;
  height: 100%;
  box-shadow: var(--aclass-shadow-sm);
  transition: var(--aclass-transition);
}
.city-personalized-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.city-personalized-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.city-personalized-card-title {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.015em;
}

.city-personalized-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.city-personalized-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.45rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.city-personalized-card-list li:last-child { border-bottom: 0; }
.city-personalized-card-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}
















.ind-grid {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.ind-card {
  position: relative;
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.875rem 1.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: var(--aclass-transition);
}
.ind-card:hover {
  background: var(--aclass-paper);
  border-color: var(--aclass-blue-light);
  transform: translateY(-3px);
  box-shadow: var(--aclass-shadow-md);
}

.ind-card-num {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-blue-light);
  line-height: 1;
  opacity: 0.85;
}

.ind-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  border: 1px solid var(--aclass-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.375rem;
  margin-bottom: 1rem;
  transition: var(--aclass-transition);
}
.ind-card:hover .ind-card-icon {
  border-color: var(--aclass-blue);
 /* background: var(--aclass-blue);
  color: #fff;*/
  transform: scale(1.05);
}

.ind-card-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.75rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ind-card-text {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}

.ind-card-focus {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  flex: 1;
}
.ind-card-focus li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.4rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.ind-card-focus li:last-child { border-bottom: 0; }
.ind-card-focus li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.ind-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--aclass-line);
  transition: var(--aclass-transition);
}
.ind-card-cta i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.ind-card-cta:hover { color: var(--aclass-blue-hover); }
.ind-card:hover .ind-card-cta i { transform: translateX(3px); }


/* "DON'T SEE YOUR INDUSTRY" CALLOUT */
.ind-callout {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.ind-callout-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.75rem;
  align-items: center;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-left: 6px solid var(--aclass-blue);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 2.25rem;
  box-shadow: var(--aclass-shadow-sm);
}

.ind-callout-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1.75rem;
}

.ind-callout-body {
  min-width: 0;
}

.ind-callout-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ind-callout-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0;
}

.ind-callout-actions {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: stretch;
}

.ind-callout-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: transparent;
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  color: var(--aclass-navy);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.ind-callout-phone i {
  color: var(--aclass-blue);
  font-size: 0.875rem;
}
.ind-callout-phone:hover {
  border-color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  color: var(--aclass-navy);
}

@media (max-width: 991.98px) {
  .ind-callout-card {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.75rem 1.5rem;
    border-left: 0;
    border-top: 4px solid var(--aclass-blue);
  }
  .ind-callout-icon { margin: 0; }
  .ind-callout-actions { flex-direction: row; flex-wrap: wrap; }
}













.idx-stats {
  background: var(--aclass-paper);
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--aclass-line);
}
.idx-stat {
  text-align: center;
  padding: 0.5rem;
}
.idx-stat-value {
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--aclass-navy);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.idx-stat-label {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
}


/* 6-SERVICE GRID */
.idx-services {
  background: var(--aclass-paper);
  padding: 4rem 0;
}
.idx-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem 1.75rem;
  height: 100%;
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}
.idx-service-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-3px);
  box-shadow: var(--aclass-shadow-md);
  color: var(--aclass-ink);
}
.idx-service-card-num {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-blue-light);
  line-height: 1;
  opacity: 0.85;
}
.idx-service-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.idx-service-card-icon i {
  font-size: 1.5rem;
  color: #fff;
}
.idx-service-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.625rem;
  letter-spacing: -0.015em;
}
.idx-service-card-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}
.idx-service-card-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  flex: 1;
}
.idx-service-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.3rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
}
.idx-service-card-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}
.idx-service-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--aclass-line);
}
.idx-service-card-cta i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.idx-service-card:hover .idx-service-card-cta i { transform: translateX(4px); }





.abt-founder {
  background: var(--aclass-paper);
  padding: 4.5rem 0;
}
.abt-founder-image-wrap {
  position: relative;
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  box-shadow: var(--aclass-shadow-md);
}
.abt-founder-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.abt-founder-badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  box-shadow: 0 6px 16px rgba(47, 125, 209, 0.4);
}
.abt-founder-meta {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--aclass-line);
}
.abt-founder-meta-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  margin-bottom: 0.125rem;
}
.abt-founder-meta-role {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
}


/* PILLAR CARDS - Mission / Values / Company */
.abt-pillars {
  background: var(--aclass-cream);
  padding: 4.5rem 0;
}
.abt-pillar-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.abt-pillar-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-3px);
  box-shadow: var(--aclass-shadow-md);
}
.abt-pillar-card-featured {
  background: var(--aclass-navy);
  border-color: var(--aclass-navy);
  color: #fff;
}
.abt-pillar-card-featured:hover { border-color: var(--aclass-blue); }
.abt-pillar-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
.abt-pillar-card-featured .abt-pillar-card-icon {
  background: rgba(133, 183, 235, 0.18);
  color: var(--aclass-blue-light);
}
.abt-pillar-card-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.875rem;
  letter-spacing: -0.02em;
}
.abt-pillar-card-featured .abt-pillar-card-title { color: #fff; }
.abt-pillar-card-text {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}
.abt-pillar-card-text:last-child { margin-bottom: 0; }
.abt-pillar-card-featured .abt-pillar-card-text { color: rgba(255, 255, 255, 0.88); }









.idx-why {
  background: var(--aclass-paper);
  padding: 4rem 0;
}
.idx-why-feature {
  text-align: left;
  padding: 0.5rem;
}
.idx-why-feature-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--aclass-navy);
  font-size: 1.5rem;
}
.idx-why-feature-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.625rem;
  letter-spacing: -0.015em;
}
.idx-why-feature-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}













/* ====================================================================
   BLOG POST TEMPLATE
   Used by: /blog/{slug}/ pages
   ==================================================================== */

/* ============ POST HERO ============ */
.post-hero {
  background: var(--aclass-paper);
  padding: 3rem 0 2.5rem;
  border-bottom: 1px solid var(--aclass-line);
}

.post-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-bottom: 1.5rem;
}
.post-breadcrumb a {
  color: var(--aclass-ink-mute);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.post-breadcrumb a:hover { color: var(--aclass-blue); }
.post-breadcrumb i {
  font-size: 0.6875rem;
  color: var(--aclass-ink-mute);
  opacity: 0.6;
}
.post-breadcrumb span { color: var(--aclass-navy); font-weight: 500; }

.post-hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
  font-size: 1rem;
  color: var(--aclass-ink-mute);
}

.post-category {
  display: inline-block;
  background: var(--aclass-blue-soft);
  color: var(--aclass-blue);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
}

.post-meta-divider {
  color: var(--aclass-line);
  font-weight: 700;
}

.post-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.post-meta-item i {
  font-size: 0.875rem;
  color: var(--aclass-ink-mute);
}

.post-hero-title {
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--aclass-navy);
  line-height: 1.15;
  margin: 0 0 1.25rem;
  max-width: 900px;
}

.post-hero-excerpt {
  font-size: 1.1875rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 2rem;
  max-width: 800px;
}

.post-author-strip {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.post-author-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--aclass-navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.post-author-meta {
  line-height: 1.3;
}
.post-author-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
}
.post-author-role {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
}

@media (max-width: 768px) {
  .post-hero { padding: 2rem 0 1.75rem; }
  .post-hero-title { font-size: 1.875rem; }
  .post-hero-excerpt { font-size: 1.0625rem; }
}


/* ============ FEATURED IMAGE ============ */
.post-featured-image {
  background: var(--aclass-paper);
  padding: 2.5rem 0;
}

.post-featured-image-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}

@media (max-width: 768px) {
  .post-featured-image { padding: 1.5rem 0; }
  .post-featured-image-img { max-height: 280px; }
}


/* ============ POST BODY SECTION ============ */
.post-body-section {
  background: var(--aclass-paper);
  padding: 2rem 0 5rem;
}


/* ============ TABLE OF CONTENTS (sticky on desktop) ============ */
.post-toc {
  position: sticky;
  top: 138px;
  padding: 1.5rem 1.25rem;
  background: var(--aclass-cream);
  border-radius: var(--aclass-radius-lg);
  border: 1px solid var(--aclass-line);
  max-height: calc(100vh - 160px);
  overflow-y: auto;
}

.post-toc-label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  margin-bottom: 0.875rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--aclass-line);
}

.post-toc-nav {
  display: flex;
  flex-direction: column;
}

.post-toc-link {
  display: block;
  padding: 0.45rem 0 0.45rem 0.625rem;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--aclass-ink-soft);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: var(--aclass-transition);
}
.post-toc-link:hover {
  color: var(--aclass-blue);
  border-left-color: var(--aclass-blue-light);
}
.post-toc-link.active {
  color: var(--aclass-navy);
  font-weight: 600;
  border-left-color: var(--aclass-blue);
  background: var(--aclass-paper);
  margin-left: -1.25rem;
  padding-left: 1.875rem;
}


/* ============ ARTICLE BODY ============ */
.post-article {
  max-width: 760px;
}

.post-h2 {
  font-family: 'Inter', sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--aclass-navy);
  line-height: 1.25;
  margin: 2.5rem 0 1.25rem;
  scroll-margin-top: 140px;
}
.post-h2:first-child { margin-top: 0; }

.post-h3 {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 2rem 0 0.75rem;
}

.post-p {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--aclass-ink);
  margin: 0 0 1.25rem;
}
.post-p a {
  color: var(--aclass-blue);
  text-decoration: underline;
  text-decoration-color: rgba(47, 125, 209, 0.4);
  text-underline-offset: 3px;
}
.post-p a:hover {
  color: var(--aclass-blue-hover);
  text-decoration-color: var(--aclass-blue-hover);
}


/* ============ INLINE CTA CARD (mid-article) ============ */
.post-inline-cta {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-left: 4px solid var(--aclass-blue);
  border-radius: var(--aclass-radius-md);
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  margin: 2rem 0;
}

.post-inline-cta-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 1.25rem;
}

.post-inline-cta-body { flex: 1; }

.post-inline-cta-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.015em;
}

.post-inline-cta-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}

.post-inline-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.post-inline-cta-btn i { font-size: 0.8125rem; transition: var(--aclass-transition); }
.post-inline-cta-btn:hover { color: var(--aclass-blue-hover); }
.post-inline-cta-btn:hover i { transform: translateX(3px); }

@media (max-width: 576px) {
  .post-inline-cta {
    flex-direction: column;
    border-left: 0;
    border-top: 4px solid var(--aclass-blue);
  }
}


/* ============ INLINE FIGURE ============ */
.post-figure {
  margin: 2rem 0;
}
.post-figure-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-sm);
}
.post-figure-caption {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  text-align: center;
  margin-top: 0.625rem;
  font-style: italic;
}


/* ============ TAGS ============ */
.post-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 2.5rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--aclass-line);
}

.post-tags-label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aclass-ink-mute);
  margin-right: 0.25rem;
}

.post-tag {
  display: inline-block;
  padding: 0.4rem 0.875rem;
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: 999px;
  font-size: 1rem;
  color: var(--aclass-ink-soft);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.post-tag:hover {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-navy);
}


/* ============ AUTHOR BIO ============ */
.post-author-bio {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  background: var(--aclass-cream);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem;
  margin: 2.5rem 0 0;
}

.post-author-bio-avatar {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--aclass-navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.post-author-bio-body { flex: 1; }
.post-author-bio-name {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin-bottom: 0.125rem;
}
.post-author-bio-role {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-bottom: 0.625rem;
}
.post-author-bio-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}

@media (max-width: 576px) {
  .post-author-bio { flex-direction: column; gap: 0.875rem; }
}


/* ============ PREV / NEXT NAVIGATION ============ */
.post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 2rem 0 0;
}

.post-nav-link {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem 1.25rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}
.post-nav-link:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-sm);
  transform: translateY(-2px);
  color: var(--aclass-ink);
}

.post-nav-direction {
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.post-nav-direction i { font-size: 0.8125rem; }

.post-nav-next {
  text-align: right;
}
.post-nav-next .post-nav-direction { justify-content: flex-end; }

.post-nav-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  line-height: 1.35;
  letter-spacing: -0.015em;
}

@media (max-width: 768px) {
  .post-nav { grid-template-columns: 1fr; }
  .post-nav-next { text-align: left; }
  .post-nav-next .post-nav-direction { justify-content: flex-start; }
}


/* ============ RELATED POSTS ============ */
.related-posts {
  background: var(--aclass-cream);
  padding: 4rem 0;
  border-top: 1px solid var(--aclass-line);
}

.related-post-card {
  display: flex;
  flex-direction: column;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
}
.related-post-card:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-md);
  transform: translateY(-2px);
  color: var(--aclass-ink);
}

.related-post-card-img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.related-post-card-body {
  padding: 1.25rem 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.related-post-card-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-bottom: 0.5rem;
}

.related-post-card-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 0 0 0.625rem;
}

.related-post-card-excerpt {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
  flex: 1;
}

.related-post-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
}
.related-post-card-link i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.related-post-card:hover .related-post-card-link i { transform: translateX(3px); }





.ctc-main {
  background: var(--aclass-paper);
  padding: 4.5rem 0;
}


/* CONTACT INFO CARDS (left column) */
.ctc-info-card {
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.375rem;
  height: 100%;
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}
.ctc-info-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
  color: var(--aclass-ink);
}
.ctc-info-card-static { cursor: default; }
.ctc-info-card-static:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--aclass-line);
}

.ctc-info-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);;
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  transition: var(--aclass-transition);
}
/*.ctc-info-card:hover .ctc-info-card-icon:not(.ctc-info-card-static .ctc-info-card-icon) {
  background: var(--aclass-blue);
  color: #fff;
}
*/
.ctc-info-card-title {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aclass-ink-mute);
  margin: 0 0 0.5rem;
}

.ctc-info-card-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  word-break: break-word;
}

.ctc-info-card-value-sm {
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-navy);
  line-height: 1.4;
  margin-bottom: 0.5rem;
  word-break: break-word;
}

.ctc-info-card-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
  margin: 0;
}


/* QUICK SERVICE LINKS */
.ctc-quick-services {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.375rem;
}

.ctc-quick-services-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
}

.ctc-quick-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  padding: 0.625rem 0.875rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--aclass-navy);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.ctc-quick-link i {
  font-size: 0.6875rem;
  color: var(--aclass-blue);
  flex-shrink: 0;
}
.ctc-quick-link:hover {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-navy);
  transform: translateX(2px);
}


/* CONTACT FORM CARD (right column) */
.ctc-form-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.875rem;
  box-shadow: var(--aclass-shadow-md);
}

.ctc-form-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--aclass-line);
}

.ctc-form-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.375rem;
  text-align:center;
  letter-spacing: -0.02em;
}

.ctc-form-sub {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin: 0;
  line-height: 1.5;
}

.quote-form-success-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: var(--aclass-blue);
  color: #fff;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.quote-form-success-link:hover {
  background: var(--aclass-blue-hover);
  color: #fff;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .ctc-form-card { padding: 1.5rem 1.25rem; }
}


/* GOOGLE MAPS SECTION */
.ctc-map {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.ctc-map-frame {
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  box-shadow: var(--aclass-shadow-md);
  border: 1px solid var(--aclass-line);
}
.ctc-map-frame iframe {
  display: block;
  width: 100%;
}

.ctc-map-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.ctc-map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-navy);
  text-decoration: none;
  transition: var(--aclass-transition);
}
.ctc-map-link i {
  font-size: 0.875rem;
  color: var(--aclass-blue);
}
.ctc-map-link:hover {
  border-color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  color: var(--aclass-navy);
  transform: translateY(-1px);
}






/* HERO - centered, no embedded form (sticky form below) */
.qte-hero {
  position: relative;
  background: linear-gradient(135deg, var(--aclass-navy-mid) 0%, var(--aclass-navy) 60%, var(--aclass-navy-deep) 100%);
  color: #fff;
  padding: 4rem 0 3.5rem;
  overflow: hidden;
}
.qte-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top right, rgba(133, 183, 235, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(47, 125, 209, 0.10) 0%, transparent 50%);
  pointer-events: none;
}
.qte-hero-h1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 1.25rem;
}
.qte-hero-h1-accent { color: var(--aclass-blue-light); }
.qte-hero-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 auto;
  max-width: 760px;
}
@media (max-width: 768px) {
  .qte-hero { padding: 2.75rem 0 2.5rem; }
  .qte-hero-h1 { font-size: 2rem; }
}


/* MAIN 2-COL */
.qte-main {
  background: var(--aclass-paper);
  padding: 4rem 0;
}


/* WHY US - 4 FEATURE ROWS */
.qte-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.75rem;
}
@media (max-width: 768px) {
  .qte-features { grid-template-columns: 1fr; }
}

.qte-feature {
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.125rem 1.125rem;
  transition: var(--aclass-transition);
}
.qte-feature:hover {
  border-color: var(--aclass-blue-light);
  background: var(--aclass-paper);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

.qte-feature-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--aclass-radius);;
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
}

.qte-feature-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  line-height: 1.4;
}
.qte-feature-body strong {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.01em;
}
.qte-feature-body span {
  font-size: 1rem;
  color: var(--aclass-ink-soft);
  line-height: 1.5;
}


/* CONTENT DIVIDER */
.content-divider {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid var(--aclass-line);
}


.qte-direct-contact {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.5rem;
  margin-top: 1.75rem;
}
.qte-direct-contact-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
}
.qte-direct-contact-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
@media (max-width: 768px) {
  .qte-direct-contact-list { grid-template-columns: 1fr; }
}
.qte-direct-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}
.qte-direct-contact-item:hover {
  border-color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  color: var(--aclass-ink);
  transform: translateY(-1px);
}
.qte-direct-contact-item i {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: var(--aclass-radius);;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 0.875rem;
}
.qte-direct-contact-item:hover i {
  background: var(--aclass-blue);
  color: #fff;
}
.qte-direct-contact-item div {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  min-width: 0;
}
.qte-direct-contact-item strong {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
  word-break: break-word;
}
.qte-direct-contact-item span {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin-top: 0.125rem;
}


/* STICKY FORM CARD (right column) */
.qte-form-wrap {
  position: sticky;
  top: 138px;
}
@media (max-width: 991.98px) {
  .qte-form-wrap { position: static; }
}

.qte-form-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.875rem 1.75rem;
  box-shadow: var(--aclass-shadow-md);
}
@media (max-width: 768px) {
  .qte-form-card { padding: 1.5rem 1.25rem; }
}

.qte-form-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  text-align:center;
  border-bottom: 1px solid var(--aclass-line);
}
.qte-form-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.375rem;
  letter-spacing: -0.02em;
}
.qte-form-sub {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  margin: 0;
  line-height: 1.5;
}



.qte-process {
  background: var(--aclass-cream);
  padding: 4rem 0 4.5rem;
}

.qte-process-timeline {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: stretch;
}

.qte-process-step {
  position: relative;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem 1.5rem 1.5rem;
  transition: var(--aclass-transition);
}
.qte-process-step:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.qte-process-step-featured {
  background: var(--aclass-navy);
  border-color: var(--aclass-navy);
  color: #fff;
}
.qte-process-step-featured:hover { border-color: var(--aclass-blue); }

.qte-process-step-num {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-blue-light);
  line-height: 1;
  opacity: 0.85;
}

.qte-process-step-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.qte-process-step-icon i {
  font-size: 1.25rem;
  color: var(--aclass-navy);
}
.qte-process-step-featured .qte-process-step-icon {
  background: rgba(133, 183, 235, 0.18);
}
.qte-process-step-featured .qte-process-step-icon i {
  color: var(--aclass-blue-light);
}

.qte-process-step-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.625rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.qte-process-step-featured .qte-process-step-title { color: #fff; }

.qte-process-step-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
}
.qte-process-step-featured .qte-process-step-text { color: rgba(255, 255, 255, 0.88); }

.qte-process-step-time {
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  letter-spacing: 0.01em;
  padding-top: 0.875rem;
  border-top: 1px solid var(--aclass-line);
}
.qte-process-step-featured .qte-process-step-time {
  color: var(--aclass-blue-light);
  border-top-color: rgba(255, 255, 255, 0.15);
}

.qte-process-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  color: var(--aclass-blue);
  font-size: 1.25rem;
}

@media (max-width: 991.98px) {
  .qte-process-timeline {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .qte-process-arrow {
    transform: rotate(90deg);
    padding: 0.5rem 0;
  }
}




.qte-section-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--aclass-line);
}

.qte-section-cta-or {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  font-weight: 500;
}

.qte-section-cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: transparent;
  border: 2px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  color: var(--aclass-navy);
  font-size: 1.0625rem;
  font-weight: 700;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.qte-section-cta-phone i {
  color: var(--aclass-blue);
  font-size: 0.9375rem;
}
.qte-section-cta-phone:hover {
  border-color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  color: var(--aclass-navy);
  transform: translateY(-1px);
}



.gen-tier-split {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.gen-tier-split-row {
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
/*  box-shadow: var(--aclass-shadow-md);*/
}

.gen-tier-card {
  height: 100%;
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
      border: 1px solid var(--aclass-line);
}

.gen-tier-card-light {
  background: var(--aclass-cream);
}

.gen-tier-card-dark {
  background: var(--aclass-navy);
  color: #fff;
}

.gen-tier-eyebrow {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  margin-bottom: 0.75rem;
}
.gen-tier-card-dark .gen-tier-eyebrow { color: var(--aclass-blue-light); }

.gen-tier-title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--aclass-navy);
  margin: 0 0 1rem;
  line-height: 1.2;
}
.gen-tier-card-dark .gen-tier-title { color: #fff; }

.gen-tier-text {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin: 0 0 1.5rem;
}
.gen-tier-card-dark .gen-tier-text { color: rgba(255, 255, 255, 0.88); }

.gen-tier-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75rem;
  flex: 1;
}
.gen-tier-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.gen-tier-list li:last-child { border-bottom: 0; }
.gen-tier-list li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}
.gen-tier-card-dark .gen-tier-list li {
  color: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.gen-tier-card-dark .gen-tier-list li i { color: var(--aclass-blue-light); }

.gen-tier-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  margin-top: auto;
  transition: var(--aclass-transition);
}
.gen-tier-link i { font-size: 0.8125rem; transition: var(--aclass-transition); }
.gen-tier-link:hover { color: var(--aclass-blue-hover); }
.gen-tier-link:hover i { transform: translateY(2px); }

.gen-tier-link-light { color: var(--aclass-blue-light); }
.gen-tier-link-light:hover { color: #fff; }



.gen-compliance {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.gen-compliance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.75rem;
}

.gen-compliance-tile {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.125rem;
  text-align: center;
  transition: var(--aclass-transition);
}
.gen-compliance-tile:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

.gen-compliance-tile-accent {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
}

.gen-compliance-tile-label {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aclass-ink-mute);
  margin-bottom: 0.375rem;
}

.gen-compliance-tile-value {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-navy);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.gen-compliance-tile-meta {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--aclass-ink-soft);
}

@media (max-width: 768px) {
  .gen-compliance-grid { grid-template-columns: 1fr; }
}


/* ====================================================================
   GENERAL CLEANING PAGE - EVERYDAY CARDS (5 in 3-2 layout)
   ==================================================================== */
.gen-everyday {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.gen-everyday-card {
  background: var(--aclass-cream);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.625rem 1.375rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.gen-everyday-card:hover {
  background: var(--aclass-paper);
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

.gen-everyday-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.gen-everyday-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.015em;
}

.gen-everyday-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0;
}


/* ====================================================================
   GENERAL CLEANING PAGE - PREVENTATIVE MAINTENANCE CARDS (3 with images)
   ==================================================================== */
.gen-preventative {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.gen-pm-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: var(--aclass-transition);
}
.gen-pm-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-md);
}

.gen-pm-card-img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.gen-pm-card-body {
  padding: 1.5rem 1.5rem 1.625rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.gen-pm-card-tag {
  display: inline-block;
  align-self: flex-start;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  padding: 0.25rem 0.625rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.gen-pm-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.75rem;
  letter-spacing: -0.015em;
}

.gen-pm-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 1rem;
  flex: 1;
}

.gen-pm-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid var(--aclass-line);
  transition: var(--aclass-transition);
}
.gen-pm-card-link i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.gen-pm-card-link:hover { color: var(--aclass-blue-hover); }
.gen-pm-card:hover .gen-pm-card-link i { transform: translateX(3px); }



.services-overview {
  background: var(--aclass-paper);
  padding: 3rem 0;
  border-bottom: 1px solid var(--aclass-line);
}

.services-overview-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}

.services-overview-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1rem 1.25rem;
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
  height: 100%;
}
.services-overview-card:hover {
  border-color: var(--aclass-blue-light);
  background: var(--aclass-blue-soft);
  transform: translateY(-3px);
  box-shadow: var(--aclass-shadow-md);
  color: var(--aclass-navy);
}

.services-overview-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.875rem;
  transition: var(--aclass-transition);
}
.services-overview-icon i {
  font-size: 1.5rem;
  color: var(--aclass-blue);
  transition: var(--aclass-transition);
}
.services-overview-card:hover .services-overview-icon {
  background: var(--aclass-blue);
}
.services-overview-card:hover .services-overview-icon i {
  color: #fff;
}

.services-overview-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin-bottom: 0.25rem;
  line-height: 1.25;
}

.services-overview-desc {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
}
@media (min-width: 992px) { .services-overview-desc { font-size: 1.0625rem; } }

.services-overview-arrow {
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--aclass-blue);
  opacity: 0;
  transform: translateX(-4px);
  transition: var(--aclass-transition);
  font-size: 0.8125rem;
}
.services-overview-card:hover .services-overview-arrow {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 1199px) {
  .services-overview-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575px) {
  .services-overview-grid { grid-template-columns: repeat(2, 1fr); }
}







.services-overview-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--aclass-line);
}




.owner-led-section {
  background: linear-gradient(135deg, var(--aclass-navy) 0%, var(--aclass-navy-deep) 100%);
  color: #fff;
  padding: 5rem 0;
}

.owner-led-headline {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 1.25rem;
}
.owner-led-headline .text-accent { color: var(--aclass-blue-light); }

.owner-led-lead {
  font-size: 1.125rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 1rem;
}

.owner-led-body {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 1.75rem;
}

.trust-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.875rem;
}

.trust-stat {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.25rem;
  transition: var(--aclass-transition);
}
.trust-stat:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(133, 183, 235, 0.35);
}

.trust-stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.trust-stat-value i {
  font-size: 2rem;
  color: var(--aclass-blue-light);
}
.trust-stat-star {
  color: var(--aclass-blue-light);
  font-size: 1.625rem;
  margin-left: 0.125rem;
}

.trust-stat-label {
  font-size: 1rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 768px) {
  .owner-led-headline { font-size: 2rem; }
}


.btn-section-cta-light {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: #fff;
  padding: 0.875rem 1.5rem;
  border-radius: var(--aclass-radius);
  border: 1px solid rgba(255, 255, 255, 0.35);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.btn-section-cta-light:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-blue-light);
  transform: translateY(-1px);
}
.btn-section-cta-light i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.btn-section-cta-light:hover i { transform: translateX(3px); }






.services-detail {
  background: var(--aclass-paper);
  padding: 5rem 0;
}

.service-feature-card {
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
}
.service-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--aclass-shadow-md);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-ink);
}

.service-feature-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--aclass-blue-soft);
}
.service-feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.service-feature-card:hover .service-feature-image img { transform: scale(1.04); }

.service-feature-body { padding: 1.75rem; }

.service-feature-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--aclass-navy);
}
.service-feature-title i { color: var(--aclass-blue); }

.service-feature-text {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin-bottom: 1rem;
}

.service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
}

.service-tag {
  background: var(--aclass-cream);
  color: var(--aclass-ink);
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 500;
}

.service-feature-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
}
.service-feature-link i { transition: var(--aclass-transition); font-size: 0.8125rem; }
.service-feature-card:hover .service-feature-link i { transform: translateX(3px); }

.service-compact-card {
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.75rem;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
}
.service-compact-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-ink);
}

.service-compact-icon {
  width: 48px;
  height: 48px;
  background: var(--aclass-blue-soft);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.service-compact-icon i {
  font-size: 1.25rem;
  color: var(--aclass-navy);
}

.service-compact-title {
  font-size: 1.1875rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--aclass-navy);
}

.service-compact-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}


/* ============ INDUSTRIES SERVED ============ */
.industries-served {
  background: var(--aclass-cream);
  padding: 5rem 0;
}

.industries-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}

.industry-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.875rem 1rem;
  text-align: center;
  transition: var(--aclass-transition);
}
.industry-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

.industry-card-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 1rem;
  background: var(--aclass-blue-soft);
  border-radius: var(--aclass-radius);
  display: flex;
  align-items: center;
  justify-content: center;
}
.industry-card-icon i {
  font-size: 1.375rem;
  color: var(--aclass-navy);
}

.industry-card-name {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
}

@media (max-width: 992px) {
  .industries-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .industries-grid { grid-template-columns: repeat(2, 1fr); }
}


/* ============ HOW IT WORKS ============ */
.how-it-works {
  background: var(--aclass-paper);
  padding: 5rem 0;
}

.process-card {
  position: relative;
  padding: 2.25rem 1.5rem 1.75rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  height: 100%;
  transition: var(--aclass-transition);
}
.process-card:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}

/* LARGE process numbers - the major visual element */
.process-card-number {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--aclass-blue);
  margin-bottom: 0.875rem;
  display: inline-block;
  position: relative;
}
.process-card-number::after {
  content: "";
  position: absolute;
  bottom: -0.375rem;
  left: 0;
  width: 36px;
  height: 3px;
  background: var(--aclass-blue);
  border-radius: 2px;
}

.process-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0.875rem 0 0.625rem;
}

.process-card-text {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0;
}

@media (max-width: 768px) {
  .process-card-number { font-size: 2.5rem; }
}








.industries-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 3rem;
  padding: 2rem 2.25rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
}

.industries-cta-text { flex: 1; min-width: 280px; }

.industries-cta-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.375rem;
  letter-spacing: -0.015em;
}

.industries-cta-sub {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}

@media (max-width: 768px) {
  .industries-cta { padding: 1.5rem 1.25rem; text-align: center; justify-content: center; }
  .industries-cta-title { font-size: 1.25rem; }
}






.service-area-callout {
  margin-top: 1.75rem;
  padding: 1.75rem;
  background: var(--aclass-blue-soft);
  border: 1px solid var(--aclass-blue-light);
  border-radius: var(--aclass-radius-lg);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.service-area-callout-icon {
  width: 44px;
  height: 44px;
  border-radius:var(--aclass-radius);
  background: var(--aclass-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.125rem;
}

.service-area-callout-text { /* group container */ }

.service-area-callout-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
  letter-spacing: -0.015em;
}

.service-area-callout-body {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--aclass-ink-soft);
  margin: 0;
}

.service-area-callout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 0.25rem;
}

.service-area-callout-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--aclass-paper);
  color: var(--aclass-navy);
  padding: 0.6rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--aclass-blue);
  transition: var(--aclass-transition);
}
.service-area-callout-phone:hover {
  background: var(--aclass-paper);
  border-color: var(--aclass-blue);
  color: var(--aclass-blue);
}
.service-area-callout-phone i {
  color: var(--aclass-blue);
  font-size: 0.9375rem;
}

.service-area-callout-quote {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--aclass-blue);
  color: #fff;
  padding: 0.6rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
}
.service-area-callout-quote:hover {
  background: var(--aclass-blue-hover);
  color: #fff;
}
.service-area-callout-quote i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.service-area-callout-quote:hover i { transform: translateX(2px); }










.service-area {
  background: var(--aclass-paper);
  padding: 5rem 0;
}

.service-area-body {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--aclass-ink-soft);
  margin-bottom: 1.5rem;
}

.service-area-map {
  border-radius: var(--aclass-radius-lg);
  overflow: hidden;
  border: 1px solid var(--aclass-line);
}

.service-area-list-intro {
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.service-area-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}

.city-tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius);
  padding: 0.875rem 1rem;
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}

.city-tile-name {
  font-size: 1.0625rem;
  font-weight: 600;
}

.city-tile-link i {
  font-size: 0.8125rem;
  color: var(--aclass-blue);
  opacity: 0;
  transform: translateX(-4px);
  transition: var(--aclass-transition);
}

.city-tile-link:hover {
  background: var(--aclass-blue-soft);
  border-color: var(--aclass-blue-light);
  color: var(--aclass-navy);
}
.city-tile-link:hover i {
  opacity: 1;
  transform: translateX(0);
}










hr.line{
  margin: 0;
  border: 0;
  border-top: 1px solid #bbbbbb;
  opacity: 1;
}





.idx-helper {
  background: var(--aclass-cream);
  padding: 4rem 0;
}
.idx-helper-list {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.idx-helper-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.125rem 1.5rem;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  text-decoration: none;
  color: var(--aclass-ink);
  transition: var(--aclass-transition);
}
.idx-helper-row:hover {
  border-color: var(--aclass-blue);
  background: var(--aclass-blue-soft);
  transform: translateX(4px);
  color: var(--aclass-ink);
}
.idx-helper-question {
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--aclass-navy);
  flex: 1;
}
.idx-helper-answer {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-blue);
  flex-shrink: 0;
}
.idx-helper-answer i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.idx-helper-row:hover .idx-helper-answer i { transform: translateX(3px); }
@media (max-width: 576px) {
  .idx-helper-row { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .idx-helper-answer { align-self: flex-end; }
}






/* INDUSTRIES STRIP */
.idx-industries {
  background: var(--aclass-cream);
  padding: 4rem 0;
}
.idx-industries-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 0.875rem;
}
.idx-industry-tile {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.25rem 0.75rem;
  text-align: center;
  transition: var(--aclass-transition);
}
.idx-industry-tile:hover {
  border-color: var(--aclass-blue-light);
  transform: translateY(-2px);
  box-shadow: var(--aclass-shadow-sm);
}
.idx-industry-tile-icon {
  font-size: 1.625rem;
  color: var(--aclass-blue);
  margin-bottom: 0.5rem;
}
.idx-industry-tile-name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-navy);
  letter-spacing: -0.01em;
}
@media (max-width: 991.98px) {
  .idx-industries-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
  .idx-industries-grid { grid-template-columns: repeat(2, 1fr); }
}








.idx-final-cta {
  background: var(--aclass-navy);
  color: #fff;
  padding: 4rem 0;
}
.idx-final-cta-title {
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0.5rem 0 1rem;
  line-height: 1.15;
}
.idx-final-cta-lead {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 2rem;
}
.idx-final-cta-meta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.idx-final-cta-meta-item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}
.idx-final-cta-meta-item i {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(133, 183, 235, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue-light);
  font-size: 0.9375rem;
}
.idx-final-cta-meta-item div {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}
.idx-final-cta-meta-item strong {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
}
.idx-final-cta-meta-item span {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.125rem;
}
@media (max-width: 768px) {
  .idx-final-cta-title { font-size: 1.75rem; }
}













.svc-checklist {
  background: var(--aclass-cream);
  padding: 4rem 0;
}


/* ====================================================================
   SERVICE PAGE CONTENT IMAGE
   ==================================================================== */
.svc-content-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 380px;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}


/* ====================================================================
   THREE PILLARS GRID (replaces wall-of-text content section)
   ==================================================================== */

.svc-content-intro {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--aclass-line);
  margin-bottom: 3rem;
}

.svc-pillars-grid { /* row container */ }

.pillar-card {
  position: relative;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem 1.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: var(--aclass-transition);
}
.pillar-card:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-md);
  transform: translateY(-2px);
}

.pillar-card-num {
  position: absolute;
  top: 1.5rem;
  right: 1.75rem;
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--aclass-blue-light);
  line-height: 1;
}

.pillar-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.pillar-card-icon i {
  font-size: 1.5rem;
  color: var(--aclass-navy);
}

.pillar-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.75rem;
  letter-spacing: -0.015em;
}

.pillar-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0 0 1.25rem;
}

.pillar-card-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  flex: 1;
}
.pillar-card-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.3rem 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--aclass-ink-soft);
}
.pillar-card-bullets li i {
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.pillar-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--aclass-blue);
  text-decoration: none;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--aclass-line);
}
.pillar-card-link i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.pillar-card:hover .pillar-card-link i {
  transform: translateX(4px);
}


/* ====================================================================
   PROCESS CTA BUTTON (in How It Works card)
   ==================================================================== */
.svc-process-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  background: var(--aclass-navy);
  color: #fff;
  padding: 0.8rem 1rem;
  border-radius: var(--aclass-radius);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--aclass-transition);
  margin-top: 1.5rem;
}
.svc-process-cta:hover {
  background: var(--aclass-blue);
  color: #fff;
  transform: translateY(-1px);
}
.svc-process-cta i {
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.svc-process-cta:hover i { transform: translateX(3px); }

/* Tighten the process-card spacing now that there's a CTA */
.svc-process { padding: 1.75rem 1.5rem !important; }
.svc-process-steps { gap: 0.875rem !important; }
.svc-process-header { margin-bottom: 1.25rem !important; }


/* ====================================================================
   FEATURED CITIES (Service Area redesign)
   ==================================================================== */

.svc-featured-cities { /* row container */ }

.featured-city-card {
  position: relative;
  display: block;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem 1.25rem 1.25rem;
  text-decoration: none;
  color: var(--aclass-ink);
  height: 100%;
  transition: var(--aclass-transition);
  overflow: hidden;
}
.featured-city-card:hover {
  border-color: var(--aclass-blue);
  box-shadow: var(--aclass-shadow-md);
  transform: translateY(-2px);
  color: var(--aclass-ink);
}

.featured-city-flag {
  display: inline-block;
  background: var(--aclass-blue);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.625rem;
}

.featured-city-name {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--aclass-navy);
  letter-spacing: -0.015em;
  margin-bottom: 0.25rem;
  line-height: 1.1;
}

.featured-city-meta {
  font-size: 1rem;
  color: var(--aclass-ink-mute);
  line-height: 1.4;
  padding-right: 1.5rem;
}

.featured-city-arrow {
  position: absolute;
  bottom: 1rem;
  right: 1.125rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aclass-blue);
  font-size: 0.8125rem;
  transition: var(--aclass-transition);
}
.featured-city-card:hover .featured-city-arrow {
  background: var(--aclass-blue);
  color: #fff;
  transform: translateX(2px);
}


.svc-checklist {
  background: var(--aclass-cream);
  padding: 4rem 0;
}


/* ====================================================================
   SERVICE PAGE CONTENT IMAGE
   ==================================================================== */
.svc-content-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 380px;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}

/* svc-intro and svc-content-image already exist from earlier pages */
.svc-intro {
  background: var(--aclass-paper);
  padding: 4rem 0;
}
.svc-content-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: cover;
  border-radius: var(--aclass-radius-lg);
  box-shadow: var(--aclass-shadow-md);
}






.svc-content {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.svc-content-inner { /* container */ }

.svc-section-h2 {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--aclass-navy);
  margin: 0 0 1.25rem;
}

.svc-body {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--aclass-ink-soft);
  margin-bottom: 1.25rem;
}
.svc-body strong {
  color: var(--aclass-navy);
  font-weight: 700;
}
.svc-body a {
  color: var(--aclass-blue);
  text-decoration: underline;
  text-decoration-color: rgba(47, 125, 209, 0.3);
  text-underline-offset: 3px;
}
.svc-body a:hover {
  color: var(--aclass-blue-hover);
  text-decoration-color: var(--aclass-blue-hover);
}

.content-divider {
  border: 0;
  border-top: 1px solid var(--aclass-line);
  margin: 2.75rem 0;
  width: 100%;
}


/* ============ WHAT TO EXPECT (6 cards) ============ */
.svc-expect {
  background: var(--aclass-paper);
  padding: 4rem 0;
}

.expect-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem;
  height: 100%;
  transition: var(--aclass-transition);
}
.expect-card:hover {
  border-color: var(--aclass-blue-light);
  box-shadow: var(--aclass-shadow-sm);
  transform: translateY(-2px);
}

.expect-card-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--aclass-radius);
  background: var(--aclass-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.expect-card-icon i {
  font-size: 1.125rem;
  color: var(--aclass-navy);
}

.expect-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0 0 0.5rem;
}

.expect-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--aclass-ink-soft);
  margin: 0;
}
.expect-card-text a {
  color: var(--aclass-blue);
  text-decoration: underline;
  text-decoration-color: rgba(47, 125, 209, 0.3);
  text-underline-offset: 3px;
}






/* ============ CHECKLIST (3-column visible grid) ============ */
.checklist-card {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 1.5rem;
  height: 100%;
}

.checklist-card-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-bottom: 0.875rem;
  margin-bottom: 0.875rem;
  border-bottom: 1px solid var(--aclass-line);
}
.checklist-card-header i {
  font-size: 1.25rem;
  color: var(--aclass-blue);
}
.checklist-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0;
}

.checklist-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.checklist-list li {
  position: relative;
  padding: 0.4rem 0 0.4rem 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--aclass-ink-soft);
  border-bottom: 1px solid var(--aclass-line);
}
.checklist-list li:last-child { border-bottom: 0; }
.checklist-list li i.fa-check {
  position: absolute;
  left: 0;
  top: 0.55rem;
  color: var(--aclass-blue);
  font-size: 0.875rem;
}


/* ============ INLINE REVIEW + 3-STEP PROCESS (combined section) ============ */
.svc-review-process {
  background: var(--aclass-cream);
  padding: 4rem 0;
}

.svc-inline-review {
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.svc-inline-review-stars {
  color: #F2A623;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.svc-inline-review-quote {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  font-style: normal;
  color: var(--aclass-navy);
  margin: 0 0 1.25rem;
  font-weight: 500;
}

.svc-inline-review-author {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aclass-navy);
}
.svc-inline-review-author span {
  font-weight: 400;
  color: var(--aclass-ink-mute);
}

.svc-process {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--aclass-paper);
  border: 1px solid var(--aclass-line);
  border-radius: var(--aclass-radius-lg);
  padding: 2rem 1.75rem;
}

.svc-process-header {
  margin-bottom: 1.5rem;
}
.svc-process-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aclass-navy);
  margin: 0.5rem 0 0;
  letter-spacing: -0.015em;
}

.svc-process-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.svc-process-step {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.svc-process-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--aclass-blue);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.svc-process-text {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.svc-process-text strong {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--aclass-navy);
}
.svc-process-text span {
  font-size: 1rem;
  color: var(--aclass-ink-soft);
  margin-top: 0.125rem;
}

@media (max-width: 991.98px) {
  .svc-process { margin-top: 1.5rem; }
}




.blog-pagination-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.blog-pagination-grid .post-nav-link {
  width: 100%;
  min-height: 100px;
}

.blog-pagination-grid .post-nav-prev {
  grid-column: 1;
}

.blog-pagination-grid .post-nav-next {
  grid-column: 2;
}

@media (max-width: 767px) {
  .blog-featured-card {
    display: block !important;
  }

  .blog-featured-card .related-post-card-img {
    min-height: 220px !important;
    height: 220px !important;
  }

  .blog-featured-card .related-post-card-body {
    padding: 24px !important;
  }

  .blog-featured-card .related-post-card-title {
    font-size: 24px !important;
  }

  .blog-pagination-grid {
    grid-template-columns: 1fr;
  }

  .blog-pagination-grid .post-nav-prev,
  .blog-pagination-grid .post-nav-next {
    grid-column: 1;
  }
}









