/* === Red Barn Media Group - A+ Air Conditioning & Refrigeration === */

/* === CSS Custom Properties === */
:root {
  /* Brand Colors */
  --color-ice-blue: #8fd7ef;
  --color-ice-blue-dark: #6ec4e0;
  --color-ice-blue-10: rgba(143, 215, 239, 0.1);
  --color-ice-blue-15: rgba(143, 215, 239, 0.15);
  --color-ice-blue-20: rgba(143, 215, 239, 0.2);
  --color-freezing-point: #effbff;
  --color-freezing-point-5: rgba(239, 251, 255, 0.05);
  --color-truck-tan: #fffaf4;
  --color-truck-tan-dark: #f5ead6;
  --color-truck-tan-15: rgba(255, 250, 244, 0.15);
  --color-truck-tan-20: rgba(255, 250, 244, 0.2);
  --color-deep-blue: #055396;
  --color-navy-blue: #00294d;

  /* Gradients */
  --color-gradient-dark: linear-gradient(84deg, #222222 0.05%, #1e1e1e 99.95%);
  --color-gradient-dark-2: linear-gradient(98deg, #1e1e1e 0.99%, #222222 99.01%);
  --color-gradient-dark-3: linear-gradient(265deg, #1e1e1e 0.1%, #222222 99.9%);
  --color-gradient-winter-blues: linear-gradient(180deg, #055396 0%, #8fd7ef 100%);
  --color-gradient-winter-blues-reverse: linear-gradient(180deg, #8fd7ef 0%, #055396 100%);
  --color-gradient-tan-fade: linear-gradient(84deg, #3a2e0e 0.05%, #191919 99.95%);
  --color-gradient-blue-fade: linear-gradient(180deg, #121212 0%, rgba(5, 83, 150, 0.5) 100%);
  --color-gradient-blue-fade-reverse: linear-gradient(
    180deg,
    rgba(5, 83, 150, 0.5) 0%,
    #121212 100%
  );

  /* Generic */
  --color-white: #ffffff;
  --color-black: #000000;

  /* Neutrals */
  --color-neutral-50: #eef0f5;
  --color-neutral-100: #e5e7ea;
  --color-neutral-400: #c1c3cb;
  --color-neutral-500: #a9abb4;
  --color-neutral-600: #8d919a;
  --color-neutral-700: #656870;

  /* Dark Mode */
  --color-dark-mode: #1e1e1e;
  --color-dark-12dp: #333333;
  --color-dark-16dp: #353535;

  /* Typography */
  --font-outfit: 'Outfit', sans-serif;
  --font-inter: 'Inter', sans-serif;
  --font-barlow: 'Barlow Condensed', sans-serif;
  --font-poppins: 'Poppins', sans-serif;
  --font-weight-bold: 700;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-regular: 400;
  --font-weight-black: 900;

  /* Layout */
  --transition-standard: 0.25s;
  --border-radius-standard: 0.5rem;
  --border-radius-large: 1.25rem;
  --border-radius-card: 0.75rem;
  --box-shadow-dropdown: 0 3rem 3rem rgba(0, 0, 0, 0.175);
}

/* === Layout Utilities === */
.aplus-px {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .aplus-px {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (min-width: 1200px) {
  .aplus-px {
    padding-left: 80px;
    padding-right: 80px;
  }
}

/* === Base Styles === */
html,
body {
  width: 100%;
  height: 100%;
}

body {
  color: var(--color-navy-blue);
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  background-color: var(--color-freezing-point);
}

/* === Typography === */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--font-poppins);
  color: var(--color-deep-blue);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

/* Font Family Utilities */
.inter {
  font-family: var(--font-inter);
}

/* Font Weight Utilities */
.black {
  font-weight: var(--font-weight-black);
}
.bold {
  font-weight: var(--font-weight-bold);
}

/* Paragraph Sizes (from Figma type scale) */
p,
ul li,
ol li,
table {
  font-size: 1rem;       /* 16px - Paragraph Medium */
  line-height: 1.5;      /* 24px */
  font-weight: var(--font-weight-regular);
}
.fs-sm {
  font-size: 0.875rem;   /* 14px - Paragraph Small */
  line-height: 1.375rem; /* 22px */
}
.fs-xs {
  font-size: 0.75rem;    /* 12px - Paragraph XSmall */
  line-height: 1.25rem;  /* 20px */
}
.fs-8 {
  font-size: 0.75rem;
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 200, 'opsz' 48;
  font-size: inherit;
  vertical-align: middle;
  position: relative;
}
.material-symbols-outlined.FILL {
  font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 200, 'opsz' 48;
}
.aplus-icon-sm {
  font-size: 18px;
}

.aplus-icon-16 {
  font-size: 16px;
}

.aplus-icon-28 {
  font-size: 28px;
}

/* === Sub Nav (Top Utility Bar) === */
.aplus-sub-nav {
  background-color: var(--color-deep-blue);
  padding: 0;
}
.aplus-sub-nav .aplus-sub-nav-callout {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.75rem;
  line-height: 0.875rem;
  text-transform: uppercase;
  color: var(--color-freezing-point);
  margin-bottom: 0;
}
.aplus-sub-nav .aplus-sub-nav-socials a {
  display: inline-flex;
  align-items: center;
  margin-left: 0.375rem;
}
.aplus-sub-nav .aplus-sub-nav-socials img {
  height: 14px;
  width: auto;
  opacity: 0.85;
  transition: opacity var(--transition-standard);
}
.aplus-sub-nav .aplus-sub-nav-socials a:hover img {
  opacity: 1;
}
.aplus-sub-nav .aplus-sub-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125rem;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  align-self: stretch;
  transition: background-color var(--transition-standard);
}
.aplus-sub-nav .aplus-sub-nav-btn.btn-book {
  background-color: var(--color-navy-blue);
  color: var(--color-freezing-point);
}
.aplus-sub-nav .aplus-sub-nav-btn.btn-book:hover {
  background-color: #001a33;
}
.aplus-sub-nav .aplus-sub-nav-btn.btn-phone {
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
}
.aplus-sub-nav .aplus-sub-nav-btn.btn-phone:hover {
  background-color: var(--color-ice-blue-dark);
}

/* === Menu Styles === */
.aplus-header {
  z-index: 1030;
  transition: all var(--transition-standard);
}

.aplus-main-nav {
  background: transparent;
  transition: background-color var(--transition-standard), box-shadow var(--transition-standard);
}

/* Shrink state: on scroll */
.aplus-header.shrink .aplus-main-nav {
  background: var(--color-truck-tan);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid var(--color-deep-blue);
}
.aplus-header.shrink .aplus-logo-img {
  height: 50px;
}
.aplus-header.shrink .aplus-main-nav .navbar-nav .nav-link {
  font-size: 0.8rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
@media (min-width: 1400px) {
  .aplus-header.shrink .aplus-main-nav .navbar-nav .nav-link {
    font-size: 0.85rem;
  }
}

/* Navigation Links */
.aplus-main-nav .navbar-nav {
  width: 100%;
  justify-content: space-between;
}
.aplus-main-nav .navbar-nav .nav-link {
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.85rem;
  line-height: 1.125rem;
  text-transform: uppercase;
  padding: 1.25rem 0.5rem;
  white-space: nowrap;
  transition: all var(--transition-standard);
}
@media (min-width: 1400px) {
  .aplus-main-nav .navbar-nav .nav-link {
    font-size: 0.9rem;
    padding: 1.25rem 0.65rem;
  }
}
@media (min-width: 1600px) {
  .aplus-main-nav .navbar-nav .nav-link {
    font-size: 1rem;
    padding: 1.25rem 0.75rem;
  }
}
.aplus-main-nav .navbar-nav .nav-link:is(:hover, :active) {
  color: var(--color-deep-blue);
}

.dropdown-toggle:not(.has-dropdown)::after,
.dropend .dropdown-item:not(.has-dropend)::after,
.dropstart .dropdown-toggle:not(.has-dropstart)::before {
  border: 0 !important;
  margin: 0 !important;
}

.has-dropdown,
.has-dropend {
  align-items: center;
  gap: 0.25em;
}

.has-dropdown::after {
  content: 'keyboard_arrow_down';
  font-family: 'Material Symbols Outlined';
  border: 0;
  margin-left: 0;
  font-size: inherit;
  vertical-align: middle;
}
.dropend .dropdown-item.has-dropend::after {
  content: 'chevron_right';
  font-family: 'Material Symbols Outlined';
  border: 0;
  margin-left: 0.255em;
  font-size: 1em;
  vertical-align: middle;
}

.nav-fill .nav-item .dropdown-item {
  text-align: left !important;
}

/* Dropdown Styles */
.nav-item .dropdown-item {
  color: var(--color-white);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-medium);
  font-size: 1rem;
}

.nav-item .dropdown-item:is(:hover, :active) {
  background-color: #eee;
  border-radius: var(--border-radius-standard);
  color: var(--color-ice-blue) !important;
}

.navbar-expand-xl .navbar-nav .dropdown-menu {
  background: #fff;
  border: 0;
  box-shadow: var(--box-shadow-dropdown);
  padding: 0.5rem;
}

.navbar-expand-xl .navbar-nav .dropdown-menu.main-dropdown {
  top: 2rem;
  padding: 0.5rem;
  border-radius: var(--border-radius-standard);
  transition: top var(--transition-standard);
}

.aplus-mega-dropdown-row {
  background: var(--color-dark);
  border-radius: var(--border-radius-standard);
  transition-duration: var(--transition-standard);
}
.aplus-mega-dropdown-row:is(:hover, :focus, :active) {
  background-color: var(--color-ice-blue-15);
}

.navbar-expand-xl .navbar-nav .dropdown-menu.mega-dropdown {
  background: var(--color-black);
  padding: 0.5rem;
  border-radius: var(--border-radius-large);
  transition: top var(--transition-standard);
  width: 100%;
}
.navbar-expand-xl .navbar-nav .nav-item.dropdown:not(.position-static) > .dropdown-menu.mega-dropdown {
  width: auto;
  min-width: 100%;
}

.navbar-expand-xl .navbar-nav .dropdown-menu.sub-dropdown {
  border-radius: var(--border-radius-standard);
}

.aplus-mega-dropdown-group {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.aplus-mega-dropdown-group:is(:hover, :focus, :active) {
  background: var(--color-freezing-point-5);
  border-radius: var(--border-radius-standard);
}

.aplus-mega-dropdown-group p {
  font-family: var(--font-poppins);
  font-size: 0.9rem;
  color: var(--color-white);
  transition-duration: var(--transition-standard);
  font-weight: var(--font-weight-medium);
  margin-bottom: 0rem;
  text-transform: uppercase;
}
.aplus-mega-dropdown-group:is(:hover, :focus, :active) p {
  color: var(--color-truck-tan);
}

.aplus-mega-dropdown-group a {
  color: var(--color-neutral-50);
  transition-duration: var(--transition-standard);
}
.aplus-mega-dropdown-group a:is(:hover, :focus, :active) {
  color: var(--color-deep-blue);
}

/* Desktop dropdown overrides — truck-tan bg, deep-blue text */
@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-nav .dropdown-menu.mega-dropdown {
    background: var(--color-truck-tan);
  }
  .navbar-expand-xl .navbar-nav .nav-item.dropdown:not(.position-static) > .dropdown-menu.mega-dropdown {
    min-width: 320px;
  }
  .navbar-expand-xl .navbar-nav .nav-item.dropdown:not(.position-static) > .dropdown-menu.mega-dropdown {
    right: 0;
    left: auto;
  }
  .aplus-mega-dropdown-row {
    background: transparent;
  }
  .aplus-mega-dropdown-row:is(:hover, :focus, :active) {
    background-color: transparent;
  }
  .aplus-mega-dropdown-group:is(:hover, :focus, :active) {
    background: rgba(5, 83, 150, 0.08);
  }
  .aplus-mega-dropdown-group p {
    color: var(--color-deep-blue);
  }
  .aplus-mega-dropdown-group:is(:hover, :focus, :active) p {
    color: var(--color-deep-blue);
  }
  .aplus-mega-dropdown-group a {
    color: var(--color-deep-blue);
  }
  .aplus-mega-dropdown-group a:is(:hover, :focus, :active) {
    color: var(--color-navy-blue);
  }
}

/* Logo */
.aplus-logo-img {
  height: 70px;
  width: auto;
  transition: all var(--transition-standard);
}

/* === Accreditation Bar === */
.aplus-accreditation-bar {
  background-color: var(--color-deep-blue);
  padding: 0.5rem 0;
}
.aplus-accreditation-bar .aplus-accred-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: nowrap;
  overflow: hidden;
}
.aplus-accreditation-bar .aplus-accred-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}
.aplus-accreditation-bar .aplus-accred-stars {
  display: flex;
  align-items: center;
  gap: 0;
}
.aplus-accreditation-bar .aplus-accred-stars .material-symbols-outlined {
  color: var(--color-ice-blue);
  font-size: 15px;
  margin-right: -2px;
}
.aplus-accreditation-bar .aplus-accred-review-link {
  color: var(--color-freezing-point);
  font-family: var(--font-inter);
  font-weight: var(--font-weight-semibold);
  font-size: 0.875rem;
  line-height: 1.375rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.aplus-accreditation-bar .aplus-accred-review-link:hover {
  color: var(--color-ice-blue);
}
.aplus-accreditation-bar .aplus-accred-review-link .material-symbols-outlined {
  font-size: 16px;
  color: var(--color-freezing-point);
}
.aplus-accreditation-bar .aplus-accred-benefit {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}
.aplus-accreditation-bar .aplus-accred-benefit .material-symbols-outlined {
  font-size: 28px;
  color: var(--color-freezing-point);
}
.aplus-accreditation-bar .aplus-accred-benefit-text {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125rem;
  text-transform: uppercase;
  color: var(--color-freezing-point);
}

/* === Opening Section === */
.aplus-opening {
  background-color: var(--color-truck-tan);
  padding: 5rem 0;
}
.aplus-opening-images {
  display: flex;
  gap: 1.25rem;
}
.aplus-opening-images .aplus-img-col {
  flex: 1;
  overflow: hidden;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
}
.aplus-opening-images .aplus-img-col:nth-child(odd) {
  margin-top: 1.25rem;
}
.aplus-opening-images .aplus-img-col:nth-child(even) {
  margin-bottom: 1.25rem;
}
.aplus-opening-images .aplus-img-col img {
  width: 100%;
  height: auto;
  display: block;
}
.aplus-opening h2 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 3rem;
  color: var(--color-deep-blue);
  text-transform: uppercase;
}
.aplus-opening .aplus-opening-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-navy-blue);
}
.aplus-opening .aplus-opening-overline {
  display: inline-block;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-barlow);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Advantage Cards Grid */
.aplus-advantage-grid {
  background-color: var(--color-deep-blue);
  border-radius: 0;
  padding: 0;
}
.aplus-advantage-grid .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}
.aplus-advantage-grid .col-4 {
  padding: 0;
}
.aplus-advantage-grid .aplus-adv-card {
  text-align: center;
  padding: 1.25rem;
  border-radius: 0;
  transition: background-color 0.6s ease;
  height: 100%;
}
.aplus-advantage-grid .aplus-adv-card:hover {
  background-color: var(--color-ice-blue);
}
.aplus-advantage-grid .aplus-adv-card .material-symbols-outlined {
  font-size: 2rem;
  color: var(--color-ice-blue);
  margin-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  transition: background-color 0.6s ease;
}
.aplus-advantage-grid .aplus-adv-card:hover .material-symbols-outlined {
  background-color: var(--color-navy-blue);
}
.aplus-advantage-grid .aplus-adv-card h6 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1rem;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.aplus-advantage-grid .aplus-adv-card p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.75rem;
  line-height: 1.25rem;
  color: var(--color-freezing-point);
  margin-bottom: 0;
}

/* === Why Choose Us Section === */
.aplus-why-choose-us {
  background-color: var(--color-truck-tan);
  padding: 5rem 0 0;
  overflow: hidden;
}
.aplus-why-choose-us h2 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 3rem;
  color: var(--color-deep-blue);
  text-transform: uppercase;
}
.aplus-wcu-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-navy-blue);
  margin-top: 1.25rem;
}

