/* === Red Barn Media Group - Weather Engineers, Inc. === */

/* === CSS Custom Properties === */
:root {
  /* Brand Colors */
  --color-gator-green: #00817a;
  --color-electric-yellow: #ffdf1c;
  --color-electric-yellow-25: rgba(255, 223, 28, 0.25);
  --color-truck-tan: #fff6ea;
  --color-background-tan: #ffecda;
  --color-deep-green: #004f4a;
  --color-dark-green: #001e1c;
  --color-seafoam: #e9f6f6;
  --color-seafoam-10: rgba(233, 246, 246, 0.1);

  /* Generic */
  --color-white: #ffffff;
  --color-white-opacity-15: rgba(255, 255, 255, 0.15);
  --color-white-opacity-60: rgba(255, 255, 255, 0.6);
  --color-white-opacity-80: rgba(255, 255, 255, 0.8);
  --color-gray-666: #666;
  --color-black: #000000;

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

  /* Dark Mode */
  --color-dm-00dp: #121212;
  --color-dm-01dp: #1e1e1e;
  --color-dm-02dp: #222222;
  --color-dm-03dp: #252525;
  --color-dm-04dp: #272727;
  --color-dm-06dp: #2c2c2c;
  --color-dm-08dp: #2e2e2e;
  --color-dm-12dp: #333333;
  --color-dm-16dp: #353535;
  --color-dm-24dp: #383838;

  /* Gradients */
  --gradient-lime-wedge: linear-gradient(
    to right,
    var(--color-gator-green),
    var(--color-electric-yellow)
  );
  --gradient-lime-wedge-reverse: linear-gradient(
    75deg,
    var(--color-electric-yellow),
    var(--color-gator-green)
  );
  --gradient-subtle-green: linear-gradient(
    60deg,
    var(--color-deep-green),
    var(--color-gator-green)
  );
  --gradient-soft-trust: linear-gradient(79deg, var(--color-seafoam), #fffaf4);
  --gradient-warm-trust: linear-gradient(
    125deg,
    var(--color-truck-tan) 14.21%,
    var(--color-seafoam) 85.79%
  );
  --gradient-deep-vignette: linear-gradient(
    270deg,
    var(--color-deep-green) 0%,
    rgba(0, 79, 74, 0) 25%,
    rgba(0, 79, 74, 0) 75%,
    var(--color-deep-green) 100%
  );
  --gradient-lime-overlay: linear-gradient(
    93deg,
    var(--color-gator-green) 63.08%,
    rgba(255, 223, 28, 0.1) 98.59%
  );
  --gradient-dark-warm: linear-gradient(to bottom, var(--color-dm-00dp), rgba(65, 16, 5, 0.5));
  --gradient-dark-cool: linear-gradient(to bottom, var(--color-dm-00dp), rgba(0, 62, 79, 0.5));
  --gradient-financing-overlay: linear-gradient(
    132deg,
    rgba(1, 190, 240, 0.25) 0%,
    rgba(18, 18, 18, 0.25) 50%,
    rgba(239, 84, 47, 0.25) 100%
  );

  /* Typography */
  --font-brother: 'brother-1816', sans-serif;
  --font-inter: inter, sans-serif;
  --font-weight-bold: 700;
  --font-weight-semibold: 600;
  --font-weight-medium: 500;
  --font-weight-regular: 400;

  /* Layout */
  --hero-height: 750px;
  --hero-padding: 3rem;
  --transition-standard: 0.25s;
  --border-radius-standard: 0.75rem;
  --border-radius-large: 1.25rem;
  --border-radius-card: 1rem;
  --box-shadow-dropdown: 0 3rem 3rem rgba(0, 0, 0, 0.175);
  --margin-standard: 1rem;
  --font-size-xs: 0.75rem;
}

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

body {
  color: var(--color-dm-00dp);
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
  background-color: var(--color-truck-tan);
}

/* === Typography === */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--font-brother);
  color: var(--color-dm-00dp);
  font-weight: var(--font-weight-bold);
}

.brother {
  font-family: var(--font-brother);
}
.inter {
  font-family: var(--font-inter);
}
.bold {
  font-weight: var(--font-weight-bold);
}
.semibold {
  font-weight: var(--font-weight-semibold);
}
.medium {
  font-weight: var(--font-weight-medium);
}
.regular {
  font-weight: var(--font-weight-regular);
}
p,
ul li,
ol li,
table {
  font-size: 0.85rem;
  font-weight: var(--font-weight-regular);
}
.fs-7 {
  font-size: 0.85rem;
}
.fs-8 {
  font-size: 0.75rem;
}

.icon-button {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  justify-content: center;
}
/* === Menu Styles === */
.menu-container {
  background: transparent;
  margin-top: 0 !important;
}
.menu-container.shrink-menu {
  background: var(--color-truck-tan);
  margin-top: 0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.navbar-nav {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 6rem;
  transition: height var(--transition-standard);
}

.shrink-menu .navbar-nav {
  height: 5rem;
}

/* Navigation Links */
.menu-container .navbar-light .navbar-nav .nav-link {
  color: var(--color-deep-green);
  font-family: var(--font-brother);
  font-weight: var(--font-weight-medium);
  font-size: 0.9rem;
}
.menu-container.shrink-menu .navbar-light .navbar-nav .nav-link {
  font-size: 0.85rem;
}

.dropdown-toggle:not(.has-dropdown)::after,
.dropend .dropdown-item:not(.has-dropend)::after,
.dropstart .dropdown-toggle:not(.has-dropstart)::before {
  /* This removes the border-based triangle */
  border: 0 !important;

  /* This prevents an empty space from sometimes appearing */
  margin: 0 !important;
}

.has-dropdown,
.has-dropend {
  /* Use flexbox for easy alignment and spacing */
  align-items: center;
  gap: 0.25em; /* Adjust space between text and icon */
}

.has-dropdown::after {
  content: '\f0d7';
  color: var(--color-gator-green);
  font: var(--fa-font-solid);
  border: 0;
  margin-left: 0;
  font-size: inherit;
  vertical-align: middle;
}
.dropend .dropdown-item.has-dropend::after {
  content: '\f054';
  font: var(--fa-font-solid);
  border: 0;
  margin-left: 0.255em;
  font-size: 1em;
  vertical-align: middle;
}

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

.menu-container .navbar-light .navbar-nav .nav-link:is(:hover, :active) {
  color: var(--color-gator-green);
}

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

.nav-item .dropdown-item:is(:hover, :active) {
  background-color: var(--color-neutral-100);
  border-radius: var(--border-radius-standard);
  color: var(--color-deep-green) !important;
}

.navbar-expand-xl .navbar-nav .dropdown-menu {
  background: var(--color-white);
  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);
}

