/* =========================================================
   Fat Boys HVAC - Homepage Optimized Stylesheet
   Generated from the current fbhvac-site.css without changing selectors or declarations.
   Non-home pages continue using the full fbhvac-site.css.
   ========================================================= */


/* ===== PRESERVED SECTION: Global + homepage hero/service hub (source lines 1-1629) ===== */

@font-face {
    font-family: "Archivo Black";
    src: url("../fonts/archivo-black-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

/* =========================================================
   Fat Boys HVAC Design System
   ========================================================= */
:root {
    --fbhvac-purple-950: #170a2c;
    --fbhvac-purple-900: #210d41;
    --fbhvac-purple-800: #321754;
    --fbhvac-purple-700: #4a2b6a;
    --fbhvac-black: #050505;
    --fbhvac-white: #ffffff;
    --fbhvac-text-soft: #d8d3df;
    --fbhvac-gold: #ffd84a;
    --fbhvac-orange: #ff9f43;
    --fbhvac-red: #ff4438;
    --fbhvac-border: rgba(255,255,255,.13);

    --fbhvac-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --fbhvac-font-display: "Archivo Black", "Arial Black", Arial, sans-serif;

    --fbhvac-radius-sm: .75rem;
    --fbhvac-radius-md: 1rem;
    --fbhvac-radius-lg: 1.5rem;
    --fbhvac-radius-pill: 999px;

    --fbhvac-space-1: .25rem;
    --fbhvac-space-2: .5rem;
    --fbhvac-space-3: .75rem;
    --fbhvac-space-4: 1rem;
    --fbhvac-space-5: 1.5rem;
    --fbhvac-space-6: 2rem;
    --fbhvac-space-7: 3rem;
    --fbhvac-space-8: 4rem;

    --fbhvac-container: 1240px;
    --fbhvac-hero-bg: #050505;
    --fbhvac-watermark-opacity: .10;
    --fbhvac-transition: 240ms cubic-bezier(.2,.7,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--fbhvac-font-sans);
    color: var(--fbhvac-white);
    background: var(--fbhvac-black);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { color: inherit; }

.fbhvac-skip-link {
    position: fixed;
    top: 0;
    left: 1rem;
    z-index: 9999;
    transform: translateY(-130%);
    padding: .75rem 1rem;
    background: var(--fbhvac-white);
    color: var(--fbhvac-black);
    border-radius: 0 0 .5rem .5rem;
    transition: transform var(--fbhvac-transition);
}

.fbhvac-skip-link:focus { transform: translateY(0); }

:focus-visible {
    outline: 3px solid var(--fbhvac-gold);
    outline-offset: 4px;
}

/* =========================================================
   Shared Buttons
   ========================================================= */
.fbhvac-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: .9rem 1.35rem;
    border-radius: var(--fbhvac-radius-pill);
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: transform var(--fbhvac-transition), box-shadow var(--fbhvac-transition), filter var(--fbhvac-transition), background-color var(--fbhvac-transition);
}

.fbhvac-btn--primary {
    border: 3px solid transparent;
    background:
        linear-gradient(135deg, rgba(33,13,65,.98), rgba(12,7,20,.98)) padding-box,
        linear-gradient(105deg, var(--fbhvac-gold), var(--fbhvac-orange), var(--fbhvac-red)) border-box;
    color: var(--fbhvac-white);
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
}

.fbhvac-btn--primary:hover,
.fbhvac-btn--primary:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 14px 34px rgba(0,0,0,.34), 0 0 24px rgba(255,159,67,.15);
}

.fbhvac-btn--secondary {
    border: 1px solid rgba(255,255,255,.3);
    color: var(--fbhvac-white);
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(8px);
}

.fbhvac-btn--secondary:hover,
.fbhvac-btn--secondary:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow:
        0 14px 34px rgba(0,0,0,.34),
        0 0 24px rgba(255,159,67,.15);
}

/* =========================================================
   Header
   ========================================================= */
.fbhvac-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: linear-gradient(90deg, rgba(31,12,59,.98), rgba(78,50,103,.98));
    border-bottom: 1px solid rgba(255,255,255,.08);
    transition: background-color var(--fbhvac-transition), box-shadow var(--fbhvac-transition), backdrop-filter var(--fbhvac-transition);
}

.fbhvac-header.is-scrolled {
    background: rgba(24,10,45,.88);
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}

.fbhvac-header__inner {
    width: min(calc(100% - 2.5rem), var(--fbhvac-container));
    margin: 0 auto;
    min-height: 112px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(1rem, 2vw, 2rem);
    transition: min-height var(--fbhvac-transition);
}

.fbhvac-header.is-scrolled .fbhvac-header__inner { min-height: 84px; }

.fbhvac-header__brand { min-width: 112px; }

.fbhvac-header .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.fbhvac-header .custom-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 128px;
    max-height: 92px;
    object-fit: contain;
    transition: max-height var(--fbhvac-transition), max-width var(--fbhvac-transition);
}

.fbhvac-header.is-scrolled .custom-logo {
    max-width: 104px;
    max-height: 66px;
}

.fbhvac-header__site-name {
    font-size: 1.25rem;
    font-weight: 900;
    text-decoration: none;
}

.fbhvac-nav { justify-self: center; }

.fbhvac-nav__menu,
.fbhvac-nav__menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fbhvac-nav__menu {
    display: flex;
    align-items: center;
    gap: clamp(.45rem, 1.3vw, 1.5rem);
}

.fbhvac-nav__menu > li { position: relative; }

.fbhvac-nav__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .45rem .2rem;
    color: rgba(255,255,255,.94);
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--fbhvac-transition), opacity var(--fbhvac-transition);
    text-transform: uppercase;
}

.fbhvac-nav__link:hover { color: var(--fbhvac-gold); }

.fbhvac-nav__menu > .current-menu-item > .fbhvac-nav__link,
.fbhvac-nav__menu > .current-menu-ancestor > .fbhvac-nav__link {
    color: var(--fbhvac-white);
}

.fbhvac-nav__menu > .current-menu-item > .fbhvac-nav__link::after,
.fbhvac-nav__menu > .current-menu-ancestor > .fbhvac-nav__link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--fbhvac-gold), var(--fbhvac-red));
}

.fbhvac-submenu-toggle {
    width: 30px;
    height: 30px;
    margin-left: .1rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--fbhvac-white);
    background: transparent;
    cursor: pointer;
}

.fbhvac-submenu-toggle::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 auto 3px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--fbhvac-transition);
}

.menu-item-has-children > .sub-menu {
    position: absolute;
    top: calc(100% + .6rem);
    left: 50%;
    min-width: 235px;
    padding: .6rem;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 1rem;
    background: rgba(22,9,41,.98);
    box-shadow: 0 20px 48px rgba(0,0,0,.34);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity var(--fbhvac-transition), transform var(--fbhvac-transition), visibility var(--fbhvac-transition);
}

.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children:focus-within > .sub-menu,
.menu-item-has-children.is-submenu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.menu-item-has-children.is-submenu-open > .fbhvac-submenu-toggle::before { transform: rotate(225deg); }

.menu-item-has-children > .sub-menu .fbhvac-nav__link {
    display: flex;
    width: 100%;
    padding: .75rem .85rem;
    border-radius: .65rem;
    font-weight: 700;
    white-space: normal;
}

.menu-item-has-children > .sub-menu .fbhvac-nav__link:hover,
.menu-item-has-children > .sub-menu .fbhvac-nav__link:focus-visible {
    color: var(--fbhvac-white);
    background: rgba(255,255,255,.07);
}

.fbhvac-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
}

.fbhvac-header__appointment { min-width: 216px; }

.fbhvac-header__mobile-call,
.fbhvac-menu-toggle { display: none; }

/* =========================================================
   Hero
   ========================================================= */
.fbhvac-hero {
    position: relative;
    isolation: isolate;
    overflow: clip;
    display: grid;
    place-items: center;
    min-height: clamp(450px, 68vh, 450px);
    padding: clamp(2rem, 4.5vw, 4.5rem) 1.25rem clamp(1rem, 1vw, 1rem);
    background: var(--fbhvac-hero-bg);
}

.fbhvac-hero__backdrop {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    background: var(--fbhvac-hero-bg);
}

.fbhvac-hero__background-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .20;
    filter: saturate(.8) contrast(1.05);
}

.fbhvac-hero__backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.26), rgba(0,0,0,.58)),
        radial-gradient(circle at 50% 45%, rgba(89,53,123,.16), transparent 47%);
}

.fbhvac-hero__glow {
    position: absolute;
    left: 50%;
    top: 48%;
    width: min(70vw, 900px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(95,56,134,.28), rgba(255,159,67,.07) 34%, transparent 68%);
    filter: blur(40px);
    transform: translate(-50%, -50%);
    opacity: .8;
}

.fbhvac-hero__watermark {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 0;
    width: min(62vw, 760px);
    height: auto;
    max-height: 78%;
    object-fit: contain;
    opacity: var(--fbhvac-watermark-opacity);
    transform: translate(-50%, -50%) scale(1);
    filter: saturate(.85);
    will-change: transform;
}

.fbhvac-hero__inner {
    width: min(100%, 1120px);
    margin: 0 auto;
    text-align: center;
}

.fbhvac-hero__brand-block { margin-bottom: 1.6rem; }

.fbhvac-hero__display {
    position: relative;
    display: inline-block;
    max-width: 100%;
    margin: 0 auto;

    font-family: var(--fbhvac-font-display);
    font-size: clamp(3.5rem, 9vw, 8.6rem);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.035em;
    white-space: nowrap;

    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    -webkit-text-stroke: 3px #4a2b6a;

    text-shadow:
        0 10px 28px rgba(0, 0, 0, .42);
}

.fbhvac-hero__tagline {
    margin: .9rem 0 0;
    color: var(--fbhvac-text-soft);
    font-size: clamp(1rem, 1.8vw, 1.3rem);
    font-style: italic;
    line-height: 1.45;
}

.fbhvac-hero__title {
    max-width: 1080px;
    margin: 0 auto;
    color: var(--fbhvac-white);
    font-size: clamp(2.35rem, 4.35vw, 4.2rem);
    font-weight: 900;
    line-height: 1.03;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.fbhvac-hero__intro {
    max-width: 960px;
    margin: 1.7rem auto 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(1.05rem, 1.75vw, 1.3rem);
    line-height: 1.7;
    text-wrap: pretty;
}

.fbhvac-hero__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: 2rem;
}

.fbhvac-hero__actions .fbhvac-btn { min-width: 220px; }

.fbhvac-hero__trust {
    margin: 1.15rem auto 0;
    color: rgba(255,255,255,.62);
    font-size: .9rem;
    font-weight: 650;
    letter-spacing: .035em;
}

/* Entrance motion */
.fbhvac-hero--animate .fbhvac-hero__reveal {
    opacity: 0;
    transform: translateY(0px);
}

.fbhvac-hero--animate.is-ready .fbhvac-hero__reveal {
    animation: fbhvac-fade-up 600ms cubic-bezier(.2,.7,.2,1) forwards;
}