/* Advantages List */
.aplus-wcu-advantages {
  margin-top: 2rem;
}
/* Accordion Items */
.aplus-wcu-item {
  cursor: pointer;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background-color: transparent;
  box-shadow: none;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.aplus-wcu-item.active {
  background-color: var(--color-deep-blue);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
.aplus-wcu-item-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.aplus-wcu-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  flex-shrink: 0;
  border: 1px solid #d8c2a8;
  background-color: transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.aplus-wcu-item.active .aplus-wcu-item-icon {
  background-color: var(--color-ice-blue);
  border-color: var(--color-ice-blue);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
}
.aplus-wcu-item-icon .material-symbols-outlined {
  font-size: 1.5rem;
  color: #d8c2a8;
  transition: color 0.3s ease;
}
.aplus-wcu-item.active .aplus-wcu-item-icon .material-symbols-outlined {
  color: var(--color-deep-blue);
}
.aplus-wcu-item h4 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #d8c2a8;
  text-transform: uppercase;
  margin-bottom: 0;
  transition: color 0.3s ease, font-size 0.3s ease;
}
.aplus-wcu-item.active h4 {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--color-freezing-point);
}
.aplus-wcu-item-body {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.4s ease, padding 0.4s ease;
  padding-left: 3.25rem;
}
.aplus-wcu-item.active .aplus-wcu-item-body {
  max-height: 6rem;
  opacity: 1;
  padding-top: 0.25rem;
}
.aplus-wcu-item-body p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.375rem;
  color: var(--color-freezing-point);
  margin-bottom: 0;
}