.wei-mega-dropdown-row {
  background-color: var(--color-truck-tan);
  border-radius: var(--border-radius-standard);
  transition-duration: var(--transition-standard);
}
.wei-mega-dropdown-row:is(:hover, :focus, :active) {
  background-color: var(--color-background-tan);
}

.navbar-expand-xl .navbar-nav .dropdown-menu.mega-dropdown {
  top: 4rem;
  padding: 0.5rem;
  border-radius: var(--border-radius-standard);
  transition: top var(--transition-standard);
  width: 100%;
}

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

.wei-mega-dropdown-group p {
  font-family: var(--font-brother);
  font-size: 0.9rem;
  color: var(--color-deep-green);
  transition-duration: var(--transition-standard);
  font-weight: var(--font-weight-medium);
  margin-bottom: 0rem;
}
.wei-mega-dropdown-group:is(:hover, :focus, :active) p {
  color: var(--color-gator-green);
}

/* Logo Styles */
.wei-logo-desktop {
  background: url(../img/weather-engineers-logo.svg);
  position: absolute;
  width: 215px;
  height: 60px;
  top: -2.65rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all var(--transition-standard);
}

.shrink-menu .wei-logo-desktop {
  width: 179px;
  height: 50px;
  top: -2.25rem;
}

.wei-menu-bottom-border-gradient {
  background: var(--gradient-subtle-green);
  width: 100%;
}
/* === Home Hero Styles === */
.wei-hero-intro {
  background: var(--gradient-warm-trust);
  width: 100%;
  height: var(--hero-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding-top: 4rem;
  padding-bottom: 0rem;
}
.wei-hero-intro-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-deep-vignette);
  z-index: 1;
}
.wei-hero-intro h1 {
  color: var(--color-deep-green);
  font-size: calc(1.5rem + 1.5vw);
  line-height: 1;
}

/* === Sub-Page Hero Backgrounds === */

/* === Banner Styles === */
.wei-benefits-tag-bar-wrapper {
  position: relative;
  z-index: 2;
}
.wei-benefits-tag-bar {
  background-color: rgba(255, 223, 28, 0.9);
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 18px;
  color: var(--color-gator-green);
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
}
.bg-envirovac-banner {
  display: none;
}
@media (min-width: 1200px) {
  .bg-envirovac-banner {
    display: block;
    background-image: url('/img/wei-banner-envirovac-813-603.webp');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 482px;
  }
}

.wei-truck-bg {
  background-image: url('/img/wei-truck-clipped.webp');
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  position: absolute;
  top: -20px;
  bottom: -20px;
  right: 0;
  width: 46%;
}

/* === Button Styles === */
.btn {
  padding: 0.65rem 0.75rem;
  font-family: var(--font-brother);
  font-weight: var(--font-weight-semibold);
  border-radius: 8px;
  font-size: 0.9rem;
  margin-bottom: 1rem;
  transition: all var(--transition-standard);
}

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

/* GATOR GREEN BTN */
.btn-gator-green {
  color: var(--color-white);
  background: var(--color-gator-green);
  border-color: var(--color-gator-green);
}
.btn-gator-green:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-deep-green);
  border-color: var(--color-gator-green);
}
.btn-outline-gator-green {
  color: var(--color-gator-green);
  background: transparent;
  border-color: var(--color-gator-green);
}
.btn-outline-gator-green:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-gator-green);
  border-color: var(--color-gator-green);
}

/* ELECTRIC YELLOW BTN */
.btn-electric-yellow,
.btn-252423 {
  color: var(--color-deep-green);
  background: var(--color-electric-yellow);
  border-color: var(--color-electric-yellow);
}
.btn-electric-yellow:is(:hover, :active, :focus),
.btn-252423:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: #e6c919;
  border-color: var(--color-electric-yellow);
}
.btn-outline-electric-yellow {
  color: var(--color-electric-yellow);
  background: transparent;
  border-color: var(--color-electric-yellow);
}
.btn-outline-electric-yellow:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: var(--color-electric-yellow);
  border-color: var(--color-electric-yellow);
}

/* TRUCK TAN BTN */
.btn-truck-tan {
  color: var(--color-deep-green);
  background: var(--color-truck-tan);
  border-color: var(--color-truck-tan);
}
.btn-truck-tan:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: #f0ebe5;
  border-color: var(--color-truck-tan);
}
.btn-outline-truck-tan {
  color: var(--color-truck-tan);
  background: transparent;
  border-color: var(--color-truck-tan);
}
.btn-outline-truck-tan:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: var(--color-truck-tan);
  border-color: var(--color-truck-tan);
}

/* DEEP GREEN BTN */
.btn-deep-green {
  color: var(--color-white);
  background: var(--color-deep-green);
  border-color: var(--color-deep-green);
}
.btn-deep-green:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: #003832;
  border-color: var(--color-deep-green);
}
.btn-outline-deep-green {
  color: var(--color-deep-green);
  background: transparent;
  border-color: var(--color-deep-green);
}
.btn-outline-deep-green:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-deep-green);
  border-color: var(--color-deep-green);
}

/* SEAFOAM BTN */
.btn-seafoam {
  color: var(--color-white);
  background: var(--color-seafoam);
  border-color: var(--color-seafoam);
}
.btn-seafoam:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-gator-green);
  border-color: var(--color-seafoam);
}
.btn-outline-seafoam {
  color: var(--color-seafoam);
  background: transparent;
  border-color: var(--color-seafoam);
}
.btn-outline-seafoam:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: var(--color-seafoam);
  border-color: var(--color-seafoam);
}

/* NEUTRAL 50 BTN */
.btn-neutral-50 {
  color: var(--color-dm-00dp);
  background: var(--color-neutral-50);
  border-color: var(--color-neutral-50);
}
.btn-neutral-50:is(:hover, :active, :focus) {
  color: var(--color-dm-00dp);
  background: var(--color-neutral-200);
  border-color: var(--color-neutral-50);
}
.btn-outline-neutral-50 {
  color: var(--color-neutral-700);
  background: transparent;
  border-color: var(--color-neutral-50);
}
.btn-outline-neutral-50:is(:hover, :active, :focus) {
  color: var(--color-dm-00dp);
  background: var(--color-neutral-50);
  border-color: var(--color-neutral-50);
}