.fbhvac-hero--animate.is-ready .fbhvac-hero__reveal:nth-child(2) { animation-delay: 90ms; }
.fbhvac-hero--animate.is-ready .fbhvac-hero__reveal:nth-child(3) { animation-delay: 180ms; }
.fbhvac-hero--animate.is-ready .fbhvac-hero__reveal:nth-child(4) { animation-delay: 270ms; }
.fbhvac-hero--animate.is-ready .fbhvac-hero__reveal:nth-child(5) { animation-delay: 340ms; }

@keyframes fbhvac-fade-up {
    to { opacity: 1; transform: translateY(0); }
}

.fbhvac-hero--motion .fbhvac-hero__glow { animation: fbhvac-glow-drift 18s ease-in-out infinite alternate; }
.fbhvac-hero--motion .fbhvac-hero__watermark { animation: fbhvac-watermark-breathe 22s ease-in-out infinite alternate; }

@keyframes fbhvac-glow-drift {
    from { transform: translate(-52%, -49%) scale(.96); }
    to   { transform: translate(-48%, -51%) scale(1.04); }
}

@keyframes fbhvac-watermark-breathe {
    from { transform: translate(-50%, -50%) scale(1); }
    to   { transform: translate(-50%, -50%) scale(1.025); }
}

/* =========================================================
   Tablet + Mobile
   ========================================================= */
@media (max-width: 1120px) {
    .fbhvac-header__inner {
        width: min(calc(100% - 2rem), var(--fbhvac-container));
        min-height: 92px;
        grid-template-columns: auto 1fr;
    }

    .fbhvac-header.is-scrolled .fbhvac-header__inner { min-height: 76px; }

    .fbhvac-header .custom-logo {
        max-width: 112px;
        max-height: 76px;
    }

    .fbhvac-header__actions { grid-column: 2; grid-row: 1; }

    .fbhvac-header__appointment { display: none; }

    .fbhvac-header__mobile-call {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: .65rem 1rem;
        border: 1px solid rgba(255,255,255,.28);
        border-radius: var(--fbhvac-radius-pill);
        font-size: .86rem;
        font-weight: 800;
        text-decoration: none;
        background: rgba(255,255,255,.06);
    }

    .fbhvac-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .55rem;
        min-height: 44px;
        padding: .65rem .9rem;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: .8rem;
        color: var(--fbhvac-white);
        background: rgba(255,255,255,.06);
        cursor: pointer;
    }

    .fbhvac-menu-toggle__label {
        font-size: .82rem;
        font-weight: 800;
    }

    .fbhvac-menu-toggle__icon {
        display: grid;
        gap: 4px;
    }

    .fbhvac-menu-toggle__icon span {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        transition: transform var(--fbhvac-transition), opacity var(--fbhvac-transition);
    }

    .fbhvac-menu-toggle[aria-expanded="true"] .fbhvac-menu-toggle__icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .fbhvac-menu-toggle[aria-expanded="true"] .fbhvac-menu-toggle__icon span:nth-child(2) { opacity: 0; }
    .fbhvac-menu-toggle[aria-expanded="true"] .fbhvac-menu-toggle__icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .fbhvac-nav {
        position: absolute;
        top: 100%;
        left: 1rem;
        right: 1rem;
        justify-self: stretch;
        padding: .75rem;
        border: 1px solid rgba(255,255,255,.10);
        border-radius: 1rem;
        background: rgba(22,9,41,.98);
        box-shadow: 0 18px 44px rgba(0,0,0,.34);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity var(--fbhvac-transition), transform var(--fbhvac-transition), visibility var(--fbhvac-transition);
    }

    .fbhvac-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .fbhvac-nav__menu {
        align-items: stretch;
        flex-direction: column;
        gap: .15rem;
    }

    .fbhvac-nav__menu > li {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .fbhvac-nav__link {
        width: 100%;
        min-height: 48px;
        padding: .7rem .75rem;
        border-radius: .7rem;
        font-size: .80rem;
    }

    .fbhvac-nav__link:hover,
    .fbhvac-nav__link:focus-visible { background: rgba(255,255,255,.06); }

    .fbhvac-nav__menu > .current-menu-item > .fbhvac-nav__link::after,
    .fbhvac-nav__menu > .current-menu-ancestor > .fbhvac-nav__link::after { display: none; }

    .fbhvac-submenu-toggle {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        margin-right: .15rem;
        background: rgba(255,255,255,.05);
    }

    .menu-item-has-children > .sub-menu {
        position: static;
        grid-column: 1 / -1;
        min-width: 0;
        max-height: 0;
        overflow: hidden;
        margin: 0;
        padding: 0 .45rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: max-height 280ms ease, padding 280ms ease;
    }

    .menu-item-has-children:hover > .sub-menu,
    .menu-item-has-children:focus-within > .sub-menu { max-height: 0; padding-top: 0; padding-bottom: 0; }

    .menu-item-has-children.is-submenu-open > .sub-menu {
        max-height: 520px;
        padding-top: .25rem;
        padding-bottom: .5rem;
    }

    .fbhvac-hero {
        min-height: clamp(640px, 78vh, 760px);
        padding-top: clamp(4rem, 8vw, 6rem);
    }

    .fbhvac-hero__display { font-size: clamp(3.5rem, 12vw, 7rem); }
    .fbhvac-hero__title { font-size: clamp(2.25rem, 6vw, 3.5rem); }
    .fbhvac-hero__intro { max-width: 820px; }
}

@media (max-width: 680px) {
    .fbhvac-header__inner {
        width: min(calc(100% - 1.25rem), var(--fbhvac-container));
        min-height: 82px;
        gap: .5rem;
    }

    .fbhvac-header.is-scrolled .fbhvac-header__inner { min-height: 72px; }

    .fbhvac-header .custom-logo {
        max-width: 92px;
        max-height: 64px;
    }

    .fbhvac-header.is-scrolled .custom-logo {
        max-width: 84px;
        max-height: 56px;
    }

    .fbhvac-header__mobile-call {
        min-height: 40px;
        padding: .6rem .8rem;
    }

    .fbhvac-menu-toggle {
        min-width: 44px;
        padding: .6rem .75rem;
    }

    .fbhvac-menu-toggle__label { display: none; }

    .fbhvac-nav { left: .625rem; right: .625rem; }
    .fbhvac-nav__link {
    font-size: .73rem;
}

    .fbhvac-hero {
        min-height: auto;
        padding: 2.25rem 1rem 3rem;
    }

    .fbhvac-hero__inner { width: 100%; }

    .fbhvac-hero__brand-block { margin-bottom: 1.35rem; }

    .fbhvac-hero__display {
        display: inline-block;
        max-width: calc(100vw - 1rem);

        font-size: clamp(3.6rem, 17vw, 5.25rem);
        line-height: .90;
        letter-spacing: -.035em;

        color: #ffffff;
        -webkit-text-fill-color: #ffffff;
        -webkit-text-stroke: 1.5px #4a2b6a;

        text-shadow:
            0 6px 18px rgba(0, 0, 0, .35),
            0 0 10px rgba(74, 43, 106, .18);
    }

    .fbhvac-hero__display::after {
        content: none !important;
        display: none !important;
        animation: none !important;
    }

    .fbhvac-hero__tagline {
        max-width: 330px;
        margin-left: auto;
        margin-right: auto;
        font-size: 1rem;
    }

    .fbhvac-hero__title {
        font-size: clamp(2rem, 8.7vw, 2.625rem);
        line-height: 1.08;
        letter-spacing: -.03em;
    }

    .fbhvac-hero__title br { display: none; }

    .fbhvac-hero__intro {
        max-width: 600px;
        margin-top: 1.35rem;
        font-size: clamp(1.0625rem, 4.6vw, 1.1875rem);
        line-height: 1.62;
    }

    .fbhvac-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: .7rem;
        margin-top: 1.65rem;
    }

    .fbhvac-hero__actions .fbhvac-btn {
        width: min(100%, 420px);
        min-height: 56px;
        margin-inline: auto;
    }

    .fbhvac-hero__trust {
        max-width: 340px;
        margin-top: 1rem;
        line-height: 1.5;
    }

    .fbhvac-hero__watermark {
        top: 48%;
        width: min(95vw, 520px);
        max-height: 60%;
    }

    .fbhvac-hero__glow {
        top: 44%;
        width: 105vw;
        opacity: .6;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .fbhvac-hero--animate .fbhvac-hero__reveal {
        opacity: 1;
        transform: none;
    }
}
/* =========================================
   Fat Boys custom adjustments
   ========================================= */

/* -----------------------------------------
   Header: sticky, but NEVER shrink
   ----------------------------------------- */

.fbhvac-header__inner,
.fbhvac-header.is-scrolled .fbhvac-header__inner {
    min-height: 88px !important;
}

.fbhvac-header .custom-logo,
.fbhvac-header.is-scrolled .custom-logo {
    max-width: 100px !important;
    max-height: 72px !important;

    animation:
        fbhvac-footer-logo-shine
        3s
        ease-in-out
        infinite;
}

/* Keep the sticky blur/shadow, but not the size change */
.fbhvac-header.is-scrolled {
    background: rgba(24, 10, 45, .92);
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}


/* -----------------------------------------
   Hero position
   ----------------------------------------- */

.fbhvac-hero__inner {
    transform: translateY(-50px);
}


/* Moving Fat Boys brand-gradient shine Ã¢â‚¬â€ desktop/tablet only */
@media (min-width: 681px) {
    .fbhvac-hero__display::after {
        content: "FAT BOYS";

        position: absolute;
        inset: 0;

        pointer-events: none;

        background:
            linear-gradient(
                110deg,
                transparent 0%,
                transparent 35%,
                rgba(255, 216, 74, 0) 39%,
                rgba(255, 216, 74, .95) 43%,
                rgba(255, 159, 67, 1) 48%,
                rgba(255, 68, 56, 1) 53%,
                rgba(255, 68, 56, 0) 59%,
                transparent 64%,
                transparent 100%
            );

        background-size: 230% 100%;
        background-repeat: no-repeat;
        background-position: 180% 50%;

        -webkit-background-clip: text;
        background-clip: text;

        -webkit-text-fill-color: transparent;
        color: transparent;

        -webkit-text-stroke: 0;
        text-shadow: none;

        animation:
            fbhvac-fatboys-shimmer
            3.4s
            ease-in-out
            infinite;
    }
}


@keyframes fbhvac-fatboys-shimmer {
    0%, 12% {
        background-position: 180% 50%;
    }

    78%, 100% {
        background-position: -80% 50%;
    }
}

/* -----------------------------------------
   Hero CTA spacing
   ----------------------------------------- */

.fbhvac-hero__actions {
    gap: 1.5rem;
}


/* -----------------------------------------
   CALL button: same gradient border
   ----------------------------------------- */

.fbhvac-btn--secondary {
    border: 3px solid transparent;

    background:
        linear-gradient(
            135deg,
            rgba(12, 10, 16, .98),
            rgba(18, 12, 22, .98)
        ) padding-box,

        linear-gradient(
            105deg,
            var(--fbhvac-gold),
            var(--fbhvac-orange),
            var(--fbhvac-red)
        ) border-box;

    color: var(--fbhvac-white);

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .20);
}

.fbhvac-btn--secondary:hover,
.fbhvac-btn--secondary:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.08);

    box-shadow:
        0 14px 34px rgba(0, 0, 0, .30),
        0 0 24px rgba(255, 159, 67, .12);
}