/* Image Columns */
.aplus-wcu-images {
  display: flex;
  gap: 0.75rem;
  height: 100%;
}
.aplus-wcu-img-col {
  flex: 1;
  overflow: hidden;
}
.aplus-wcu-img-col:first-child {
  padding-bottom: 1.25rem;
}
.aplus-wcu-img-col:last-child {
  padding-top: 1.25rem;
}
.aplus-wcu-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === Services Section === */
.aplus-services {
  background-color: var(--color-navy-blue);
  padding: 5rem 0;
}
.aplus-services .aplus-services-header {
  text-align: center;
  margin-bottom: 2.5rem;
}
.aplus-services .aplus-services-header h2 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 3rem;
  color: var(--color-truck-tan);
  text-transform: uppercase;
  max-width: 958px;
  margin: 0 auto;
}
.aplus-services .aplus-services-header p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-truck-tan);
  max-width: 717px;
  margin: 0 auto;
}

/* Service Card */
.aplus-svc-card {
  overflow: hidden;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.aplus-svc-card .aplus-svc-card-img {
  height: 240px;
  overflow: hidden;
}
.aplus-svc-card .aplus-svc-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aplus-svc-card .aplus-svc-card-body {
  background-color: var(--color-deep-blue);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 1;
}
.aplus-svc-card .aplus-svc-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.aplus-svc-card .aplus-svc-card-icon {
  background-color: var(--color-ice-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  flex-shrink: 0;
}
.aplus-svc-card .aplus-svc-card-icon .material-symbols-outlined {
  font-size: 24px;
  color: var(--color-deep-blue);
}
.aplus-svc-card h3 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin-bottom: 0;
}
.aplus-svc-card .aplus-svc-card-text {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-freezing-point);
}
.aplus-svc-card .aplus-svc-read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1rem;
  color: var(--color-ice-blue);
  text-transform: uppercase;
  text-decoration: none;
}
.aplus-svc-card .aplus-svc-read-more .material-symbols-outlined {
  font-size: 16px;
}
.aplus-svc-card .aplus-svc-read-more:hover {
  color: var(--color-freezing-point);
}
.aplus-svc-card .aplus-svc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125rem;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
  text-decoration: none;
  border: none;
  align-self: flex-start;
  transition: background-color var(--transition-standard);
}
.aplus-svc-card .aplus-svc-btn:hover {
  background-color: var(--color-ice-blue-dark);
}
.aplus-svc-card .aplus-svc-btn .material-symbols-outlined {
  font-size: 16px;
  color: var(--color-black);
}

/* Service Card Dropdown */
.aplus-svc-dropdown {
  position: relative;
  align-self: flex-start;
  margin-top: auto;
}
.aplus-svc-dropdown .aplus-svc-btn {
  cursor: pointer;
}
.aplus-svc-dropdown .aplus-svc-btn .material-symbols-outlined {
  transition: transform var(--transition-standard);
}
.aplus-svc-dropdown.open .aplus-svc-btn .material-symbols-outlined {
  transform: rotate(180deg);
}
.aplus-svc-dropdown-menu {
  display: none;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-color: var(--color-navy-blue);
  border-radius: 0.5rem 0.5rem 0 0;
  overflow: hidden;
  z-index: 10;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.25);
}
.aplus-svc-dropdown.open .aplus-svc-dropdown-menu {
  display: block;
}
.aplus-svc-dropdown-menu a {
  display: block;
  padding: 0.6rem 1rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-semibold);
  font-size: 0.8rem;
  text-transform: uppercase;
  color: var(--color-freezing-point);
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 215, 239, 0.1);
  transition: background-color var(--transition-standard);
}
.aplus-svc-dropdown-menu a:last-child {
  border-bottom: none;
}
.aplus-svc-dropdown-menu a:hover {
  background-color: var(--color-deep-blue);
  color: var(--color-ice-blue);
}

/* Envirovac Callout */
.aplus-envirovac-callout {
  border-radius: 0.75rem;
  overflow: hidden;
  background: linear-gradient(90deg, #055396 0%, #00817a 50%, #fbde1e 100%);
  display: flex;
  align-items: stretch;
}
.aplus-envirovac-callout .aplus-envirovac-content {
  padding: 2rem 3rem;
  flex: 1;
}
.aplus-envirovac-callout h3 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2rem;
  line-height: 2.5rem;
  color: var(--color-white);
  text-transform: uppercase;
}
.aplus-envirovac-callout h3 .text-highlight {
  color: #fbde1e;
}
.aplus-envirovac-callout p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-white);
}
.aplus-envirovac-callout .aplus-envirovac-logo-area {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  overflow: hidden;
}
.aplus-envirovac-callout .aplus-envirovac-logo-area .aplus-envirovac-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.aplus-envirovac-callout .aplus-envirovac-logo-area::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(251, 222, 30, 0.8);
  z-index: 1;
}
.aplus-envirovac-callout .aplus-envirovac-logo-area .aplus-envirovac-logo {
  position: relative;
  z-index: 2;
  max-width: 315px;
  height: auto;
}

/* === Hero Styles === */
.aplus-hero {
  background: url('../img/aplus-hero-2560-1000.webp') center center;
  background-size: cover;
  width: 100%;
  min-height: 550px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.aplus-hero-content {
  padding-top: 10rem; /* JS overrides dynamically based on header height */
  padding-bottom: 3rem;
}
@media (max-width: 1199px) {
  .aplus-hero {
    background-image: url('../img/aplus-hero-1200-800.webp');
  }
}
@media (min-width: 1550px) {
  .aplus-hero {
    min-height: 700px;
  }
}
@media (max-width: 767px) {
  .aplus-hero {
    background-image: url('../img/aplus-hero-800-600.webp');
    min-height: 500px;
  }
}

.aplus-hero .container {
  position: relative;
  z-index: 1;
}

/* Hero overline badge */
.aplus-hero-overline {
  display: inline-block;
  background-color: var(--color-deep-blue);
  color: var(--color-freezing-point);
  font-family: var(--font-barlow);
  font-weight: var(--font-weight-bold);
  font-size: 1.125rem;
  line-height: 1.25rem;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Hero heading */
.aplus-hero h1 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.25rem;
  line-height: 1.15;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  max-width: 800px;
}
@media (min-width: 768px) {
  .aplus-hero h1 {
    font-size: 2.75rem;
    line-height: 1.15;
  }
}
@media (min-width: 1200px) {
  .aplus-hero h1 {
    font-size: 3.5rem;
    line-height: 4rem;
  }
}

/* Hero body text */
.aplus-hero .aplus-hero-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-medium);
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--color-navy-blue);
  max-width: 596px;
}

/* Hero contact form card */
.aplus-hero-form {
  background: rgba(5, 83, 150, 0.6);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid var(--color-deep-blue);
  border-radius: 1.25rem;
  padding: 1.75rem;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  max-width: 476px;
  width: 100%;
}
.aplus-hero-form h2 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.aplus-hero-form h2 .text-accent {
  color: var(--color-ice-blue);
}
.aplus-hero-form .form-control {
  background: var(--color-white);
  border: 1px solid var(--color-neutral-100);
  border-radius: 0.5rem;
  padding: 0.5rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.75rem;
  line-height: 0.875rem;
  text-transform: uppercase;
  color: var(--color-navy-blue) !important;
  height: 30px;
}
.aplus-hero-form .form-control::placeholder {
  color: var(--color-neutral-500) !important;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.75rem;
  text-transform: uppercase;
  opacity: 1;
}
.aplus-hero-form textarea.form-control {
  height: auto;
  min-height: 80px;
  resize: none;
}
/* Small contact form within hero */
.aplus-hero-form .btn-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125rem;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 0;
  transition: background-color var(--transition-standard);
  cursor: pointer;
}
.aplus-hero-form .btn-contact:hover {
  background-color: var(--color-ice-blue-dark);
}
.aplus-hero-form .mb-4 {
  margin-bottom: 0.75rem !important;
}
.aplus-hero-form .alert {
  font-size: 0.875rem;
  padding: 0.5rem;
}
.aplus-hero-form p {
  font-family: var(--font-poppins);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-freezing-point);
  margin-bottom: 1.25rem;
}
.aplus-hero-form .btn-outline-light {
  background: transparent;
  border: 1px solid var(--color-ice-blue);
  color: var(--color-ice-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  text-transform: uppercase;
  padding: 0.625rem 1.5rem;
  text-decoration: none;
  transition: background-color var(--transition-standard);
}
.aplus-hero-form .btn-outline-light:hover {
  background: rgba(255, 255, 255, 0.1);
}
.aplus-hero-form-details {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  font-family: var(--font-poppins);
  font-size: 0.625rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-ice-blue);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  padding: 0.625rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.aplus-hero-form-links {
  font-size: 0.75rem;
  text-align: center;
}
.aplus-hero-form-link {
  color: var(--color-freezing-point);
  text-decoration: none;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-medium);
  transition: color var(--transition-standard);
}
.aplus-hero-form-link:hover {
  color: var(--color-ice-blue);
  text-decoration: underline;
}

/* Sub page hero */
.aplus-hero.aplus-sub-page {
  min-height: auto;
  padding-top: 8rem;
  padding-bottom: 3rem;
}
.aplus-hero.aplus-sub-page h1 {
  font-size: 2rem;
  color: var(--color-white);
}
@media (min-width: 768px) {
  .aplus-hero.aplus-sub-page h1 {
    font-size: calc(2rem + 0.75vw);
  }
}
.aplus-hero.aplus-sub-page .aplus-hero-body {
  color: var(--color-white);
}