/* DARK MODE 00DP BTN */
.btn-dm-00dp {
  color: var(--color-white);
  background: var(--color-dm-00dp);
  border-color: var(--color-dm-00dp);
}
.btn-dm-00dp:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-dm-04dp);
  border-color: var(--color-dm-00dp);
}
.btn-outline-dm-00dp {
  color: var(--color-dm-00dp);
  background: transparent;
  border-color: var(--color-dm-00dp);
}
.btn-outline-dm-00dp:is(:hover, :active, :focus) {
  color: var(--color-white);
  background: var(--color-dm-00dp);
  border-color: var(--color-dm-00dp);
}

/* TRANSLUCENT WHITE BTN */
.btn-white {
  color: var(--color-white);
  background: var(--color-white-opacity-15);
  border-color: var(--color-white);
}
.btn-white:is(:hover, :active, :focus) {
  color: var(--color-deep-green);
  background: var(--color-white-opacity-60);
  border-color: var(--color-white);
}

/* === Link Color Classes === */
a.link-gator-green {
  color: var(--color-gator-green);
}
a.link-gator-green:is(:hover, :focus, :active) {
  color: var(--color-deep-green);
}

a.link-electric-yellow {
  color: var(--color-electric-yellow);
}
a.link-electric-yellow:is(:hover, :focus, :active) {
  color: var(--color-gator-green);
}

a.link-deep-green {
  color: var(--color-deep-green);
}
a.link-deep-green:is(:hover, :focus, :active) {
  color: var(--color-gator-green);
}

a.link-seafoam {
  color: var(--color-seafoam);
}
a.link-seafoam:is(:hover, :focus, :active) {
  color: var(--color-gator-green);
}

a.link-truck-tan {
  color: var(--color-truck-tan);
}
a.link-truck-tan:is(:hover, :focus, :active) {
  color: var(--color-electric-yellow);
}

a.link-white {
  color: var(--color-white);
}
a.link-white:is(:hover, :focus, :active) {
  color: var(--color-electric-yellow);
}

a.link-neutral-500 {
  color: var(--color-neutral-500);
}
a.link-neutral-500:is(:hover, :focus, :active) {
  color: var(--color-neutral-600);
}

/* === Hover Effects === */
.wei-hover-effect-01 {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.15);
  transition: var(--transition-standard);
}

.wei-hover-effect-01:is(:hover, :focus, :active) {
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.wei-hover-effect-02 {
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);
  transition: var(--transition-standard);
}