/* -----------------------------------------
   Tablet
   ----------------------------------------- */

@media (max-width: 1120px) {

    .fbhvac-header__inner,
    .fbhvac-header.is-scrolled .fbhvac-header__inner {
        min-height: 92px !important;
    }

    .fbhvac-header .custom-logo,
    .fbhvac-header.is-scrolled .custom-logo {
        max-width: 112px !important;
        max-height: 76px !important;
    }

    .fbhvac-hero__inner {
        transform: translateY(-32px);
    }
}


/* -----------------------------------------
   Mobile
   ----------------------------------------- */

@media (max-width: 680px) {

    .fbhvac-header__inner,
    .fbhvac-header.is-scrolled .fbhvac-header__inner {
        min-height: 82px !important;
    }

    .fbhvac-header .custom-logo,
    .fbhvac-header.is-scrolled .custom-logo {
        max-width: 92px !important;
        max-height: 64px !important;
    }

    .fbhvac-hero__inner {
        transform: translateY(-16px);
    }

    .fbhvac-hero__display::after {
        content: none !important;
        display: none !important;
        animation: none !important;
    }

    /* Buttons stack on mobile, so smaller vertical gap */
    .fbhvac-hero__actions {
        gap: .85rem;
    }
}
/* =========================================
   Larger desktop navigation links
   ========================================= */

.fbhvac-nav__menu {
    gap: clamp(.65rem, 1.15vw, 1.25rem);
}

.fbhvac-nav__link {
    min-height: 48px;
    padding: .72rem 1.15rem;

    font-size: 1.0rem;
    font-weight: 800;
    letter-spacing: .015em;
}

/* Keep the white pill comfortably sized */
.fbhvac-nav__link:hover,
.fbhvac-nav__link:focus-visible,
.fbhvac-nav__menu > .current-menu-item > .fbhvac-nav__link,
.fbhvac-nav__menu > .current-menu-ancestor > .fbhvac-nav__link,
.fbhvac-nav__menu > .current_page_item > .fbhvac-nav__link,
.fbhvac-nav__menu > .current_page_ancestor > .fbhvac-nav__link {
    padding-left: 1.15rem;
    padding-right: 1.15rem;
}
/* =========================================================
   HOME SERVICES ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â SECTION HEADER
   ========================================================= */

.fbhvac-services-home__header {
    width: min(calc(100% - 3rem), 1100px);

    margin: 0 auto 1.25rem;

    padding-top: 1.5rem;

    text-align: center;
}

.fbhvac-services-home__title {
    max-width: 1000px;

    margin: 0 auto;

    color: #24113f;

    font-size: clamp(2.2rem, 3.1vw, 3.4rem);
    font-weight: 900;

    line-height: .98;
    letter-spacing: -.04em;
}


.fbhvac-services-home__title-line {
    width: 110px;
    height: 4px;

    margin: 1.35rem auto;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #f2c230 0%,
            #f27a35 45%,
            #ef493f 75%,
            #7622a3 100%
        );
}


.fbhvac-services-home__lead {
    max-width: 820px;

    margin: 0 auto;

    color: #4b4650;

    font-size: clamp(1.05rem, 1.2vw, 1.25rem);

    line-height: 1.55;
}
/* =========================================================
   Homepage Service Hub
   ========================================================= */

.fbhvac-service-hub {
    position: relative;
    padding: 1.5rem 0 2rem;
    background: #ffffff;
    color: var(--fbhvac-purple-900);
}

.fbhvac-service-hub__shell {
    width: min(100%, 1540px);
    margin: 0 auto;

    padding: 4px;

    border-radius: 32px;

    background:
        linear-gradient(
            105deg,
            var(--fbhvac-gold),
            var(--fbhvac-orange),
            var(--fbhvac-red)
        );

    box-shadow: 0 24px 70px rgba(33, 13, 65, .10);
}

.fbhvac-service-hub__grid {
    display: grid;
    grid-template-columns:
        minmax(250px, 1fr)
        minmax(250px, 1fr)
        minmax(280px, 1fr)
        minmax(235px, .72fr);

    overflow: hidden;

    border-radius: 28px;

    background: #ffffff;
}


/* Column separators */

.fbhvac-service-column,
.fbhvac-problem-column {
    padding: 1rem clamp(1.5rem, 2.5vw, 2.2rem);
}

.fbhvac-service-column + .fbhvac-service-column,
.fbhvac-problem-column {
    border-left: 0;
}


/* =========================================================
   Cooling / Heating headings
   ========================================================= */

.fbhvac-service-column__heading {
    display: flex;
    align-items: center;
    gap: .8rem;

    min-height: 64px;

    padding: 0 0 1rem;

    border-bottom: 4px solid;

    color: var(--fbhvac-purple-900);

    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight: 900;
    line-height: 1;

    text-decoration: none;

    transition:
        color 220ms ease,
        transform 220ms ease;
}

.fbhvac-service-column__heading--cooling {
    border-color: #47b9ff;
}

.fbhvac-service-column__heading--heating {
    border-color: #ff5147;
}

.fbhvac-service-column__heading:hover,
.fbhvac-service-column__heading:focus-visible {
    color: var(--fbhvac-purple-700);
    transform: translateX(3px);
}

.fbhvac-service-heading-icon {
    display: inline-grid;
    place-items: center;

    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    border: 2px solid currentColor;
    border-radius: 50%;

    font-size: 1.5rem;
}


/* =========================================================
   Service links
   ========================================================= */

.fbhvac-service-links {
    display: grid;
}

.fbhvac-service-link {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: .75rem;

    min-height: 78px;

    padding: .55rem .15rem;

    border-bottom: 2px solid rgba(33, 13, 65, .14);

    color: var(--fbhvac-purple-900);

    font-size: clamp(1.1rem, 1.5vw, 1.45rem);
    font-weight: 900;
    line-height: 1.3;

    text-decoration: none;

    transition:
        background-color 220ms ease,
        color 220ms ease,
        transform 220ms ease,
        padding-left 220ms ease;
}

.fbhvac-service-link:hover,
.fbhvac-service-link:focus-visible {
    color: var(--fbhvac-purple-700);
    background: rgba(33, 13, 65, .045);

    padding-left: .65rem;

    transform: translateX(2px);
}

.fbhvac-service-link__icon {
    display: grid;
    place-items: center;

    width: 46px;
    height: 46px;

    font-size: 1.85rem;

    color: var(--fbhvac-purple-700);
}

.fbhvac-service-column:first-child
.fbhvac-service-link__icon {
    color: #4250a4;
}

.fbhvac-service-column:nth-child(2)
.fbhvac-service-link__icon {
    color: #ff5147;
}


/* =========================================================
   Problem selector
   ========================================================= */

.fbhvac-problem-column__heading {
    display: flex;
    align-items: center;

    min-height: 64px;

    margin-top: 8px;
    margin-bottom: 0rem;
    padding: 0 0 1rem;

    border-bottom: 4px solid #6d1591;

    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.fbhvac-problem-links {
    display: grid;
    gap: .15rem;
    margin-top: 1rem;
}

.fbhvac-problem-link {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-items: center;
    gap: .6rem;

    min-height: 45px;

    padding: .2rem .45rem;

    border-radius: 12px;

    color: var(--fbhvac-purple-900);

    font-size: clamp(1rem, 1.35vw, 1.25rem);
    font-weight: 900;

    text-decoration: none;

    transition:
        color 220ms ease,
        background-color 220ms ease,
        transform 220ms ease;
}

.fbhvac-problem-link span:first-child {
    display: grid;
    place-items: center;

    font-size: 1.4rem;

    color: var(--fbhvac-purple-700);
}

.fbhvac-problem-link:hover,
.fbhvac-problem-link:focus-visible {
    color: #ffffff;

    background: var(--fbhvac-purple-900);

    transform: translateX(4px);
}

.fbhvac-problem-link:hover span:first-child,
.fbhvac-problem-link:focus-visible span:first-child {
    color: #ffffff;
}


/* =========================================================
   Need HVAC Help card
   ========================================================= */

.fbhvac-help-card {
    display: flex;
    flex-direction: column;

    margin: clamp(1rem, 2vw, 2rem);

    overflow: hidden;

    border-radius: 34px;

    background:
        linear-gradient(
            160deg,
            #715b9d,
            #210d41 72%
        );

    color: #ffffff;

    box-shadow: 0 20px 48px rgba(33, 13, 65, .18);
}

.fbhvac-help-card__top {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 1.4rem 1.25rem;

    text-align: center;
}

.fbhvac-help-card__icon {
    display: grid;
    place-items: center;

    width: 64px;
    height: 64px;

    margin-bottom: .25rem;

    border: 2px solid rgba(255, 255, 255, .45);
    border-radius: 50%;

    background: rgba(255,255,255,.08);

    font-size: 1.8rem;
}

.fbhvac-help-card h2 {
    font-size: 1.45rem;
    white-space: nowrap;
    line-height: 1.05;
}

.fbhvac-help-card p {
    max-width: 260px;
    font-size: .5rem;
    line-height: 1.25;
    white-space: normal;
    margin: .1rem auto .75rem;
}

.fbhvac-help-card__booking {
    width: min(100%, 260px);
}

.fbhvac-help-card__services {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;

    min-height: 52px;

    padding: .65rem 1.25rem;

    border-top: 2px solid rgba(255,255,255,.75);

    color: #ffffff;

    font-size: 1rem;
    font-weight: 900;

    letter-spacing: .02em;

    text-decoration: none;

    transition:
        background-color 220ms ease,
        padding-right 220ms ease;
}

.fbhvac-help-card__services:hover,
.fbhvac-help-card__services:focus-visible {
    background: rgba(255,255,255,.09);

    padding-right: 1.2rem;
}


/* =========================================================
   Service Hub Responsive
   ========================================================= */

@media (max-width: 1180px) {

    .fbhvac-service-hub__grid {
        grid-template-columns: 1fr 1fr;
    }

    .fbhvac-problem-column {
        border-left: 0;
        border-top: 2px solid rgba(33, 13, 65, .16);
    }

    .fbhvac-help-card {
        min-height: 470px;
    }
}


@media (max-width: 720px) {

    .fbhvac-service-hub {
        padding: 2.5rem .85rem;
    }

    .fbhvac-service-hub__shell {
        border-radius: 24px;
    }

    .fbhvac-service-hub__grid {
        display: block;

        border-radius: 21px;
    }

    .fbhvac-service-column,
    .fbhvac-problem-column {
        padding: 1.5rem;
    }

    .fbhvac-service-column + .fbhvac-service-column,
    .fbhvac-problem-column {
        border-left: 0;
        border-top: 2px solid rgba(33, 13, 65, .14);
    }

    .fbhvac-service-link {
        min-height: 90px;

        font-size: 1.08rem;
    }

    .fbhvac-problem-link {
        font-size: 1rem;
    }

    .fbhvac-help-card {
        min-height: 0;

        margin: 1rem;
    }
}
/* =========================================
   Service Hub Size Refinements
   ========================================= */

/* Give the help card more room */
.fbhvac-service-hub__grid {
    grid-template-columns:
        minmax(250px, 1fr)
        minmax(250px, 1fr)
        minmax(280px, .95fr)
        minmax(320px, .9fr);
}

/* Cooling + Heating */
.fbhvac-service-column__heading {
    font-size: 1.25rem;
}

.fbhvac-service-link {
    font-size: 1.15rem;
    line-height: 1.1;
}

/* Having a Problem */
.fbhvac-problem-column__heading {
    font-size: 1.25rem;
}

.fbhvac-problem-link {
    font-size: 1.15rem;
    line-height: 1.15;
}

/* Wider purple help card */
.fbhvac-help-card {
    min-width: 320px;
}

/* Keep Need HVAC Help? on one line */
.fbhvac-help-card h2 {
    font-size: 2rem;
    white-space: nowrap;
}

/* Supporting copy */
.fbhvac-help-card p {
    max-width: 300px;
    font-size: 1.18rem;
    line-height: 1.5;
}
/* =========================================
   Wider Need HVAC Help Card
   ========================================= */

/* Give the right-side card a genuinely wider column */
.fbhvac-service-hub__grid {
    grid-template-columns:
        minmax(240px, 1fr)
        minmax(240px, 1fr)
        minmax(280px, 1fr)
        330px;
}

/* Use more of the available fourth column */
.fbhvac-help-card {
    width: auto;
    min-width: 0;
    margin: 1rem;
    align-self: start;

    height: 400px;
}

/* Keep heading on exactly one line */
.fbhvac-help-card h2 {
    font-size: 1.5rem;
    white-space: nowrap;
    line-height: 1.1;
}

/* Exact two-line supporting copy */
.fbhvac-help-card p {
    max-width: none;
    font-size: 1.2rem;
    line-height: 1.5;
    white-space: nowrap;
}
/* =========================================
   Main Hero Watermark
   ========================================= */

.fbhvac-hero__watermark {
    top: 44%;
    left: 50%;

    width: min(52vw, 680px);
    max-height: 72%;

    opacity: .50;
    object-fit: contain;

    filter:
        grayscale(.15)
        saturate(.75);

    transform: translate(-50%, -50%);

    pointer-events: none;
    user-select: none;
}

/* ===== PRESERVED SECTION: 12 Iron-Clad Guarantees component (source lines 3841-4961) ===== */

/* =========================================================
   FAT BOYS 12 IRON-CLAD GUARANTEES
   ========================================================= */

.fbhvac-guarantees {
    position: relative;

    overflow: hidden;

    padding:
        clamp(2.25rem, 3vw, 3.25rem)
        2.5rem
        clamp(4rem, 6vw, 6rem);

    color: #ffffff;

    background:
        radial-gradient(
            circle at 0% 45%,
            rgba(94, 24, 161, .22),
            transparent 32%
        ),
        radial-gradient(
            circle at 100% 35%,
            rgba(217, 59, 34, .17),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #030304 0%,
            #070509 50%,
            #020203 100%
        );
}


/* subtle dot texture */

.fbhvac-guarantees::before {
    content: "";

    position: absolute;
    inset: 0;

    opacity: .11;

    pointer-events: none;

    background-image:
        radial-gradient(
            circle,
            rgba(255, 255, 255, .45) 1px,
            transparent 1px
        );

    background-size:
        28px 28px;

    mask-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .55),
            transparent 28%,
            transparent 72%,
            rgba(0, 0, 0, .55)
        );
}