/* Sub page hero: AC & Heat Pump pages */
.aplus-hero.aplus-hero-ac {
  background-image: url('../img/aplus-hero-ac-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-ac {
    background-image: url('../img/aplus-hero-ac-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-ac {
    background-image: url('../img/aplus-hero-ac-800-600.webp');
  }
}

/* Sub page hero: Package Unit pages */
.aplus-hero.aplus-hero-package-unit {
  background-image: url('../img/aplus-hero-package-unit-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-package-unit {
    background-image: url('../img/aplus-hero-package-unit-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-package-unit {
    background-image: url('../img/aplus-hero-package-unit-800-600.webp');
  }
}

/* Sub page hero: Duct Cleaning pages */
.aplus-hero.aplus-hero-duct-cleaning {
  background-image: url('../img/aplus-hero-duct-cleaning-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-duct-cleaning {
    background-image: url('../img/aplus-hero-duct-cleaning-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-duct-cleaning {
    background-image: url('../img/aplus-hero-duct-cleaning-800-600.webp');
  }
}

/* Sub page hero: Furnace pages */
.aplus-hero.aplus-hero-furnace {
  background-image: url('../img/aplus-hero-furnace-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-furnace {
    background-image: url('../img/aplus-hero-furnace-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-furnace {
    background-image: url('../img/aplus-hero-furnace-800-600.webp');
  }
}

/* Sub page hero: General pages (financing, maintenance, service areas) */
.aplus-hero.aplus-hero-general {
  background-image: url('../img/aplus-hero-general-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-general {
    background-image: url('../img/aplus-hero-general-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-general {
    background-image: url('../img/aplus-hero-general-800-600.webp');
  }
}

/* Sub page hero: Mini-Split & Air Quality pages */
.aplus-hero.aplus-hero-van {
  background-image: url('../img/aplus-hero-van-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-van {
    background-image: url('../img/aplus-hero-van-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-van {
    background-image: url('../img/aplus-hero-van-800-600.webp');
  }
}

/* Sub page hero: Commercial HVAC pages */
.aplus-hero.aplus-hero-commercial {
  background-image: url('../img/aplus-hero-commercial-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-commercial {
    background-image: url('../img/aplus-hero-commercial-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-commercial {
    background-image: url('../img/aplus-hero-commercial-800-600.webp');
  }
}

/* Sub page hero: Mobile & Modular Home pages */
.aplus-hero.aplus-hero-mobile-home {
  background-image: url('../img/aplus-hero-mobile-home-2560-1000.webp');
}
@media (max-width: 1199px) {
  .aplus-hero.aplus-hero-mobile-home {
    background-image: url('../img/aplus-hero-mobile-home-1200-800.webp');
  }
}
@media (max-width: 767px) {
  .aplus-hero.aplus-hero-mobile-home {
    background-image: url('../img/aplus-hero-mobile-home-800-600.webp');
  }
}

/* === Service Area Landing Page === */

/* Cards Section */
.aplus-sa-cards-section {
  background-color: var(--color-navy-blue);
  padding: 5rem 0;
}
.aplus-sa-cards-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2rem;
  color: var(--color-truck-tan);
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}
.aplus-sa-cards-heading em {
  color: var(--color-ice-blue);
  font-style: normal;
}
.aplus-sa-cards-subtext {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1.05rem;
  color: var(--color-freezing-point);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .aplus-sa-cards-heading {
    font-size: 2.5rem;
  }
}

/* Area Card */
.aplus-area-card {
  background-color: var(--color-deep-blue);
  border-radius: var(--border-radius-large);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-standard), box-shadow var(--transition-standard);
  border: 1px solid rgba(143, 215, 239, 0.12);
}
.aplus-area-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}
.aplus-area-card-featured {
  border: 2px solid var(--color-ice-blue);
  position: relative;
}
.aplus-area-card-badge {
  background: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.4rem 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.aplus-area-card-badge .material-symbols-outlined {
  font-size: 16px;
}
.aplus-area-card-body {
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.aplus-area-card-icon {
  background-color: rgba(143, 215, 239, 0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  margin-bottom: 1rem;
}
.aplus-area-card-icon .material-symbols-outlined {
  font-size: 26px;
  color: var(--color-ice-blue);
}
.aplus-area-card h3 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.35rem;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 0.15rem;
  line-height: 1.2;
}
.aplus-area-card-county {
  font-family: var(--font-barlow);
  font-weight: var(--font-weight-semibold);
  font-size: 0.85rem;
  color: var(--color-ice-blue);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.75rem;
}
.aplus-area-card-text {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.9rem;
  color: var(--color-freezing-point);
  line-height: 1.55;
  margin-bottom: 1rem;
  flex: 1;
}
.aplus-area-card-services {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.aplus-area-card-services span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-semibold);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-ice-blue);
  background: rgba(143, 215, 239, 0.1);
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
}
.aplus-area-card-services span .material-symbols-outlined {
  font-size: 14px;
  color: var(--color-ice-blue);
}
.aplus-area-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-outfit);
  font-weight: var(--font-weight-black);
  font-size: 0.85rem;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.65rem 1.25rem;
  border-radius: 0;
  transition: background-color var(--transition-standard);
  margin-top: auto;
  align-self: flex-start;
}
.aplus-area-card-btn:hover {
  background-color: var(--color-ice-blue-dark);
  color: var(--color-navy-blue);
}
.aplus-area-card-btn .material-symbols-outlined {
  font-size: 16px;
}

/* Additional Communities Section */
.aplus-sa-additional {
  background-color: var(--color-truck-tan);
  padding: 5rem 0;
}
.aplus-sa-additional-cities {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-top: 1.25rem;
}
@media (min-width: 768px) {
  .aplus-sa-additional-cities {
    grid-template-columns: repeat(4, 1fr);
  }
}
.aplus-sa-additional-city {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-semibold);
  font-size: 0.9rem;
  color: var(--color-navy-blue);
  padding: 0.6rem 0.75rem;
  background: var(--color-white);
  border-radius: var(--border-radius-standard);
  border: 1px solid var(--color-neutral-100);
}
.aplus-sa-additional-city .material-symbols-outlined {
  font-size: 18px;
  color: var(--color-deep-blue);
}

/* === Button Styles === */
.btn {
  padding: 0.75rem 1rem;
  font-family: var(--font-outfit);
  font-weight: var(--font-weight-black);
  border-radius: 0px;
  font-size: 1rem;
  line-height: 1.125;
  margin-bottom: 1rem;
  transition: all var(--transition-standard);
  text-transform: none;
  border: 2px solid transparent;
}

.btn.btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
}

/* BLUE BTN - Relaxed Blue */
.btn-blue {
  color: var(--color-freezing-point);
  background: var(--color-ice-blue);
  border-color: var(--color-ice-blue);
}
.btn-blue:is(:hover, :active, :focus) {
  color: var(--color-freezing-point);
  background: var(--color-ice-blue-dark);
  border-color: var(--color-ice-blue-dark);
}

/* YELLOW BTN - Sunshine Yellow */
.btn-yellow {
  color: var(--color-navy-blue);
  background: var(--color-truck-tan);
  border-color: var(--color-truck-tan);
}
.btn-yellow:is(:hover, :active, :focus) {
  color: var(--color-navy-blue);
  background: var(--color-truck-tan-dark);
  border-color: var(--color-truck-tan-dark);
}

/* NAVY BTN - Navy Blue */
.btn-navy {
  color: var(--color-freezing-point);
  background: var(--color-navy-blue);
  border-color: var(--color-navy-blue);
}
.btn-navy:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: #001a33;
  border-color: #001a33;
}

/* ICE BLUE BTN */
.btn-ice-blue {
  color: var(--color-navy-blue);
  background: var(--color-ice-blue);
  border-color: var(--color-ice-blue);
}
.btn-ice-blue:is(:hover, :active, :focus) {
  color: var(--color-navy-blue);
  background: var(--color-ice-blue-dark);
  border-color: var(--color-ice-blue-dark);
}

/* DEEP BLUE BTN */
.btn-deep-blue {
  color: var(--color-freezing-point);
  background: var(--color-deep-blue);
  border-color: var(--color-deep-blue);
}
.btn-deep-blue:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: #044278;
  border-color: #044278;
}

/* OUTLINE BTN - Freezing Point Ghost */
.btn-outline {
  color: var(--color-freezing-point);
  background: rgba(233, 246, 246, 0.2);
  border: 2px solid var(--color-freezing-point);
}
.btn-outline:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: rgba(233, 246, 246, 0.35);
  border-color: var(--color-white);
}

a.link-blue {
  color: var(--color-ice-blue);
  font-weight: var(--font-weight-bold);
}
a.link-blue:is(:hover, :focus, :active) {
  text-decoration: underline;
}

/* === Color Utility Classes === */
/* TRUCK TAN */
.text-yellow {
  color: var(--color-truck-tan) !important;
}
.bg-yellow {
  background-color: var(--color-truck-tan) !important;
}

/* DEEP BLUE */
.text-deep-blue {
  color: var(--color-deep-blue) !important;
}

/* NAVY BLUE */
.text-navy {
  color: var(--color-navy-blue) !important;
}
.bg-navy {
  background-color: var(--color-navy-blue) !important;
}