.wei-hover-effect-02:is(:hover, :focus, :active) {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* === Color Utility Classes === */

/* GATOR GREEN */
.border-gator-green {
  border-color: var(--color-gator-green) !important;
}
.text-gator-green {
  color: var(--color-gator-green) !important;
}
.bg-gator-green {
  background-color: var(--color-gator-green) !important;
}

/* ELECTRIC YELLOW */
.border-electric-yellow {
  border-color: var(--color-electric-yellow) !important;
}
.text-electric-yellow {
  color: var(--color-electric-yellow) !important;
}
.bg-electric-yellow {
  background-color: var(--color-electric-yellow) !important;
}

/* TRUCK TAN */
.border-truck-tan {
  border-color: var(--color-truck-tan) !important;
}
.text-truck-tan {
  color: var(--color-truck-tan) !important;
}
.bg-truck-tan {
  background-color: var(--color-truck-tan) !important;
}

/* DEEP GREEN */
.border-deep-green {
  border-color: var(--color-deep-green) !important;
}
.text-deep-green {
  color: var(--color-deep-green) !important;
}
.bg-deep-green {
  background-color: var(--color-deep-green) !important;
}

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

/* SEAFOAM */
.border-seafoam {
  border-color: var(--color-seafoam) !important;
}
.text-seafoam {
  color: var(--color-seafoam) !important;
}
.bg-seafoam {
  background-color: var(--color-seafoam) !important;
}

/* WHITE */
.border-white {
  border-color: var(--color-white) !important;
}
.text-white {
  color: var(--color-white) !important;
}
.bg-white {
  background-color: var(--color-white) !important;
}

/* WHITE OPACITY 15 */
.border-white-opacity-15 {
  border-color: var(--color-white-opacity-15) !important;
}
.text-white-opacity-15 {
  color: var(--color-white-opacity-15) !important;
}
.bg-white-opacity-15 {
  background-color: var(--color-white-opacity-15) !important;
}

/* WHITE OPACITY 60 */
.border-white-opacity-60 {
  border-color: var(--color-white-opacity-60) !important;
}
.text-white-opacity-60 {
  color: var(--color-white-opacity-60) !important;
}
.bg-white-opacity-60 {
  background-color: var(--color-white-opacity-60) !important;
}

/* WHITE OPACITY 80 */
.border-white-opacity-80 {
  border-color: var(--color-white-opacity-80) !important;
}
.text-white-opacity-80 {
  color: var(--color-white-opacity-80) !important;
}
.bg-white-opacity-80 {
  background-color: var(--color-white-opacity-80) !important;
}
.text-white-opacity-80:is(:hover, :active, :focus) {
  color: var(--color-white);
  transition: var(--transition-standard);
}

/* GRAY 666 */
.border-gray-666 {
  border-color: var(--color-gray-666) !important;
}
.text-gray-666 {
  color: var(--color-gray-666) !important;
}
.bg-gray-666 {
  background-color: var(--color-gray-666) !important;
}

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

/* NEUTRAL 50 */
.border-neutral-50 {
  border-color: var(--color-neutral-50) !important;
}
.text-neutral-50 {
  color: var(--color-neutral-50) !important;
}
.bg-neutral-50 {
  background-color: var(--color-neutral-50) !important;
}

/* NEUTRAL 100 */
.border-neutral-100 {
  border-color: var(--color-neutral-100) !important;
}
.text-neutral-100 {
  color: var(--color-neutral-100) !important;
}
.bg-neutral-100 {
  background-color: var(--color-neutral-100) !important;
}

/* NEUTRAL 200 */
.border-neutral-200 {
  border-color: var(--color-neutral-200) !important;
}
.text-neutral-200 {
  color: var(--color-neutral-200) !important;
}
.bg-neutral-200 {
  background-color: var(--color-neutral-200) !important;
}

/* NEUTRAL 300 */
.border-neutral-300 {
  border-color: var(--color-neutral-300) !important;
}
.text-neutral-300 {
  color: var(--color-neutral-300) !important;
}
.bg-neutral-300 {
  background-color: var(--color-neutral-300) !important;
}

/* NEUTRAL 400 */
.border-neutral-400 {
  border-color: var(--color-neutral-400) !important;
}
.text-neutral-400 {
  color: var(--color-neutral-400) !important;
}
.bg-neutral-400 {
  background-color: var(--color-neutral-400) !important;
}

/* NEUTRAL 500 */
.border-neutral-500 {
  border-color: var(--color-neutral-500) !important;
}
.text-neutral-500 {
  color: var(--color-neutral-500) !important;
}
.bg-neutral-500 {
  background-color: var(--color-neutral-500) !important;
}

/* NEUTRAL 600 */
.border-neutral-600 {
  border-color: var(--color-neutral-600) !important;
}
.text-neutral-600 {
  color: var(--color-neutral-600) !important;
}
.bg-neutral-600 {
  background-color: var(--color-neutral-600) !important;
}

/* NEUTRAL 700 */
.border-neutral-700 {
  border-color: var(--color-neutral-700) !important;
}
.text-neutral-700 {
  color: var(--color-neutral-700) !important;
}
.bg-neutral-700 {
  background-color: var(--color-neutral-700) !important;
}

/* DARK MODE 00DP */
.border-dm-00dp {
  border-color: var(--color-dm-00dp) !important;
}
.text-dm-00dp {
  color: var(--color-dm-00dp) !important;
}
.bg-dm-00dp {
  background-color: var(--color-dm-00dp) !important;
}

/* DARK MODE 01DP */
.border-dm-01dp {
  border-color: var(--color-dm-01dp) !important;
}
.text-dm-01dp {
  color: var(--color-dm-01dp) !important;
}
.bg-dm-01dp {
  background-color: var(--color-dm-01dp) !important;
}

/* DARK MODE 02DP */
.border-dm-02dp {
  border-color: var(--color-dm-02dp) !important;
}
.text-dm-02dp {
  color: var(--color-dm-02dp) !important;
}
.bg-dm-02dp {
  background-color: var(--color-dm-02dp) !important;
}

/* DARK MODE 03DP */
.border-dm-03dp {
  border-color: var(--color-dm-03dp) !important;
}
.text-dm-03dp {
  color: var(--color-dm-03dp) !important;
}
.bg-dm-03dp {
  background-color: var(--color-dm-03dp) !important;
}

/* DARK MODE 04DP */
.border-dm-04dp {
  border-color: var(--color-dm-04dp) !important;
}
.text-dm-04dp {
  color: var(--color-dm-04dp) !important;
}
.bg-dm-04dp {
  background-color: var(--color-dm-04dp) !important;
}

/* DARK MODE 06DP */
.border-dm-06dp {
  border-color: var(--color-dm-06dp) !important;
}
.text-dm-06dp {
  color: var(--color-dm-06dp) !important;
}
.bg-dm-06dp {
  background-color: var(--color-dm-06dp) !important;
}

/* DARK MODE 08DP */
.border-dm-08dp {
  border-color: var(--color-dm-08dp) !important;
}
.text-dm-08dp {
  color: var(--color-dm-08dp) !important;
}
.bg-dm-08dp {
  background-color: var(--color-dm-08dp) !important;
}

/* DARK MODE 12DP */
.border-dm-12dp {
  border-color: var(--color-dm-12dp) !important;
}
.text-dm-12dp {
  color: var(--color-dm-12dp) !important;
}
.bg-dm-12dp {
  background-color: var(--color-dm-12dp) !important;
}

/* DARK MODE 16DP */
.border-dm-16dp {
  border-color: var(--color-dm-16dp) !important;
}
.text-dm-16dp {
  color: var(--color-dm-16dp) !important;
}
.bg-dm-16dp {
  background-color: var(--color-dm-16dp) !important;
}

/* DARK MODE 24DP */
.border-dm-24dp {
  border-color: var(--color-dm-24dp) !important;
}
.text-dm-24dp {
  color: var(--color-dm-24dp) !important;
}
.bg-dm-24dp {
  background-color: var(--color-dm-24dp) !important;
}

/* GRADIENTS */
.bg-gradient-lime-wedge {
  background: var(--gradient-lime-wedge) !important;
}
.bg-gradient-lime-wedge-reverse {
  background: var(--gradient-lime-wedge-reverse) !important;
}
.bg-gradient-subtle-green {
  background: var(--gradient-subtle-green) !important;
}
.bg-gradient-soft-trust {
  background: var(--gradient-soft-trust) !important;
}
.bg-gradient-warm-trust {
  background: var(--gradient-warm-trust) !important;
}
.bg-gradient-deep-vignette {
  background: var(--gradient-deep-vignette) !important;
}
.bg-gradient-lime-overlay {
  background: var(--gradient-lime-overlay) !important;
}
.bg-gradient-dark-warm {
  background: var(--gradient-dark-warm) !important;
}
.bg-gradient-dark-cool {
  background: var(--gradient-dark-cool) !important;
}
.bg-gradient-financing-overlay {
  background: var(--gradient-financing-overlay) !important;
}
.gradient-lime-wedge-icon {
  background: var(--gradient-lime-wedge);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* === 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;
}
ul li strong {
  color: var(--color-deep-green);
}
.bg-dm-00dp ul li strong,
.accordion ul li strong {
  color: var(--color-electric-yellow);
}
.accordion-button .fa-solid {
  transition: transform 0.3s ease-in-out;
}
.accordion-button:not(.collapsed) .faq-icon {
  transform: rotate(45deg);
}

.accordion {
  background: transparent;
  border: none;
  color: var(--color-deep-green);
}
.accordion-item,
.accordion-header,
.accordion-button {
  background: transparent;
  border: none;
  color: var(--color-deep-green);
}
.accordion-item {
  border-bottom: 0.25px solid var(--color-gray-666);
}
.accordion-button {
  font-size: 0.9rem;
}
.accordion-body {
  font-size: 0.8rem;
}

/* 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-gator-green);
  box-shadow: none;
  background: transparent;
}
.accordion-button::after {
  display: none !important;
}

.accordion.wei-comprehensive-service-accordion .accordion-item {
  background-color: var(--color-white-opacity-15);
  border-radius: var(--border-radius-standard);
  border: 1px solid var(--color-white) !important;
  margin-bottom: var(--margin-standard);
}
.accordion.wei-comprehensive-service-accordion .accordion-item .accordion-header .accordion-button {
  text-transform: uppercase;
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
}
.accordion.wei-comprehensive-service-accordion .accordion-item .accordion-body {
  color: var(--color-white);
}

/* WEI Financing Accordion Variant */
.accordion.wei-financing-accordion .accordion-item {
  background-color: var(--color-white);
  border-radius: var(--border-radius-standard) !important;
  border: none !important;
  margin-bottom: 0.625rem;
  overflow: hidden;
}
.accordion.wei-financing-accordion .accordion-item:last-of-type {
  margin-bottom: 0;
}
.accordion.wei-financing-accordion .accordion-item .accordion-header .accordion-button {
  font-family: var(--font-inter);
  font-weight: var(--font-weight-semibold);
  font-size: 0.95rem;
  color: var(--color-dm-00dp);
  background-color: var(--color-white);
  padding: 0.875rem 1.125rem;
  border-radius: var(--border-radius-standard);
  transition: background-color var(--transition-standard), color var(--transition-standard);
}
.accordion.wei-financing-accordion .accordion-item .accordion-header .accordion-button:focus {
  box-shadow: none;
}
.accordion.wei-financing-accordion
  .accordion-item
  .accordion-header
  .accordion-button:focus-visible {
  outline: 2px solid var(--color-electric-yellow);
  outline-offset: -2px;
}
.accordion.wei-financing-accordion
  .accordion-item
  .accordion-header
  .accordion-button:not(.collapsed) {
  background-color: var(--color-dm-00dp);
  color: var(--color-white);
  border-radius: var(--border-radius-standard) var(--border-radius-standard) 0 0;
  box-shadow: none;
}
.accordion.wei-financing-accordion
  .accordion-item
  .accordion-header
  .accordion-button:not(.collapsed)
  > i:first-child {
  color: var(--color-electric-yellow);
}
.accordion.wei-financing-accordion
  .accordion-item
  .accordion-header
  .accordion-button
  .wei-accordion-icon-toggle {
  font-size: 1.125rem;
  transition: transform var(--transition-standard);
}
.accordion.wei-financing-accordion .accordion-item .accordion-body {
  font-family: var(--font-inter);
  font-size: 0.85rem;
  color: var(--color-white);
  padding: 0.75rem 1.125rem 1rem;
  background-color: var(--color-dm-00dp);
}
/* Toggle icon: show plus when collapsed, xmark when expanded */
.accordion.wei-financing-accordion .accordion-button .fa-circle-xmark {
  display: none;
}
.accordion.wei-financing-accordion .accordion-button .fa-circle-plus {
  display: inline-block;
}
.accordion.wei-financing-accordion .accordion-button:not(.collapsed) .fa-circle-xmark {
  display: inline-block;
}
.accordion.wei-financing-accordion .accordion-button:not(.collapsed) .fa-circle-plus {
  display: none;
}

.accordion.wei-financing-accordion
  .accordion-item
  .accordion-header
  .accordion-button:not(.collapsed)
  > i:first-child {
  color: var(--color-electric-yellow);
}

.icon-stacked {
  display: inline-flex;
  position: relative;
  width: 2em;
  height: 2em;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  border-radius: 50%;
  transition: box-shadow var(--transition-standard);
}

.icon-stacked::before {
  font-family: 'Font Awesome 7 Pro';
  font-weight: 900;
  content: '\f111';
  font-size: 2em;
  position: absolute;
  line-height: 1;
}

.icon-stacked > i,
.icon-stacked > svg {
  position: relative;
  z-index: 1;
  font-size: 1em;
}

.icon-stacked {
  color: var(--color-deep-green);
}

.icon-stacked::before {
  color: var(--color-electric-yellow);
}

.icon-stacked.light-base {
  color: var(--color-deep-green);
}

.icon-stacked.light-base::before {
  color: var(--color-electric-yellow-25);
}

.icon-stacked.gradient-green {
  color: var(--color-white);
  box-shadow: 0 0 0 2px var(--color-dm-00dp);
}

.icon-stacked.gradient-green::before {
  background: var(--gradient-lime-wedge);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.icon-stacked.square {
  border-radius: 0;
}
.icon-stacked.square::before {
  font-family: 'Font Awesome 7 Sharp';
  content: '\f0c8';
}

.icon-stacked.yellow-base {
  color: var(--color-gator-green);
}
.icon-stacked.yellow-base::before {
  color: var(--color-electric-yellow);
}

.icon-stacked.outline-yellow {
  color: var(--color-electric-yellow);
  box-shadow: 0 0 0 2px var(--color-electric-yellow);
  border-radius: 50%;
}
.icon-stacked.outline-yellow.square {
  border-radius: 0;
}
.icon-stacked.outline-yellow::before {
  color: transparent;
}

.advantage-card:is(:hover, :focus-within) .icon-stacked.outline-yellow {
  color: var(--color-deep-green);
}

.advantage-card:is(:hover, :focus-within) .icon-stacked.outline-yellow::before {
  color: var(--color-electric-yellow);
}

.advantage-card:is(:hover, :focus-within) .icon-stacked.outline-yellow > i {
  font-weight: 900;
}

.icon-stacked.xs {
  font-size: 0.5rem;
}

.icon-stacked.sm {
  font-size: 0.75rem;
}

.icon-stacked.md {
  font-size: 1rem;
}

.icon-stacked.lg {
  font-size: 1.5rem;
}

.icon-stacked.xl {
  font-size: 2rem;
}

.icon-stacked.xxl {
  font-size: 3rem;
}

.icon-stacked.shadow::before {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.wei-hover-effect-02:is(:hover, :focus, :active) .icon-stacked {
  box-shadow: 0 0 0 2px var(--color-electric-yellow);
  border-radius: 50%;
}

.icon-stacked.hoverable {
  cursor: pointer;
  transition: transform 0.15s ease;
}

.icon-stacked.hoverable:hover {
  transform: scale(1.1);
}

.icon-stacked.hoverable:active {
  transform: scale(0.95);
}

.isolate {
  isolation: isolate;
}

/* === Utility Classes === */
em,
u {
  font-style: inherit !important;
  text-decoration: inherit !important;
}
a {
  text-decoration: none;
}
.border-radius-standard {
  border-radius: var(--border-radius-standard);
}
/* Service Area Box Enhancements */
.bg-deep-green.rounded-3.mb-2,
.bg-gator-green.rounded-3.mb-2 {
  transition: all var(--transition-standard);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.bg-deep-green.rounded-3.mb-2:hover,
.bg-gator-green.rounded-3.mb-2:hover {
  box-shadow: 0 4px 12px rgba(0, 129, 122, 0.3);
  transform: translateY(-2px);
}

/* === Service Tabs === */
.wei-service-tabs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.wei-service-tabs .nav-link {
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  line-height: 1.125rem;
  color: var(--color-gator-green);
  background: var(--color-truck-tan);
  border: 2px solid var(--color-gator-green);
  border-radius: 0;
  padding: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: all var(--transition-standard);
}
.wei-service-tabs .nav-item:first-child .nav-link {
  border-radius: 0.75rem 0 0 0.75rem;
}
.wei-service-tabs .nav-item:last-child .nav-link {
  border-radius: 0 0.75rem 0.75rem 0;
}
.wei-service-tabs .nav-link:hover {
  color: var(--color-deep-green);
}
.wei-service-tabs .nav-link.active {
  color: var(--color-electric-yellow);
  background: var(--color-gator-green);
  border: 3px solid var(--color-electric-yellow);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
}
.wei-service-tabs .nav-item:not(:last-child) .nav-link.active {
  border-right: none;
}
.wei-service-tabs .nav-item:not(:first-child) .nav-link.active {
  border-left: none;
}
.wei-service-tabs .nav-link.active .material-symbols-outlined {
  color: var(--color-electric-yellow);
}
.wei-service-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.wei-service-card > .card-body {
  padding-bottom: 0;
}
.wei-service-card > .card-footer {
  padding: 0 0.75rem 0.75rem;
}

/* Bryant Factory Authorized Dealer banner */
.wei-bryant-banner-logo {
  max-width: 200px;
}

/* === Custom Pills === */
.custom-pill-link.nav-link {
  background: none;
  color: #b7b0a7;
  transition: all var(--transition-standard);
}
.custom-pill-link.nav-link:hover,
.custom-pill-link.nav-link.active {
  background: var(--Gradient-Subtle-Green, linear-gradient(84deg, #004f4a 0.05%, #00817a 99.95%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.custom-pill-icon {
  visibility: hidden;
}
.custom-pill-link.nav-link.active .custom-pill-icon {
  visibility: visible;
  -webkit-text-fill-color: initial;
  background: none;
}

/* === Opening Section: Form overrides inside gator-green card === */
.card.contact-card {
  background: var(--gradient-subtle-green) !important;
  border: 2px solid var(--color-gator-green) !important;
  border-radius: var(--border-radius-standard) !important;
}
.card.contact-card .form-control {
  background-color: var(--color-white) !important;
  color: var(--color-neutral-500) !important;
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  height: 30px;
  padding: 0.5rem;
  border: none;
  border-radius: 0;
}
.card.contact-card textarea.form-control {
  height: auto;
  min-height: 80px;
}
.card.contact-card label {
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
}

.card.advantage-card {
  background: transparent;
  color: var(--color-seafoam);
  border: none;
}
.card.advantage-card .card-body {
  padding: 1.25rem;
}
.card.advantage-card h5 {
  color: var(--color-seafoam);
}
.card.advantage-card:hover {
  background: var(--color-seafoam-10);
}
.card.advantage-card.alt {
  background: transparent;
  color: var(--color-seafoam);
  border: none;
}
.card.advantage-card.alt :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-seafoam);
}
.card.advantage-card.alt:hover {
  background: var(--gradient-soft-trust);
  color: var(--color-dm-00dp);
}
.card.advantage-card.alt:hover :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-deep-green);
}

/* === Sub Page Styles === */

/* Sub-page hero: shorter, text-focused */
.wei-hero-intro.wei-sub-page {
  height: fit-content;
  padding-top: 12rem;
  padding-bottom: 4rem;
}
.wei-hero-intro.wei-sub-page h1 {
  font-size: calc(1.3rem + 1.2vw);
  line-height: 1.1;
}

/* Sub-page family image row */
.wei-family-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

/* Related services link cards */
.wei-related-service-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 1rem;
  text-decoration: none;
  transition: all var(--transition-standard);
}
.wei-related-service-link:hover {
  background: var(--color-gator-green) !important;
  color: var(--color-white);
}
.wei-related-service-link:hover * {
  color: var(--color-white) !important;
}

/* === Footer Styles === */
footer > .container {
  padding-top: 80px;
  padding-bottom: 80px;
}
footer h6 {
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 20px;
  line-height: 28px;
  color: var(--color-electric-yellow);
  margin-bottom: 12px;
}
footer h6.wei-footer-section-heading {
  margin-top: 32px;
}
footer p {
  margin-bottom: 4px;
  color: var(--color-truck-tan);
  font-size: 16px;
  line-height: 24px;
}
footer p a {
  color: var(--color-truck-tan);
  font-family: var(--font-inter);
  font-weight: var(--font-weight-regular);
}
footer p a:is(:hover, :active, :focus) {
  color: var(--color-electric-yellow);
}
footer .footer-subheading {
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 16px;
  line-height: 18px;
  color: var(--color-truck-tan);
  margin-top: 8px;
  margin-bottom: 4px;
}
footer .wei-footer-socials a {
  color: var(--color-truck-tan);
  font-size: 16px;
}
footer .wei-footer-socials a:hover {
  color: var(--color-electric-yellow);
}

/* === Mobile Drawer Navigation === */
.wei-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(85vw, 400px);
  height: 100vh;
  height: 100dvh;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
  overflow: hidden;
}
.wei-mobile-nav.wei-drawer-open {
  transform: translateX(0);
  visibility: visible;
}