.fbhvac-guarantees__inner {
    position: relative;
    z-index: 2;

    width:
        min(
            calc(100% - 2rem),
            1600px
        );

    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.fbhvac-guarantees__header {
    max-width: 1500px;

    margin:
        0 auto
        3rem;

    text-align: center;
}


.fbhvac-guarantees__eyebrow {
    margin:
        0 0
        .85rem;

    font-size:
        clamp(
            .85rem,
            1.15vw,
            1.05rem
        );

    font-weight: 900;

    letter-spacing: .24em;

    text-transform: uppercase;

    background:
        linear-gradient(
            90deg,
            #f8d23c 0%,
            #ff9738 40%,
            #ff5a47 70%,
            #c24dd8 100%
        );

    -webkit-background-clip: text;

    background-clip: text;

    color: transparent;
}


.fbhvac-guarantees__title {
    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            3rem,
            5.4vw,
            6.5rem
        );

    font-weight: 950;

    line-height: .94;

    letter-spacing: -.055em;

    text-transform: uppercase;
}


.fbhvac-guarantees__title > span {
    display: inline;
}


.fbhvac-guarantees__number {
    position: relative;

    display: inline-block;

    isolation: isolate;

    padding: 0 .06em;

    background:
        linear-gradient(
            155deg,
            #ffe134 0%,
            #ff9b2f 40%,
            #ff5348 70%,
            #c946da 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    filter:
        drop-shadow(
            0 0 8px
            rgba(255, 100, 55, .20)
        );
}

/* =========================================================
   SMOKE / HEAT EFFECT BEHIND "12" ONLY
   ========================================================= */

.fbhvac-guarantees__number::before,
.fbhvac-guarantees__number::after {
    content: "";

    position: absolute;

    z-index: -1;

    left: 50%;
    bottom: 5%;

    width: 115%;
    height: 135%;

    transform: translateX(-50%);

    pointer-events: none;

    filter: blur(12px);

    opacity: 0;

    background:
        radial-gradient(
            ellipse at 25% 80%,
            rgba(255, 157, 45, .42) 0%,
            rgba(255, 100, 58, .20) 28%,
            transparent 58%
        ),
        radial-gradient(
            ellipse at 65% 70%,
            rgba(255, 78, 69, .32) 0%,
            rgba(192, 65, 218, .16) 35%,
            transparent 64%
        ),
        radial-gradient(
            ellipse at 48% 35%,
            rgba(255, 255, 255, .10) 0%,
            transparent 58%
        );

    animation:
        fbhvacGuaranteeSmoke
        3.8s
        ease-out
        infinite;
}

.fbhvac-guarantees__number::after {
    width: 90%;
    height: 120%;

    filter: blur(16px);

    animation-delay: -1.9s;
    animation-duration: 4.6s;
}

@keyframes fbhvacGuaranteeSmoke {
    0% {
        transform:
            translateX(-50%)
            translateY(10px)
            scale(.72);

        opacity: 0;
    }

    18% {
        opacity: .52;
    }

    55% {
        transform:
            translateX(-46%)
            translateY(-24px)
            scale(1);

        opacity: .28;
    }

    100% {
        transform:
            translateX(-54%)
            translateY(-58px)
            scale(1.3);

        opacity: 0;
    }
}

.fbhvac-guarantees__lead {
    margin:
        1.4rem 0 0;

    color:
        rgba(255, 255, 255, .72);

    font-size:
        clamp(
            1rem,
            1.3vw,
            1.3rem
        );

    line-height: 1.5;
}


/* =========================================================
   SHIELD DIVIDER
   ========================================================= */

.fbhvac-guarantees__divider {
    width:
        min(
            720px,
            74%
        );

    margin:
        1rem auto 0;

    display: grid;

    grid-template-columns:
        1fr
        44px
        1fr;

    align-items: center;

    gap: 1rem;
}


.fbhvac-guarantees__divider span {
    display: block;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 165, 48, .70)
        );
}


.fbhvac-guarantees__divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(255, 88, 65, .70),
            transparent
        );
}


.fbhvac-guarantees__divider svg {
    width: 42px;
    height: 42px;

    margin: 0 auto;

    fill: none;

    stroke: #ff9d2e;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 10px
            rgba(255, 120, 40, .32)
        );
}


/* =========================================================
   GUARANTEE GRID
   ========================================================= */

.fbhvac-guarantees__grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 1rem;
}


/* =========================================================
   GUARANTEE FLIP CARD ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â CLEAN WHITE / GRADIENT BORDER
   ========================================================= */

.fbhvac-guarantee-card {
    --guarantee-accent: #6d1591;

    position: relative;

    min-width: 0;
    min-height: 178px;

    perspective: 1400px;

    transition:
        transform 220ms ease,
        filter 220ms ease;
}

.fbhvac-guarantee-card:hover {
    transform: translateY(-3px);

    filter:
        drop-shadow(
            0 12px 22px
            rgba(35, 18, 55, .10)
        );
}


/* =========================================================
   CLICKABLE CARD BUTTON
   ========================================================= */

.fbhvac-guarantee-card__flip {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 178px;

    margin: 0;
    padding: 0;

    appearance: none;
    -webkit-appearance: none;

    border: 0;
    border-radius: 20px;

    color: inherit;
    background: transparent;

    font: inherit;
    text-align: left;

    cursor: pointer;
}

.fbhvac-guarantee-card__flip:focus-visible {
    outline: 3px solid #f59a3b;
    outline-offset: 4px;
}


/* =========================================================
   ROTATING INNER CARD
   ========================================================= */

.fbhvac-guarantee-card__inner {
    position: relative;

    display: block;

    width: 100%;
    height: 100%;
    min-height: 178px;

    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;

    transition:
        transform
        650ms
        cubic-bezier(.2, .75, .22, 1);

    will-change: transform;
}

.fbhvac-guarantee-card.is-flipped
.fbhvac-guarantee-card__inner {
    transform: rotateY(180deg);
}


/* =========================================================
   FRONT + BACK SHARED FACE
   ========================================================= */

.fbhvac-guarantee-card__face {
    position: absolute;
    inset: 0;

    min-height: 178px;

    overflow: hidden;

    border: 2px solid transparent;
    border-radius: 20px;

    color: #24113f;

    background:
        linear-gradient(
            #ffffff,
            #ffffff
        ) padding-box,
        linear-gradient(
            105deg,
            #ffd43b 0%,
            #ff9638 50%,
            #ff5147 100%
        ) border-box;

    box-shadow:
        0 10px 28px
        rgba(35, 18, 55, .09);

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;

    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}

/* very subtle warm highlight ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â not a colored card fill */
.fbhvac-guarantee-card__face::before {
    content: "";

    position: absolute;

    right: -70px;
    bottom: -95px;

    width: 190px;
    height: 190px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 159, 56, .10) 0%,
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   FRONT FACE
   ========================================================= */

.fbhvac-guarantee-card__front {
    padding:
        1rem
        1.05rem;

    display: grid;

    grid-template-columns:
        68px
        minmax(0, 1fr);

    align-items: center;

    gap: .9rem;

    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
}


/* =========================================================
   FRONT ICON
   ========================================================= */

.fbhvac-guarantee-card__icon {
    position: relative;
    z-index: 2;

    width: 62px;
    height: 62px;

    display: grid;
    place-items: center;

    border: 2px solid transparent;
    border-radius: 50%;

    color: #341552;

    background:
        linear-gradient(
            #ffffff,
            #ffffff
        ) padding-box,
        linear-gradient(
            135deg,
            #ffd43b 0%,
            #ff9638 52%,
            #ff5147 100%
        ) border-box;

    box-shadow:
        0 8px 18px rgba(35, 18, 55, .10),
        0 0 0 5px rgba(255, 150, 56, .07);
}

.fbhvac-guarantee-card__icon::before {
    content: "";

    position: absolute;
    inset: -6px;

    border: 1px solid rgba(109, 21, 145, .12);
    border-radius: 50%;
}