/* ICE BLUE */
.text-blue,
.text-ice-blue {
  color: var(--color-ice-blue) !important;
}
.bg-blue {
  background-color: var(--color-ice-blue) !important;
}

/* FREEZING POINT */
.text-seafoam {
  color: var(--color-freezing-point) !important;
}
.bg-seafoam {
  background-color: var(--color-freezing-point) !important;
}

/* DARK */
.text-dark {
  color: var(--color-dark-mode) !important;
}
.bg-dark {
  background-color: var(--color-dark-mode) !important;
}

/* BLACK */
.text-black {
  color: var(--color-black) !important;
}

/* Gradients */
.bg-gradient-blue-fade {
  background: var(--color-gradient-blue-fade) !important;
}
.bg-gradient-blue-fade-reverse {
  background: var(--color-gradient-blue-fade-reverse) !important;
}
.text-neutral-600 {
  color: var(--color-neutral-600) !important;
}
/* === Component Styles === */
.img-fluid {
  margin-bottom: 2rem;
}

ul.list-group,
ol.list-group,
.card,
.table-responsive,
table.table-bordered {
  border-radius: var(--border-radius-card);
  margin-bottom: 1.5rem;
}
.card.h-100 {
  margin-bottom: 0;
}
.card .card-body {
  padding: 1.5rem;
}

/* === Service Area Card === */
.card.service-area {
  border-radius: 50rem;
  background-color: var(--color-deep-blue);
  margin-bottom: 0.75rem;
}
.card.service-area:hover {
  background: var(--color-navy-blue);
}
.card.service-area.no-link:hover {
  background-color: var(--color-deep-blue);
  background-image: none;
  cursor: default;
}
.card.service-area.no-link:hover .card-body span .material-symbols-outlined {
  color: var(--color-truck-tan);
}
.card.service-area .card-body {
  padding: 0.85rem 1rem;
}
.card.service-area .card-body a,
.card.service-area .card-body > span {
  color: var(--color-freezing-point);
  font-size: 0.9rem;
  font-family: var(--font-outfit);
  font-weight: var(--font-weight-black);
}
.card.service-area:hover .card-body span,
.card.service-area:hover .card-body span .material-symbols-outlined {
  color: var(--color-white);
}

.card.service-area .card-body span .material-symbols-outlined {
  color: var(--color-truck-tan);
}

.border-radius-large {
  border-radius: var(--border-radius-large) !important;
}

.accordion-button .material-symbols-outlined {
  transition: transform 0.3s ease-in-out;
}

.accordion-button em {
  font-style: normal !important;
  display: contents;
}