.wei-mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--color-white);
  flex-shrink: 0;
  border-bottom: 1px solid var(--color-neutral-100);
}
.wei-mobile-nav-header img {
  height: 60px;
  width: auto;
}

.wei-mobile-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: var(--color-neutral-50);
  color: var(--color-deep-green);
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.wei-mobile-nav-close:hover,
.wei-mobile-nav-close:active {
  background: var(--color-neutral-200);
}

.wei-mobile-nav-body {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  position: relative;
  background: linear-gradient(0deg, var(--color-deep-green) 0%, var(--color-gator-green) 100%);
}

/* Backdrop */
.wei-mobile-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1045;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
.wei-mobile-backdrop.wei-backdrop-visible {
  opacity: 1;
  visibility: visible;
}

/* Body scroll lock */
body.wei-drawer-is-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* === Panel System === */
.wei-panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  box-sizing: border-box;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  pointer-events: none;
}
.wei-panel.wei-panel-active {
  transform: translateX(0);
  opacity: 1;
  pointer-events: all;
}
.wei-panel.wei-panel-slide-left {
  transform: translateX(-100%);
  opacity: 0;
}

/* Panel Header */
.wei-panel-header {
  margin: 0 0 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}
.wei-panel-title {
  color: var(--color-white);
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 1.25rem;
  margin: 0;
}