.fbhvac-guarantee-card__icon svg {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   FRONT COPY
   ========================================================= */

.fbhvac-guarantee-card__content {
    position: relative;
    z-index: 2;

    min-width: 0;

    padding-left: .9rem;

    border-left:
        1px solid
        rgba(36, 17, 63, .16);
}

.fbhvac-guarantee-card__number {
    display: block;

    margin-bottom: .28rem;

    color: #f07f35;

    font-size: 1rem;
    font-weight: 950;

    line-height: 1;
}

.fbhvac-guarantee-card__title {
    display: block;

    color: #24113f;

    font-size:
        clamp(
            .92rem,
            1.05vw,
            1.12rem
        );

    font-weight: 900;

    line-height: 1.14;
    letter-spacing: -.02em;
}

.fbhvac-guarantee-card__hint {
    display: block;

    margin-top: .58rem;

    background:
        linear-gradient(
            90deg,
            #d47d20 0%,
            #ef7137 50%,
            #ef5147 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: .66rem;
    font-weight: 900;

    letter-spacing: .035em;
    text-transform: uppercase;

    opacity: .92;

    transition:
        transform 180ms ease,
        opacity 180ms ease;
}

.fbhvac-guarantee-card:hover
.fbhvac-guarantee-card__hint {
    transform: translateX(3px);
    opacity: 1;
}


/* =========================================================
   BACK FACE
   ========================================================= */

.fbhvac-guarantee-card__back {
    padding:
        1.05rem
        1.15rem;

    display: flex;
    flex-direction: column;
    justify-content: center;

    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);

    background:
        linear-gradient(
            rgba(255,255,255,.98),
            rgba(255,255,255,.98)
        ) padding-box,
        linear-gradient(
            105deg,
            #ffd43b 0%,
            #ff9638 50%,
            #ff5147 100%
        ) border-box;
}

.fbhvac-guarantee-card__back-number {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: .28rem;

    color: #f07f35;

    font-size: .75rem;
    font-weight: 950;

    letter-spacing: .10em;
}

.fbhvac-guarantee-card__back-title {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: .5rem;

    color: #24113f;

    font-size:
        clamp(
            .92rem,
            1vw,
            1.08rem
        );

    font-weight: 900;
    line-height: 1.12;
}

.fbhvac-guarantee-card__description {
    position: relative;
    z-index: 2;

    display: block;

    color: #5b5460;

    font-size:
        clamp(
            .72rem,
            .75vw,
            .82rem
        );

    font-weight: 500;
    line-height: 1.42;
}

.fbhvac-guarantee-card__back-hint {
    position: relative;
    z-index: 2;

    display: block;

    margin-top: .55rem;

    color: #d96c35;

    font-size: .64rem;
    font-weight: 900;

    letter-spacing: .035em;
    text-transform: uppercase;

    opacity: .86;
}


/* =========================================================
   LEGACY COLOR CLASSES
   Keep markup compatible but use one unified card style.
   ========================================================= */

.fbhvac-guarantee-card--purple,
.fbhvac-guarantee-card--orange,
.fbhvac-guarantee-card--gold,
.fbhvac-guarantee-card--red {
    --guarantee-accent: #6d1591;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fbhvac-guarantee-card__inner {
        transition: none;
    }

    .fbhvac-guarantees__number::before,
    .fbhvac-guarantees__number::after {
        animation: none;
        opacity: 0;
    }
}

/* =========================================================
   GUARANTEE FOOTER
   ========================================================= */

.fbhvac-guarantees__footer {
    margin-top: 1.35rem;

    padding:
        1.2rem
        1.5rem;

    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(320px, .8fr);

    align-items: center;

    gap: 2rem;

    border:
        1px solid
        rgba(169, 76, 222, .65);

    border-radius: 18px;

    background:
        linear-gradient(
            90deg,
            rgba(101, 28, 151, .11),
            rgba(255, 147, 47, .035),
            rgba(255, 77, 68, .05)
        );

    box-shadow:
        inset
        0 1px 0
        rgba(255, 255, 255, .035);
}


.fbhvac-guarantees__footer-left {
    display: flex;

    align-items: center;

    gap: 1.15rem;
}


.fbhvac-guarantees__footer-icon {
    flex: 0 0 auto;

    width: 60px;
    height: 60px;

    display: grid;
    place-items: center;

    border-radius: 18px;

    color: #c66af0;

    background:
        rgba(119, 39, 158, .18);

    box-shadow:
        inset
        0 0 18px
        rgba(182, 77, 232, .15);
}