.accordion:not(.aplus-card-accordion):not(.aplus-faq-accordion) .accordion-button .material-symbols-outlined {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 16px;
  background-color: var(--color-truck-tan);
  color: var(--color-deep-blue);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Regular accordion: rotate add icon 45deg to form X */
.accordion:not(.aplus-card-accordion):not(.aplus-faq-accordion) .accordion-button:not(.collapsed) .material-symbols-outlined {
  transform: rotate(45deg);
}

/* Card accordion: rotate only the south_east arrow -180deg */
.aplus-card-accordion .accordion-button:not(.collapsed) .aplus-accordion-arrow {
  transform: rotate(-90deg);
}

.accordion {
  background: transparent;
  border: none;
  color: var(--color-deep-blue);
}
.accordion-item,
.accordion-header,
.accordion-button {
  background: transparent;
  border: none;
  color: var(--color-deep-blue);
}
.accordion-item {
  border-bottom: 1px solid var(--color-ice-blue);
}
.accordion-button {
  font-size: 1.125rem;
  font-family: var(--font-outfit);
  font-weight: var(--font-weight-black);
  line-height: 1.625rem;
  padding: 0.5rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.accordion-body {
  font-size: 0.875rem;
}

/* Accordion transition speed */
.collapsing {
  transition: height 0.5s ease;
}
.accordion-button {
  transition: all 0.3s ease;
}

/* Custom accordion benefit transitions */
.aplus-fin-benefit-body,
.aplus-maint-benefit-body {
  overflow: hidden;
  max-height: 0;
  padding-top: 0;
  transition: max-height 0.5s ease, padding-top 0.5s ease;
}
.aplus-fin-benefit.active .aplus-fin-benefit-body,
.aplus-maint-benefit.active .aplus-maint-benefit-body {
  max-height: 200px;
  padding-top: 8px;
}

/* OPTIMIZED: Grouped accordion radius resets */
.accordion-item:last-of-type,
.accordion-item:last-of-type .accordion-button,
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion-button:not(.collapsed) {
  color: var(--color-deep-blue);
  box-shadow: none;
  background: transparent;
}

.accordion-button::after {
  display: none !important;
}

.accordion a {
  color: var(--color-ice-blue);
  text-decoration: underline transparent;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.accordion a:hover {
  color: var(--color-ice-blue);
  text-decoration-color: var(--color-ice-blue);
}

.aplus-card-accordion .accordion-item {
  border: 0;
  border-radius: 0.5rem !important;
  margin-bottom: 0.75rem;
  background-color: rgba(239, 251, 255, 0.15);
  overflow: hidden;
}
.aplus-card-accordion .accordion-item:last-child {
  margin-bottom: 0;
}
.aplus-card-accordion .accordion-button {
  padding: 1rem;
  background-color: transparent;
  box-shadow: none;
  border-radius: 0.5rem !important;
  gap: 0.75rem;
}
.aplus-card-accordion .accordion-button::after {
  display: none;
}
.aplus-card-accordion .accordion-button:not(.collapsed) {
  background-color: transparent;
  color: inherit;
}
.aplus-card-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
  background-color: var(--color-freezing-point);
}
.aplus-card-accordion .accordion-item:has(.accordion-button:not(.collapsed)) .accordion-button h5 {
  color: var(--color-deep-blue) !important;
}
.aplus-card-accordion .accordion-item:has(.accordion-button:not(.collapsed)) .aplus-accordion-icon {
  background-color: var(--color-truck-tan);
  border: 4px solid var(--color-ice-blue);
}
.aplus-card-accordion .accordion-item:has(.accordion-button.collapsed) .aplus-accordion-icon {
  background-color: var(--color-freezing-point);
}
.aplus-card-accordion .accordion-item:has(.accordion-button:not(.collapsed)) .aplus-accordion-arrow {
  color: var(--color-deep-blue) !important;
}
.aplus-card-accordion
  .accordion-item:has(.accordion-button:not(.collapsed))
  .aplus-accordion-arrow
  .material-symbols-outlined::before {
  content: 'north_east';
}
.aplus-card-accordion .accordion-item:has(.accordion-button:not(.collapsed)) .accordion-body {
  color: var(--color-navy-blue);
}
.aplus-card-accordion .accordion-collapse .accordion-body {
  padding: 0 1rem 1rem 1rem;
}

input.form-control,
textarea.form-control {
  color: var(--color-neutral-500) !important;
}

/* Placeholder color */
input.form-control::placeholder,
textarea.form-control::placeholder {
  color: var(--color-neutral-500) !important;
  font-family: var(--font-outfit);
  opacity: 1;
}

/* Select */
select.form-control {
  color: var(--color-neutral-500) !important;
}

select.form-control:has(option[value='']:checked),
select.form-control:has(option[disabled][selected]) {
  color: var(--color-neutral-500) !important;
}
input.form-control,
textarea.form-control,
input.form-control.contact_form,
textarea.form-control.contact_form {
  color: var(--color-neutral-500) !important;
  border: none;
}

/* === Utility Classes === */
em,
u {
  font-style: inherit !important;
  text-decoration: inherit !important;
}
a {
  text-decoration: none;
}

.aplus-advantage-card {
  background: transparent;
  border: none;
  border-radius: var(--border-radius-standard);
  overflow: hidden;
  transition: background-color 0.6s ease;
}

.aplus-advantage-card:hover {
  background-color: var(--color-ice-blue);
}

.aplus-advantage-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-radius: 0;
  width: 56px;
  height: 56px;
  transition: background-color 0.6s ease;
}

.aplus-advantage-card:hover .aplus-advantage-icon {
  background-color: var(--color-navy-blue);
}

.aplus-advantage-icon .material-symbols-outlined {
  color: var(--color-ice-blue);
  font-size: 2.25rem;
}

/* === Media Queries === */
@media (max-width: 1400px) {
  .navbar-light .navbar-nav .nav-link {
    font-size: 0.85rem;
  }
}

/* === Responsive: Menu & Nav === */
@media (max-width: 1199px) {
  .offcanvas {
    max-width: 85%;
  }
  .offcanvas-header {
    padding: 1.25rem 1.5rem;
  }
  .offcanvas-body {
    background: var(--color-gradient-dark);
    border-top: var(--color-deep-blue) 2px solid;
    padding: 1.5rem;
  }
  .offcanvas-body .navbar-nav .nav-link {
    color: var(--color-white);
    font-size: 1.25rem;
    padding: 0.75rem 0.5rem;
  }
  .dropend .dropdown-item.has-dropend::after {
    content: 'expand_more';
  }
}

/* === Community Callout === */
.aplus-community-callout {
  background-color: var(--color-truck-tan);
}
.aplus-community-layout {
  display: flex;
  align-items: center;
}
.aplus-community-logos {
  flex: 0 0 50%;
  border-top: 2px solid var(--color-deep-blue);
  border-right: 2px solid var(--color-deep-blue);
  border-bottom: 2px solid var(--color-deep-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.aplus-community-logos-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 40px 40px 40px 80px;
  width: 100%;
}
.aplus-community-logos-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 32px;
}
.aplus-community-logos-row img {
  max-height: 56px;
  width: auto;
  object-fit: contain;
  flex-shrink: 1;
  min-width: 0;
}
.aplus-community-logos-row img[alt="Dreams Come True"] {
  max-height: 56px;
  max-width: 120px;
}
.aplus-community-logos-row img[alt="Boy Scouts of America North Florida Council"] {
  max-height: 56px;
  max-width: 280px;
}
.aplus-community-logos-row img[alt="Hubbard House"] {
  max-height: 56px;
  max-width: 95px;
}
.aplus-community-logos-row img[alt="Cathedral Arts Project"] {
  max-height: 40px;
  max-width: 280px;
  background-color: #583d84;
}
.aplus-community-logos-row img[alt="Daniel Memorial"] {
  max-height: 56px;
  max-width: 130px;
}
.aplus-community-logos-row img[alt="BASCA"] {
  max-height: 56px;
  max-width: 130px;
}
.aplus-community-content {
  flex: 0 0 50%;
  padding: 60px 80px 60px 60px;
}
.aplus-community-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.aplus-community-content p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-navy-blue);
  margin-bottom: 32px;
}
.btn-community {
  display: inline-block;
  background-color: var(--color-deep-blue);
  color: var(--color-freezing-point);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  border: 2px solid var(--color-deep-blue);
  transition: background-color var(--transition-standard), border-color var(--transition-standard);
}
.btn-community:hover {
  background-color: var(--color-navy-blue);
  border-color: var(--color-navy-blue);
  color: var(--color-freezing-point);
}
@media (max-width: 1199.98px) {
  .aplus-community-layout {
    flex-direction: column;
  }
  .aplus-community-logos {
    flex: none;
    width: 100%;
    border-right: none;
    border-left: none;
    border-top: 2px solid var(--color-deep-blue);
    border-bottom: 2px solid var(--color-deep-blue);
  }
  .aplus-community-logos-inner {
    padding: 40px 24px;
  }
  .aplus-community-content {
    flex: none;
    width: 100%;
    padding: 40px 24px;
  }
  .aplus-community-logos-row img {
    max-height: 40px;
  }
  .aplus-community-logos-row img[alt="Cathedral Arts Project"] {
    max-height: 28px;
  }
}
@media (max-width: 991.98px) {
  .aplus-community-logos-inner {
    gap: 32px;
  }
  .aplus-community-logos-row {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  .aplus-community-logos-row img {
    max-height: 36px;
    max-width: 140px;
  }
  .aplus-community-logos-row img[alt="Boy Scouts of America North Florida Council"] {
    max-width: 200px;
  }
  .aplus-community-logos-row img[alt="Cathedral Arts Project"] {
    max-height: 24px;
    max-width: 200px;
  }
}

/* === Financing Section === */
.aplus-financing {
  background-color: var(--color-truck-tan);
  padding: 80px 0;
}
.aplus-financing-icon {
  margin-bottom: 32px;
}
.aplus-overline-badge {
  display: inline-block;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-barlow);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1.43;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 8px;
}
.aplus-financing-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.aplus-financing-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-navy-blue);
}
.aplus-financing-benefits-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-semibold);
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.aplus-financing-benefits {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aplus-fin-benefit {
  border: 1px solid var(--color-deep-blue);
  padding: 8px;
  cursor: pointer;
  transition: background-color var(--transition-standard), color var(--transition-standard);
}
.aplus-fin-benefit.active {
  background-color: var(--color-deep-blue);
  border-color: var(--color-deep-blue);
}
.aplus-fin-benefit-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.aplus-fin-benefit-icon {
  background-color: var(--color-ice-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  flex-shrink: 0;
}
.aplus-fin-benefit-icon .material-symbols-outlined {
  font-size: 18px;
  color: var(--color-deep-blue);
}
.aplus-fin-benefit-title {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  color: var(--color-deep-blue);
  flex: 1;
}
.aplus-fin-benefit.active .aplus-fin-benefit-title {
  color: var(--color-freezing-point);
}
.aplus-fin-benefit-arrow {
  font-size: 18px;
  color: var(--color-deep-blue);
  transition: transform 0.3s ease;
}
.aplus-fin-benefit.active .aplus-fin-benefit-arrow {
  color: var(--color-ice-blue);
  transform: rotate(45deg);
}
.aplus-fin-benefit-body {
  display: block;
}
.aplus-fin-benefit.active .aplus-fin-benefit-body {
  display: block;
}
.aplus-fin-benefit-body p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.57;
  color: var(--color-freezing-point);
  margin: 0;
}
/* Financing Benefits inside Services section (dark bg overrides) */
.aplus-services .aplus-financing-benefits-heading {
  color: var(--color-truck-tan);
}
.aplus-services .aplus-fin-benefit {
  border-color: var(--color-ice-blue);
}
.aplus-services .aplus-fin-benefit.active {
  border-color: var(--color-ice-blue);
}
.aplus-services .aplus-fin-benefit-title {
  color: var(--color-ice-blue);
}
.aplus-services .aplus-fin-benefit.active .aplus-fin-benefit-title {
  color: var(--color-freezing-point);
}
.aplus-services .aplus-fin-benefit-arrow {
  color: var(--color-ice-blue);
}
/* Static benefits: bold label, normal description */
.aplus-static-benefits .aplus-fin-benefit-title {
  text-transform: none;
  font-weight: var(--font-weight-regular);
}
.aplus-static-benefits .aplus-fin-benefit-title strong,
.aplus-static-benefits .aplus-fin-benefit-title b {
  font-weight: var(--font-weight-bold);
}
/* Static benefits on dark bg: color overrides */
.aplus-services .aplus-static-benefits .aplus-fin-benefit-title {
  color: var(--color-white);
}
.aplus-services .aplus-static-benefits .aplus-fin-benefit-title strong,
.aplus-services .aplus-static-benefits .aplus-fin-benefit-title b {
  color: var(--color-ice-blue);
}
.aplus-services .aplus-static-benefits .aplus-fin-benefit-title a {
  color: var(--color-ice-blue);
}
.aplus-services .aplus-static-benefits .aplus-fin-benefit-title a:hover {
  color: var(--color-white);
}

/* Financing Option Cards */
.aplus-fin-card {
  background: var(--color-white);
  border: 1px solid var(--color-neutral-50);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  padding: 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  height: 100%;
}
.aplus-fin-card-title {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2rem;
  line-height: 1.25;
  color: var(--color-black);
  text-transform: uppercase;
  margin: 0;
}
.aplus-fin-card-logo {
  height: 48px;
  width: auto;
  object-fit: contain;
}
.aplus-fin-card p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-navy-blue);
  margin: 0;
}
.btn-ice-blue {
  display: inline-block;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  border: 2px solid var(--color-ice-blue);
  transition: background-color var(--transition-standard), border-color var(--transition-standard);
}
.btn-ice-blue:hover {
  background-color: var(--color-ice-blue-dark);
  border-color: var(--color-ice-blue-dark);
  color: var(--color-navy-blue);
}

/* Video Block */
.aplus-video-block {
  background-color: var(--color-navy-blue);
  padding: 4rem 0;
  border-bottom: 2px solid var(--color-ice-blue);
}
.aplus-video-block h2 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}
.aplus-video-block video {
  border-radius: var(--border-radius-large);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Community Org Grid */
.aplus-community-grid .row {
  --bs-gutter-x: 4px;
  --bs-gutter-y: 4px;
}

/* CTA Get Started Section */
.bg-yellow .col-lg-4 img {
  max-height: 300px;
}
@media (min-width: 768px) {
  .bg-yellow .col-lg-4 img {
    max-height: 375px;
  }
}
@media (min-width: 992px) {
  .bg-yellow .col-lg-4 img {
    max-height: 425px;
  }
}
@media (min-width: 1200px) {
  .bg-yellow .col-lg-4 img {
    max-height: 500px;
  }
}

/* === Customer Reviews Section === */
.aplus-reviews-section {
  background-color: var(--color-navy-blue);
  padding: 40px 0;
}
.aplus-reviews-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-truck-tan);
  text-transform: uppercase;
}
.btn-deep-blue-review {
  display: inline-block;
  background-color: var(--color-deep-blue);
  color: var(--color-freezing-point);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  border: 2px solid var(--color-deep-blue);
  transition: background-color var(--transition-standard), border-color var(--transition-standard);
}
.btn-deep-blue-review:hover {
  background-color: #044a85;
  border-color: #044a85;
  color: var(--color-freezing-point);
}
@media (max-width: 1199.98px) {
  .aplus-reviews-heading {
    font-size: 2rem;
  }
}
@media (max-width: 1199.98px) {
  .aplus-financing-heading {
    font-size: 2rem;
  }
}