/* Back Button */
.wei-panel-back {
  background: none;
  border: none;
  color: var(--color-white);
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  padding: 0.35rem 0;
  margin-bottom: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
}
.wei-panel-back i {
  font-size: 1.1rem;
}
.wei-panel-back:hover,
.wei-panel-back:active {
  color: var(--color-neutral-50);
  transform: translateX(-5px);
}

/* Panel Nav List */
.wei-panel-nav {
  flex: 1;
  justify-content: flex-start;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  overscroll-behavior-y: contain;
  margin: 0;
  padding: 1.5rem 0.5rem 1rem 0;
  min-height: 0;
  list-style: none;
  height: auto;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black calc(100% - 4.5rem),
    transparent 100%
  );
  mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 4.5rem), transparent 100%);
}
.wei-panel-nav.wei-scrolled-to-bottom {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 3rem, black 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 3rem, black 100%);
}
.wei-panel-nav.wei-scrolled-from-top {
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 3rem,
    black calc(100% - 4.5rem),
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 3rem,
    black calc(100% - 4.5rem),
    transparent 100%
  );
}
.wei-panel-nav.wei-scrolled-to-bottom:not(.wei-scrolled-from-top) {
  -webkit-mask-image: none;
  mask-image: none;
}

/* Nav Links */
.wei-panel-nav .nav-item {
  margin-bottom: 0.5rem;
  position: relative;
  list-style: none;
}
.wei-panel-nav .nav-item:first-child {
  margin-top: 0;
}
.wei-panel-nav .nav-link {
  color: var(--color-white);
  font-family: var(--font-brother);
  font-weight: var(--font-weight-bold);
  font-size: 1.1rem;
  padding: 0.65rem 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--border-radius-standard);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
  min-height: 44px;
  text-transform: none;
}
.wei-panel-nav .nav-link:hover,
.wei-panel-nav .nav-link:active {
  background: rgba(255, 255, 255, 0.2);
  color: var(--color-white);
  transform: translateX(5px);
}