.fbhvac-guarantees__footer-icon svg {
    width: 40px;
    height: 40px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.fbhvac-guarantees__footer-left strong {
    display: block;

    margin-bottom: .25rem;

    color: #ffffff;

    font-size: 1rem;
}


.fbhvac-guarantees__footer-left span {
    display: block;

    color:
        rgba(255, 255, 255, .64);

    font-size: .9rem;

    line-height: 1.45;
}


.fbhvac-guarantees__footer-right {
    min-height: 50px;

    padding-left: 2rem;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: .45rem;

    border-left:
        1px solid
        rgba(255, 107, 64, .45);

    color:
        rgba(255, 255, 255, .86);

    font-size:
        clamp(
            .95rem,
            1.15vw,
            1.15rem
        );
}


.fbhvac-guarantees__footer-right strong {
    background:
        linear-gradient(
            90deg,
            #ffd83d,
            #ff9238,
            #ff5147
        );

    -webkit-background-clip: text;

    background-clip: text;

    color: transparent;
}


/* =========================================================
   GUARANTEES RESPONSIVE
   ========================================================= */

@media (max-width: 1250px) {

    .fbhvac-guarantees__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}

@media (max-width: 760px) {

    .fbhvac-guarantees {
        padding:
            3rem
            .9rem;
    }

    .fbhvac-guarantees__inner {
        width: 100%;
    }

    .fbhvac-guarantees__grid {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .fbhvac-guarantee-card,
    .fbhvac-guarantee-card__flip,
    .fbhvac-guarantee-card__inner,
    .fbhvac-guarantee-card__face {
        min-height: 150px;
    }

    .fbhvac-guarantee-card__front {
        grid-template-columns:
            58px
            minmax(0, 1fr);

        gap: .75rem;

        padding:
            .85rem
            .9rem;
    }

    .fbhvac-guarantee-card__icon {
        width: 54px;
        height: 54px;
    }

    .fbhvac-guarantee-card__icon svg {
        width: 26px;
        height: 26px;
    }

    .fbhvac-guarantee-card__content {
        padding-left: .75rem;
    }

    .fbhvac-guarantee-card__number {
        font-size: .9rem;
    }

    .fbhvac-guarantee-card__title {
        font-size: 1rem;
    }

    .fbhvac-guarantee-card__hint {
        margin-top: .45rem;
        font-size: .62rem;
    }

    .fbhvac-guarantee-card__back {
        padding:
            .9rem
            1rem;
    }

    .fbhvac-guarantee-card__description {
        font-size: .76rem;
        line-height: 1.38;
    }

    .fbhvac-guarantees__footer {
        grid-template-columns: 1fr;
    }

    .fbhvac-guarantees__footer-right {
        padding: 1rem 0 0;
        justify-content: flex-start;

        border-left: 0;

        border-top:
            1px solid
            rgba(255, 107, 64, .30);
    }
}


/* ===== PRESERVED SECTION: Why Choose section (source lines 5848-6473) ===== */

/* =========================================================
   WHY CHOOSE FAT BOYS
   ========================================================= */

.fbhvac-why-choose {
    position: relative;
    z-index: 2;

    margin-top: -175px;

    background: #ffffff;
    color: #24113f;
    padding: 1.5rem 5rem 3rem;
    overflow: visible;
}
.fbhvac-why-choose::before {
    content: "";

    position: absolute;
    z-index: -1;

    right: 0;
    top: -70px;

    width: 55%;
    height: 78px;
    border-radius: 80px 80px 0 0;

    background: #ffffff;
}
.fbhvac-why-choose__founder {
    position: absolute;
    z-index: 4;

    top: -55px;
    left: 58%;

    display: flex;
    align-items: baseline;
    gap: .7rem;

    color: #24113f;
}

.fbhvac-why-choose__founder strong {
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.fbhvac-why-choose__founder span {
    color: #6f6877;

    font-size: 2.2rem;
    font-weight: 600;
}

.fbhvac-why-choose__inner {
    width: min(calc(100% - 5rem), 1600px);
    margin: 0 auto;
    margin-top: -50px;
}


/* =========================================================
   WHY CHOOSE â€” WIDE DESKTOP / ZOOM-SAFE
   Keeps the white section from covering the About copy when
   the effective desktop viewport becomes very wide.
   ========================================================= */

@media (min-width: 1800px) {

    /*
     * Browser zoom-out makes the effective CSS viewport wider.
     * Scale Chris with that wider viewport so his visible size stays
     * close to the 100% desktop composition instead of shrinking.
     */
    .fbhvac-about-hero__portrait img {
        width: clamp(1150px, 69.4vw, 1720px);
        transform: translate(-22.6%, -2%);
    }

    .fbhvac-why-choose {
        margin-top: -60px;
    }

}


/* =========================================================
   TOP INTRO
   ========================================================= */

.fbhvac-why-choose__intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(520px, .95fr);

    align-items: center;

    gap: clamp(3rem, 5vw, 6rem);

    margin-bottom: 2.75rem;
}


.fbhvac-why-choose__content {
    position: relative;
    z-index: 3;

    max-width: 820px;

    transform: translateY(45px);
}


.fbhvac-why-choose__eyebrow {
    margin: 0 0 .5rem;

    color: #6d1591;

    font-size: clamp(1.8rem, 2.0vw, 2.15rem);
    font-weight: 900;

    line-height: 1;

    text-transform: uppercase;
}


.fbhvac-why-choose__title {
    margin: 0;

    color: #24113f;

    font-size: clamp(5rem, 4vw, 4.6rem);
    font-weight: 900;

    line-height: .96;

    letter-spacing: -.04em;

    text-transform: uppercase;
    white-space: nowrap;
}


.fbhvac-why-choose__lead {
    max-width: 820px;

    margin: .75rem 0 0;

    color: #29242f;

    font-size: clamp(.9rem, 1.1vw, 1.35rem);

    line-height: 1.6;
}


/* =========================================================
   TRANE EQUIPMENT
   ========================================================= */

.fbhvac-why-choose__equipment {
    position: relative;
    min-height: 360px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    overflow: visible;
}


.fbhvac-why-choose__equipment-image {
    display: block;
    width: 850px;
    max-width: none;
    height: 360px;
    position: relative;
    right: -110px;
    z-index: 3;
}
/* =========================================================
   BENEFIT CARDS
   ========================================================= */

.fbhvac-why-choose__cards {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: clamp(.8rem, 1.25vw, 1.4rem);

    margin-top: -55px;
}


.fbhvac-why-card {
    position: relative;

    min-width: 0;
    min-height: 320px;

    padding: 1.65rem 1.15rem 1.5rem;

    background: #ffffff;

    border: 1px solid rgba(36, 17, 63, .08);
    border-radius: 18px;

    box-shadow:
        0 8px 26px rgba(35, 18, 55, .08);

    text-align: center;

    overflow: hidden;
}


/* Colored bottom accent */

.fbhvac-why-card::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 5px;
}


.fbhvac-why-card--purple::after {
    background: #6d1591;
}


.fbhvac-why-card--orange::after {
    background: #f15a3c;
}

.fbhvac-why-card__brand-logo {
    height: 90px;
    margin: 0 auto .75rem;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: visible;
}

.fbhvac-why-card__brand-logo img {
    display: block;

    width: auto;
    height: 64px;

    max-width: 85%;
    object-fit: contain;
}
/* Larger Trane badge */
.fbhvac-why-card__brand-logo img[alt="Trane Comfort Specialist"] {
    transform: scale(1.5);
}

/* Larger Mitsubishi badge */
.fbhvac-why-card__brand-logo img[alt="Mitsubishi Electric Diamond Contractor"] {
    transform: scale(1.5);
}
/* Icons */

.fbhvac-why-card__icon {
    width: 90px;
    height: 90px;

    margin: 0 auto .75rem;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #6d1591;
}


.fbhvac-why-card--orange .fbhvac-why-card__icon {
    color: #f15a3c;
}


.fbhvac-why-card__icon svg {
    display: block;

    width: 62px;
    height: 62px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.fbhvac-why-card__icon--star {
    font-size: 4rem;
    line-height: 1;
}


/* Card title */

.fbhvac-why-card h3 {
    margin: 0;

    color: #17121c;

    font-size: clamp(1.08rem, 1.25vw, 1.35rem);
    font-weight: 900;

    line-height: 1.05;
}


/* Mini gradient line */

.fbhvac-why-card__line {
    display: block;

    width: 42px;
    height: 3px;

    margin: 1rem auto;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #6d1591,
            #f2c23d,
            #f15a3c
        );
}


/* Card description */

.fbhvac-why-card p {
    margin: 0;

    color: #49434d;

    font-size: clamp(.84rem, .85vw, .96rem);

    line-height: 1.5;
}
/* JS-added carousel wrapper is layout-neutral on desktop */
.fbhvac-why-carousel {
    display: contents;
}

.fbhvac-why-carousel__arrow,
.fbhvac-why-carousel__dots {
    display: none;
}

/* =========================================================
   WHY CHOOSE ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â MOBILE
   ========================================================= */

@media (max-width: 720px) {

    /* Remove desktop overlap on mobile */
    .fbhvac-why-choose {
        margin-top: 0;
        padding: 2.25rem 1rem 2.75rem;
        overflow: hidden;
    }

    /* Remove desktop founder wave on mobile */
    .fbhvac-why-choose::before {
        display: none;
    }

    /* Hide Chris Cochrane, Founder on mobile only */
    .fbhvac-why-choose__founder {
        display: none;
    }

    .fbhvac-why-choose__inner {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    /* One-column intro */
    .fbhvac-why-choose__intro {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        margin-bottom: 1.5rem;
    }

    .fbhvac-why-choose__content {
        width: 100%;
        max-width: none;
        transform: none;
    }

    .fbhvac-why-choose__eyebrow {
        margin-bottom: .55rem;
        font-size: clamp(1.2rem, 6vw, 1.55rem);
        line-height: 1.05;
    }

    .fbhvac-why-choose__title {
        width: 100%;
        margin: 0;

        font-size: clamp(3rem, 14vw, 4rem);
        line-height: .92;
        letter-spacing: -.045em;

        white-space: normal;
    }

    .fbhvac-why-choose__lead {
        width: 100%;
        max-width: none;
        margin-top: 1rem;

        font-size: 1rem;
        line-height: 1.55;

        overflow-wrap: normal;
        word-break: normal;
    }

    /* Hide system/equipment picture on mobile */
    .fbhvac-why-choose__equipment,
    .fbhvac-why-choose__equipment-image {
        display: none;
    }

    /* =====================================================
       WHY CHOOSE MOBILE CAROUSEL
       Peek + arrows + dots
       ===================================================== */

    .fbhvac-why-carousel {
        display: block;
        position: relative;
        width: 100%;
        min-width: 0;
        margin-top: 1.5rem;
    }

    .fbhvac-why-choose__cards {
        width: 100%;

        display: flex;
        gap: .9rem;

        margin-top: 0;
        padding: .5rem 2.2rem 1rem 0;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scroll-padding-left: 0;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .fbhvac-why-choose__cards::-webkit-scrollbar {
        display: none;
    }

    /* 90% leaves a visible peek of the next card */
    .fbhvac-why-card {
        flex: 0 0 90%;
        width: 90%;
        min-width: 90%;
        min-height: 320px;

        padding: 1.5rem 1.25rem 1.6rem;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    /* Side arrows */
    .fbhvac-why-carousel__arrow {
        position: absolute;
        z-index: 8;
        top: calc(50% - 1.6rem);

        width: 42px;
        height: 42px;

        display: grid;
        place-items: center;

        padding: 0;

        border: 1px solid rgba(255,255,255,.32);
        border-radius: 50%;

        background: rgba(33,13,65,.68);
        color: #ffffff;

        box-shadow: 0 8px 20px rgba(33,13,65,.16);

        cursor: pointer;

        transform: translateY(-50%);

        transition:
            transform 180ms ease,
            opacity 180ms ease,
            background 180ms ease;
    }

    .fbhvac-why-carousel__arrow:hover,
    .fbhvac-why-carousel__arrow:focus-visible {
        background: rgba(74,43,106,.84);
        transform: translateY(-50%) scale(1.05);
    }

    .fbhvac-why-carousel__arrow span {
        display: block;
        margin-top: -3px;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1;
    }

    .fbhvac-why-carousel__arrow--prev {
        left: 8px;
    }

    .fbhvac-why-carousel__arrow--next {
        right: 8px;
    }

    .fbhvac-why-carousel__arrow:disabled {
        opacity: .28;
        cursor: default;
        transform: translateY(-50%);
    }

    /* Position dots */
    .fbhvac-why-carousel__dots {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .55rem;

        margin-top: .55rem;
    }

    .fbhvac-why-carousel__dot {
        width: 9px;
        height: 9px;

        padding: 0;
        border: 0;
        border-radius: 999px;

        background: rgba(74,43,106,.28);

        cursor: pointer;

        transition:
            width 220ms ease,
            background 220ms ease,
            transform 220ms ease;
    }

    .fbhvac-why-carousel__dot.is-active {
        width: 28px;

        background:
            linear-gradient(
                90deg,
                #6d1591,
                #a52ed4
            );
    }

    .fbhvac-why-card__brand-logo {
        height: 82px;
    }

    .fbhvac-why-card__icon {
        width: 78px;
        height: 78px;
    }

    .fbhvac-why-card__icon svg {
        width: 54px;
        height: 54px;
    }

    .fbhvac-why-card h3 {
        font-size: 1.25rem;
        line-height: 1.15;
    }

    .fbhvac-why-card p {
        font-size: .95rem;
        line-height: 1.5;
    }
}


/* ===== PRESERVED SECTION: Testimonials section (source lines 6474-7086) ===== */

/* =========================================================
   TESTIMONIALS
   ========================================================= */

.fbhvac-testimonials {
    position: relative;

    padding: clamp(2.75rem, 4vw, 4.5rem) 0 6rem;

    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(89, 23, 133, .11),
            transparent 38%
        ),
        #050505;

    color: #ffffff;

    overflow: hidden;
}


.fbhvac-testimonials__inner {
    width: min(calc(100% - 6rem), 1560px);
    margin: 0 auto;
}


/* HEADER */

.fbhvac-testimonials__header {
    max-width: 1100px;

    margin: 0 auto 3.5rem;

    text-align: center;
}


.fbhvac-testimonials__eyebrow {
    margin: 0 0 .75rem;

    color: #8d29c4;

    font-size: clamp(1.15rem, 1.45vw, 1.55rem);
    font-weight: 900;

    letter-spacing: .04em;

    text-transform: uppercase;
}


.fbhvac-testimonials__title {
    margin: 0;

    color: #ffffff;

    font-size: clamp(3rem, 4.5vw, 5rem);
    font-weight: 900;

    line-height: 1;

    letter-spacing: -.035em;
}


.fbhvac-testimonials__title-line {
    display: block;

    width: 110px;
    height: 4px;

    margin: 1.45rem auto;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #7423a7,
            #f0c335,
            #f0523e
        );
}


.fbhvac-testimonials__lead {
    max-width: 850px;

    margin: 0 auto;

    color: rgba(255,255,255,.78);

    font-size: clamp(1.05rem, 1.25vw, 1.3rem);

    line-height: 1.55;
}


/* =========================================================
   CAROUSEL
   ========================================================= */

.fbhvac-testimonials__carousel {
    position: relative;

    width: 100%;
}


.fbhvac-testimonials__viewport {
    overflow: hidden;

    padding: 1rem .5rem 2rem;

    touch-action: pan-y;
}


.fbhvac-testimonials__track {
    display: flex;

    gap: 1.5rem;

    transition:
        transform 520ms
        cubic-bezier(.2,.7,.2,1);

    will-change: transform;
}


/* =========================================================
   REVIEW CARD
   ========================================================= */

.fbhvac-review-card {
    position: relative;
    flex: 0 0 calc((100% - 3rem) / 3);

    min-width: 0;
    height: 510px;

    display: flex;
    flex-direction: column;

    padding: 2rem;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.018)
        );

    border: 1px solid transparent;
    border-radius: 24px;

    box-shadow:
        0 20px 55px rgba(0,0,0,.28);

    overflow: hidden;
}
.fbhvac-review-card::before {
    content: "";

    position: absolute;
    inset: 0;

    padding: 1px;

    border-radius: inherit;

    background:
        linear-gradient(
            135deg,
            #f5b82e 0%,
            #f47b32 50%,
            #ef493f 100%
        );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
}

.fbhvac-review-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    flex-shrink: 0;

    margin-bottom: 1rem;
}


.fbhvac-review-card__quote {
    height: 50px;

    color: #8a31bd;

    font-family: Georgia, serif;
    font-size: 5.4rem;
    font-weight: 900;

    line-height: .85;
}


.fbhvac-review-card__stars {
    color: #f5aa1c;

    font-size: 1.45rem;

    letter-spacing: .09em;

    white-space: nowrap;
}


/* SCROLLABLE REVIEW TEXT */

.fbhvac-review-card__body {
    position: relative;

    flex: 1;

    min-height: 0;

    padding-right: .8rem;

    overflow-y: auto;
    overscroll-behavior: contain;

    scrollbar-width: thin;
    scrollbar-color:
        rgba(255,255,255,.35)
        rgba(255,255,255,.06);
}


.fbhvac-review-card__body::-webkit-scrollbar {
    width: 6px;
}


.fbhvac-review-card__body::-webkit-scrollbar-track {
    background: rgba(255,255,255,.05);

    border-radius: 999px;
}


.fbhvac-review-card__body::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.32);

    border-radius: 999px;
}


.fbhvac-review-card__body p {
    margin: 0 0 1.25rem;

    color: rgba(255,255,255,.92);

    font-size: clamp(1rem, 1.05vw, 1.12rem);

    line-height: 1.58;
}