/* === Maintenance Plan Section === */
.aplus-maintenance {
  background-color: var(--color-navy-blue);
  padding: 80px 0;
}
.aplus-maint-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-truck-tan);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.aplus-maint-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-truck-tan);
}
.aplus-maint-benefits-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-semibold);
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--color-truck-tan);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.aplus-maint-benefits {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aplus-maint-benefit {
  border: 1px solid var(--color-deep-blue);
  padding: 8px;
  cursor: pointer;
  transition: background-color var(--transition-standard);
}
.aplus-maint-benefit.active {
  background-color: var(--color-deep-blue);
}
.aplus-maint-benefit-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.aplus-maint-benefit-icon {
  border: 1px solid var(--color-ice-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  flex-shrink: 0;
}
.aplus-maint-benefit-icon.active-icon {
  background-color: var(--color-ice-blue);
  border-color: var(--color-ice-blue);
}
.aplus-maint-benefit.active .aplus-maint-benefit-icon {
  background-color: var(--color-ice-blue);
  border-color: var(--color-ice-blue);
}
.aplus-maint-benefit-icon .material-symbols-outlined {
  font-size: 18px;
  color: var(--color-ice-blue);
}
.aplus-maint-benefit.active .aplus-maint-benefit-icon .material-symbols-outlined {
  color: var(--color-deep-blue);
}
.aplus-maint-benefit-title {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  color: var(--color-ice-blue);
  flex: 1;
}
.aplus-maint-benefit.active .aplus-maint-benefit-title {
  color: var(--color-freezing-point);
}
.aplus-maint-benefit-arrow {
  font-size: 18px;
  color: var(--color-ice-blue);
  transition: transform 0.3s ease;
}
.aplus-maint-benefit.active .aplus-maint-benefit-arrow {
  transform: rotate(45deg);
}
.aplus-maint-benefit-body {
  display: block;
}
.aplus-maint-benefit.active .aplus-maint-benefit-body {
  display: block;
}
.aplus-maint-benefit-body p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.57;
  color: var(--color-freezing-point);
  margin: 0;
}
/* Plan Cards */
.aplus-plan-card {
  background-color: var(--color-deep-blue);
  display: flex;
  overflow: hidden;
}
.aplus-plan-card-img {
  flex: 1;
  min-height: 300px;
}
.aplus-plan-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aplus-plan-card-content {
  flex: 1;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.aplus-plan-card-overline {
  font-family: var(--font-barlow);
  font-weight: var(--font-weight-bold);
  font-size: 0.75rem;
  line-height: 1.67;
  color: var(--color-ice-blue);
  text-transform: uppercase;
}
.aplus-plan-card-title {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: 1.33;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin: 0;
}
.aplus-plan-card-content p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-white);
  margin: 0;
}
.btn-outline-light {
  display: inline-block;
  border: 2px solid var(--color-freezing-point);
  color: var(--color-freezing-point);
  background: transparent;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  transition: background-color var(--transition-standard);
  text-align: center;
}
.btn-outline-light:hover {
  background-color: rgba(239, 251, 255, 0.1);
  color: var(--color-freezing-point);
}
@media (max-width: 767.98px) {
  .aplus-plan-card {
    flex-direction: column;
  }
  .aplus-plan-card-img {
    min-height: 200px;
  }
  .aplus-maint-heading {
    font-size: 2rem;
  }
}

/* === Sister Companies Section === */
.aplus-sister-companies {
  background-color: var(--color-truck-tan);
  padding: 80px 0;
}
.aplus-sister-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  margin: 0;
}
.aplus-icon-18 {
  font-size: 18px;
  vertical-align: -3px;
}
.aplus-icon-3rem {
  font-size: 3rem;
}
.aplus-max-w-700 {
  max-width: 700px;
}
.aplus-max-w-800 {
  max-width: 800px;
}
.aplus-max-w-none {
  max-width: none !important;
}
.btn-sister {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--color-ice-blue);
  color: var(--color-navy-blue);
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  border: 2px solid var(--color-ice-blue);
  margin-top: auto;
  transition: background-color var(--transition-standard), border-color var(--transition-standard);
}
.btn-sister:hover {
  background-color: var(--color-ice-blue-dark);
  border-color: var(--color-ice-blue-dark);
  color: var(--color-navy-blue);
}
.aplus-sister-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-navy-blue);
}
.aplus-sister-card {
  background: var(--color-white);
  border: 1px solid var(--color-neutral-50);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}
.aplus-sister-card-logo {
  height: 80px;
  display: flex;
  align-items: center;
}
.aplus-sister-card-logo img {
  max-height: 80px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}
.aplus-sister-card p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-navy-blue);
  margin: 0;
  flex: 1;
}
@media (max-width: 1199.98px) {
  .aplus-sister-heading {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}

/* === Service Area Section === */
.aplus-service-area {
  background-color: var(--color-navy-blue);
  padding: 80px 0;
}
.aplus-sa-map {
  width: 100%;
  height: auto;
  display: block;
}
.aplus-sa-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-truck-tan);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.aplus-sa-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-truck-tan);
  margin-bottom: 32px;
}
.aplus-sa-locations-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.aplus-sa-locations {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.aplus-sa-locations-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.aplus-sa-location-item {
  background-color: var(--color-deep-blue);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  text-decoration: none;
  transition: background-color var(--transition-standard);
}
.aplus-sa-location-item:hover {
  background-color: #0660a8;
}
.aplus-sa-location-icon {
  background-color: var(--color-ice-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  flex-shrink: 0;
}
.aplus-sa-location-icon .material-symbols-outlined {
  font-size: 24px;
  color: var(--color-deep-blue);
}
.aplus-sa-location-name {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1.14;
  color: var(--color-freezing-point);
  text-transform: uppercase;
}
/* Callout box */
.aplus-sa-callout {
  background-color: var(--color-ice-blue);
  overflow: hidden;
}
.aplus-sa-callout-content {
  padding: 20px;
}
.aplus-sa-callout-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: 1.33;
  color: var(--color-deep-blue);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.aplus-sa-callout-content p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.57;
  color: var(--color-deep-blue);
  margin: 0;
}
.btn-outline-navy {
  display: inline-block;
  border: 2px solid var(--color-navy-blue);
  color: var(--color-navy-blue);
  background: transparent;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  transition: background-color var(--transition-standard);
}
.btn-outline-navy:hover {
  background-color: rgba(0, 41, 77, 0.1);
  color: var(--color-navy-blue);
}
@media (max-width: 767.98px) {
  .aplus-sa-locations {
    flex-direction: column;
  }
  .aplus-sa-heading {
    font-size: 2rem;
  }
}

/* === Specials & Promos Section === */
.aplus-specials {
  background-color: var(--color-truck-tan);
  padding: 80px 0;
}
.aplus-specials-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-deep-blue);
  text-transform: uppercase;
}
.aplus-specials-row {
  display: flex;
  gap: 12px;
}
.aplus-coupon-card {
  flex: 1;
  background-color: var(--color-navy-blue);
  border: 4px dashed var(--color-ice-blue);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.aplus-coupon-header {
  padding: 28px 28px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.aplus-coupon-value {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 3rem;
  line-height: 1.17;
  color: var(--color-freezing-point);
  text-transform: uppercase;
}
.aplus-coupon-label {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2rem;
  line-height: 1.25;
  color: var(--color-ice-blue);
  text-transform: uppercase;
}
.aplus-coupon-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex: 1;
}
.aplus-coupon-code {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1.5rem;
  line-height: 1.33;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  padding: 8px 0;
  border-bottom: 4px solid var(--color-deep-blue);
}
.aplus-coupon-desc {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-semibold);
  font-size: 1.125rem;
  line-height: 1.44;
  color: var(--color-freezing-point);
  margin: 0;
}
.aplus-coupon-disclaimer {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.75rem;
  line-height: 1.67;
  color: var(--color-freezing-point);
  margin: 0;
  margin-top: auto;
}
@media (max-width: 1199.98px) {
  .aplus-specials-row {
    flex-wrap: wrap;
  }
  .aplus-coupon-card {
    flex: 1 1 calc(50% - 12px);
    min-width: 280px;
  }
  .aplus-specials-heading {
    font-size: 2rem;
  }
}
@media (max-width: 767.98px) {
  .aplus-specials-row {
    flex-direction: column;
  }
  .aplus-coupon-card {
    flex: none;
    width: 100%;
  }
  .aplus-coupon-value {
    font-size: 2.5rem;
  }
  .aplus-coupon-label {
    font-size: 1.5rem;
  }
}