/* Panel Footer CTAs */
.wei-panel-footer {
  margin: 0.75rem 0 0;
  padding: 0.75rem 0 0;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}
.wei-panel-footer .btn {
  font-size: 0.95rem;
  padding: 0.85rem;
  font-weight: var(--font-weight-bold);
  width: 100%;
  margin-bottom: 0.5rem;
  display: block;
  text-align: center;
}
.wei-panel-footer .btn:last-child {
  margin-bottom: 0;
}

/* Hide mobile nav on desktop */
@media (min-width: 1200px) {
  .wei-mobile-nav,
  .wei-mobile-backdrop {
    display: none !important;
  }
}

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

@media (max-width: 1200px) {
  .navbar-nav,
  .shrink-menu .navbar-nav {
    height: fit-content;
  }
  .navbar-nav {
    width: auto;
  }
  .navbar {
    height: 80px;
    transition: height var(--transition-standard);
  }
  .shrink-menu .navbar {
    height: 65px;
  }
  .wei-logo {
    position: absolute;
    background: url(../img/weather-engineers-logo.svg);
    width: 215px;
    height: 60px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    transition: all var(--transition-standard);
    z-index: 10;
  }
  .shrink-menu .wei-logo {
    width: 179px;
    height: 50px;
    top: 0;
  }
  .nav-fill .nav-item,
  .nav-fill > .nav-link {
    flex: 1 1 auto;
    text-align: left;
  }
}

@media (max-width: 991px) {
  .wei-menu-padding {
    padding: 0 1.5rem;
  }
}

@media (max-width: 1200px) {
  .wei-hero-intro {
    height: fit-content;
    padding-top: 10rem;
    padding-bottom: 5rem;
  }
  .wei-hero-intro.wei-sub-page {
    height: fit-content;
    padding-top: 10rem;
    padding-bottom: 5rem;
  }
}

@media (max-width: 450px) {
  .wei-menu-padding {
    padding: 0 0.25rem;
  }
}

/* === WEI Our Process Section === */
.wei-process-sticky {
  position: sticky;
  top: 0;
  background: var(--color-truck-tan);
  overflow: visible;
}

.wei-process-sticky > .container {
  height: 100%;
}

.wei-process-sticky .row {
  height: 100%;
}

/* Shared video player styles */
.wei-video {
  position: relative;
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
}

.wei-video-el {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wei-video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity var(--transition-standard);
}

.wei-video-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.wei-play-icon {
  width: 106px;
  height: 106px;
}

/* Hero video aspect ratio */
.wei-video--hero {
  aspect-ratio: 715 / 500;
}

.wei-process-steps {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wei-process-step {
  display: flex;
  gap: 28px;
  flex: 1 1 0;
}

.wei-process-step-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  align-self: stretch;
}

.wei-process-step-number {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-brother);
  font-weight: var(--font-bold);
  font-size: 40px;
  line-height: 48px;
  flex-shrink: 0;
  border: 4px solid var(--color-electric-yellow);
  color: var(--color-electric-yellow);
  background: transparent;
  transition: background var(--transition-standard), color var(--transition-standard),
    border-color var(--transition-standard);
}

.wei-process-step.active .wei-process-step-number {
  background: var(--color-electric-yellow);
  color: var(--color-gator-green);
  border-color: var(--color-electric-yellow);
}

.wei-process-step-line {
  flex: 1;
  width: 4px;
  background-image: repeating-linear-gradient(
    to bottom,
    var(--color-electric-yellow) 0,
    var(--color-electric-yellow) 8px,
    transparent 8px,
    transparent 16px
  );
  min-height: 20px;
  transition: background var(--transition-standard);
}

.wei-process-step-line.solid {
  background-image: none;
  background-color: var(--color-electric-yellow);
}