.fbhvac-review-card__body p:last-child {
    margin-bottom: 0;
}


/* REVIEWER */

.fbhvac-review-card__footer {
    position: relative;

    display: flex;
    align-items: center;

    gap: 1rem;

    flex-shrink: 0;

    margin-top: 1.4rem;
    padding-top: 1.35rem;

    border-top: 1px solid rgba(139, 39, 187, .65);
}


.fbhvac-review-card__avatar {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #65158f,
            #a923dc
        );

    color: #ffffff;

    font-size: 1.35rem;
    font-weight: 900;
}


.fbhvac-review-card__footer h3 {
    margin: 0 0 .25rem;

    color: #ffffff;

    font-size: 1.2rem;
    font-weight: 900;
}


.fbhvac-review-card__footer p {
    margin: 0;

    color: rgba(255,255,255,.58);

    font-size: .9rem;
}


/* =========================================================
   ARROWS
   ========================================================= */

.fbhvac-testimonials__arrow {
    position: absolute;
    z-index: 8;

    top: 50%;

    width: 58px;
    height: 58px;

    display: grid;
    place-items: center;

    transform: translateY(-50%);

    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;

    background: rgba(8,8,8,.88);

    color: #9a2fd2;

    cursor: pointer;

    box-shadow:
        0 10px 30px rgba(0,0,0,.3);

    transition:
        transform 180ms ease,
        background 180ms ease,
        border-color 180ms ease;
}


.fbhvac-testimonials__arrow span {
    transform: translateY(-2px);

    font-size: 3rem;
    font-weight: 600;

    line-height: 1;
}


.fbhvac-testimonials__arrow:hover {
    background: #17081f;

    border-color: rgba(154,47,210,.6);
}


.fbhvac-testimonials__arrow--prev {
    left: 16px;
}


.fbhvac-testimonials__arrow--next {
    right: 16px;
}


.fbhvac-testimonials__arrow:disabled {
    opacity: .25;
    cursor: default;
}


/* =========================================================
   DOT NAVIGATION
   ========================================================= */

.fbhvac-testimonials__dots {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: .75rem;

    margin-top: 1rem;
}


.fbhvac-testimonials__dot {
    width: 11px;
    height: 11px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.22);

    cursor: pointer;

    transition:
        width 220ms ease,
        background 220ms ease,
        transform 220ms ease;
}


.fbhvac-testimonials__dot.is-active {
    width: 28px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #7521a7,
            #a52ed4
        );
}

/* =========================================================
   TESTIMONIALS ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â MOBILE
   ========================================================= */

@media (max-width: 720px) {

    .fbhvac-testimonials {
        padding: 2.75rem 0 4rem;
    }

    .fbhvac-testimonials__inner {
        width: min(calc(100% - 2rem), 680px);
        margin: 0 auto;
    }

    .fbhvac-testimonials__header {
        margin-bottom: 2rem;
    }

    .fbhvac-testimonials__eyebrow {
        font-size: 1rem;
    }

    .fbhvac-testimonials__title {
        font-size: clamp(2.35rem, 11vw, 3.25rem);
        line-height: 1;
    }

    .fbhvac-testimonials__title-line {
        width: 80px;
        margin: 1rem auto;
    }

    .fbhvac-testimonials__lead {
        font-size: .98rem;
        line-height: 1.5;
    }

    .fbhvac-testimonials__carousel {
        width: 100%;
    }

    .fbhvac-testimonials__viewport {
        width: 100%;
        padding: .75rem 0 1.5rem;
        overflow: hidden;
    }

    .fbhvac-testimonials__track {
        gap: .85rem;
    }

    /* One testimonial card per mobile screen */
    .fbhvac-review-card {
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        height: 480px;

        padding: 1.4rem 1.25rem;
        border-radius: 22px;
    }

    .fbhvac-review-card__quote {
        height: 42px;
        font-size: 4.5rem;
    }

    .fbhvac-review-card__stars {
        font-size: 1.15rem;
        letter-spacing: .06em;
    }

    .fbhvac-review-card__body {
        padding-right: .55rem;
    }

    .fbhvac-review-card__body p {
        font-size: .98rem;
        line-height: 1.55;
    }

    .fbhvac-review-card__footer {
        gap: .8rem;
        margin-top: 1rem;
        padding-top: 1rem;
    }

    .fbhvac-review-card__avatar {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 1.2rem;
    }

    .fbhvac-review-card__footer h3 {
        font-size: 1rem;
    }

    .fbhvac-review-card__footer p {
        font-size: .8rem;
    }

    /* Keep mobile arrows fully visible inside carousel */
    .fbhvac-testimonials__arrow {
        top: 50%;
        width: 46px;
        height: 46px;

        background: rgba(8,8,8,.94);
        box-shadow: 0 8px 24px rgba(0,0,0,.45);
    }

    .fbhvac-testimonials__arrow span {
        font-size: 2.35rem;
    }

    .fbhvac-testimonials__arrow--prev {
        left: 8px;
    }

    .fbhvac-testimonials__arrow--next {
        right: 8px;
    }

    .fbhvac-testimonials__dots {
        gap: .55rem;
        margin-top: .5rem;
        flex-wrap: wrap;
    }

    .fbhvac-testimonials__dot {
        width: 9px;
        height: 9px;
    }

    .fbhvac-testimonials__dot.is-active {
        width: 24px;
    }
}


/* ===== PRESERVED SECTION: Housecall Pro chat bubble adjustments (source lines 7087-7178) ===== */

/* =========================================================
   Housecall Pro Chat Bubble
   ========================================================= */

/*
 * Only animate the widget while it is in its small,
 * closed 110px state.
 */
#proChatIframeContainer[style*="width:110px"] {
    right: 18px !important;
    bottom: 18px !important;

    transform-origin: bottom right;

    animation:
        fbhvac-chat-pulse 1s ease-in-out infinite,
        fbhvac-chat-glow 1s ease-in-out infinite;
}


/* Gentle continuous attention animation */
@keyframes fbhvac-chat-pulse {

    0%,
    100% {
        transform: scale(1.10);
    }

    50% {
        transform: scale(1.25);
    }
}
@keyframes fbhvac-chat-glow {
    0%,
    100% {
        filter: drop-shadow(0 0 0px rgba(255, 166, 0, 0))
                drop-shadow(0 0 0px rgba(255, 77, 77, 0));
    }

    50% {
        filter: drop-shadow(0 0 14px rgba(255, 191, 0, 0.65))
                drop-shadow(0 0 26px rgba(255, 94, 58, 0.45));
    }
}
/* Desktop hover interaction */
#proChatIframeContainer[style*="width:110px"]:hover {
    animation-play-state: paused;

    transform: scale(1.28);

    filter:
        drop-shadow(0 0 18px rgba(255, 191, 0, .75))
        drop-shadow(0 0 32px rgba(255, 94, 58, .55));
}

/* Mobile */
@media (max-width: 680px) {

    #proChatIframeContainer[style*="width:110px"] {
        right: 12px !important;
        bottom: 12px !important;

        animation:
            fbhvac-chat-pulse-mobile 1s ease-in-out infinite,
            fbhvac-chat-glow 1s ease-in-out infinite;
    }

    @keyframes fbhvac-chat-pulse-mobile {

        0%,
        100% {
            transform: scale(1);
        }

        50% {
            transform: scale(1.12);
        }
    }
}
@keyframes fbhvac-chat-glow {
    0%,
    100% {
        filter: drop-shadow(0 0 0px rgba(255, 166, 0, 0))
                drop-shadow(0 0 0px rgba(255, 77, 77, 0));
    }

    50% {
        filter: drop-shadow(0 0 14px rgba(255, 191, 0, 0.65))
                drop-shadow(0 0 26px rgba(255, 94, 58, 0.45));
    }
}


/* ===== PRESERVED SECTION: Footer (source lines 7274-7585) ===== */

/* =========================================================
   Footer
   ========================================================= */

.fbhvac-footer {
    padding: 2.25rem 2rem 1.25rem;

    color: var(--fbhvac-white);

    background: linear-gradient(
        105deg,
        var(--fbhvac-purple-950) 0%,
        var(--fbhvac-purple-900) 35%,
        var(--fbhvac-purple-700) 100%
    );
}

.fbhvac-footer__inner {
    width: min(100%, 1600px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    align-items: center;

    gap: 3.5rem;
}


/* Logo */

.fbhvac-footer__brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.fbhvac-footer__logo {
    margin: 0;
}

.fbhvac-footer__logo .custom-logo-link {
    display: block;
}

.fbhvac-footer__logo .custom-logo {
    display: block;

    width: 100%;
    max-width: 310px;
    height: auto;
    max-height: none;

    object-fit: contain;

    animation: fbhvac-footer-logo-shine 3s ease-in-out infinite;
}

@keyframes fbhvac-footer-logo-shine {

    0%,
    55%,
    100% {
        filter:
            brightness(1)
            saturate(1)
            drop-shadow(0 0 0 rgba(255, 216, 74, 0));
    }

    65% {
        filter:
            brightness(1.10)
            saturate(1.08)
            drop-shadow(0 0 8px rgba(255, 216, 74, .16));
    }

    73% {
        filter:
            brightness(1.20)
            saturate(1.15)
            drop-shadow(0 0 14px rgba(255, 159, 67, .28));
    }

    82% {
        filter:
            brightness(1.28)
            saturate(1.18)
            drop-shadow(0 0 18px rgba(255, 159, 67, .38));
    }

    92% {
        filter:
            brightness(1.08)
            saturate(1.05)
            drop-shadow(0 0 6px rgba(255, 216, 74, .12));
    }
}


/* Right-side footer content */

.fbhvac-footer__content {
    min-width: 0;
}


/* Main statement */

.fbhvac-footer__statement {
    margin: 0 0 2rem;

    color: #ffffff;

    font-size: clamp(2.5rem, 3.1vw, 3.9rem);
    font-weight: 900;
    line-height: 1.03;
    letter-spacing: .01em;

    text-align: left;
}

.fbhvac-footer__statement span:not(.fbhvac-footer__ice-text) {
    display: inline;

    background:
        linear-gradient(
            90deg,
            #ffd632 0%,
            #ff9b2c 48%,
            #ff5a45 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}

.fbhvac-footer__statement .fbhvac-footer__ice-text {
    display: inline-block;

    background:
        linear-gradient(
            105deg,
            #D8FCFF 0%,
            #91F4FA 18%,
            #59DFED 38%,
            #38BCEB 58%,
            #2D82DF 78%,
            #2454B8 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Contact information */

.fbhvac-footer__contact-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;

    gap: clamp(2rem, 3.5vw, 4rem);
}

.fbhvac-footer__contact {
    display: inline-flex;
    align-items: center;

    gap: 1rem;

    color: #ffffff;

    font-size: clamp(1.35rem, 1.7vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;

    text-decoration: none;

    transition:
        transform 220ms ease,
        opacity 220ms ease;
}

.fbhvac-footer__contact:hover,
.fbhvac-footer__contact:focus-visible {
    transform: translateY(-2px);
    opacity: .86;
}


/* Phone + Email icons */

.fbhvac-footer__contact-icon {
    display: grid;
    place-items: center;

    width: 68px;
    height: 68px;

    flex: 0 0 68px;

    border-radius: 50%;
    background: #ffffff;
}

.fbhvac-footer__contact-icon svg {
    width: 36px;
    height: 36px;

    fill: var(--fbhvac-purple-900);
}


/* Facebook */

.fbhvac-footer__facebook-icon {
    display: grid;
    place-items: end center;

    width: 68px;
    height: 68px;

    flex: 0 0 68px;

    border-radius: 50%;

    background: #1877f2;
    color: #ffffff;

    font-family: Arial, sans-serif;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: .94;
}


/* Divider + copyright */

.fbhvac-footer__divider {
    width: 100%;
    height: 3px;

    margin: 2.25rem 0 1.15rem;

    background: rgba(255, 184, 184, .9);
}

.fbhvac-footer__copyright {
    margin: 0;

    color: rgba(255, 255, 255, .58);

    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .015em;

    text-align: left;
}


/* Tablet */

@media (max-width: 1000px) {

    .fbhvac-footer__inner {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 2rem;
    }

    .fbhvac-footer__logo .custom-logo {
        max-width: 220px;
    }

    .fbhvac-footer__statement {
        font-size: clamp(2rem, 4vw, 3rem);
    }

    .fbhvac-footer__contact-row {
        flex-wrap: wrap;
    }
}


/* Mobile */

@media (max-width: 720px) {

    .fbhvac-footer {
        padding: 2.75rem 1.25rem;
    }

    .fbhvac-footer__inner {
        grid-template-columns: 1fr;

        gap: 2rem;

        text-align: center;
    }

    .fbhvac-footer__brand {
        justify-content: center;
    }

    .fbhvac-footer__logo .custom-logo {
        max-width: 200px;
    }

    .fbhvac-footer__statement {
        font-size: 1.9rem;
        text-align: center;
    }

    .fbhvac-footer__contact-row {
        flex-direction: column;
        align-items: flex-start;

        width: fit-content;
        margin: 0 auto;
    }

    .fbhvac-footer__copyright {
        font-size: .6rem;
        text-align: center;
    }
}

/* ===== PRESERVED SECTION: Homepage service area/hours/service list (source lines 7586-8222) ===== */

/* =========================================================
   Homepage Service Area
   ========================================================= */

.fbhvac-service-area-home {
    padding: 1rem 1.5rem 3.5rem;

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(116, 75, 160, .14),
            transparent 34%
        ),
        #160b24;

    color: #ffffff;
}

.fbhvac-service-area-home__inner {
    width: min(100%, 1500px);
    margin: 0 auto;
}


/* Section Header */

.fbhvac-service-area-home__header {
    margin: 0 auto 2.25rem;
    text-align: center;
}

.fbhvac-service-area-home__header h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}

.fbhvac-service-area-home__title-line {
    width: 150px;
    height: 5px;

    margin: 1rem auto 1.1rem;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #ffd83d,
        #ff8a3d,
        #ef3f36
    );
}

.fbhvac-service-area-home__header p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255, 255, 255, .72);

    font-size: 1.1rem;
    line-height: 1.6;
}