/* === Trust Closer Section === */
.aplus-trust-closer {
  background-color: var(--color-navy-blue);
  padding: 80px 0;
}
.aplus-trust-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.aplus-trust-body {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-freezing-point);
}
.aplus-trust-images {
  display: flex;
  gap: 20px;
  height: 400px;
}
.aplus-trust-img-col {
  flex: 1;
  overflow: hidden;
}
.aplus-trust-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aplus-trust-img-offset-down {
  padding-bottom: 20px;
}
.aplus-trust-img-offset-up {
  padding-top: 20px;
}
/* Badge Row */
.aplus-trust-badges {
  display: flex;
  gap: 20px;
  background-color: var(--color-deep-blue);
}
.aplus-trust-badge {
  flex: 1;
  text-align: center;
  padding: 20px;
  transition: background-color 0.6s ease;
}
.aplus-trust-badge:hover {
  background-color: var(--color-ice-blue);
}
.aplus-trust-badge-icon {
  font-size: 32px;
  color: var(--color-ice-blue);
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 0;
  transition: background-color 0.6s ease, color 0.6s ease;
}
img.aplus-trust-badge-icon {
  height: 48px;
  width: auto;
}
.aplus-trust-badge:hover .aplus-trust-badge-icon {
  background-color: var(--color-navy-blue);
  color: var(--color-ice-blue);
}
.aplus-trust-badge-title {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1.14;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  margin-bottom: 8px;
  transition: color 0.6s ease;
}
.aplus-trust-badge:hover .aplus-trust-badge-title {
  color: var(--color-freezing-point);
}
.aplus-trust-badge p {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.75rem;
  line-height: 1.67;
  color: var(--color-freezing-point);
  font-style: italic;
  margin: 0;
  transition: color 0.6s ease;
}
.aplus-trust-badge:hover p {
  color: var(--color-freezing-point);
}
@media (max-width: 1199.98px) {
  .aplus-trust-heading {
    font-size: 2rem;
  }
  .aplus-trust-badges {
    flex-wrap: wrap;
  }
  .aplus-trust-badge {
    flex: 1 1 calc(33% - 20px);
    min-width: 180px;
  }
}
@media (max-width: 767.98px) {
  .aplus-trust-badges {
    flex-direction: column;
  }
  .aplus-trust-badge {
    flex: none;
  }
}

/* === FAQs Section === */
.aplus-faqs {
  background-color: var(--color-freezing-point);
  padding: 80px 0;
}
.aplus-faqs-heading {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--color-deep-blue);
  text-transform: uppercase;
}
.aplus-faq-accordion .aplus-faq-item {
  border: none;
  border-bottom: 1px solid var(--color-ice-blue);
  border-radius: 0;
  background: transparent;
}
.aplus-faq-btn {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 8px 0;
  box-shadow: none;
  font-family: var(--font-inter);
  font-weight: var(--font-weight-semibold);
  font-size: 1.125rem;
  line-height: 1.44;
  color: var(--color-deep-blue);
  gap: 12px;
}
.aplus-faq-btn:focus {
  box-shadow: none;
}
.aplus-faq-btn:not(.collapsed) {
  background: transparent;
  color: var(--color-deep-blue);
  box-shadow: none;
}
.aplus-faq-btn::after {
  display: none;
}
.aplus-faq-icon {
  font-size: 16px;
  color: var(--color-deep-blue);
  flex-shrink: 0;
  background: none;
  border-radius: 0;
}
.aplus-faq-btn:not(.collapsed) .aplus-faq-icon {
  font-size: 0;
}
.aplus-faq-btn:not(.collapsed) .aplus-faq-icon::after {
  content: "cancel";
  font-family: 'Material Symbols Outlined';
  font-size: 16px;
  font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 200, 'opsz' 48;
}
.aplus-faq-body {
  padding: 0 0 12px;
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.57;
  color: var(--color-navy-blue);
}
@media (max-width: 1199.98px) {
  .aplus-faqs-heading {
    font-size: 2rem;
  }
}

/* === Footer === */
.aplus-footer {
  background-color: var(--color-navy-blue);
  color: var(--color-freezing-point);
}
.aplus-footer-badge-row {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid var(--color-deep-blue);
}
.aplus-footer-logo {
  flex-shrink: 0;
}
.aplus-footer-logo img {
  width: 280px;
  height: auto;
}
.aplus-footer-badges {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 12px;
  flex: 1;
  justify-content: flex-end;
}
.aplus-footer-badge {
  background-color: var(--color-deep-blue);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 12px;
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125;
  color: var(--color-freezing-point);
  text-transform: uppercase;
  white-space: nowrap;
}
.aplus-footer-badge-icon-wrap {
  background-color: var(--color-ice-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  flex-shrink: 0;
}
.aplus-footer-badge-icon-wrap .material-symbols-outlined {
  font-size: 28px;
  color: var(--color-deep-blue);
  background: none;
  border-radius: 0;
}
.aplus-footer-links {
  padding-top: 40px;
  padding-bottom: 40px;
}
.aplus-footer-links h3 {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-size: 0.875rem;
  line-height: 1.14;
  color: var(--color-ice-blue);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.aplus-footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.aplus-footer-links ul li {
  margin-bottom: 4px;
}
.aplus-footer-links ul li a,
.aplus-footer-links p,
.aplus-footer-links p a {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  font-size: 0.875rem;
  line-height: 1.57;
  color: var(--color-freezing-point);
  text-decoration: none;
}
.aplus-footer-links ul li a:hover,
.aplus-footer-links p a:hover {
  color: var(--color-ice-blue);
}
.aplus-footer-label {
  font-weight: var(--font-weight-bold);
  margin-bottom: 0;
}
@media (max-width: 1399.98px) {
  .aplus-footer-badge-row {
    flex-wrap: wrap;
    gap: 20px;
  }
  .aplus-footer-badges {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }
  .aplus-footer-badge {
    font-size: 0.875rem;
  }
  .aplus-footer-logo img {
    width: 200px;
  }
}
@media (max-width: 767.98px) {
  .aplus-footer-badge-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .aplus-footer-badges {
    grid-template-columns: 1fr;
  }
}
 /* === AC Repair Process === */                                                                                                                                  
  .aplus-step-num {                                                                                                                                                
    display: inline-flex;
    align-items: center;                                                                                                                                           
    justify-content: center;
    width: 24px;
    height: 24px;                                                                                                                                                  
    background-color: var(--color-navy-blue);
    color: var(--color-ice-blue);                                                                                                                                  
    font-family: var(--font-poppins);
    font-weight: var(--font-weight-bold);                                                                                                                          
    font-size: 0.75rem;
    border-radius: 50%;                                                                                                                                            
    flex-shrink: 0;
    margin-right: 4px;
  }

  .aplus-process-wrapper {
    max-width: 1200px;
    margin: 0 auto;
  }

  .aplus-process-wrapper .list-group-item {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--color-deep-blue);
    background-color: var(--color-truck-tan) !important;
    font-family: var(--font-poppins);
    font-weight: var(--font-weight-bold);
    font-size: 0.875rem;
    padding: 10px 12px;
    border: none !important;
    border-radius: 0 !important;
    white-space: nowrap;
  }
  .aplus-process-wrapper .list-group-item .aplus-step-num {
    margin-right: 0;
  }
  .aplus-process-wrapper .list-group-item.active {
    background-color: var(--color-ice-blue) !important;
    color: var(--color-navy-blue);
  }
  @media (max-width: 991.98px) {
    .aplus-process-wrapper .list-group-horizontal {
      flex-direction: column !important;
    }
    .aplus-process-wrapper .list-group-item {
      justify-content: flex-start;
      font-size: 0.875rem;
      padding: 10px 12px;
      gap: 8px;
      border-bottom: 1px solid rgba(5, 83, 150, 0.1) !important;
    }
    .aplus-process-wrapper .list-group-item:last-child {
      border-bottom: none !important;
    }
  }

  /* Process Pane */
  .aplus-process-pane {
    background-color: var(--color-deep-blue);
    padding: 32px;
    border-top: 3px solid var(--color-ice-blue);
    text-align: center;
  }               
  .aplus-process-pane h3 {                                                                                                                                         
    display: flex;
    align-items: center;                                                                                                                                           
    justify-content: center;
    gap: 12px;
    font-family: var(--font-poppins);
    font-weight: var(--font-weight-bold);
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--color-ice-blue);
    text-transform: uppercase;
    margin-bottom: 16px;                                                                                                                                           
  }
  .aplus-process-icon {                                                                                                                                            
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;                                                                                                                                                  
    background-color: var(--color-ice-blue);
    color: var(--color-navy-blue) !important;                                                                                                                      
    font-size: 28px !important;
    flex-shrink: 0;                                                                                                                                                
  }
  .aplus-process-pane p,                                                                                                                                           
  .aplus-process-pane ul,
  .aplus-process-pane li {                                                                                                                                         
    font-family: var(--font-inter);
    font-weight: var(--font-weight-regular);                                                                                                                       
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-freezing-point);
  }
  .aplus-process-pane ul {
    padding-left: 1.25rem;
    text-align: left;                                                                                                                                              
    display: inline-block;
  }                                                                                                                                                                
  .aplus-process-pane li {
    margin-bottom: 4px;                                                                                                                                            
  }
  @media (max-width: 767.98px) {
    .aplus-process-pane {
      padding: 24px 16px;
    }
  }

/* === Service Card Read More === */
.aplus-svc-readmore { margin-top: auto; }
.aplus-svc-readmore-btn {
    background: none;
    border: none;
    color: #a8d8ea;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.aplus-svc-readmore-btn:hover { opacity: .8; }
.aplus-svc-readmore-btn .material-symbols-outlined {
    font-size: 18px;
}
.aplus-svc-readmore-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}
.aplus-svc-readmore-body p {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: #a8d8ea;
}
.aplus-svc-readmore.open .aplus-svc-readmore-body {
    max-height: 200px;
}