.wei-process-step-content {
  color: var(--color-neutral-500);
  transition: color var(--transition-standard);
  padding-top: 8px;
}

.wei-process-step-content h4 {
  font-size: 24px;
  line-height: 32px;
  color: inherit;
}

.wei-process-step-content p {
  font-size: 16px;
  line-height: 24px;
  color: inherit;
}

.wei-process-step.active .wei-process-step-content {
  color: var(--color-deep-green);
}

.wei-process-step.active .wei-process-step-content h4 {
  color: var(--color-gator-green);
}

.wei-process-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 222px;
}

.wei-process-callout-heading {
  flex-shrink: 0;
  max-width: 472px;
}

.wei-process-callout-bolt {
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.wei-bolt-img {
  height: 100%;
  width: auto;
}

.wei-process-callout-content {
  max-width: 597px;
}

@media (max-width: 1199.98px) {
  .wei-process-sticky {
    position: relative;
    height: 100%;
  }

  .wei-process-steps-col {
    position: sticky;
  }

  .wei-process-sticky .row {
    align-content: flex-start;
  }

  .wei-process-callout {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .wei-process-callout-bolt {
    display: none;
  }

  .wei-process-callout-content .d-flex {
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  .wei-process-step {
    gap: 16px;
  }

  .wei-process-step-number {
    width: 44px;
    height: 44px;
    font-size: 26px;
    line-height: 32px;
    border-width: 3px;
  }

  .wei-process-step-content h4 {
    font-size: 18px;
    line-height: 24px;
  }

  .wei-process-step-content p {
    font-size: 14px;
    line-height: 20px;
  }
}

/* === WEI Community Involvement Section === */
.wei-community-img {
  width: 100%;
  height: 312px;
  object-fit: cover;
  display: block;
}

.wei-community-img-down {
  padding-top: 20px;
}

.wei-community-img-up {
  padding-bottom: 20px;
}

.wei-image-track-container {
  overflow: hidden;
  position: relative;
}

.wei-image-track-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    270deg,
    #004f4a 0%,
    rgba(0, 79, 74, 0) 25%,
    rgba(0, 79, 74, 0) 75%,
    #004f4a 100%
  );
  pointer-events: none;
  z-index: 1;
}

.wei-image-track-container + .wei-image-track-container {
  margin-top: 20px;
}

.wei-image-track {
  display: flex;
  align-items: center;
  gap: 60px;
  width: max-content;
  animation: wei-marquee 30s linear infinite;
}

.wei-image-track-reverse {
  animation: wei-marquee-reverse 30s linear infinite;
}

.wei-image-track img {
  width: 220px;
  height: 220px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 8px;
}

@keyframes wei-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes wei-marquee-reverse {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

@media (max-width: 767px) {
  .wei-community-img-down,
  .wei-community-img-up {
    padding: 0;
  }

  .wei-community-img {
    height: 200px;
  }

  .wei-image-track {
    gap: 30px;
  }

  .wei-image-track img {
    width: 120px;
    height: 120px;
  }
}

/* === WEI Service Area Section === */
.wei-location-item {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--color-gator-green);
  border-radius: 8px;
  padding: 12px;
  height: 42px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-seafoam);
  border: 2px solid transparent;
  transition: all var(--transition-standard);
}

.wei-location-item:hover {
  background: var(--gradient-subtle-green);
  border-color: var(--color-electric-yellow);
}

.wei-location-item.wei-location-primary {
  background: var(--gradient-subtle-green);
  border: 2px solid var(--color-electric-yellow);
}

/* === WEI Sister Companies Section === */
.wei-sister-card {
  background: var(--color-truck-tan);
}
.wei-sister-card .card-body {
  padding: 1.25rem;
}
.wei-sister-logo {
  height: 80px;
  display: flex;
}

.wei-sister-logo img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* === WEI Promotions / Coupons === */
.wei-coupon {
  border: 2px dashed var(--color-electric-yellow);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  background: var(--gradient-subtle-green);
}

.wei-coupon-header {
  padding: 1.25rem 1.25rem 0;
}

.wei-coupon-header h2 {
  font-size: 56px;
  line-height: 1.15;
}

.wei-coupon-body {
  padding: 0 1.25rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
}

.wei-coupon-code {
  display: inline-block;
  background: var(--color-seafoam);
  color: var(--color-deep-green);
  font-family: var(--font-brother);
  font-weight: var(--font-bold);
  font-size: 20px;
  padding: 8px;
  border-radius: 8px;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.wei-coupon-disclaimer {
  font-size: 12px;
  color: #fff;
  margin-top: auto;
}

/* === WEI Let's Get Started Closer Section === */
/* Let's Get Started video aspect ratio */
.wei-video--trust {
  aspect-ratio: 717 / 682;
}

.wei-trust-badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--color-electric-yellow);
  color: var(--color-gator-green);
  font-size: 14px;
  flex-shrink: 0;
}

.wei-trust-badge-label {
  font-family: var(--font-brother);
  font-weight: var(--font-bold);
  font-size: 13px;
  line-height: 16px;
  color: var(--color-truck-tan);
}

@media (max-width: 767.98px) {
  .wei-video--trust {
    aspect-ratio: 16 / 9;
  }

  .wei-play-icon {
    width: 64px;
    height: 64px;
  }
}

/* === WEI FAQ Section === */
.wei-faq-item {
  border-bottom: 1px solid var(--color-deep-green);
  padding-bottom: 8px;
  margin-bottom: 8px;
}

.wei-faq-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  color: var(--color-white);
  gap: 12px;
}

.wei-faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--color-electric-yellow);
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 14px;
}

.wei-faq-toggle .fa-minus {
  display: none;
}
.wei-faq-toggle:not(.collapsed) .fa-plus {
  display: none;
}
.wei-faq-toggle:not(.collapsed) .fa-minus {
  display: inline;
}

.wei-faq-answer {
  padding: 8px 0;
  color: var(--color-white);
  font-size: 16px;
  line-height: 24px;
}

.wei-faq-answer a {
  color: var(--color-seafoam);
  text-decoration: underline;
}

/* === Utility classes (extracted inline styles) === */
.wei-prose-800 { max-width: 800px; }
.wei-prose-700 { max-width: 700px; }
.wei-icon-box-50 { width: 50px; height: 50px; }
.wei-icon-box-80 { width: 80px; height: 80px; font-size: 2rem; }