/* Main Cards */

.fbhvac-service-area-home__content {
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr);

    gap: 1.5rem;

    align-items: stretch;
}

.fbhvac-service-area-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 1.6rem;

    border: 1px solid rgba(48, 18, 78, .10);
    border-radius: 26px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f4fa 100%
        );

    color: #220b38;

    box-shadow:
        0 18px 42px rgba(0, 0, 0, .20);
}


/* Card Header */

.fbhvac-service-area-card__head {
    display: flex;
    align-items: center;
    gap: 1rem;

    margin-bottom: 1.35rem;
}

.fbhvac-service-area-card__head h3 {
    margin: 0;

    color: #2d1048;

    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.1;
}

.fbhvac-service-area-card__icon {
    display: grid;
    place-items: center;

    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    border: 1px solid rgba(63, 28, 99, .10);
    border-radius: 50%;

    background: #f0e9f7;
}

.fbhvac-service-area-card__icon svg {
    width: 27px;
    height: 27px;

    stroke: #4b276c;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   Service Hours
   ========================================================= */

.fbhvac-service-hours {
    display: grid;
    gap: .85rem;
}

.fbhvac-service-hours__row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;

    gap: 1rem;

    padding: 1rem 1.1rem;

    border: 1px solid rgba(45, 16, 72, .08);
    border-radius: 16px;

    background: #ffffff;
}

.fbhvac-service-hours__row span {
    color: #4e4160;

    font-size: 1rem;
    font-weight: 700;
}

.fbhvac-service-hours__row strong {
    color: #251037;

    font-size: 1rem;
    font-weight: 900;
}


/* After-hours Highlight */

.fbhvac-service-hours__note {
    position: relative;

    display: flex;
    align-items: center;
    gap: .8rem;

    margin-top: 1rem;
    margin-bottom: 1.25rem;

    padding: .9rem 1rem;

    overflow: hidden;

    border: 1px solid rgba(45, 16, 72, .10);
    border-radius: 16px;

    background:
        linear-gradient(
            90deg,
            #f3edf9 0%,
            #ffffff 100%
        );

    color: #45235f;

    font-size: clamp(1.3rem, 1.5vw, 1.55rem);
    font-weight: 900;
    line-height: 1.15;

    text-transform: uppercase;

    box-shadow:
        0 8px 18px rgba(45, 16, 72, .07);
}

.fbhvac-service-hours__note::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 5px;
    height: 100%;

    background: linear-gradient(
        180deg,
        #ffd83d 0%,
        #ff9b3d 55%,
        #ef3f36 100%
    );
}

.fbhvac-service-hours__note-icon {
    display: grid;
    place-items: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #5f347c,
        #32124f
    );

    color: #ffffff;

    font-size: .85rem;
    font-weight: 900;

    box-shadow:
        0 5px 12px rgba(45, 16, 72, .18);
}


/* Call CTA */

.fbhvac-service-hours__call {
    display: flex;
    align-items: center;

    gap: 1rem;

    margin-top: auto;

    padding: 1rem 1.15rem;

    border-radius: 18px;

    background: linear-gradient(
        90deg,
        #ffd83d 0%,
        #ff9b3d 52%,
        #ef3f36 100%
    );

    color: #ffffff;

    text-decoration: none;

    box-shadow:
        0 12px 24px rgba(45, 16, 72, .14);

    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}

.fbhvac-service-hours__call:hover,
.fbhvac-service-hours__call:focus-visible {
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 16px 30px rgba(45, 16, 72, .20);
}

.fbhvac-service-hours__call-icon {
    display: grid;
    place-items: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .16);
}

.fbhvac-service-hours__call-icon svg {
    width: 23px;
    height: 23px;

    stroke: #ffffff;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fbhvac-service-hours__call-copy {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: .15rem;
}

.fbhvac-service-hours__call-copy small {
    font-size: .95rem;
    font-weight: 800;

    opacity: .95;
}

.fbhvac-service-hours__call-copy strong {
    font-size: 1.25rem;
    font-weight: 900;
}

.fbhvac-service-hours__call-arrow {
    margin-left: auto;

    font-size: 1.45rem;
}


/* =========================================================
   Service Areas
   ========================================================= */

.fbhvac-service-area-list {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: .65rem;

    margin: 0;
    padding: 0;

    list-style: none;
}

.fbhvac-service-area-list li {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    min-height: 44px;

    padding: .55rem .7rem;

    border: 1px solid rgba(45, 16, 72, .10);
    border-radius: 12px;

    background: #ffffff;

    color: #2d1048;

    font-size: .9rem;
    font-weight: 800;
    line-height: 1.1;

    text-align: center;

    box-shadow:
        0 4px 10px rgba(45, 16, 72, .04);
}


/* View All Locations */

.fbhvac-service-area-card__locations-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: .5rem;

    margin-left: auto;

    min-height: 40px;

    padding: .55rem .9rem;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #ffd83d 0%,
        #ff9b3d 52%,
        #ef3f36 100%
    );

    color: #ffffff;

    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;

    white-space: nowrap;

    text-decoration: none;

    box-shadow:
        0 6px 14px rgba(45, 16, 72, .10);

    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}

.fbhvac-service-area-card__locations-link:hover,
.fbhvac-service-area-card__locations-link:focus-visible {
    color: #ffffff;

    transform: translateY(-1px);

    box-shadow:
        0 9px 18px rgba(45, 16, 72, .16);
}

.fbhvac-service-area-card__locations-arrow {
    font-size: 1rem;
    line-height: 1;
}


/* =========================================================
   Mobile - 720px
   ========================================================= */

@media (max-width: 720px) {

    .fbhvac-service-area-home {
        padding: 1rem .85rem 2rem;
    }

    .fbhvac-service-area-home__inner {
        width: 100%;
        max-width: 100%;
    }

    .fbhvac-service-area-home__content {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .fbhvac-service-area-card {
        width: 100%;
        min-width: 0;
    }

    .fbhvac-service-area-card__head {
        flex-wrap: wrap;
    }

    .fbhvac-service-area-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .fbhvac-service-hours__call {
        width: 100%;
        min-width: 0;
    }
}


/* =========================================================
   Small Mobile - 480px
   ========================================================= */

@media (max-width: 480px) {

    .fbhvac-service-area-home {
        padding: 1rem .65rem 1.75rem;
    }

    .fbhvac-service-area-home__header {
        margin-bottom: 1.5rem;
    }

    .fbhvac-service-area-home__header h2 {
        font-size: 2rem;
        line-height: 1.05;
    }

    .fbhvac-service-area-home__header p {
        font-size: .9rem;
        line-height: 1.45;
    }

    .fbhvac-service-area-card {
        padding: 1rem;

        border-radius: 20px;
    }

    .fbhvac-service-area-card__head {
        gap: .65rem;

        margin-bottom: 1rem;
    }

    .fbhvac-service-area-card__head h3 {
        font-size: 1.25rem;
    }

    .fbhvac-service-area-card__icon {
        flex: 0 0 48px;

        width: 48px;
        height: 48px;
    }

    .fbhvac-service-area-card__locations-link {
        width: 100%;

        margin-left: 0;

        min-height: 38px;

        padding: .5rem .75rem;

        font-size: .7rem;
    }

    .fbhvac-service-hours__row {
        grid-template-columns: 1fr auto;

        gap: .5rem;

        padding: .8rem;
    }

    .fbhvac-service-hours__row span,
    .fbhvac-service-hours__row strong {
        font-size: .82rem;
    }

    .fbhvac-service-hours__note {
        padding: .8rem;

        font-size: 1rem;
        line-height: 1.2;
    }

    .fbhvac-service-hours__call {
        gap: .6rem;

        padding: .8rem;
    }

    .fbhvac-service-hours__call-icon {
        flex: 0 0 38px;

        width: 38px;
        height: 38px;
    }

    .fbhvac-service-hours__call-copy small {
        font-size: .7rem;
    }

    .fbhvac-service-hours__call-copy strong {
        font-size: .9rem;

        white-space: normal;
    }

    .fbhvac-service-hours__call-arrow {
        display: none;
    }

    .fbhvac-service-area-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: .45rem;
    }

    .fbhvac-service-area-list li {
        min-height: 38px;

        padding: .4rem .35rem;

        font-size: .75rem;
    }
}
