@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;
}
/* =========================================================
   SERVICES PAGE
   ========================================================= */

.fbhvac-services-page {
    background: #f7f7f8;
    color: #24113f;
}


/* =========================================================
   SERVICES HERO
   ========================================================= */

.fbhvac-services-hero {
    position: relative;
    overflow: hidden;

    min-height: 620px;

    padding:
        clamp(3.5rem, 5vw, 5.5rem)
        2.5rem
        8rem;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 15% 45%,
            rgba(42, 87, 219, .30) 0%,
            rgba(42, 87, 219, .10) 25%,
            transparent 48%
        ),
        radial-gradient(
            circle at 90% 35%,
            rgba(255, 102, 47, .32) 0%,
            rgba(255, 102, 47, .10) 28%,
            transparent 52%
        ),
        linear-gradient(
            105deg,
            #12051f 0%,
            #24103d 46%,
            #3a1747 72%,
            #74243c 100%
        );
}


/* Subtle dot texture */

.fbhvac-services-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    pointer-events: none;

    opacity: .18;

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

    background-size: 26px 26px;

    mask-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .65),
            transparent 32%,
            transparent 68%,
            rgba(0, 0, 0, .65)
        );
}


/* =========================================================
   HERO INNER LAYOUT
   ========================================================= */

.fbhvac-services-hero__inner {
    position: relative;
    z-index: 2;

    width: min(calc(100% - 5rem), 1600px);
    min-height: 480px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(520px, 1fr)
        minmax(500px, .95fr);

    align-items: center;

    gap: clamp(3rem, 6vw, 7rem);
}


/* =========================================================
   LEFT VISUAL
   ========================================================= */

.fbhvac-services-hero__visual {
    position: relative;

    min-height: 470px;
}


/* Equipment */

.fbhvac-services-hero__equipment-wrap {
    position: absolute;

    z-index: 3;

    top: 50%;
    left: 50%;

    width: min(90%, 760px);

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


.fbhvac-services-hero__equipment {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(0 26px 30px rgba(0, 0, 0, .35));
}
/* =========================================================
   SERVICES HERO ORBIT
   ========================================================= */

.fbhvac-services-orbit {
    position: absolute;

    inset: 0;

    pointer-events: none;
}


/* =========================================================
   ORBIT PATH
   ========================================================= */

.fbhvac-services-orbit::before {
    content: none;
}


/* =========================================================
   ORBITING BUBBLES
   ========================================================= */

.fbhvac-services-orbit__bubble {
    position: absolute;

    top: 0;
    left: 0;

    width: 84px;
    height: 84px;

    display: grid;
    place-items: center;

    background: transparent;

    border: 0;

    border-radius: 50%;

    /*
     * Actual elliptical orbit.
     */
    offset-path:
        ellipse(
            52% 42%
            at 50% 50%
        );

    offset-rotate: 0deg;

    animation:
        fbhvacSmoothOrbit
        18s
        linear
        infinite;

    will-change:
        offset-distance;

    filter:
        drop-shadow(
            0 10px 16px
            rgba(0, 0, 0, .28)
        );
}


/* =========================================================
   ICONS
   ========================================================= */

.fbhvac-services-orbit__bubble img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    border-radius: 50%;

    pointer-events: none;

    user-select: none;

    -webkit-user-drag: none;
}


/* =========================================================
   COOLING
   ========================================================= */

.fbhvac-services-orbit__bubble--cooling {
    color: #58c8ff;

    animation-delay: 0s;

    box-shadow:
        0 0 28px
        rgba(73, 186, 255, .24),

        0 12px 30px
        rgba(0, 0, 0, .28);
}


/* =========================================================
   REPAIR
   ========================================================= */

.fbhvac-services-orbit__bubble--repair {
    color: #71d4ff;

    animation-delay: -4.5s;
}


/* =========================================================
   HEATING
   ========================================================= */

.fbhvac-services-orbit__bubble--heating {
    color: #ffb233;

    animation-delay: -9s;

    box-shadow:
        0 0 28px
        rgba(255, 148, 44, .23),

        0 12px 30px
        rgba(0, 0, 0, .28);
}


/* =========================================================
   MAINTENANCE
   ========================================================= */

.fbhvac-services-orbit__bubble--maintenance {
    color: #ff8f32;

    animation-delay: -13.5s;
}


/* =========================================================
   SMOOTH ORBIT ANIMATION
   ========================================================= */

@keyframes fbhvacSmoothOrbit {

    /*
     * RIGHT SIDE
     * Bubble is entering the FRONT half.
     */

    0% {
        offset-distance: 0%;
        z-index: 5;
    }


    /*
     * BOTTOM HALF
     * Bubble stays IN FRONT of equipment.
     */

    49.9% {
        offset-distance: 49.9%;
        z-index: 5;
    }


    /*
     * LEFT SIDE
     * Bubble begins moving BEHIND equipment.
     */

    50% {
        offset-distance: 50%;
        z-index: 2;
    }


    /*
     * TOP HALF
     * Bubble stays BEHIND equipment.
     */

    99.9% {
        offset-distance: 99.9%;
        z-index: 2;
    }


    /*
     * Back to the right side.
     */

    100% {
        offset-distance: 100%;
        z-index: 5;
    }

}


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

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

    .fbhvac-services-orbit__bubble {
        animation: none;
    }


    .fbhvac-services-orbit__bubble--cooling {
        offset-distance: 0%;
    }

    .fbhvac-services-orbit__bubble--repair {
        offset-distance: 25%;
    }

    .fbhvac-services-orbit__bubble--heating {
        offset-distance: 50%;
    }

    .fbhvac-services-orbit__bubble--maintenance {
        offset-distance: 75%;
    }

}

/* =========================================================
   RIGHT HERO COPY
   ========================================================= */

.fbhvac-services-hero__content {
    position: relative;
    z-index: 5;

    max-width: 680px;
}


.fbhvac-services-hero__eyebrow {
    margin: 0 0 .75rem;

    color: #f7c83f;

    font-size: clamp(.9rem, 1vw, 1.05rem);
    font-weight: 900;

    letter-spacing: .11em;

    text-transform: uppercase;
}


/* Main headline */

.fbhvac-services-hero__title {
    margin: 0;

    color: #ffffff;

    font-size: clamp(4rem, 5.4vw, 6.6rem);
    font-weight: 900;

    line-height: .92;
    letter-spacing: -.05em;
}


.fbhvac-services-hero__title-main,
.fbhvac-services-hero__title-accent {
    display: block;
}


.fbhvac-services-hero__title-accent {
    margin-top: .06em;
}


/* Gradient line */

.fbhvac-services-hero__line {
    display: block;

    width: min(320px, 65%);
    height: 5px;

    margin: 1.6rem 0 1.5rem;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd83d 0%,
            #ff9738 48%,
            #ff5147 100%
        );
}


/* Supporting copy */

.fbhvac-services-hero__lead {
    max-width: 650px;

    margin: 0;

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

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

    line-height: 1.55;
}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.fbhvac-services-hero__actions {
    margin-top: 2rem;

    display: flex;
    flex-wrap: wrap;

    gap: .9rem;
}


.fbhvac-services-hero__button {
    min-height: 52px;

    padding: .85rem 1.35rem;

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

    border-radius: 999px;

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

    letter-spacing: .025em;

    text-decoration: none;

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


.fbhvac-services-hero__button:hover,
.fbhvac-services-hero__button:focus-visible {
    transform: translateY(-2px);
}


/* Primary */

.fbhvac-services-hero__button--primary {
    color: #24113f;

    background:
        linear-gradient(
            105deg,
            #ffd83d,
            #ff963c
        );

    box-shadow:
        0 12px 28px rgba(255, 141, 43, .22);
}


/* Secondary */

.fbhvac-services-hero__button--secondary {
    color: #ffffff;

    border: 2px solid rgba(255, 255, 255, .55);

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


/* =========================================================
   CURVED HERO ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ SERVICES TRANSITION
   ========================================================= */

.fbhvac-services-hero__wave {
    position: absolute;

    z-index: 3;

    left: -5%;
    bottom: -48px;

    width: 110%;
    height: 120px;

    border-top: 5px solid #f7c83f;

    border-radius:
        50% 50% 0 0 /
        100% 100% 0 0;

    background: #f7f7f8;
}


/* =========================================================
   SERVICES LIST ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â BASIC FOUNDATION FOR NOW
   ========================================================= */

.fbhvac-services-list {
    position: relative;

    z-index: 4;

    padding: .75rem 2.5rem 2rem;

    background: #f7f7f8;

    color: #24113f;
}


.fbhvac-services-list__inner {
    width: min(calc(100% - 5rem), 1450px);

    margin: 0 auto;
}
/* =========================================================
   SERVICES LIST HEADER
   ========================================================= */

.fbhvac-services-list__header {
    max-width: 900px;
    margin: 0 auto 2.75rem;

    text-align: center;
}

.fbhvac-services-list__eyebrow {
    margin: 0 0 .5rem;

    color: #6d1591;

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

    letter-spacing: .12em;
    text-transform: uppercase;
}

.fbhvac-services-list__header h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(2.5rem, 3.8vw, 4.2rem);
    font-weight: 900;

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

.fbhvac-services-list__line {
    display: block;

    width: 105px;
    height: 4px;

    margin: 1.2rem auto;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd83d 0%,
            #ff9238 50%,
            #ff5147 100%
        );
}

.fbhvac-services-list__header > p:last-child {
    max-width: 780px;

    margin: 0 auto;

    color: #625b68;

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


/* =========================================================
   ACCORDION STACK
   ========================================================= */

.fbhvac-services-accordion {
    display: grid;
    gap: .85rem;
}


/* =========================================================
   SERVICE CARD
   ========================================================= */

.fbhvac-service-accordion {
    overflow: hidden;

    border:
        1px solid rgba(36, 17, 63, .09);

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(36, 17, 63, .07);

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

.fbhvac-service-accordion:hover {
    transform: translateY(-2px);

    box-shadow:
        0 16px 38px rgba(36, 17, 63, .11);
}

.fbhvac-service-accordion[open] {
    border-color:
        rgba(109, 21, 145, .18);

    box-shadow:
        0 18px 46px rgba(36, 17, 63, .12);
}


/* Remove native details triangle */

.fbhvac-service-accordion summary {
    list-style: none;
}

.fbhvac-service-accordion summary::-webkit-details-marker {
    display: none;
}


/* =========================================================
   CLICKABLE ROW
   ========================================================= */

.fbhvac-service-accordion__summary {
    position: relative;

    min-height: 105px;

    padding:
        1rem
        1.4rem;

    display: grid;

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

    align-items: center;

    gap: 1.2rem;

    cursor: pointer;
}


/* Small colored line on left */

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

    position: absolute;

    top: 18px;
    bottom: 18px;
    left: 0;

    width: 4px;

    border-radius:
        0 999px 999px 0;

    background: #6d1591;
}


/* =========================================================
   ICON BOX
   ========================================================= */

.fbhvac-service-accordion__icon {
    width: 66px;
    height: 66px;

    display: grid;
    place-items: center;

    border-radius: 17px;

    color: #67caff;

    background:
        linear-gradient(
            145deg,
            #25103c,
            #45146b
        );

    box-shadow:
        0 8px 20px rgba(36, 17, 63, .16);
}

.fbhvac-service-accordion__icon svg {
    width: 33px;
    height: 33px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.7;

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


/* =========================================================
   TITLE + DESCRIPTION
   ========================================================= */

.fbhvac-service-accordion__heading {
    min-width: 0;
}

.fbhvac-service-accordion__heading strong {
    display: block;

    margin-bottom: .3rem;

    color: #24113f;

    font-size:
        clamp(1.2rem, 1.45vw, 1.55rem);

    font-weight: 900;

    line-height: 1.05;
}

.fbhvac-service-accordion__heading small {
    display: block;

    color: #6a6370;

    font-size: .92rem;
    font-weight: 500;

    line-height: 1.45;
}


/* =========================================================
   RIGHT ARROW
   ========================================================= */

.fbhvac-service-accordion__arrow {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    color: #6d1591;

    background:
        rgba(109, 21, 145, .07);

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

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

.fbhvac-service-accordion[open]
.fbhvac-service-accordion__arrow {
    transform: rotate(90deg);

    background:
        rgba(109, 21, 145, .13);
}


/* =========================================================
   OPEN CONTENT
   ========================================================= */

.fbhvac-service-accordion[open]
.fbhvac-service-accordion__summary {
    border-bottom:
        1px solid rgba(36, 17, 63, .09);
}

.fbhvac-service-accordion__content {
    padding:
        1.75rem
        clamp(2rem, 4vw, 4rem)
        2.25rem;

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

.fbhvac-service-accordion__content > p {
    max-width: 1000px;

    margin: 0 0 1.75rem;

    color: #514a57;

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


/* =========================================================
   TWO-COLUMN EXPANDED CONTENT
   ========================================================= */

.fbhvac-service-detail-grid {
    display: grid;

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

    gap: clamp(2rem, 5vw, 5rem);
}

.fbhvac-service-detail-grid h3 {
    margin: 0 0 .9rem;

    color: #24113f;

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

    letter-spacing: .04em;
    text-transform: uppercase;
}

.fbhvac-service-detail-grid ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.fbhvac-service-detail-grid li {
    position: relative;

    margin-bottom: .65rem;

    padding-left: 1.45rem;

    color: #5c5561;

    line-height: 1.5;
}

.fbhvac-service-detail-grid li::before {
    content: "\2713";

    position: absolute;

    top: 0;
    left: 0;

    color: #6d1591;

    font-weight: 900;
}

.fbhvac-service-detail-grid p {
    margin: 0;

    color: #5c5561;

    line-height: 1.65;
}

.fbhvac-service-accordion__text-link {
    display: inline-block;

    margin-top: 1rem;

    color: #6d1591;

    font-weight: 900;

    text-decoration: none;
}

.fbhvac-service-accordion__text-link:hover {
    text-decoration: underline;
}


/* =========================================================
   INDIVIDUAL SERVICE COLORS
   ========================================================= */

/* INSTALLATION */

.fbhvac-service-accordion--installation
.fbhvac-service-accordion__summary::before {
    background: #4cbfff;
}


/* REPAIRS */

.fbhvac-service-accordion--repair
.fbhvac-service-accordion__summary::before {
    background: #ff5147;
}

.fbhvac-service-accordion--repair
.fbhvac-service-accordion__icon {
    color: #ff6259;
}


/* MAINTENANCE */

.fbhvac-service-accordion--maintenance
.fbhvac-service-accordion__summary::before {
    background: #ff9638;
}

.fbhvac-service-accordion--maintenance
.fbhvac-service-accordion__icon {
    color: #ff9a42;
}


/* SALES */

.fbhvac-service-accordion--sales
.fbhvac-service-accordion__summary::before {
    background: #f7c83f;
}

.fbhvac-service-accordion--sales
.fbhvac-service-accordion__icon {
    color: #ffd24d;
}


/* INDOOR AIR QUALITY */

.fbhvac-service-accordion--iaq
.fbhvac-service-accordion__summary::before {
    background: #9b3bbc;
}

.fbhvac-service-accordion--iaq
.fbhvac-service-accordion__icon {
    color: #cf7bec;
}
/* =========================================================
   SERVICES SECTION HEADER
   ========================================================= */

.fbhvac-services-list__header {
    max-width: 900px;

    margin: 0 auto 3rem;

    text-align: center;
}


.fbhvac-services-list__eyebrow {
    margin: 0 0 .55rem;

    color: #6d1591;

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

    letter-spacing: .12em;

    text-transform: uppercase;
}


.fbhvac-services-list__header h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(2.5rem, 4vw, 4.4rem);
    font-weight: 900;

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


.fbhvac-services-list__line {
    display: block;

    width: 110px;
    height: 4px;

    margin: 1.25rem auto;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd83d,
            #ff8638,
            #ff5147
        );
}


.fbhvac-services-list__header > p:last-child {
    max-width: 780px;

    margin: 0 auto;

    color: #5b5562;

    font-size: 1.05rem;
    line-height: 1.65;
}


/* =========================================================
   SERVICES ACCORDION WRAPPER
   ========================================================= */

.fbhvac-services-accordion {
    display: grid;

    gap: .85rem;
}


/* =========================================================
   INDIVIDUAL SERVICE CARD
   ========================================================= */

.fbhvac-service-accordion {
    position: relative;

    overflow: hidden;

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

    background: #ffffff;

    box-shadow:
        0 12px 35px rgba(35, 16, 57, .07);

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


.fbhvac-service-accordion:hover {
    transform: translateY(-2px);

    box-shadow:
        0 18px 42px rgba(35, 16, 57, .11);
}


/* Remove default browser triangle */

.fbhvac-service-accordion summary {
    list-style: none;
}


.fbhvac-service-accordion summary::-webkit-details-marker {
    display: none;
}


/* =========================================================
   ACCORDION SUMMARY
   ========================================================= */

.fbhvac-service-accordion__summary {
    position: relative;

    min-height: 110px;

    padding:
        1.15rem
        1.5rem;

    display: grid;

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

    align-items: center;

    gap: 1.25rem;

    cursor: pointer;

    user-select: none;
}


/* Colored accent strip */

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

    position: absolute;

    left: 0;
    top: 18px;
    bottom: 18px;

    width: 4px;

    border-radius: 0 999px 999px 0;

    background: #6d1591;
}


/* =========================================================
   SERVICE ICON
   ========================================================= */

.fbhvac-service-accordion__icon {
    width: 68px;
    height: 68px;

    display: grid;
    place-items: center;

    border-radius: 18px;

    color: #65c9ff;

    background:
        linear-gradient(
            145deg,
            #28103f,
            #431268
        );

    box-shadow:
        0 9px 20px rgba(44, 15, 71, .15);
}


.fbhvac-service-accordion__icon svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   SERVICE TITLE + SHORT DESCRIPTION
   ========================================================= */

.fbhvac-service-accordion__heading {
    min-width: 0;

    display: block;
}


.fbhvac-service-accordion__heading strong {
    display: block;

    margin-bottom: .3rem;

    color: #24113f;

    font-size: clamp(1.25rem, 1.55vw, 1.65rem);
    font-weight: 900;

    line-height: 1.05;
}


.fbhvac-service-accordion__heading small {
    display: block;

    color: #68616e;

    font-size: .95rem;
    font-weight: 500;

    line-height: 1.45;
}


/* =========================================================
   ARROW
   ========================================================= */

.fbhvac-service-accordion__arrow {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    color: #6d1591;

    background: rgba(109, 21, 145, .07);

    font-size: 2rem;
    font-weight: 400;

    line-height: 1;

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


.fbhvac-service-accordion[open]
.fbhvac-service-accordion__arrow {
    transform: rotate(90deg);

    background: rgba(109, 21, 145, .12);
}


/* =========================================================
   OPEN ACCORDION
   ========================================================= */

.fbhvac-service-accordion[open] {
    border-color: rgba(109, 21, 145, .18);

    box-shadow:
        0 20px 48px rgba(35, 16, 57, .12);
}


.fbhvac-service-accordion[open]
.fbhvac-service-accordion__summary {
    border-bottom:
        1px solid rgba(36, 17, 63, .09);
}


/* =========================================================
   EXPANDED CONTENT
   ========================================================= */

.fbhvac-service-accordion__content {
    padding:
        1.6rem
        clamp(1.5rem, 3vw, 3rem)
        2rem;

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


.fbhvac-service-accordion__content > p {
    max-width: 1120px;

    margin: 0 0 1.35rem;

    color: #514a57;

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


/* =========================================================
   EXPANDED TWO-COLUMN DETAILS
   ========================================================= */

.fbhvac-service-detail-grid {
    display: grid;

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

    gap: 1.25rem;
}


.fbhvac-service-detail-grid > div {
    min-width: 0;

    padding: 1.4rem 1.5rem 1.5rem;

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

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #faf8fc 100%
        );

    box-shadow:
        0 10px 28px rgba(35, 16, 57, .055);
}


.fbhvac-service-detail-grid h3 {
    position: relative;

    margin: 0 0 1rem;
    padding-bottom: .8rem;

    color: #24113f;

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

    line-height: 1.15;
    letter-spacing: .035em;
    text-transform: uppercase;

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

.fbhvac-service-detail-grid h3::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -1px;

    width: 52px;
    height: 3px;

    border-radius: 999px;

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


.fbhvac-service-detail-grid ul {
    margin: 0;
    padding: 0;

    display: grid;
    gap: .65rem;

    list-style: none;
}


.fbhvac-service-detail-grid li {
    position: relative;

    margin: 0;
    padding-left: 2rem;

    color: #5a5360;

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


.fbhvac-service-detail-grid li::before {
    content: "\2713";

    position: absolute;
    left: 0;
    top: .08rem;

    width: 1.25rem;
    height: 1.25rem;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #6d1591,
            #9224bd
        );

    color: #ffffff;

    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
}


.fbhvac-service-detail-grid p {
    margin: 0;

    color: #5a5360;

    font-size: .98rem;
    line-height: 1.6;
}


/* Text link inside expanded service */

.fbhvac-service-accordion__text-link {
    display: inline-block;

    margin-top: 1rem;

    color: #6d1591;

    font-weight: 900;

    text-decoration: none;
}


.fbhvac-service-accordion__text-link:hover {
    text-decoration: underline;
}


/* =========================================================
   INDIVIDUAL SERVICE COLORS
   ========================================================= */

/* Installation */

.fbhvac-service-accordion--installation
.fbhvac-service-accordion__summary::before {
    background: #4cbfff;
}


/* Repair */

.fbhvac-service-accordion--repair
.fbhvac-service-accordion__summary::before {
    background: #ff5147;
}


.fbhvac-service-accordion--repair
.fbhvac-service-accordion__icon {
    color: #ff655c;
}


/* Maintenance */

.fbhvac-service-accordion--maintenance
.fbhvac-service-accordion__summary::before {
    background: #ff9638;
}


.fbhvac-service-accordion--maintenance
.fbhvac-service-accordion__icon {
    color: #ff9a42;
}


/* Sales */

.fbhvac-service-accordion--sales
.fbhvac-service-accordion__summary::before {
    background: #f7c83f;
}


.fbhvac-service-accordion--sales
.fbhvac-service-accordion__icon {
    color: #ffd24d;
}


/* Indoor Air Quality */

.fbhvac-service-accordion--iaq
.fbhvac-service-accordion__summary::before {
    background: #9b3bbc;
}


.fbhvac-service-accordion--iaq
.fbhvac-service-accordion__icon {
    color: #cb77ec;
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.fbhvac-services-cta {
    padding:
        5rem
        2.5rem;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 85% 40%,
            rgba(255, 117, 52, .20),
            transparent 34%
        ),
        linear-gradient(
            110deg,
            #160724,
            #29103e
        );
}


.fbhvac-services-cta__inner {
    width: min(calc(100% - 5rem), 1450px);

    margin: 0 auto;

    display: flex;

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

    gap: 3rem;
}


.fbhvac-services-cta__eyebrow {
    margin: 0 0 .45rem;

    color: #f7c83f;

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

    letter-spacing: .12em;

    text-transform: uppercase;
}


.fbhvac-services-cta h2 {
    margin: 0 0 .75rem;

    font-size: clamp(2.3rem, 3.4vw, 4rem);
    font-weight: 900;

    line-height: 1;
    letter-spacing: -.035em;
}


.fbhvac-services-cta__inner > div > p:last-child {
    max-width: 760px;

    margin: 0;

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

    font-size: 1.05rem;

    line-height: 1.6;
}


.fbhvac-services-cta__button {
    flex: 0 0 auto;

    min-height: 56px;

    padding: .95rem 1.65rem;

    display: inline-flex;

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

    border-radius: 999px;

    color: #24113f;

    background:
        linear-gradient(
            105deg,
            #ffd83d,
            #ff843a
        );

    box-shadow:
        0 15px 35px rgba(255, 126, 49, .20);

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

    text-decoration: none;

    white-space: nowrap;

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


.fbhvac-services-cta__button:hover,
.fbhvac-services-cta__button:focus-visible {
    transform: translateY(-2px);

    box-shadow:
        0 20px 42px rgba(255, 126, 49, .28);
}
/* =========================================================
   SERVICES PAGE ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

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

        grid-template-columns:
            minmax(0, 1fr)
            minmax(360px, .9fr);

        gap: 2rem;
    }

    .fbhvac-services-list__inner {
        width: min(calc(100% - 2rem), 1450px);
    }
}


@media (max-width: 720px) {

    /* -----------------------------------------
       SERVICES HERO ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â MOBILE: TEXT ONLY
       ----------------------------------------- */

    .fbhvac-services-hero {
        min-height: 0;

        padding:
            3.25rem
            1rem
            5.25rem;
    }

    .fbhvac-services-hero::before {
        opacity: .12;
        background-size: 22px 22px;
    }

    .fbhvac-services-hero__inner {
        width: min(calc(100% - 1rem), 680px);
        min-height: 0;

        margin: 0 auto;

        display: block;
    }

    /* Hide all equipment and orbit graphics on mobile. */
    .fbhvac-services-hero__visual,
    .fbhvac-services-hero__equipment-wrap,
    .fbhvac-services-hero__equipment,
    .fbhvac-services-orbit {
        display: none;
    }

    /* Show the desktop hero message as the mobile hero. */
    .fbhvac-services-hero__content {
        display: block;

        width: 100%;
        max-width: 620px;

        margin: 0 auto;

        text-align: center;
    }

    .fbhvac-services-hero__eyebrow {
        margin-bottom: .7rem;

        font-size: .82rem;
        letter-spacing: .12em;
    }

    .fbhvac-services-hero__title {
        font-size:
            clamp(
                2.9rem,
                12.5vw,
                4rem
            );

        line-height: .94;
        letter-spacing: -.045em;
    }

    .fbhvac-services-hero__title-main,
    .fbhvac-services-hero__title-accent {
        display: block;
    }

    .fbhvac-services-hero__line {
        width: min(210px, 62%);
        height: 4px;

        margin:
            1.35rem
            auto
            1.25rem;
    }

    .fbhvac-services-hero__lead {
        max-width: 560px;

        margin: 0 auto;

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

    .fbhvac-services-hero__actions {
        width: min(100%, 390px);

        margin:
            1.65rem
            auto
            0;

        display: grid;
        grid-template-columns: 1fr;

        gap: .75rem;
    }

    .fbhvac-services-hero__button {
        width: 100%;
        min-height: 50px;

        padding:
            .8rem
            1.1rem;
    }

    /* Keep the curved transition, but make it shallow. */
    .fbhvac-services-hero__wave {
        left: -10%;
        bottom: -26px;

        width: 120%;
        height: 64px;

        border-top-width: 3px;
    }


    /* -----------------------------------------
       What We Do
       ----------------------------------------- */

    .fbhvac-services-list {
        padding:
            2.1rem
            1rem
            3rem;
    }

    .fbhvac-services-list__inner {
        width: 100%;
        max-width: 680px;

        margin: 0 auto;
    }

    .fbhvac-services-list__header {
        width: 100%;
        max-width: none;

        margin: 0 auto 2rem;
        padding: 0;
    }

    .fbhvac-services-list__eyebrow {
        margin-bottom: .65rem;

        font-size: .88rem;
        letter-spacing: .15em;
    }

    .fbhvac-services-list__header h2 {
        width: 100%;
        max-width: 365px;

        margin: 0 auto;

        font-size:
            clamp(
                2.4rem,
                10.8vw,
                2.85rem
            );

        line-height: .95;
        letter-spacing: -.045em;

        white-space: normal;
        text-wrap: balance;
    }

    .fbhvac-services-list__line {
        width: 86px;
        height: 4px;

        margin:
            1rem
            auto
            1.25rem;
    }

    .fbhvac-services-list__header > p:last-child {
        width: 100%;
        max-width: 365px;

        margin: 0 auto;
        padding: 0;

        font-size: .98rem;
        line-height: 1.55;
    }


    /* -----------------------------------------
       Service cards
       ----------------------------------------- */

    .fbhvac-services-accordion {
        gap: .85rem;
    }

    .fbhvac-service-accordion {
        width: 100%;

        border-radius: 20px;

        box-shadow:
            0 10px 28px
            rgba(35, 16, 57, .07);
    }

    .fbhvac-service-accordion__summary {
        min-height: 0;

        padding:
            1rem
            .95rem;

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

        gap: .8rem;
    }

    .fbhvac-service-accordion__summary::before {
        top: 14px;
        bottom: 14px;

        width: 4px;
    }

    .fbhvac-service-accordion__icon {
        width: 52px;
        height: 52px;

        border-radius: 15px;
    }

    .fbhvac-service-accordion__icon svg {
        width: 27px;
        height: 27px;
    }

    .fbhvac-service-accordion__heading strong {
        margin-bottom: .2rem;

        font-size: 1.12rem;
        line-height: 1.08;
    }

    .fbhvac-service-accordion__heading small {
        font-size: .86rem;
        line-height: 1.35;
    }

    .fbhvac-service-accordion__arrow {
        width: 36px;
        height: 36px;

        font-size: 1.7rem;
    }


    /* -----------------------------------------
       Expanded service content
       ----------------------------------------- */

    .fbhvac-service-accordion__content {
        padding:
            1rem
            .95rem
            1.25rem;
    }

    .fbhvac-service-accordion__content > p {
        margin-bottom: 1rem;

        font-size: .93rem;
        line-height: 1.55;
    }

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

        gap: .85rem;
    }

    .fbhvac-service-detail-grid > div {
        width: 100%;

        padding:
            1rem
            1rem
            1.1rem;

        border-radius: 16px;
    }

    .fbhvac-service-detail-grid h3 {
        margin-bottom: .85rem;
        padding-bottom: .7rem;

        font-size: .95rem;
        line-height: 1.15;
    }

    .fbhvac-service-detail-grid h3::after {
        width: 44px;
    }

    .fbhvac-service-detail-grid ul {
        gap: .55rem;
    }

    .fbhvac-service-detail-grid li {
        padding-left: 1.75rem;

        font-size: .9rem;
        line-height: 1.45;
    }

    .fbhvac-service-detail-grid li::before {
        top: .06rem;

        width: 1.15rem;
        height: 1.15rem;

        font-size: .66rem;
    }

    .fbhvac-service-detail-grid p {
        font-size: .9rem;
        line-height: 1.55;
    }

    .fbhvac-service-accordion__text-link {
        margin-top: .8rem;

        font-size: .9rem;
    }


    /* -----------------------------------------
       Bottom CTA
       ----------------------------------------- */

    .fbhvac-services-cta {
        padding:
            3rem
            1rem;
    }

    .fbhvac-services-cta__inner {
        width: 100%;

        flex-direction: column;
        align-items: flex-start;

        gap: 1.35rem;
    }

    .fbhvac-services-cta h2 {
        font-size:
            clamp(
                2rem,
                9vw,
                2.7rem
            );
    }

    .fbhvac-services-cta__inner > div > p:last-child {
        font-size: .98rem;
        line-height: 1.55;
    }

    .fbhvac-services-cta__button {
        width: 100%;
    }
}


@media (max-width: 480px) {

    .fbhvac-services-hero {
        min-height: 0;

        padding:
            2.75rem
            .85rem
            4.9rem;
    }

    .fbhvac-services-hero__inner {
        height: auto;
        min-height: 0;
    }

    .fbhvac-services-hero__title {
        font-size:
            clamp(
                2.65rem,
                12.6vw,
                3.45rem
            );
    }

    .fbhvac-services-hero__lead {
        font-size: .96rem;
    }

    .fbhvac-services-list {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    .fbhvac-services-list__header h2 {
        font-size:
            clamp(
                2.3rem,
                10.6vw,
                2.7rem
            );
    }
}


/* =========================================================
   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);
    }
}

/* =========================================================
   ABOUT US PAGE
   ========================================================= */

.fbhvac-about-page {
    background: #050505;
}


/* =========================================================
   ABOUT HERO
   ========================================================= */

.fbhvac-about-hero {
    position: relative;
    overflow: hidden;

    min-height: 760px;

    background:
        radial-gradient(
            circle at 76% 48%,
            rgba(77, 22, 112, .24) 0%,
            rgba(24, 8, 38, .12) 28%,
            transparent 56%
        ),
        #050505;

    color: #ffffff;
}

/* Oversized logo behind Chris */

.fbhvac-about-hero__watermark {
    position: absolute;

    z-index: 0;

    top: 51%;
    left: 68%;

    width: clamp(420px, 65%, 820px);
    height: auto;

    opacity: .085;

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

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


/* Main page layout */

.fbhvac-about-hero__inner {
    position: relative;

    z-index: 1;

    width: min(calc(100% - 5rem), 1600px);
    min-height: 500px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(420px, .88fr);

    align-items: stretch;

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

/* =========================================================
   LEFT CONTENT
   ========================================================= */

.fbhvac-about-hero__content {
    position: relative;

    z-index: 3;

    padding:
        clamp(1rem, 2vw, 2rem)
        0
        clamp(3rem, 4vw, 4.5rem);
}


/* Small heading */

.fbhvac-about-hero__eyebrow {
    margin: 0 0 .6rem;

    color: #f7c83f;

    font-size: clamp(1rem, 1.2vw, 1.25rem);
    font-weight: 800;

    letter-spacing: .045em;
    text-transform: uppercase;
}

.fbhvac-about-hero__eyebrow-line {
    width: 230px;
    height: 3px;

    margin-bottom: 1rem;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #ffd83d 0%,
        #ff723e 52%,
        #6d1591 100%
    );
}


/* =========================================================
   MAIN TITLE
   ========================================================= */

.fbhvac-about-hero__title {
    margin: 0;

    font-size: clamp(2.5rem, 4vw, 4.5rem);
    font-weight: 900;

    line-height: .96;

    letter-spacing: -.035em;

    text-transform: none;
}

.fbhvac-about-hero__title-main,
.fbhvac-about-hero__title-accent {
    display: block;
}

.fbhvac-about-hero__title-main {
    color: #ffffff;

    font-size: .60em;
    line-height: 1.15;
    font-weight: 800;
    
}

.fbhvac-about-hero__title-accent {
    margin-top: .08em;

    width: fit-content;

    color: transparent;

    background: linear-gradient(
        90deg,
        #ffd33d 0%,
        #ff993d 32%,
        #f0543d 68%,
        #dc3d53 100%
    );

    background-clip: text;
    -webkit-background-clip: text;
    font-size: .90em;
    line-height: 1.08;
    font-weight: 900;
}


/* =========================================================
   SUBHEADING
   ========================================================= */

.fbhvac-about-hero__subheading {
    margin:
        clamp(1.15rem, 2vw, 1.7rem)
        0
        .6rem;

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

    font-size: clamp(1.15rem, 1.5vw, 1.55rem);
    font-weight: 800;

    line-height: 1.2;

    text-transform: uppercase;
}

.fbhvac-about-hero__subheading-line {
    width: min(100%, 580px);
    height: 3px;

    margin-bottom: 1.15rem;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #ffd83d,
        #ff793e,
        transparent
    );
}


/* =========================================================
   BODY COPY
   ========================================================= */

.fbhvac-about-hero__copy {
    max-width: 1100px;

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

    margin-top: 1.5rem;
}

.fbhvac-about-hero__copy p {
    margin: 0 0 .8rem;

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

    line-height: 1.42;
}

.fbhvac-about-hero__copy strong {
    color: #ffffff;

    font-weight: 800;
}


/* Local pride statement */

.fbhvac-about-hero__local {
    margin:
        1.05rem
        0
        1.3rem;

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

    line-height: 1.2;

    text-transform: uppercase;

    color: #e67467;
}

.fbhvac-about-hero__local span {
    color: #f5bd3d;
}


/* =========================================================
   STATS
   ========================================================= */

.fbhvac-about-stats {
    width: min(100%, 900px);

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

    gap: .8rem;
}


/* Individual card */

.fbhvac-about-stat {
    min-width: 0;
    min-height: 108px;

    padding: 1rem;

    display: flex;
    align-items: center;

    gap: .8rem;

    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.03),
            rgba(255,255,255,.005)
        );
}


/* Icon */

.fbhvac-about-stat__icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;
}

.fbhvac-about-stat__icon svg {
    display: block;

    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;

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


/* Text */

.fbhvac-about-stat strong {
    display: block;

    margin: 0;

    font-size: clamp(1.55rem, 2.1vw, 2.35rem);
    font-weight: 900;

    line-height: .95;
}

.fbhvac-about-stat span,
.fbhvac-about-stat small {
    display: block;

    margin-top: .25rem;

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

    font-size: .78rem;
    font-weight: 700;

    line-height: 1.15;

    text-transform: uppercase;
}


/* Text-only stats */

.fbhvac-about-stat .fbhvac-about-stat__word {
    font-size: clamp(1.35rem, 1.65vw, 1.9rem);

    text-transform: uppercase;
}


/* Gold */

.fbhvac-about-stat--gold {
    color: #ffc83d;

    border-color: rgba(255, 200, 61, .45);
}


/* Orange */

.fbhvac-about-stat--orange {
    color: #ff6c3d;

    border-color: rgba(255, 108, 61, .42);
}


/* Purple */

.fbhvac-about-stat--purple {
    color: #a861d0;

    border-color: rgba(168, 97, 208, .42);
}


/* Blue */

.fbhvac-about-stat--blue {
    color: #5784e8;

    border-color: rgba(87, 132, 232, .42);
}


/* =========================================================
   CHRIS PORTRAIT
   ========================================================= */

.fbhvac-about-hero__portrait {
    position: relative;
    z-index: 2;

    min-width: 0;

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

    overflow: visible;

    margin-top: 4.25rem;
}


/* Purple/orange glow behind portrait */

.fbhvac-about-hero__glow {
    position: absolute;

    z-index: -1;

    right: -12%;
    bottom: 10%;

    width: 560px;
    height: 560px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(103, 29, 144, .34) 0%,
            rgba(103, 29, 144, .13) 40%,
            transparent 70%
        );

    filter: blur(20px);
}
.fbhvac-about-hero__portrait-mobile {
    display: none;
}

/* Chris */

.fbhvac-about-hero__portrait img {
    display: block;

    width: 1150px;
    max-width: none;
    height: auto;
    max-height: none;

    flex-shrink: 0;

    object-fit: contain;
    object-position: bottom center;

    transform: translate(-260px, -20px);

    filter: drop-shadow(0 18px 30px rgba(0,0,0,.35));
}
/* =========================================================
   ABOUT HERO ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ENTRANCE MOTION
   ========================================================= */

.fbhvac-about-hero--animate .fbhvac-about-hero__reveal {
    opacity: 0;
    transform: translateY(24px);
}

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


/* Chris */

.fbhvac-about-hero--animate .fbhvac-about-hero__portrait--animate {
    opacity: 0;

    /* Do NOT use transform here because Chris' IMG already
       uses translateX() for positioning. */
}

.fbhvac-about-hero--animate.is-ready
.fbhvac-about-hero__portrait--animate {
    animation:
        fbhvac-about-portrait-in
        900ms
        cubic-bezier(.2, .7, .2, 1)
        220ms
        forwards;
}


/* Watermark */

.fbhvac-about-hero--animate .fbhvac-about-hero__watermark {
    opacity: 0;
}

.fbhvac-about-hero--animate.is-ready
.fbhvac-about-hero__watermark {
    animation:
        fbhvac-about-watermark-in
        1100ms
        ease
        250ms
        forwards;
}


/* Animation definitions */

@keyframes fbhvac-about-fade-up {

    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes fbhvac-about-portrait-in {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}


@keyframes fbhvac-about-watermark-in {

    from {
        opacity: 0;
    }

    to {
        opacity: .085;
    }

}

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

@media (max-width: 900px) {

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

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

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

}


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

@media (max-width: 720px) {

    /* Main About hero */
    .fbhvac-about-hero {
        min-height: 0;
        overflow: hidden;
    }

    /* Portrait first, copy second */
    .fbhvac-about-hero__inner {
        width: 100%;
        min-height: 0;

        display: grid;
        grid-template-columns: 1fr;

        gap: 0;
        overflow: visible;
    }

    /* Chris portrait area */
    .fbhvac-about-hero__portrait {
        order: 1;

        position: relative;
        z-index: 2;

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

        margin: 0;

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

        overflow: hidden;
    }

    .fbhvac-about-hero__portrait img {
        display: block;

        width: min(132vw, 560px);
        max-width: none;
        height: auto;
        max-height: none;

        position: relative;
        left: auto;

        flex-shrink: 0;

        object-fit: contain;
        object-position: center top;

        /* Raise Chris on mobile */
        transform: translate(-2%, 10px);

        filter:
            drop-shadow(0 18px 30px rgba(0,0,0,.35));
    }

    /* Smaller logo directly behind Chris */
    .fbhvac-about-hero__watermark {
        top: 122px;
        bottom: auto;
        left: 50%;

        width: min(58vw, 240px);
        height: auto;

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

        opacity: .085;
        z-index: 0;

        pointer-events: none;
    }

    /* Keep glow in the portrait zone */
    .fbhvac-about-hero__glow {
        top: 10px;
        right: auto;
        bottom: auto;
        left: 50%;

        width: 320px;
        height: 320px;

        transform: translateX(-50%);
    }

    /* About copy */
    .fbhvac-about-hero__content {
        order: 2;

        position: relative;
        z-index: 3;

        width: min(calc(100% - 2rem), 680px);
        max-width: none;

        margin: -20px auto 0;

        padding: 1.4rem 0 2rem;

        transform: none;
    }

    /* Soft fade from Chris' portrait into the About copy */
    .fbhvac-about-hero__content::before {
        content: "";

        position: absolute;
        z-index: -1;

        top: -70px;
        left: -1rem;
        right: -1rem;

        height: 110px;

        background:
            linear-gradient(
                180deg,
                transparent 0%,
                rgba(5, 5, 5, .75) 55%,
                #050505 100%
            );

        pointer-events: none;
    }

    .fbhvac-about-hero__eyebrow {
        font-size: .95rem;
    }

    .fbhvac-about-hero__eyebrow-line {
        width: 150px;
        margin-bottom: .8rem;
    }

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

    .fbhvac-about-hero__subheading {
        margin-top: 1rem;
        font-size: 1rem;
        line-height: 1.25;
    }

    .fbhvac-about-hero__subheading-line {
        margin-bottom: .9rem;
    }

    .fbhvac-about-hero__copy {
        width: 100%;
        max-width: none;
        margin-top: 1rem;
    }

    .fbhvac-about-hero__copy p {
        width: 100%;
        margin-bottom: .9rem;

        font-size: .98rem;
        line-height: 1.48;

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

    .fbhvac-about-hero__local {
        margin: 1rem 0 .5rem;
        font-size: .95rem;
        line-height: 1.3;
    }

    .fbhvac-about-hero__local span {
        display: block;
        margin-bottom: .25rem;
    }

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

    .fbhvac-about-stat {
        min-height: 96px;
        padding: .85rem;
        gap: .6rem;
    }

    .fbhvac-about-stat__icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .fbhvac-service-area-home__content {
    grid-template-columns: 1fr;
    gap: 1rem;
    }

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

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

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

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


@media (max-width: 480px) {

    .fbhvac-about-stats {
        grid-template-columns: 1fr;
    }
    .fbhvac-service-area-home {
    padding: 1rem .75rem 1.5rem;
    }

    .fbhvac-service-area-card {
        padding: 1rem;
        border-radius: 20px;
    }

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

    .fbhvac-service-area-card__locations-link {
        margin-left: 0;
        min-height: 36px;
        padding: .45rem .7rem;
        font-size: .68rem;
    }

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

    .fbhvac-service-area-list li {
        min-height: 38px;
        padding: .4rem .45rem;
        font-size: .78rem;
    }

    .fbhvac-service-hours__row {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .fbhvac-service-hours__call {
        gap: .65rem;
        padding: .8rem;
    }

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

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

    .fbhvac-service-hours__call-copy strong {
        font-size: .95rem;
        white-space: normal;
    }

    .fbhvac-service-hours__call-arrow {
        display: none;
    }
}
/* =========================================================
   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;
    }
}

/* =========================================================
   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;
    }
}

/* =========================================================
   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));
    }
}

/* =========================================================
   RELATED / INTERNAL LINKS
   ========================================================= */

.fbhvac-related-links {
    padding: 64px 24px;
    background: #080808;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.fbhvac-related-links__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.fbhvac-related-links__eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: #f5a623;
}

.fbhvac-related-links__title {
    margin: 0 0 28px;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
    color: #fff;
}

.fbhvac-related-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fbhvac-related-links__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 68px;
    padding: 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 14px;
    background: #151019;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

.fbhvac-related-links__item:hover,
.fbhvac-related-links__item:focus-visible {
    transform: translateY(-2px);
    border-color: #f5a623;
    background: #241534;
}

.fbhvac-related-links__arrow {
    flex: 0 0 auto;
    font-size: 20px;
    color: #f5a623;
}

@media (max-width: 900px) {

    .fbhvac-related-links {
        padding: 48px 18px;
    }

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

@media (max-width: 600px) {

    .fbhvac-related-links {
        padding: 40px 16px;
    }

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

    .fbhvac-related-links__item {
        min-height: 60px;
    }
}

/* =========================================================
   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 {
    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;
    }
}
/* =========================================================
   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;
    }
}
/* =========================================================
   LOCATIONS PAGE
   ========================================================= */

.fbhvac-locations-page {
    background: #13081f;
    color: #ffffff;
}


/* =========================================================
   Locations Hero / Main Section
   ========================================================= */

.fbhvac-locations-hero {
    position: relative;
    overflow: hidden;

    padding: 2.25rem 1.5rem 3rem;

    background:
        radial-gradient(
            circle at 18% 10%,
            rgba(103, 49, 138, .24),
            transparent 30%
        ),
        radial-gradient(
            circle at 82% 20%,
            rgba(96, 55, 132, .22),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #180924 0%,
            #210d35 52%,
            #13081f 100%
        );
}


/* Subtle background texture */

.fbhvac-locations-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .22;

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

    background-size: 28px 28px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, .25),
            transparent 48%
        );
}


.fbhvac-locations-hero__inner {
    position: relative;
    z-index: 1;

    width: min(100%, 1500px);
    margin: 0 auto;
}


/* =========================================================
   Hero Header
   ========================================================= */

.fbhvac-locations-hero__header {
    max-width: 1100px;

    margin: 0 auto 2rem;

    text-align: center;
}


.fbhvac-locations-hero__header h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(2.8rem, 4.8vw, 5.2rem);
    font-weight: 900;

    line-height: .98;
    letter-spacing: -.045em;

    text-transform: uppercase;
}


.fbhvac-locations-hero__line {
    width: 150px;
    height: 5px;

    margin: 1rem auto 1rem;

    border-radius: 999px;

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


.fbhvac-locations-hero__header p {
    max-width: 780px;

    margin: 0 auto;

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

    font-size: 1.08rem;
    line-height: 1.55;
}


/* =========================================================
   Hero Actions
   ========================================================= */

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

    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 1.5rem;
}


.fbhvac-locations-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: .75rem;

    min-width: 300px;
    min-height: 58px;

    padding: .8rem 1.3rem;

    border-radius: 16px;

    color: #ffffff;

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

    text-decoration: none;

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


.fbhvac-locations-btn:hover,
.fbhvac-locations-btn:focus-visible {
    color: #ffffff;

    transform: translateY(-2px);

    filter: brightness(1.06);
}


/* Book */

.fbhvac-locations-btn--book {
    border: 0;

    background:
        linear-gradient(
            100deg,
            #ffd83d 0%,
            #ff983d 48%,
            #ef3f36 100%
        );

    box-shadow:
        0 12px 28px rgba(239, 63, 54, .18);
}


/* Call */

.fbhvac-locations-btn--call {
    border: 2px solid transparent;

    background:
        linear-gradient(
            #1e0c30,
            #1e0c30
        ) padding-box,

        linear-gradient(
            100deg,
            #ffd83d,
            #ff983d,
            #ef3f36
        ) border-box;

    box-shadow:
        0 12px 28px rgba(0, 0, 0, .16);
}


.fbhvac-locations-btn__icon {
    display: grid;
    place-items: center;

    width: 30px;
    height: 30px;

    flex: 0 0 30px;
}


.fbhvac-locations-btn__icon svg {
    width: 26px;
    height: 26px;

    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   Locations White Shell
   ========================================================= */

.fbhvac-locations-grid-shell {
    padding: 1.4rem;

    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 26px;

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

    box-shadow:
        0 24px 60px rgba(0, 0, 0, .28);
}


/* =========================================================
   Location Grid
   ========================================================= */

.fbhvac-locations-grid {
    display: grid;

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

    gap: .75rem;
}


/* Individual City Card */

.fbhvac-locations-city-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: .7rem;

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

    padding: .75rem 1rem;

    overflow: hidden;

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

    background: #ffffff;

    color: #2d1048;

    text-decoration: none;

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

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


.fbhvac-locations-city-card:hover,
.fbhvac-locations-city-card:focus-visible {
    color: #2d1048;

    transform: translateY(-3px);

    border-color: rgba(239, 63, 54, .32);

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


/* Pin */

.fbhvac-locations-city-card__pin {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #4f256f,
            #241039
        );

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


.fbhvac-locations-city-card__pin svg {
    width: 23px;
    height: 23px;

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


/* City name */

.fbhvac-locations-city-card__name {
    position: relative;
    z-index: 2;

    min-width: 0;

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

    line-height: 1.05;

    text-transform: uppercase;

    white-space: nowrap;
}


/* Dot texture */

.fbhvac-locations-city-card__dots {
    position: absolute;

    top: 0;
    right: 0;

    width: 48px;
    height: 100%;

    opacity: .24;

    background-image:
        radial-gradient(
            circle,
            #6b348e 1.2px,
            transparent 1.3px
        );

    background-size: 7px 7px;

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000
        );
}


/* =========================================================
   Service Strip
   ========================================================= */

.fbhvac-locations-service-strip {
    display: none;
    align-items: center;

    gap: 1.25rem;

    width: min(92%, 1200px);

    margin: .75rem auto 0;

    padding: 1rem 1.25rem;

    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;

    background:
        linear-gradient(
            90deg,
            #2a1044 0%,
            #1a092b 100%
        );

    box-shadow:
        0 14px 34px rgba(0, 0, 0, .20);
}


/* =========================================================
   Service Strip - Left Intro
   ========================================================= */

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

    flex: 0 1 44%;

    gap: 1rem;

    min-width: 0;
}


.fbhvac-locations-service-strip__intro > div {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: .15rem;
}


.fbhvac-locations-service-strip__intro strong {
    color: #ffffff;

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

    line-height: 1.1;

    text-transform: uppercase;
}


.fbhvac-locations-service-strip__intro div > span {
    color: rgba(255, 255, 255, .70);

    font-size: .85rem;
    line-height: 1.35;
}


/* =========================================================
   Service Strip - Location Icon
   ========================================================= */

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

    width: 62px;
    height: 62px;

    flex: 0 0 62px;

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

    background:
        linear-gradient(
            #261039,
            #261039
        ) padding-box,

        linear-gradient(
            135deg,
            #ffd83d,
            #ff923d,
            #ef3f36
        ) border-box;
}


.fbhvac-locations-service-strip__pin svg {
    width: 30px;
    height: 30px;

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


/* =========================================================
   Service Strip - HVAC Icons
   ========================================================= */

.fbhvac-locations-service-strip__services {
    display: flex;
    align-items: stretch;

    flex: 1 1 56%;

    min-width: 0;

    margin-left: 0;
}


.fbhvac-locations-service-strip__services > span {
    display: grid;
    place-items: center;

    flex: 1 1 0;

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

    border-left: 1px solid rgba(255, 255, 255, .18);

    color: #ff9a36;
}


.fbhvac-locations-service-strip__services > span:first-child {
    border-left: 1px solid rgba(255, 255, 255, .18);
}
/* Snowflake icon */
.fbhvac-locations-service-strip__services > span:last-child {
    font-size: 80px;
    line-height: 1;
    font-weight: 900;

    -webkit-text-stroke: .8px currentColor;
}


.fbhvac-locations-service-strip__services svg {
    width: 80px;
    height: 80px;

    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

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


.fbhvac-locations-service-strip__services > span:hover svg {
    transform: translateY(-2px) scale(1.08);

    filter:
        drop-shadow(
            0 0 8px rgba(255, 159, 67, .28)
        );
}


/* =========================================================
   Bottom CTA
   ========================================================= */

.fbhvac-locations-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 2rem;

    width: min(82%, 1000px);

    margin: 1.25rem auto 0;

    padding: .8rem 1rem;

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

    background:
        linear-gradient(
            90deg,
            #210d35,
            #210d35
        ) padding-box,

        linear-gradient(
            100deg,
            #ffd83d,
            #ff983d,
            #ef3f36
        ) border-box;

    box-shadow:
        0 14px 34px rgba(0, 0, 0, .20);
}


.fbhvac-locations-bottom-cta__copy {
    display: flex;
    align-items: center;

    gap: .9rem;

    min-width: 0;
}


.fbhvac-locations-bottom-cta__phone {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #ffd83d,
            #ff9b3d
        );

    color: #241039;
}


.fbhvac-locations-bottom-cta__phone svg {
    width: 24px;
    height: 24px;

    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.fbhvac-locations-bottom-cta__copy > div {
    display: flex;
    flex-direction: column;

    gap: .1rem;
}


.fbhvac-locations-bottom-cta__copy strong {
    color: #ffffff;

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


.fbhvac-locations-bottom-cta__copy div > span {
    color: #ffbe36;

    font-size: .9rem;
    font-weight: 900;
}


/* Bottom booking button */

.fbhvac-locations-bottom-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: .6rem;

    min-height: 46px;

    padding: .65rem 1.2rem;

    border-radius: 12px;

    background:
        linear-gradient(
            100deg,
            #ffbe36,
            #ff833b,
            #ef3f36
        );

    color: #ffffff;

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

    text-decoration: none;

    white-space: nowrap;

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


.fbhvac-locations-bottom-cta__button:hover,
.fbhvac-locations-bottom-cta__button:focus-visible {
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 10px 20px rgba(239, 63, 54, .22);
}


/* =========================================================
   LOCATIONS PAGE - 720px
   ========================================================= */

@media (max-width: 720px) {

    .fbhvac-locations-hero {
        padding: 1.5rem .85rem 2rem;
    }


    .fbhvac-locations-hero__header {
        margin-bottom: 1.5rem;
    }


    .fbhvac-locations-hero__header h1 {
        font-size: 2.5rem;
        line-height: 1;
    }


    .fbhvac-locations-hero__header p {
        max-width: 520px;

        font-size: .95rem;
    }


    .fbhvac-locations-hero__actions {
        gap: .7rem;

        margin-top: 1.2rem;
    }


    .fbhvac-locations-btn {
        width: min(100%, 430px);
        min-width: 0;
    }


    .fbhvac-locations-grid-shell {
        padding: 1rem;

        border-radius: 22px;
    }


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

        gap: .6rem;
    }


    .fbhvac-locations-city-card {
        min-height: 60px;

        padding: .65rem .75rem;
    }


    .fbhvac-locations-city-card__name {
        font-size: .85rem;
    }


    .fbhvac-locations-service-strip {
        width: 100%;

        flex-direction: column;
        align-items: stretch;

        gap: .75rem;

        padding: 1rem;
    }


    .fbhvac-locations-service-strip__services {
        width: 100%;

        justify-content: center;

        margin-left: 0;

        border-top: 1px solid rgba(255, 255, 255, .12);
        padding-top: .65rem;
    }


    .fbhvac-locations-service-strip__services > span {
        flex: 1;

        border-left: 0;
    }


    .fbhvac-locations-bottom-cta {
        width: 100%;

        flex-direction: column;
        align-items: stretch;

        gap: .8rem;

        padding: 1rem;
    }


    .fbhvac-locations-bottom-cta__button {
        width: 100%;
    }
}


/* =========================================================
   LOCATIONS PAGE - 480px
   ========================================================= */

@media (max-width: 480px) {

    .fbhvac-locations-hero {
        padding: 1rem .65rem 1.5rem;
    }


    .fbhvac-locations-hero__header h1 {
        font-size: 2rem;
    }


    .fbhvac-locations-hero__line {
        width: 105px;
        height: 4px;

        margin: .8rem auto;
    }


    .fbhvac-locations-hero__header p {
        font-size: .88rem;
    }


    .fbhvac-locations-btn {
        min-height: 52px;

        padding: .7rem .9rem;

        font-size: .8rem;

        border-radius: 14px;
    }


    .fbhvac-locations-btn__icon {
        width: 25px;
        height: 25px;

        flex-basis: 25px;
    }


    .fbhvac-locations-btn__icon svg {
        width: 22px;
        height: 22px;
    }


    .fbhvac-locations-grid-shell {
        padding: .75rem;

        border-radius: 18px;
    }


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

        gap: .45rem;
    }


    .fbhvac-locations-city-card {
        gap: .65rem;

        min-height: 58px;

        padding: .6rem .8rem;

        border-radius: 14px;
    }


    .fbhvac-locations-city-card__pin {
        width: 32px;
        height: 32px;

        flex-basis: 32px;
    }


    .fbhvac-locations-city-card__pin svg {
        width: 18px;
        height: 18px;
    }


    .fbhvac-locations-city-card__name {
        font-size: .72rem;

        white-space: normal;
    }


    .fbhvac-locations-city-card__dots {
        display: block;

        width: 42px;

        opacity: .24;

        background-size: 7px 7px;
    }


    .fbhvac-locations-service-strip__pin {
        width: 44px;
        height: 44px;

        flex-basis: 44px;
    }


    .fbhvac-locations-service-strip__intro strong {
        font-size: .88rem;
    }


    .fbhvac-locations-service-strip__intro div > span {
        font-size: .72rem;
    }


    .fbhvac-locations-service-strip__services > span {
        height: 40px;
    }


    .fbhvac-locations-service-strip__services svg {
        width: 24px;
        height: 24px;
    }


    .fbhvac-locations-bottom-cta__phone {
        width: 42px;
        height: 42px;

        flex-basis: 42px;
    }


    .fbhvac-locations-bottom-cta__copy strong {
        font-size: .82rem;
    }


    .fbhvac-locations-bottom-cta__copy div > span {
        font-size: .78rem;
    }


    .fbhvac-locations-bottom-cta__button {
        min-height: 44px;

        font-size: .72rem;
    }
}

/* =========================================================
   AC REPAIR PAGE
   ========================================================= */

.fbhvac-ac-repair-page {
    background: #f7f7f8;
    color: var(--fbhvac-purple-900);
}


.fbhvac-ac-repair {
    position: relative;

    padding:
        1rem
        1.5rem
        clamp(2.5rem, 4vw, 4rem);

    background:
        radial-gradient(
            circle at 55% 0%,
            rgba(101, 65, 142, .055),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #faf9fb 100%
        );
}


.fbhvac-ac-repair__shell {
    width: min(100%, 1600px);

    margin: 0 auto;

    display: grid;

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

    column-gap: clamp(1.5rem, 2.5vw, 2.5rem);
    row-gap: .35rem;

    align-items: start;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.fbhvac-ac-repair__main {
    min-width: 0;

    grid-column: 1;
    grid-row: 1;
}


/*
 * The hero/copy/photo section always occupies
 * the complete width of the main content.
 */
.fbhvac-ac-repair__top {
    grid-column: 1 / -1;
    grid-row: 1;

    display: grid;

    grid-template-columns:
        minmax(440px, 1.03fr)
        minmax(430px, .97fr);

    gap: clamp(1.5rem, 2.5vw, 2.5rem);

    align-items: stretch;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.fbhvac-ac-repair__breadcrumbs {
    display: flex;

    align-items: center;
    flex-wrap: wrap;

    gap: .65rem;

    margin: 0 0 .75rem;

    color: #868088;

    font-size: .9rem;
    font-weight: 650;
}


.fbhvac-ac-repair__breadcrumbs a {
    display: inline-flex;

    align-items: center;

    gap: .4rem;

    color: #868088;

    text-decoration: none;

    transition:
        color 220ms ease;
}


.fbhvac-ac-repair__breadcrumbs a:hover,
.fbhvac-ac-repair__breadcrumbs a:focus-visible {
    color: var(--fbhvac-purple-700);
}


.fbhvac-ac-repair__breadcrumbs span[aria-current="page"] {
    color: var(--fbhvac-purple-900);

    font-weight: 800;
}


/* =========================================================
   MAIN COPY
   ========================================================= */

.fbhvac-ac-repair__title {
    margin: 0;

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

    font-size:
        clamp(
            3.2rem,
            4.5vw,
            5rem
        );

    font-weight: 950;

    line-height: .88;

    letter-spacing: -.00001em;
}
@media (min-width: 761px) {
    .fbhvac-ac-repair__title.fbhvac-heat-pump__title {
        font-size: clamp(2.6rem, 3.4vw, 4rem);
        line-height: .95;
        letter-spacing: -.00001em;
        white-space: nowrap;
    }
}
.fbhvac-ac-repair__title.fbhvac-ac-maintenance__title {
    font-size: clamp(2.8rem, 3.8vw, 4.25rem);
    line-height: .95;
    letter-spacing: -.00001em;
    white-space: nowrap;
}
.fbhvac-ac-repair__title.fbhvac-ac-installation__title {
    font-size: clamp(2.2rem, 3vw, 3.5rem);
    line-height: .95;
    letter-spacing: -.00001em;
}


.fbhvac-ac-repair__title-line {
    display: block;

    width: 200px;
    height: 5px;

    margin:
        .65rem
        0
        1.25rem;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--fbhvac-gold),
            var(--fbhvac-orange),
            var(--fbhvac-red),
            #7427a1
        );
}


.fbhvac-ac-repair__headline {
    max-width: 650px;

    margin:
        0
        0
        1rem;

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

    font-size:
        clamp(
            1.45rem,
            1.75vw,
            1.9rem
        );

    font-weight: 900;

    line-height: 1.12;

    letter-spacing: -.025em;
}


.fbhvac-ac-repair__lead {
    max-width: 680px;

    margin:
        0
        0
        1.35rem;

    color: #4f4855;

    font-size: .98rem;

    line-height: 1.6;
}


.fbhvac-ac-repair__lead strong {
    color: var(--fbhvac-purple-900);

    font-weight: 850;
}


/* =========================================================
   INFORMATION CARDS
   ========================================================= */

.fbhvac-ac-repair-note {
    width: 100%;

    min-height: 76px;

    display: grid;

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

    gap: .85rem;

    align-items: center;

    margin-top: .7rem;

    padding:
        .75rem
        1rem;

    border-radius: 15px;

    text-decoration: none;
}


.fbhvac-ac-repair-note--diagnostic {
    border: 2px solid #2e9b45;

    background:
        linear-gradient(
            90deg,
            #eaf7ed 0%,
            #f5fbf6 52%,
            #ffffff 100%
        );
}


.fbhvac-ac-repair-note--club {
    border:
        1.5px solid
        rgba(105, 46, 151, .45);

    background:
        linear-gradient(
            100deg,
            rgba(243, 236, 250, .95),
            #ffffff
        );

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


.fbhvac-ac-repair-note--club:hover,
.fbhvac-ac-repair-note--club:focus-visible {
    transform: translateY(-2px);

    border-color:
        rgba(105, 46, 151, .75);

    box-shadow:
        0 15px 32px
        rgba(44, 18, 69, .10);
}


.fbhvac-ac-repair-note__icon {
    display: grid;

    place-items: center;

    width: 44px;
    height: 44px;

    border-radius: 50%;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #2f1455,
            #4d237e
        );

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

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


.fbhvac-ac-repair-note--diagnostic
.fbhvac-ac-repair-note__icon {
    color: #ffffff;

    background: #2e9b45;
}


.fbhvac-ac-repair-note__copy {
    min-width: 0;
}


.fbhvac-ac-repair-note__copy > strong {
    display: block;

    margin-bottom: .18rem;

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

    font-size: .93rem;
    font-weight: 900;
}


.fbhvac-ac-repair-note__copy > span:not(
    .fbhvac-ac-repair-note__link
) {
    display: block;

    color: #504957;

    font-size: .82rem;

    line-height: 1.35;
}


.fbhvac-ac-repair-note__copy > span strong {
    color: #5c1e8c;
}


.fbhvac-ac-repair-note__link {
    display: inline-flex;

    align-items: center;

    gap: .4rem;

    margin-top: .3rem;

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

    font-size: .78rem;

    font-weight: 900;
}


/* =========================================================
   HERO PHOTO
   ========================================================= */

.fbhvac-ac-repair__visual {
    position: relative;

    min-height: 520px;

    overflow: hidden;

    border-radius:
        0
        30px
        30px
        30px;

    background: transparent !important;

    box-shadow: none;
}


.fbhvac-ac-repair__photo {
    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center top;
}


/* =========================================================
   12 IRON-CLAD GUARANTEES OVERLAY
   ========================================================= */

.fbhvac-ac-repair-guarantees {
    position: absolute;

    z-index: 3;

    left: .8rem;
    right: .8rem;
    bottom: 0;

    min-height: 160px;

    display: grid;

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

    align-items: center;

    gap: .85rem;

    padding:
        1rem
        1.1rem;

    overflow: hidden;

    border:
        2px solid
        transparent;

    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(36, 13, 62, .98),
            rgba(57, 18, 80, .96)
        ) padding-box,

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

    color: #ffffff;

    text-decoration: none;

    box-shadow:
        0 18px 38px
        rgba(19, 5, 35, .30);

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


.fbhvac-ac-repair-guarantees:hover,
.fbhvac-ac-repair-guarantees:focus-visible {
    transform: translateY(-3px);

    box-shadow:
        0 23px 46px
        rgba(19, 5, 35, .36);
}


.fbhvac-ac-repair-guarantees__badge {
    position: relative;

    display: flex;

    flex-direction: column;

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

    width: 120px;
    height: 125px;

    margin: auto;

    clip-path:
        polygon(
            50% 0%,
            91% 17%,
            88% 72%,
            50% 100%,
            12% 72%,
            9% 17%
        );

    color: #321754;

    background:
        linear-gradient(
            145deg,
            #ffe05a,
            #efa82f
        );

    text-align: center;

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


.fbhvac-ac-repair-guarantees__number {
    display: block;

    font-size: 3.2rem;

    font-weight: 950;

    line-height: .9;
}


.fbhvac-ac-repair-guarantees__badge-copy {
    display: block;

    margin-top: .3rem;

    font-size: .65rem;

    font-weight: 950;

    line-height: 1.05;
}


.fbhvac-ac-repair-guarantees__badge-copy small {
    display: block;

    font-size: .63rem;
}


.fbhvac-ac-repair-guarantees__content {
    min-width: 0;
}


.fbhvac-ac-repair-guarantees__content > strong {
    display: block;

    margin-bottom: .45rem;

    color: #ffffff;

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

    font-weight: 900;

    line-height: 1;
}


.fbhvac-ac-repair-guarantees__content p {
    margin:
        0
        0
        .55rem;

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

    font-size: .82rem;

    line-height: 1.4;
}


.fbhvac-ac-repair-guarantees__content > span {
    display: inline-flex;

    align-items: center;

    gap: .45rem;

    color: var(--fbhvac-gold);

    font-size: .82rem;

    font-weight: 900;
}


/* =========================================================
   FOUR SERVICE FEATURES
   DESKTOP: LEFT OF FAST / FRIENDLY CTA
   ========================================================= */

.fbhvac-ac-repair-features {
    grid-column: 1 / -1;
    grid-row: 2;

    display: grid;

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

    width: 100%;

    margin-top: 0;

    border-top:
        1px solid
        rgba(36, 17, 63, .07);

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


.fbhvac-ac-repair-feature {
    position: relative;

    min-width: 0;

    display: grid;

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

    gap: .65rem;

    align-items: center;

    padding:
        1rem
        .8rem;
}


.fbhvac-ac-repair-feature:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 20%;
    right: 0;
    bottom: 20%;

    width: 1px;

    background:
        rgba(
            36,
            17,
            63,
            .17
        );
}


.fbhvac-ac-repair-feature__icon {
    display: grid;

    place-items: center;

    width: 44px;
    height: 44px;

    border:
        2px solid
        #2faa4a;

    border-radius: 50%;

    color: #2faa4a;

    background: #f3fff5;

    font-size: 1.2rem;

    font-weight: 900;
}


.fbhvac-ac-repair-feature strong {
    display: block;

    margin-bottom: .2rem;

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

    font-size: .77rem;

    font-weight: 900;

    line-height: 1.12;
}


.fbhvac-ac-repair-feature p {
    margin: 0;

    color: #5a5360;

    font-size: .7rem;

    line-height: 1.35;
}


/* =========================================================
   FAST / FRIENDLY AC REPAIR CTA
   DESKTOP: BESIDE FOUR FEATURES
   ========================================================= */

.fbhvac-ac-repair-bottom-cta {
    grid-column: 2;
    grid-row: 2;

    display: flex;

    flex-direction: column;

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

    gap: .8rem;

    margin-top: 1.4rem;

    padding:
        .9rem
        1rem;

    border-radius: 18px;

    color: #ffffff;

    background:
        linear-gradient(
            105deg,
            #25103f,
            #32134e
        );

    box-shadow:
        0 16px 35px
        rgba(33, 13, 65, .15);
}


.fbhvac-ac-repair-bottom-cta__message {
    min-width: 0;

    display: flex;

    align-items: flex-start;

    gap: .65rem;
}


.fbhvac-ac-repair-bottom-cta__icon {
    display: grid;

    place-items: center;

    width: 38px;
    height: 38px;

    flex:
        0
        0
        38px;

    border:
        2px solid
        transparent;

    border-radius: 50%;

    background:
        linear-gradient(
            #2b1248,
            #2b1248
        ) padding-box,

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

    font-size: .95rem;
}


.fbhvac-ac-repair-bottom-cta__message strong {
    display: block;

    margin-bottom: .18rem;

    font-size: .8rem;

    font-weight: 900;

    line-height: 1.2;
}


.fbhvac-ac-repair-bottom-cta__message span {
    display: block;

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

    font-size: .68rem;

    line-height: 1.35;
}


/* =========================================================
   STANDARD BUTTON
   ========================================================= */

.fbhvac-ac-repair-button {
    min-height: 40px;

    display: inline-flex;

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

    flex: 0 0 auto;

    padding:
        .6rem
        1rem;

    border:
        2px solid
        transparent;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            #25103f,
            #190b2a
        ) padding-box,

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

    color: #ffffff;

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: .025em;

    text-align: center;

    text-decoration: none;

    text-transform: uppercase;

    white-space: nowrap;

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


.fbhvac-ac-repair-button:hover,
.fbhvac-ac-repair-button:focus-visible {
    transform: translateY(-2px);

    filter: brightness(1.08);

    box-shadow:
        0 13px 28px
        rgba(255, 119, 54, .15);
}


.fbhvac-ac-repair-button--wide {
    width: 100%;
}


/* =========================================================
   RIGHT SIDEBAR
   COMPACT DESKTOP VERSION
   ========================================================= */

.fbhvac-ac-repair__sidebar {
    grid-column: 2;
    grid-row: 1;

    display: grid;

    gap: 1rem;
}


.fbhvac-ac-repair-side-card {
    position: relative;

    display: block;

    padding:
        1.1rem
        1.2rem;

    border:
        1px solid
        rgba(36, 17, 63, .055);

    border-radius: 22px;

    background: #ffffff;

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

    text-decoration: none;

    box-shadow:
        0 14px 38px
        rgba(33, 13, 65, .055);
}


.fbhvac-ac-repair-side-card--booking {
    border: 0;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #271042,
            #321150
        );

    box-shadow:
        0 18px 40px
        rgba(35, 15, 59, .18);
}


.fbhvac-ac-repair-side-card__heading {
    display: grid;

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

    align-items: center;

    gap: .75rem;
}


.fbhvac-ac-repair-side-card__icon {
    display: grid;

    place-items: center;

    width: 48px;
    height: 48px;

    border:
        1.5px solid
        currentColor;

    border-radius: 50%;

    font-size: 1.15rem;

    opacity: .95;
}


.fbhvac-ac-repair-side-card__icon--solid {
    border: 0;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #2c124d,
            #40126a
        );
}


.fbhvac-ac-repair-side-card__heading strong {
    display: block;

    margin-bottom: .16rem;

    font-size: 1.05rem;

    font-weight: 900;

    line-height: 1;
}


.fbhvac-ac-repair-side-card__heading span:not(
    .fbhvac-ac-repair-side-card__arrow
) {
    display: block;

    color: #61576a;

    font-size: .78rem;

    line-height: 1.3;
}


.fbhvac-ac-repair-side-card--booking
.fbhvac-ac-repair-side-card__heading span:not(
    .fbhvac-ac-repair-side-card__arrow
) {
    color:
        rgba(
            255,
            255,
            255,
            .78
        );
}


.fbhvac-ac-repair-side-card__arrow {
    font-size: 1.65rem;

    line-height: 1;
}


.fbhvac-ac-repair-side-card--booking
.fbhvac-ac-repair-button {
    margin-top: .8rem;
}


.fbhvac-ac-repair-side-card--call {
    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}


.fbhvac-ac-repair-side-card--call:hover,
.fbhvac-ac-repair-side-card--call:focus-visible {
    transform: translateY(-2px);

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


.fbhvac-ac-repair-side-card__phone {
    margin:
        .6rem
        0
        0
        62px;

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

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

    font-weight: 950;

    line-height: 1;
}


/* =========================================================
   WHY CHOOSE US
   ========================================================= */

.fbhvac-ac-repair-side-card--why {
    padding-top: 1rem;
    padding-bottom: .75rem;
}


.fbhvac-ac-repair-side-card--why
.fbhvac-ac-repair-side-card__heading {
    grid-template-columns:
        50px
        minmax(0, 1fr);
}


.fbhvac-ac-repair-why-list {
    display: grid;

    gap: .45rem;

    margin:
        .7rem
        0;

    padding: 0;

    list-style: none;
}


.fbhvac-ac-repair-why-list li {
    position: relative;

    padding-left: 1.55rem;

    color: #4e4658;

    font-size: .78rem;

    line-height: 1.32;
}


.fbhvac-ac-repair-why-list li::before {
    content: "\2713";

    position: absolute;

    left: .2rem;
    top: 0;

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

    font-weight: 950;
}


/* =========================================================
   ABOUT US BUTTON
   ========================================================= */

.fbhvac-ac-repair-outline-button {
    min-height: 36px;

    display: inline-flex;

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

    gap: .6rem;

    padding:
        .5rem
        1rem;

    border:
        2px solid
        transparent;

    border-radius: 999px;

    background:
        linear-gradient(
            #ffffff,
            #ffffff
        ) padding-box,

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

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

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: .025em;

    text-decoration: none;

    text-transform: uppercase;

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


.fbhvac-ac-repair-outline-button:hover,
.fbhvac-ac-repair-outline-button:focus-visible {
    transform: translateY(-2px);

    box-shadow:
        0 12px 28px
        rgba(33, 13, 65, .09);
}


.fbhvac-ac-repair-outline-button--wide {
    width: 100%;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1280px) {

    .fbhvac-ac-repair__shell {
        grid-template-columns:
            minmax(0, 1fr)
            330px;

        gap: 1.5rem;
    }


    .fbhvac-ac-repair__main {
        grid-template-columns:
            minmax(0, 1fr)
            220px;
    }


    .fbhvac-ac-repair__top {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(350px, .9fr);

        gap: 1.4rem;
    }


    .fbhvac-ac-repair-guarantees {
        grid-template-columns:
            105px
            minmax(0, 1fr);
    }


    .fbhvac-ac-repair-guarantees__badge {
        width: 100px;
        height: 108px;
    }


    .fbhvac-ac-repair-guarantees__number {
        font-size: 2.75rem;
    }


    .fbhvac-ac-repair-feature {
        grid-template-columns: 1fr;

        align-content: center;

        gap: .45rem;
    }

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .fbhvac-ac-repair__shell {
        grid-template-columns: 1fr;
    }
    .fbhvac-ac-repair__main,
    .fbhvac-ac-repair-features,
    .fbhvac-ac-repair__sidebar {
        grid-column: 1;
        grid-row: auto;
    }


    .fbhvac-ac-repair__main {
        grid-template-columns:
            minmax(0, 1fr)
            240px;
    }


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

        margin-top: .5rem;
    }


    .fbhvac-ac-repair-side-card--why {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   MOBILE
   RETAIN THE LARGE STACKED PRESENTATION
   ========================================================= */

@media (max-width: 760px) {

    .fbhvac-ac-repair {
        padding:
            1rem
            1rem
            3rem;
    }


    /*
     * Return main content to normal block flow.
     * This makes Fast / Friendly full width again.
     */
    .fbhvac-ac-repair__main {
        display: block;
    }


    .fbhvac-ac-repair__top {
        display: grid;

        grid-template-columns: 1fr;
    }


    .fbhvac-ac-repair__title {
        font-size:
            clamp(
                3.4rem,
                17vw,
                5rem
            );
    }


    .fbhvac-ac-repair__headline {
        font-size: 1.45rem;
    }


    .fbhvac-ac-repair__lead {
        font-size: 1rem;

        line-height: 1.6;
    }


    .fbhvac-ac-repair-note {
        min-height: 88px;

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

        gap: 1rem;

        padding:
            .9rem
            1.15rem;
    }


    .fbhvac-ac-repair-note__icon {
        width: 48px;
        height: 48px;

        font-size: 1.55rem;
    }


    .fbhvac-ac-repair-note__copy > strong {
        font-size: 1rem;
    }


    .fbhvac-ac-repair-note__copy > span:not(
        .fbhvac-ac-repair-note__link
    ) {
        font-size: .89rem;
    }


    .fbhvac-ac-repair__visual {
        min-height: 520px;
    }


    .fbhvac-ac-repair-guarantees {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;

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

        min-height: 185px;

        padding: 1rem;
    }


    .fbhvac-ac-repair-guarantees__badge {
        width: 95px;
        height: 105px;
    }


    .fbhvac-ac-repair-guarantees__number {
        font-size: 2.6rem;
    }


    .fbhvac-ac-repair-guarantees__content > strong {
        font-size: 1.35rem;
    }


    /* Four feature section stays stacked nicely */

    .fbhvac-ac-repair-features {
        display: grid;

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

        margin-top: 2rem;
    }


    .fbhvac-ac-repair-feature {
        grid-template-columns:
            54px
            minmax(0, 1fr);

        gap: .85rem;

        padding:
            1.3rem
            1rem;
    }


    .fbhvac-ac-repair-feature__icon {
        width: 54px;
        height: 54px;

        font-size: 1.25rem;
    }


    .fbhvac-ac-repair-feature strong {
        font-size: .9rem;
    }


    .fbhvac-ac-repair-feature p {
        font-size: .8rem;

        line-height: 1.42;
    }


    .fbhvac-ac-repair-feature:nth-child(2)::after {
        display: none;
    }


    /* Restore full-width Fast / Friendly card */

    .fbhvac-ac-repair-bottom-cta {
        display: none;

        flex-direction: column;

        align-items: stretch;

        gap: 1rem;

        margin-top: 2rem;

        padding:
            1rem
            1.35rem;

        border-radius: 18px;
    }


    .fbhvac-ac-repair-bottom-cta__message {
        align-items: center;

        gap: 1rem;
    }


    .fbhvac-ac-repair-bottom-cta__icon {
        width: 50px;
        height: 50px;

        flex:
            0
            0
            50px;

        font-size: 1.2rem;
    }


    .fbhvac-ac-repair-bottom-cta__message strong {
        margin-bottom: .25rem;

        font-size: 1rem;
    }


    .fbhvac-ac-repair-bottom-cta__message span {
        font-size: .85rem;

        line-height: 1.35;
    }


    .fbhvac-ac-repair-bottom-cta
    .fbhvac-ac-repair-button {
        width: 100%;
    }


    /* Restore large mobile buttons */

    .fbhvac-ac-repair-button {
        min-height: 48px;

        padding:
            .8rem
            1.45rem;

        font-size: .82rem;
    }


    /* =====================================================
       MOBILE SIDEBAR
       Restore the presentation you liked
       ===================================================== */

    .fbhvac-ac-repair__sidebar {
        grid-template-columns: 1fr;

        gap: 1.6rem;

        margin-top: 1.6rem;
    }


    .fbhvac-ac-repair-side-card {
        padding:
            1.75rem
            1.6rem;

        border-radius: 26px;
    }


    .fbhvac-ac-repair-side-card__heading {
        grid-template-columns:
            62px
            minmax(0, 1fr)
            auto;

        gap: 1rem;
    }


    .fbhvac-ac-repair-side-card__icon {
        width: 60px;
        height: 60px;

        font-size: 1.5rem;
    }


    .fbhvac-ac-repair-side-card__heading strong {
        margin-bottom: .25rem;

        font-size: 1.35rem;
    }


    .fbhvac-ac-repair-side-card__heading span:not(
        .fbhvac-ac-repair-side-card__arrow
    ) {
        font-size: .9rem;

        line-height: 1.35;
    }


    .fbhvac-ac-repair-side-card__arrow {
        font-size: 2rem;
    }


    .fbhvac-ac-repair-side-card--booking
    .fbhvac-ac-repair-button {
        margin-top: 1.4rem;
    }


    .fbhvac-ac-repair-side-card__phone {
        margin:
            1rem
            0
            0
            78px;

        font-size:
            clamp(
                1.55rem,
                5.5vw,
                2rem
            );
    }


    .fbhvac-ac-repair-side-card--why {
        grid-column: auto;

        padding-bottom: 2rem;
    }


    .fbhvac-ac-repair-side-card--why
    .fbhvac-ac-repair-side-card__heading {
        grid-template-columns:
            62px
            minmax(0, 1fr);
    }


    .fbhvac-ac-repair-why-list {
        gap: 1.1rem;

        margin:
            2rem
            0;
    }


    .fbhvac-ac-repair-why-list li {
        padding-left: 2rem;

        font-size: .93rem;

        line-height: 1.4;
    }


    .fbhvac-ac-repair-outline-button {
        min-height: 48px;

        padding:
            .75rem
            1.25rem;

        font-size: .82rem;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 520px) {

    .fbhvac-ac-repair__breadcrumbs {
        font-size: .78rem;
    }


    .fbhvac-ac-repair-note {
        grid-template-columns:
            46px
            minmax(0, 1fr);

        padding:
            .85rem
            .9rem;
    }


    .fbhvac-ac-repair-note__icon {
        width: 42px;
        height: 42px;
    }


    .fbhvac-ac-repair__visual {
        min-height: 470px;
    }


    .fbhvac-ac-repair-guarantees {
        left: .65rem;
        right: .65rem;
        bottom: .65rem;

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

        gap: .75rem;
    }


    .fbhvac-ac-repair-guarantees__badge {
        width: 80px;
        height: 90px;
    }


    .fbhvac-ac-repair-guarantees__number {
        font-size: 2.15rem;
    }


    .fbhvac-ac-repair-guarantees__badge-copy {
        font-size: .6rem;
    }


    .fbhvac-ac-repair-guarantees__badge-copy small {
        font-size: .58rem;
    }


    .fbhvac-ac-repair-guarantees__content p {
        font-size: .78rem;
    }


    .fbhvac-ac-repair-features {
        grid-template-columns: 1fr;
    }


    .fbhvac-ac-repair-feature::after {
        display: none;
    }


    .fbhvac-ac-repair-feature {
        grid-template-columns:
            54px
            minmax(0, 1fr);

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


    .fbhvac-ac-repair-feature:last-child {
        border-bottom: 0;
    }


    .fbhvac-ac-repair-side-card__heading {
        grid-template-columns:
            54px
            minmax(0, 1fr)
            auto;
    }


    .fbhvac-ac-repair-side-card__icon {
        width: 52px;
        height: 52px;
    }


    .fbhvac-ac-repair-side-card__phone {
        margin-left: 70px;

        font-size: 1.45rem;
    }

}
/* =========================================================
   COMFORT CLUB PAGE
   ========================================================= */

.fbhvac-club-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: #24113f;
}


/* =========================================================
   HERO
   ========================================================= */

.fbhvac-club-hero {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 28% 45%,
            rgba(108, 43, 153, .28),
            transparent 38%
        ),
        linear-gradient(
            120deg,
            #140623 0%,
            #24103d 44%,
            #311550 100%
        );
}


/* FAMILY IMAGE */

.fbhvac-club-hero__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.fbhvac-club-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% center;

    filter:
        saturate(.96)
        contrast(1.02)
        brightness(.9);
}


/* DARK FADE BETWEEN COPY + PHOTO */

.fbhvac-club-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            #160726 0%,
            #1d0a31 21%,
            rgba(31, 11, 51, .97) 34%,
            rgba(32, 11, 52, .84) 45%,
            rgba(28, 10, 46, .54) 55%,
            rgba(22, 8, 37, .18) 68%,
            rgba(18, 6, 31, .04) 80%
        ),
        linear-gradient(
            180deg,
            rgba(16, 5, 28, .08) 0%,
            rgba(16, 5, 28, .02) 65%,
            rgba(16, 5, 28, .38) 100%
        );
}


/* HERO CONTENT */

.fbhvac-club-hero__inner {
    position: relative;
    z-index: 2;

    width: min(1500px, calc(100% - 120px));
    min-height: 620px;
    margin: 0 auto;

    display: flex;
    align-items: center;
}

.fbhvac-club-hero__copy {
    width: min(650px, 48%);
    padding: 52px 0 58px;
    padding-left: 20px;
}


/* EYEBROW */

.fbhvac-club-hero__eyebrow {
    margin: 0 0 10px;

    color: #ffd43b;

    font-size: .92rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .11em;
    text-transform: uppercase;
}


/* MAIN TITLE */

.fbhvac-club-hero__title {
    margin: 0;

    font-size: clamp(3.8rem, 5.2vw, 6.4rem);
    font-weight: 950;
    line-height: .9;
    letter-spacing: -.045em;
}

.fbhvac-club-hero__title span {
    display: block;

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

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

.fbhvac-club-hero__title strong {
    display: block;
    margin-top: 12px;

    color: #ffffff;

    font-size: .72em;
    line-height: 1.04;
}


/* UNDERLINE */

.fbhvac-club-hero__line {
    width: 128px;
    height: 4px;

    margin: 20px 0 22px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd43b,
            #ff6848,
            #8734cc
        );
}


/* HERO LEAD */

.fbhvac-club-hero__lead {
    margin: 0;

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

    font-size: clamp(1.05rem, 1.35vw, 1.3rem);
    font-weight: 650;
    line-height: 1.5;
}


/* =========================================================
   HERO COMFORT CLUB SUMMARY
   ========================================================= */

.fbhvac-club-hero__summary {
    position: relative;

    max-width: 640px;
    margin: 30px 0 0;
    padding:
        20px
        22px
        20px
        26px;

    border:
        1px solid
        rgba(255, 194, 71, .30);

    border-radius: 20px;

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

    background:
        linear-gradient(
            135deg,
            rgba(71, 28, 111, .52),
            rgba(28, 10, 48, .46)
        );

    box-shadow:
        0 16px 34px rgba(10, 3, 20, .18);

    backdrop-filter: blur(10px);

    font-size: clamp(1rem, 1.15vw, 1.16rem);
    font-weight: 560;
    line-height: 1.65;
}

.fbhvac-club-hero__summary::before {
    content: "";

    position: absolute;
    top: 16px;
    bottom: 16px;
    left: 0;

    width: 4px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            #ffd632,
            #ff9b2c,
            #ff6047
        );
}

.fbhvac-club-hero__summary strong {
    color: #ffffff;
    font-weight: 900;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.fbhvac-club-hero__actions {
    display: flex;
    flex-wrap: wrap;

    gap: 14px;

    margin-top: 28px;
}

.fbhvac-club-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 52px;
    padding: 0 28px;

    border-radius: 999px;

    text-decoration: none;
    text-transform: uppercase;

    font-size: .85rem;
    font-weight: 900;
    letter-spacing: .04em;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.fbhvac-club-button:hover {
    transform: translateY(-2px);
}

.fbhvac-club-button--primary {
    color: #24113f;

    border: 0;

    background:
        linear-gradient(
            90deg,
            #ffd632,
            #ff9b2c,
            #ff6047
        );

    box-shadow:
        0 12px 28px rgba(255, 109, 55, .22);
}

.fbhvac-club-button--secondary {
    color: #ffffff;

    border: 2px solid transparent;

    background:
        linear-gradient(#201036, #201036) padding-box,
        linear-gradient(
            90deg,
            #ffd632,
            #ff6047,
            #8734cc
        ) border-box;
}


/* =========================================================
   BENEFITS SECTION
   ========================================================= */

.fbhvac-club-benefits {
    scroll-margin-top: 100px;

    padding: 72px 0 68px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(107, 55, 151, .08),
            transparent 35%
        ),
        #f8f7fa;
}

.fbhvac-club-benefits__inner {
    width: min(1400px, calc(100% - 80px));
    margin: 0 auto;
}


/* SECTION HEADING */

.fbhvac-club-section-heading {
    margin-bottom: 38px;

    text-align: center;
}

.fbhvac-club-section-heading p {
    margin: 0 0 8px;

    color: #63408b;

    font-size: .85rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fbhvac-club-section-heading h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(2.2rem, 3.5vw, 3.8rem);
    font-weight: 950;
    line-height: .95;
    letter-spacing: -.035em;
}

.fbhvac-club-section-heading__line {
    display: block;

    width: 180px;
    height: 4px;

    margin: 17px auto 0;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd632,
            #ff6047,
            #8538c4
        );
}


/* =========================================================
   BENEFIT CARDS
   ========================================================= */

.fbhvac-club-benefits__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}

.fbhvac-club-benefit-card {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;

    gap: 22px;

    min-height: 135px;
    padding: 22px 26px;

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

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(31, 16, 48, .06);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

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

    border-color: rgba(115, 52, 158, .18);

    box-shadow:
        0 18px 38px rgba(31, 16, 48, .1);
}


/* BENEFIT ICON */

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

    width: 72px;
    height: 72px;

    border-radius: 50%;

    color: #39c95a;

    background:
        radial-gradient(
            circle at 32% 25%,
            #6c2e96,
            #32104f 58%,
            #1c082f 100%
        );

    box-shadow:
        0 10px 24px rgba(45, 15, 73, .18),
        inset 0 0 0 1px rgba(95, 216, 109, .18);

    font-size: 2rem;
    font-weight: 950;
}

.fbhvac-club-benefit-card h3 {
    margin: 0 0 7px;

    color: #24113f;

    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.15;
}

.fbhvac-club-benefit-card p {
    margin: 0;

    color: #625d68;

    font-size: .91rem;
    line-height: 1.45;
}


/* =========================================================
   PEACE OF MIND BANNER
   ========================================================= */

.fbhvac-club-peace {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;

    gap: 28px;

    margin-top: 28px;
    padding: 30px 38px;

    border-radius: 24px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 85% 50%,
            rgba(130, 67, 167, .35),
            transparent 38%
        ),
        linear-gradient(
            110deg,
            #1b082f,
            #32114f,
            #451865
        );

    box-shadow:
        0 18px 40px rgba(28, 8, 48, .14);
}

.fbhvac-club-peace__icon {
    display: grid;
    place-items: center;

    width: 88px;
    height: 88px;

    border: 4px solid #5fd86d;
    border-radius: 26px;

    color: #39c95a;
    background: rgba(255, 255, 255, .04);

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .04),
        0 12px 28px rgba(18, 92, 38, .22);

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

    transform: rotate(-4deg);
}

.fbhvac-club-peace p {
    margin: 0 0 3px;

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

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

.fbhvac-club-peace h2 {
    margin: 0 0 8px;

    color: #ffffff;

    font-size: clamp(1.8rem, 2.8vw, 3rem);
    font-weight: 950;
    line-height: .98;
}

.fbhvac-club-peace span {
    color: rgba(255, 255, 255, .78);

    font-size: .95rem;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.fbhvac-club-cta {
    padding: 54px 0;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 20% 50%,
            rgba(108, 41, 155, .35),
            transparent 32%
        ),
        linear-gradient(
            110deg,
            #130421,
            #24103c 58%,
            #180727
        );
}

.fbhvac-club-cta__inner {
    width: min(1400px, calc(100% - 80px));
    margin: 0 auto;

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

    gap: 28px;
    padding: 34px 38px;

    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .06),
            rgba(255, 255, 255, .02)
        );

    box-shadow:
        0 18px 42px rgba(12, 3, 21, .18);
}

.fbhvac-club-cta__icon {
    display: grid;
    place-items: center;

    width: 96px;
    height: 96px;

    border: 4px solid #ffb838;
    border-radius: 28px;

    color: #ff7046;
    background: rgba(255, 255, 255, .03);

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .04),
        0 10px 26px rgba(255, 114, 70, .12);

    font-size: 2.65rem;
}

.fbhvac-club-cta__content > p {
    margin: 0 0 8px;

    color: #ffd43b;

    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fbhvac-club-cta__content h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(2.1rem, 3.2vw, 3.8rem);
    font-weight: 950;
    line-height: .96;
    letter-spacing: -.03em;
}

.fbhvac-club-cta__content > span {
    display: block;

    margin-top: 10px;

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

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

.fbhvac-club-cta__button {
    margin-top: 22px;
}


/* QUESTIONS */

.fbhvac-club-cta__contact {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 8px;

    min-height: 100%;
    padding: 24px 26px;

    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;

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

.fbhvac-club-cta__contact strong {
    color: #ffd43b;

    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.fbhvac-club-cta__contact > span {
    color: rgba(255, 255, 255, .85);

    font-size: 1rem;
}

.fbhvac-club-cta__contact a {
    margin-top: 2px;

    color: #ffffff;

    text-decoration: none;

    font-size: 1.8rem;
    font-weight: 950;
    line-height: 1.05;
}

.fbhvac-club-cta__contact small {
    margin-top: 8px;

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

    font-size: .86rem;
    line-height: 1.5;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .fbhvac-club-hero {
        min-height: 580px;
    }

    .fbhvac-club-hero__inner {
        width: min(100% - 48px, 1200px);
        min-height: 580px;
    }

    .fbhvac-club-hero__copy {
        width: 54%;
    }

    .fbhvac-club-hero__media {
        left: 45%;
    }

    .fbhvac-club-hero__summary {
        max-width: 560px;
    }

    .fbhvac-club-benefits__inner,
    .fbhvac-club-cta__inner {
        width: min(100% - 48px, 1200px);
    }

    .fbhvac-club-cta__inner {
        grid-template-columns: 100px minmax(0, 1fr) 250px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    /* -------------------------
       HERO
       ------------------------- */

    .fbhvac-club-hero {
        min-height: auto;
    }

    .fbhvac-club-hero__media {
        position: absolute;

        inset:
            0
            0
            auto
            0;

        width: 100%;
        height: 420px;
    }

    .fbhvac-club-hero__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;

        filter:
            saturate(.96)
            contrast(1.02)
            brightness(.92);
    }

    .fbhvac-club-hero__overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;

        background:
            linear-gradient(
                180deg,
                rgba(17, 5, 30, .08) 0%,
                rgba(17, 5, 30, .18) 22%,
                rgba(20, 6, 35, .56) 48%,
                rgba(24, 8, 43, .90) 72%,
                #18082b 100%
            );
    }

    .fbhvac-club-hero__inner {
        width: 100%;
        min-height: auto;

        align-items: flex-start;

        padding:
            316px
            24px
            42px;
    }

    .fbhvac-club-hero__copy {
        width: 100%;
        padding: 0;
    }

    .fbhvac-club-hero__eyebrow {
        font-size: .76rem;
    }

    .fbhvac-club-hero__title {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .fbhvac-club-hero__title strong {
        margin-top: 8px;

        font-size: .66em;
    }

    .fbhvac-club-hero__line {
        width: 105px;

        margin:
            17px
            0
            18px;
    }

    .fbhvac-club-hero__lead {
        font-size: 1rem;
    }


    /* COMFORT CLUB SUMMARY */

    .fbhvac-club-hero__summary {
        max-width: none;

        margin-top: 22px;
        padding:
            17px
            17px
            17px
            21px;

        border-radius: 17px;

        font-size: .92rem;
        line-height: 1.6;
    }

    .fbhvac-club-hero__summary::before {
        top: 13px;
        bottom: 13px;

        width: 3px;
    }


    /* HERO BUTTONS */

    .fbhvac-club-hero__actions {
        display: grid;
        grid-template-columns: 1fr;

        gap: 11px;

        margin-top: 26px;
    }

    .fbhvac-club-button {
        width: 100%;
        min-height: 54px;
    }


    /* -------------------------
       BENEFITS
       ------------------------- */

    .fbhvac-club-benefits {
        scroll-margin-top: 78px;

        padding:
            48px
            0
            44px;
    }

    .fbhvac-club-benefits__inner {
        width: calc(100% - 32px);
    }

    .fbhvac-club-section-heading {
        margin-bottom: 28px;
    }

    .fbhvac-club-section-heading p {
        font-size: .72rem;
    }

    .fbhvac-club-section-heading h2 {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

    .fbhvac-club-section-heading__line {
        width: 125px;
    }


    /* BENEFIT CARDS STACK */

    .fbhvac-club-benefits__grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .fbhvac-club-benefit-card {
        grid-template-columns: 58px minmax(0, 1fr);

        gap: 14px;

        min-height: 0;

        padding: 17px 16px;

        border-radius: 16px;
    }

    .fbhvac-club-benefit-card__icon {
        width: 54px;
        height: 54px;

        font-size: 1.45rem;
    }

    .fbhvac-club-benefit-card h3 {
        margin-bottom: 4px;

        font-size: .96rem;
    }

    .fbhvac-club-benefit-card p {
        font-size: .8rem;
        line-height: 1.4;
    }


    /* PEACE OF MIND */

    .fbhvac-club-peace {
        grid-template-columns: 72px minmax(0, 1fr);

        gap: 18px;

        margin-top: 18px;
        padding: 22px 18px;

        border-radius: 18px;
    }

    .fbhvac-club-peace__icon {
        width: 64px;
        height: 64px;

        border-width: 3px;
        border-radius: 20px;

        color: #39c95a;
        border-color: #5fd86d;

        font-size: 1.8rem;
    }

    .fbhvac-club-peace p {
        font-size: .78rem;
    }

    .fbhvac-club-peace h2 {
        font-size: 1.45rem;
    }

    .fbhvac-club-peace span {
        font-size: .78rem;
        line-height: 1.4;
    }


    /* -------------------------
       FINAL CTA
       ------------------------- */

    .fbhvac-club-cta {
        padding: 38px 0;
    }

    .fbhvac-club-cta__inner {
        width: calc(100% - 36px);

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

        gap: 18px;
        padding: 22px 18px;

        border-radius: 22px;
    }

    .fbhvac-club-cta__icon {
        width: 68px;
        height: 68px;

        border-width: 3px;
        border-radius: 20px;

        font-size: 2rem;
    }

    .fbhvac-club-cta__content > p {
        font-size: .76rem;
    }

    .fbhvac-club-cta__content h2 {
        font-size: 2rem;
        line-height: .98;
    }

    .fbhvac-club-cta__content > span {
        font-size: .86rem;
        line-height: 1.5;
    }

    .fbhvac-club-cta__button {
        grid-column: 1 / -1;

        width: 100%;
    }

    .fbhvac-club-cta__contact {
        grid-column: 1 / -1;

        margin-top: 8px;
        padding: 18px 16px;

        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 18px;
        background: rgba(255, 255, 255, .04);
    }

    .fbhvac-club-cta__contact a {
        font-size: 1.6rem;
    }

    .fbhvac-club-cta__contact small {
        font-size: .78rem;
    }

}
/* =========================================================
   LEARNING CENTER PAGE
   ========================================================= */

.fbhvac-learning-page {
    width: 100%;
    overflow: hidden;

    color: #24113f;
    background: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.fbhvac-learning-hero {
    position: relative;

    min-height: 560px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 25% 50%,
            rgba(100, 41, 150, .25),
            transparent 36%
        ),
        linear-gradient(
            115deg,
            #130421 0%,
            #24103f 55%,
            #351653 100%
        );
}


/* HERO IMAGE */

.fbhvac-learning-hero__media {
    position: absolute;

    inset: 0;

    overflow: hidden;
}

.fbhvac-learning-hero__image {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: 68% center;

    filter:
        saturate(.96)
        contrast(1.02)
        brightness(.90);
}


/* HERO IMAGE BLEND */

.fbhvac-learning-hero__overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            #160726 0%,
            #1d0a31 21%,
            rgba(31, 11, 51, .97) 34%,
            rgba(32, 11, 52, .84) 45%,
            rgba(28, 10, 46, .54) 55%,
            rgba(22, 8, 37, .18) 68%,
            rgba(18, 6, 31, .04) 80%
        ),
        linear-gradient(
            180deg,
            rgba(16, 5, 28, .08) 0%,
            rgba(16, 5, 28, .02) 65%,
            rgba(16, 5, 28, .38) 100%
        );
}


/* HERO CONTENT */

.fbhvac-learning-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: min(1500px, calc(100% - 120px));
    min-height: 560px;

    margin: 0 auto;
}

.fbhvac-learning-hero__copy {
    width: min(650px, 48%);

    padding:
        52px
        0
        60px
        20px;
}


/* EYEBROW */

.fbhvac-learning-hero__eyebrow {
    margin:
        0
        0
        12px;

    color: #ffd43b;

    font-size: .9rem;
    font-weight: 900;
    line-height: 1;

    letter-spacing: .13em;
    text-transform: uppercase;
}


/* TITLE */

.fbhvac-learning-hero__title {
    margin: 0;

    color: #ffffff;

    font-size: clamp(3.5rem, 5vw, 6rem);
    font-weight: 950;
    line-height: .92;

    letter-spacing: -.045em;
}


/* TITLE LINE */

.fbhvac-learning-hero__line {
    width: 140px;
    height: 4px;

    margin:
        22px
        0
        24px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd632,
            #ff7046,
            #ad3dd5
        );
}


/* HERO HEADLINE */

.fbhvac-learning-hero__headline {
    margin:
        0
        0
        15px;

    color: #ffffff;

    font-size: clamp(1.25rem, 1.7vw, 1.65rem);
    font-weight: 850;
    line-height: 1.25;
}


/* HERO DESCRIPTION */

.fbhvac-learning-hero__lead {
    max-width: 590px;

    margin: 0;

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

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


/* =========================================================
   HERO TRUST ITEMS
   ========================================================= */

.fbhvac-learning-hero__trust {
    display: flex;
    flex-wrap: wrap;

    gap:
        18px
        28px;

    margin-top: 28px;
}

.fbhvac-learning-hero__trust span {
    display: inline-flex;
    align-items: center;

    gap: 8px;

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

    font-size: .85rem;
    font-weight: 750;
}

.fbhvac-learning-hero__trust strong {
    display: grid;
    place-items: center;

    width: 25px;
    height: 25px;

    border: 1px solid rgba(34, 197, 94, .72);
    border-radius: 50%;

    color: #4ade80;
    background: rgba(34, 197, 94, .08);

    box-shadow:
        0 0 0 3px rgba(34, 197, 94, .04);

    font-size: .72rem;
    font-weight: 950;
}


/* =========================================================
   LIBRARY SECTION
   ========================================================= */

.fbhvac-learning-library {
    position: relative;
    z-index: 3;

    margin-top: -22px;

    padding:
        72px
        0
        64px;

    border-radius:
        42px
        42px
        0
        0;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(100, 48, 145, .07),
            transparent 30%
        ),
        #faf9fb;
}


/* COLORED TOP EDGE */

.fbhvac-learning-library::before {
    position: absolute;

    content: "";

    top: 0;
    left: 6%;
    right: 6%;

    height: 4px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #8330bc 18%,
            #e14bb7 48%,
            #ff6b42 72%,
            #ffb62e 88%,
            transparent
        );
}


.fbhvac-learning-library__inner {
    width: min(1400px, calc(100% - 100px));

    margin: 0 auto;
}


/* =========================================================
   FEATURED ARTICLE
   ========================================================= */

.fbhvac-learning-featured {
    display: grid;

    grid-template-columns:
        minmax(280px, .78fr)
        minmax(0, 1.7fr);

    overflow: hidden;

    min-height: 390px;

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

    background: #ffffff;

    box-shadow:
        0 16px 42px rgba(35, 16, 55, .08);
}


/* FEATURED LEFT VISUAL */

.fbhvac-learning-featured__visual {
    position: relative;

    min-height: 390px;

    overflow: hidden;

    color: #ffffff;
    background: #24103f;
}
.fbhvac-learning-featured__image {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

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

.fbhvac-learning-featured:hover
.fbhvac-learning-featured__image {
    transform: scale(1.025);
    filter: brightness(1.03);
}


/* SUBTLE PATTERN */

.fbhvac-learning-featured__visual::after {
    position: absolute;
    content: "";

    inset: 0;
    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(19, 4, 33, .16) 0%,
            transparent 28%,
            transparent 68%,
            rgba(19, 4, 33, .30) 100%
        );
}


/* FEATURED LABEL */

.fbhvac-learning-featured__label {
    position: absolute;
    z-index: 3;

    top: 24px;
    left: 24px;

    padding:
        8px
        14px;

    border-radius: 999px;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #ffb426,
            #ff6845,
            #df38bd
        );

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

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

    letter-spacing: .04em;
    text-transform: uppercase;
}

/* =========================================================
   FEATURED ARTICLE CONTENT
   ========================================================= */

.fbhvac-learning-featured__content {
    position: relative;

    display: flex;
    flex-direction: column;

    padding:
        38px
        42px;
}


.fbhvac-learning-featured__heading {
    display: flex;
    align-items: center;

    gap: 16px;
}

.fbhvac-learning-featured__icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    flex: 0 0 auto;

    border-radius: 14px;

    color: #7625ae;

    background: #f5eefa;

    font-size: 1.65rem;
}

.fbhvac-learning-featured__heading h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(2rem, 2.7vw, 3rem);
    font-weight: 950;
    line-height: 1;

    letter-spacing: -.035em;
}


.fbhvac-learning-featured__intro {
    max-width: 720px;

    margin:
        18px
        0
        22px;

    color: #625c69;

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


.fbhvac-learning-featured__content h3 {
    margin:
        0
        0
        12px;

    color: #24113f;

    font-size: .95rem;
    font-weight: 900;
}


/* CAUSE LIST */

.fbhvac-learning-featured__causes {
    display: grid;

    gap: 9px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.fbhvac-learning-featured__causes li {
    position: relative;

    padding-left: 27px;

    color: #514b58;

    font-size: .9rem;
    line-height: 1.4;
}

.fbhvac-learning-featured__causes li::before {
    position: absolute;

    content: "\2713";

    left: 0;
    top: 1px;

    display: grid;
    place-items: center;

    width: 17px;
    height: 17px;

    border-radius: 50%;

    color: #ffffff;
    background: #7c2bb4;

    font-size: .58rem;
    font-weight: 900;
}


/* FEATURED READ BUTTON */

.fbhvac-learning-read-button {
    align-self: flex-end;

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

    gap: 10px;

    margin-top: auto;

    min-height: 48px;

    padding:
        0
        24px;

    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #4c166d,
            #7828b2
        );

    box-shadow:
        0 10px 24px rgba(76, 22, 109, .18);

    text-decoration: none;

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

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.fbhvac-learning-read-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(76, 22, 109, .25);
}


/* =========================================================
   ARTICLE GRID
   ========================================================= */

.fbhvac-learning-grid {
    display: grid;

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

    gap: 18px;

    margin-top: 24px;
}


/* MINI ARTICLE CARD */

.fbhvac-learning-card {
    display: grid;

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

    gap: 18px;

    min-height: 220px;

    padding:
        26px
        24px;

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

    background: #ffffff;

    box-shadow:
        0 9px 26px rgba(34, 15, 53, .055);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.fbhvac-learning-card:hover {
    transform: translateY(-4px);

    border-color: rgba(111, 40, 162, .2);

    box-shadow:
        0 17px 34px rgba(34, 15, 53, .1);
}


/* CARD ICON */

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

    width: 58px;
    height: 58px;

    border-radius: 18px;

    color: #7428a8;

    background:
        linear-gradient(
            145deg,
            #f5edfa,
            #ffffff
        );

    box-shadow:
        inset
        0
        0
        0
        1px
        rgba(116, 40, 168, .1);

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


/* CARD CONTENT */

.fbhvac-learning-card__content {
    display: flex;
    flex-direction: column;
}

.fbhvac-learning-card h2 {
    margin:
        2px
        0
        9px;

    color: #24113f;

    font-size: 1.17rem;
    font-weight: 900;
    line-height: 1.15;
}

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

    color: #625d69;

    font-size: .84rem;
    line-height: 1.5;
}

.fbhvac-learning-card a {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: auto;
    padding-top: 18px;

    color: #69269d;

    text-decoration: none;

    font-size: .8rem;
    font-weight: 900;
}

.fbhvac-learning-card a:hover {
    color: #a13bcc;
}


/* MORE ARTICLES CARD */

.fbhvac-learning-card--more {
    align-items: center;

    background:
        linear-gradient(
            135deg,
            #f4eef9,
            #faf8fc
        );

    border-style: dashed;
}

.fbhvac-learning-card--more .fbhvac-learning-card__icon {
    color: #542075;

    background: transparent;

    box-shadow: none;

    font-size: 2.2rem;
}


/* =========================================================
   HELP CTA
   ========================================================= */

.fbhvac-learning-help {
    display: grid;

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

    align-items: center;

    gap: 26px;

    margin-top: 28px;

    padding:
        27px
        30px;

    border-radius: 22px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 82% 50%,
            rgba(143, 58, 185, .32),
            transparent 35%
        ),
        linear-gradient(
            105deg,
            #19082d,
            #30104e,
            #40155e
        );

    box-shadow:
        0 16px 38px rgba(26, 7, 45, .13);
}


/* HELP ICON */

.fbhvac-learning-help__icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    border:
        2px solid
        #ffb636;

    border-radius: 50%;

    color: #ff9f38;

    font-size: 1.9rem;
    font-weight: 950;
}


/* HELP COPY */

.fbhvac-learning-help__copy h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 900;
    line-height: 1.05;
}

.fbhvac-learning-help__copy p {
    margin:
        7px
        0
        0;

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

    font-size: .88rem;
}


/* HELP ACTIONS */

.fbhvac-learning-help__actions {
    display: flex;

    gap: 12px;
}


.fbhvac-learning-help__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding:
        0
        22px;

    border-radius: 12px;

    text-decoration: none;

    font-size: .78rem;
    font-weight: 900;
}


.fbhvac-learning-help__button--book {
    color: #24113f;

    background:
        linear-gradient(
            90deg,
            #ffd632,
            #ff9d2e,
            #ff6047
        );
}


.fbhvac-learning-help__button--call {
    color: #ffffff;

    border:
        1px solid
        rgba(255, 255, 255, .45);

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


/* =========================================================
   TRUST STRIP
   ========================================================= */

.fbhvac-learning-trust-strip {
    display: grid;

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

    margin-top: 28px;

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

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


.fbhvac-learning-trust-strip > div {
    display: flex;
    align-items: center;

    gap: 13px;

    min-height: 86px;

    padding:
        15px
        22px;

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


.fbhvac-learning-trust-strip > div:last-child {
    border-right: 0;
}


.fbhvac-learning-trust-strip strong {
    color: #7830a8;

    font-size: 1.45rem;
}


.fbhvac-learning-trust-strip span {
    display: flex;
    flex-direction: column;

    gap: 2px;

    color: #76707b;

    font-size: .72rem;
    line-height: 1.3;
}


.fbhvac-learning-trust-strip b {
    color: #24113f;

    font-size: .78rem;
    font-weight: 900;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .fbhvac-learning-hero__inner {
        width: calc(100% - 56px);
    }

    .fbhvac-learning-hero__copy {
        width: 53%;

        padding-left: 0;
    }

    .fbhvac-learning-hero__media {
        left: 0;
    }


    .fbhvac-learning-library__inner {
        width: calc(100% - 50px);
    }


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


    .fbhvac-learning-help {
        grid-template-columns:
            70px
            minmax(0, 1fr);
    }


    .fbhvac-learning-help__actions {
        grid-column:
            1
            /
            -1;

        padding-left: 96px;
    }


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


    .fbhvac-learning-trust-strip > div:nth-child(2) {
        border-right: 0;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {


    /* -------------------------
       HERO
       ------------------------- */

    .fbhvac-learning-hero {
        min-height: auto;
    }


    .fbhvac-learning-hero__media {
        position: absolute;

        inset:
            0
            0
            auto
            0;

        height: 330px;
    }


    .fbhvac-learning-hero__image {
        object-position: 65% center;
    }


    .fbhvac-learning-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(17, 5, 30, .12) 0%,
                rgba(17, 5, 30, .32) 22%,
                rgba(20, 6, 35, .84) 49%,
                #18082b 70%,
                #18082b 100%
            );
    }


    .fbhvac-learning-hero__inner {
        width: 100%;
        min-height: auto;

        padding:
            220px
            22px
            42px;

        align-items: flex-start;
    }


    .fbhvac-learning-hero__copy {
        width: 100%;

        padding: 0;
    }


    .fbhvac-learning-hero__eyebrow {
        font-size: .72rem;
    }


    .fbhvac-learning-hero__title {
        font-size: clamp(
            2.8rem,
            13vw,
            4rem
        );
    }


    .fbhvac-learning-hero__line {
        width: 105px;

        margin:
            17px
            0
            18px;
    }


    .fbhvac-learning-hero__headline {
        font-size: 1.15rem;
    }


    .fbhvac-learning-hero__lead {
        font-size: .9rem;

        line-height: 1.55;
    }


    .fbhvac-learning-hero__trust {
        display: grid;

        grid-template-columns:
            1fr
            1fr;

        gap: 12px;

        margin-top: 22px;
    }


    .fbhvac-learning-hero__trust span {
        font-size: .72rem;
    }



    /* -------------------------
       LIBRARY
       ------------------------- */

    .fbhvac-learning-library {
        margin-top: -16px;

        padding:
            48px
            0
            42px;

        border-radius:
            26px
            26px
            0
            0;
    }


    .fbhvac-learning-library__inner {
        width: calc(100% - 30px);
    }



    /* -------------------------
       FEATURED ARTICLE
       ------------------------- */

    .fbhvac-learning-featured {
        grid-template-columns: 1fr;

        min-height: 0;

        border-radius: 18px;
    }


    .fbhvac-learning-featured__visual {
    min-height: 280px;

    padding: 0;
    }

    .fbhvac-learning-featured__image {
        object-position: center 55%;
    }


    .fbhvac-learning-featured__label {
        top: 15px;
        left: 15px;
    }

    .fbhvac-learning-featured__content {
        padding:
            24px
            20px;
    }


    .fbhvac-learning-featured__heading {
        gap: 12px;
    }


    .fbhvac-learning-featured__icon {
        width: 42px;
        height: 42px;

        font-size: 1.35rem;
    }


    .fbhvac-learning-featured__heading h2 {
        font-size: 1.85rem;
    }


    .fbhvac-learning-featured__intro {
        margin:
            15px
            0
            18px;

        font-size: .87rem;
    }


    .fbhvac-learning-featured__causes li {
        font-size: .8rem;
    }


    .fbhvac-learning-read-button {
        align-self: stretch;

        width: 100%;

        margin-top: 24px;
    }



    /* -------------------------
       ARTICLE CARDS
       ------------------------- */

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

        gap: 12px;

        margin-top: 14px;
    }


    .fbhvac-learning-card {
        grid-template-columns:
            55px
            minmax(0, 1fr);

        gap: 14px;

        min-height: 0;

        padding:
            18px
            16px;

        border-radius: 16px;
    }


    .fbhvac-learning-card__icon {
        width: 50px;
        height: 50px;

        border-radius: 14px;

        font-size: 1.4rem;
    }


    .fbhvac-learning-card h2 {
        font-size: 1rem;
    }


    .fbhvac-learning-card p {
        font-size: .77rem;
    }


    .fbhvac-learning-card a {
        padding-top: 12px;

        font-size: .75rem;
    }



    /* -------------------------
       HELP CTA
       ------------------------- */

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

        gap: 16px;

        margin-top: 18px;

        padding:
            20px
            17px;

        border-radius: 17px;
    }


    .fbhvac-learning-help__icon {
        width: 54px;
        height: 54px;

        font-size: 1.5rem;
    }


    .fbhvac-learning-help__copy h2 {
        font-size: 1.22rem;
    }


    .fbhvac-learning-help__copy p {
        font-size: .76rem;
    }


    .fbhvac-learning-help__actions {
        grid-column:
            1
            /
            -1;

        display: grid;

        grid-template-columns: 1fr;

        width: 100%;

        padding-left: 0;
    }


    .fbhvac-learning-help__button {
        width: 100%;
    }



    /* -------------------------
       TRUST STRIP
       ------------------------- */

    .fbhvac-learning-trust-strip {
        grid-template-columns: 1fr;

        margin-top: 20px;
    }


    .fbhvac-learning-trust-strip > div {
        min-height: 66px;

        padding:
            12px
            8px;

        border-right: 0;

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


    .fbhvac-learning-trust-strip > div:last-child {
        border-bottom: 0;
    }

}

/* =========================================================
   LEARNING CENTER GUIDE ARTICLE TEMPLATE
   Used for:
   - AC Not Cooling
   - Weak Airflow
   - Blowing Warm Air
   - Water Leaking
   - Strange Noises
   - Future Learning Center guides
   ========================================================= */

.fbhvac-guide-page {
    width: 100%;
    overflow: hidden;

    color: #24113f;
    background: #f8f7fa;
}



/* =========================================================
   GUIDE HERO
   ========================================================= */

.fbhvac-guide-hero {
    position: relative;

    overflow: hidden;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 78% 42%,
            rgba(111, 54, 150, .30),
            transparent 34%
        ),
        radial-gradient(
            circle at 20% 45%,
            rgba(92, 34, 140, .20),
            transparent 38%
        ),
        linear-gradient(
            115deg,
            #12031f 0%,
            #1e0936 48%,
            #32144d 100%
        );
}


/* Decorative atmosphere */

.fbhvac-guide-hero::before {
    position: absolute;

    content: "";

    inset: 0;

    pointer-events: none;

    opacity: .16;

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

    background-size: 30px 30px;

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


.fbhvac-guide-hero__inner {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(420px, .9fr)
        minmax(500px, 1.15fr);

    align-items: center;

    width: min(1500px, calc(100% - 100px));
    min-height: 520px;

    margin: 0 auto;

    gap: clamp(50px, 6vw, 100px);
}



/* =========================================================
   HERO COPY
   ========================================================= */

.fbhvac-guide-hero__copy {
    padding:
        70px
        0;
}


.fbhvac-guide-hero__eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 22px;

    padding:
        9px
        16px;

    border:
        1px solid
        rgba(213, 94, 245, .48);

    border-radius: 999px;

    color: #ffd43b;

    background:
        rgba(28, 9, 47, .65);

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

    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;

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


.fbhvac-guide-hero__eyebrow:hover {
    transform: translateY(-2px);

    border-color:
        rgba(255, 212, 59, .7);

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


.fbhvac-guide-hero__title {
    max-width: 700px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            3.4rem,
            5.2vw,
            5.7rem
        );

    font-weight: 950;

    line-height: .92;

    letter-spacing: -.055em;
}


.fbhvac-guide-hero__subtitle {
    margin:
        20px
        0
        16px;

    color: #ffd43b;

    font-size:
        clamp(
            1.2rem,
            1.7vw,
            1.55rem
        );

    font-weight: 900;

    line-height: 1.25;
}


.fbhvac-guide-hero__intro {
    max-width: 640px;

    margin: 0;

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

    font-size: 1rem;

    line-height: 1.75;
}



/* =========================================================
   HERO VISUAL
   ========================================================= */

.fbhvac-guide-hero__visual {
    position: relative;

    min-height: 430px;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, .10);

    border-radius:
        28px;

    background:
        #210d41;

    box-shadow:
        0 30px 70px
        rgba(0, 0, 0, .32);
}


.fbhvac-guide-hero__visual::after {
    position: absolute;

    content: "";

    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(21, 6, 37, .35) 0%,
            transparent 28%
        ),
        linear-gradient(
            180deg,
            transparent 62%,
            rgba(19, 5, 34, .26) 100%
        );
}


.fbhvac-guide-hero__image {
    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        center
        57%;
}



/* =========================================================
   MAIN GUIDE CONTENT
   ========================================================= */

.fbhvac-guide-content {
    position: relative;

    padding:
        70px
        0
        80px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(101, 45, 149, .06),
            transparent 25%
        ),
        #f9f8fa;
}


.fbhvac-guide-content__inner {
    display: grid;

    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(320px, .72fr);

    align-items: start;

    gap: 30px;

    width:
        min(
            1400px,
            calc(100% - 100px)
        );

    margin: 0 auto;
}



/* =========================================================
   MAIN ARTICLE COLUMN
   ========================================================= */

.fbhvac-guide-main {
    min-width: 0;
}


.fbhvac-guide-section-heading {
    margin-bottom: 26px;
}


.fbhvac-guide-section-heading > span {
    display: inline-block;

    margin-bottom: 8px;

    color: #792dad;

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

    letter-spacing: .09em;
    text-transform: uppercase;
}


.fbhvac-guide-section-heading h2 {
    max-width: 850px;

    margin: 0;

    color: #24113f;

    font-size:
        clamp(
            2rem,
            3vw,
            3.1rem
        );

    font-weight: 950;

    line-height: 1;

    letter-spacing: -.04em;
}


.fbhvac-guide-section-heading p {
    max-width: 760px;

    margin:
        15px
        0
        0;

    color: #68616d;

    font-size: .95rem;

    line-height: 1.6;
}



/* =========================================================
   CAUSE ACCORDION
   ========================================================= */

.fbhvac-guide-accordion {
    display: grid;

    gap: 13px;
}


.fbhvac-guide-cause {
    overflow: hidden;

    border:
        1px solid
        rgba(36, 17, 63, .10);

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 8px 28px
        rgba(36, 17, 63, .055);

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


.fbhvac-guide-cause:hover {
    border-color:
        rgba(116, 41, 167, .24);

    box-shadow:
        0 14px 34px
        rgba(36, 17, 63, .08);
}


.fbhvac-guide-cause[open] {
    border-color:
        rgba(116, 41, 167, .32);

    box-shadow:
        0 16px 36px
        rgba(36, 17, 63, .09);
}



/* Remove default marker */

.fbhvac-guide-cause__summary {
    display: grid;

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

    align-items: center;

    gap: 14px;

    min-height: 100px;

    padding:
        17px
        20px;

    cursor: pointer;

    list-style: none;

    user-select: none;
}


.fbhvac-guide-cause__summary::-webkit-details-marker {
    display: none;
}



/* Number */

.fbhvac-guide-cause__number {
    display: grid;

    place-items: center;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    color: #24113f;

    background:
        linear-gradient(
            135deg,
            #ffd632,
            #ff9b37
        );

    box-shadow:
        0 6px 16px
        rgba(255, 164, 48, .22);

    font-size: .85rem;
    font-weight: 950;
}

/* Old guide icons are intentionally hidden.
   Accordion layout: number | heading | arrow. */

.fbhvac-guide-cause__icon {
    display: none;
}

/* Cause Heading */

.fbhvac-guide-cause__heading {
    min-width: 0;
}


.fbhvac-guide-cause__heading strong {
    display: block;

    margin-bottom: 5px;

    color: #24113f;

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

    line-height: 1.25;
}


.fbhvac-guide-cause__heading small {
    display: block;

    max-width: 760px;

    color: #6e6773;

    font-size: .78rem;
    font-weight: 500;

    line-height: 1.45;
}



/* Accordion Arrow */

.fbhvac-guide-cause__toggle {
    position: relative;

    display: grid;

    place-items: center;

    width: 32px;
    height: 32px;

    border:
        1px solid
        rgba(113, 38, 164, .28);

    border-radius: 50%;

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


.fbhvac-guide-cause__toggle::before {
    content: "";

    width: 7px;
    height: 7px;

    border-right:
        2px solid
        #792dad;

    border-bottom:
        2px solid
        #792dad;

    transform:
        translateY(-2px)
        rotate(45deg);
}


.fbhvac-guide-cause[open]
.fbhvac-guide-cause__toggle {
    transform:
        rotate(180deg);

    background:
        #f7f1fa;
}



/* =========================================================
   OPEN ACCORDION BODY
   ========================================================= */

.fbhvac-guide-cause__body {
    display: grid;

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

    gap: 16px;

    padding:
        0
        26px
        26px
        120px;

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


.fbhvac-guide-cause__explanation {
    padding-top: 22px;
}


.fbhvac-guide-cause__explanation h3 {
    margin:
        0
        0
        8px;

    color: #24113f;

    font-size: .9rem;
    font-weight: 900;
}


.fbhvac-guide-cause__explanation p {
    margin: 0;

    color: #625b68;

    font-size: .84rem;

    line-height: 1.65;
}



/* Safe First Step */

.fbhvac-guide-cause__check {
    grid-column:
        1
        /
        -1;

    padding:
        15px
        17px;

    border:
        1px solid
        rgba(73, 147, 83, .20);

    border-radius: 14px;

    background:
        linear-gradient(
            90deg,
            rgba(234, 248, 237, .9),
            rgba(249, 252, 249, .95)
        );
}


.fbhvac-guide-cause__check strong {
    display: block;

    margin-bottom: 5px;

    color: #257039;

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

    text-transform: uppercase;

    letter-spacing: .05em;
}


.fbhvac-guide-cause__check p {
    margin: 0;

    color: #49544b;

    font-size: .82rem;

    line-height: 1.55;
}



/* =========================================================
   GUIDE SIDEBAR
   ========================================================= */

.fbhvac-guide-sidebar {
    position: sticky;

    top: 110px;

    display: grid;

    gap: 16px;
}



/* =========================================================
   SAFE THINGS TO CHECK
   ========================================================= */

.fbhvac-guide-checklist {
    padding:
        28px
        26px;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, .10);

    border-radius: 24px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(135, 55, 190, .30),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #210b39,
            #321351
        );

    box-shadow:
        0 20px 45px
        rgba(31, 10, 52, .18);
}


.fbhvac-guide-checklist__eyebrow {
    margin:
        0
        0
        7px;

    color: #ffd43b;

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

    letter-spacing: .08em;

    text-transform: uppercase;
}


.fbhvac-guide-checklist h2 {
    margin:
        0
        0
        22px;

    color: #ffffff;

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

    line-height: 1.05;

    letter-spacing: -.025em;
}


.fbhvac-guide-checklist__items {
    display: grid;

    gap: 17px;
}


.fbhvac-guide-check {
    display: grid;

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

    align-items: start;

    gap: 12px;
}


.fbhvac-guide-check > span {
    display: grid;

    place-items: center;

    width: 36px;
    height: 36px;

    border:
        1.5px solid
        #c840df;

    border-radius: 50%;

    color: #ffd43b;

    font-size: .9rem;
    font-weight: 950;
}


.fbhvac-guide-check strong {
    display: block;

    margin-bottom: 4px;

    color: #ffffff;

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

    line-height: 1.25;
}


.fbhvac-guide-check p {
    margin: 0;

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

    font-size: .73rem;

    line-height: 1.45;
}



/* =========================================================
   WARNING BOX
   ========================================================= */

.fbhvac-guide-warning {
    display: grid;

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

    align-items: start;

    gap: 15px;

    padding:
        22px;

    border:
        1px solid
        rgba(255, 190, 46, .30);

    border-radius: 21px;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #271039,
            #32134d
        );
}


.fbhvac-guide-warning__icon {
    display: grid;

    place-items: center;

    width: 50px;
    height: 50px;

    border:
        2px solid
        #ffb42e;

    border-radius: 50%;

    color: #ffd43b;

    font-size: 1.3rem;
    font-weight: 950;
}


.fbhvac-guide-warning h2 {
    margin:
        2px
        0
        10px;

    color: #ffd43b;

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


.fbhvac-guide-warning ul {
    display: grid;

    gap: 6px;

    margin: 0;

    padding-left: 18px;

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

    font-size: .74rem;

    line-height: 1.45;
}



/* =========================================================
   SIDEBAR CTA
   ========================================================= */

.fbhvac-guide-cta {
    padding:
        26px;

    border:
        1px solid
        rgba(36, 17, 63, .09);

    border-radius: 22px;

    background: #ffffff;

    box-shadow:
        0 14px 36px
        rgba(36, 17, 63, .07);
}


.fbhvac-guide-cta > p {
    margin:
        0
        0
        5px;

    color: #792dad;

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

    text-transform: uppercase;

    letter-spacing: .06em;
}


.fbhvac-guide-cta h2 {
    margin: 0;

    color: #24113f;

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

    line-height: 1.08;
}


.fbhvac-guide-cta > span {
    display: block;

    margin:
        11px
        0
        18px;

    color: #6c6571;

    font-size: .78rem;

    line-height: 1.5;
}


.fbhvac-guide-cta__book,
.fbhvac-guide-cta__phone {
    display: flex;

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

    width: 100%;

    min-height: 48px;

    border-radius: 12px;

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

    text-decoration: none;
}


.fbhvac-guide-cta__book {
    gap: 8px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #481267,
            #7927ae
        );

    box-shadow:
        0 10px 24px
        rgba(81, 24, 114, .19);
}


.fbhvac-guide-cta__phone {
    margin-top: 9px;

    border:
        1px solid
        rgba(36, 17, 63, .14);

    color: #351453;

    background: #faf8fb;
}



/* =========================================================
   BOTTOM SAFETY NOTE
   ========================================================= */

.fbhvac-guide-bottom-note {
    padding:
        0
        0
        70px;

    background: #f9f8fa;
}


.fbhvac-guide-bottom-note__inner {
    width:
        min(
            1400px,
            calc(100% - 100px)
        );

    margin: 0 auto;

    padding:
        23px
        30px;

    border:
        1px solid
        rgba(255, 179, 41, .42);

    border-radius: 18px;

    background:
        linear-gradient(
            105deg,
            #200b35,
            #35144e
        );

    color: #ffffff;
}


/* Global reminder badge for every Learning Center bottom safety note.
   This is generated by CSS so individual guide PHP files do not need
   separate REMINDER markup. */

.fbhvac-guide-bottom-note__inner::before {
    content: "!  REMINDER!";

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

    min-height: 30px;

    margin-bottom: 11px;
    padding:
        7px
        14px;

    border:
        2px solid
        rgba(255, 255, 255, .36);

    border-radius: 999px;

    color: #24113f;

    background:
        linear-gradient(
            105deg,
            #ffe14a 0%,
            #ffbd32 48%,
            #ff8f3d 100%
        );

    box-shadow:
        0 8px 22px rgba(255, 171, 47, .30),
        0 0 0 5px rgba(255, 212, 59, .07);

    font-size: .78rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: .10em;
    text-transform: uppercase;
}

/* Hide the one-off PHP badge from earlier versions so it can never
   duplicate the global CSS reminder. */
.fbhvac-guide-bottom-note__label {
    display: none;
}


.fbhvac-guide-bottom-note__inner strong {
    display: block;

    margin-bottom: 5px;

    color: #ffd43b;

    font-size: .95rem;
    font-weight: 900;
}


.fbhvac-guide-bottom-note__inner p {
    margin: 0;

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

    font-size: .78rem;

    line-height: 1.5;
}



/* =========================================================
   GUIDE TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .fbhvac-guide-hero__inner {
        width:
            calc(100% - 56px);

        grid-template-columns:
            minmax(360px, .9fr)
            minmax(390px, 1fr);

        gap: 38px;
    }


    .fbhvac-guide-hero__visual {
        min-height: 390px;
    }


    .fbhvac-guide-content__inner,
    .fbhvac-guide-bottom-note__inner {
        width:
            calc(100% - 56px);
    }


    .fbhvac-guide-content__inner {
        grid-template-columns:
            minmax(0, 1.4fr)
            minmax(290px, .72fr);
    }


    .fbhvac-guide-cause__body {
        padding-left: 76px;
    }

}



/* =========================================================
   GUIDE MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .fbhvac-guide-hero__inner {
        display: flex;

        flex-direction: column;

        width: 100%;

        min-height: 0;

        gap: 0;
    }


    .fbhvac-guide-hero__copy {
        width: 100%;

        padding:
            38px
            22px
            30px;

        order: 1;
    }


    .fbhvac-guide-hero__eyebrow {
        margin-bottom: 16px;

        padding:
            7px
            12px;

        font-size: .67rem;
    }


    .fbhvac-guide-hero__title {
        font-size:
            clamp(
                2.9rem,
                14vw,
                4rem
            );
    }


    .fbhvac-guide-hero__subtitle {
        margin-top: 15px;

        font-size: 1.08rem;
    }


    .fbhvac-guide-hero__intro {
        font-size: .86rem;

        line-height: 1.6;
    }


    .fbhvac-guide-hero__visual {
        order: 2;

        width:
            calc(100% - 34px);

        min-height: 340px;

        margin:
            0
            auto
            28px;

        border-radius: 20px;
    }


    .fbhvac-guide-hero__image {
        object-position:
            center
            56%;
    }



    /* CONTENT */

    .fbhvac-guide-content {
        padding:
            44px
            0
            52px;
    }


    .fbhvac-guide-content__inner {
        display: block;

        width:
            calc(100% - 30px);
    }


    .fbhvac-guide-section-heading {
        margin-bottom: 20px;
    }


    .fbhvac-guide-section-heading h2 {
        font-size: 2rem;
    }


    .fbhvac-guide-section-heading p {
        font-size: .82rem;
    }



    /* ACCORDION */

    .fbhvac-guide-cause__summary {
        grid-template-columns:
            30px
            minmax(0, 1fr)
            30px;

        gap: 9px;

        min-height: 88px;

        padding:
            14px
            13px;
    }


    .fbhvac-guide-cause__number {
        width: 29px;
        height: 29px;

        font-size: .72rem;
    }

    .fbhvac-guide-cause__heading strong {
        font-size: .87rem;
    }


    .fbhvac-guide-cause__heading small {
        display: none;
    }


    .fbhvac-guide-cause__toggle {
        width: 28px;
        height: 28px;
    }


    .fbhvac-guide-cause__body {
        grid-template-columns: 1fr;

        gap: 0;

        padding:
            0
            17px
            17px;
    }


    .fbhvac-guide-cause__explanation {
        padding-top: 18px;
    }


    .fbhvac-guide-cause__explanation h3 {
        font-size: .82rem;
    }


    .fbhvac-guide-cause__explanation p {
        font-size: .78rem;

        line-height: 1.6;
    }


    .fbhvac-guide-cause__check {
        margin-top: 16px;
    }



    /* SIDEBAR */

    .fbhvac-guide-sidebar {
        position: static;

        margin-top: 24px;
    }


    .fbhvac-guide-checklist {
        padding:
            24px
            20px;

        border-radius: 20px;
    }


    .fbhvac-guide-checklist h2 {
        font-size: 1.5rem;
    }


    .fbhvac-guide-warning {
        grid-template-columns:
            46px
            minmax(0, 1fr);

        padding:
            18px;
    }


    .fbhvac-guide-warning__icon {
        width: 44px;
        height: 44px;
    }


    .fbhvac-guide-cta {
        padding:
            22px
            20px;
    }



    /* BOTTOM NOTE */

    .fbhvac-guide-bottom-note {
        padding-bottom: 45px;
    }


    .fbhvac-guide-bottom-note__inner {
        width:
            calc(100% - 30px);

        padding:
            19px
            18px;

        border-radius: 16px;
    }


    .fbhvac-guide-bottom-note__inner::before {
        min-height: 28px;

        margin-bottom: 9px;
        padding:
            6px
            11px;

        font-size: .68rem;
    }


    .fbhvac-guide-bottom-note__inner strong {
        font-size: .86rem;
    }


    .fbhvac-guide-bottom-note__inner p {
        font-size: .72rem;
    }

}

/* =========================================================
   CITY SERVICE AREA PAGE
   ATHENS = MASTER TEMPLATE FOR ALL CITY PAGES
   ========================================================= */

.fbhvac-city-page {
    width: 100%;
    overflow: hidden;

    color: #24113f;
    background: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.fbhvac-city-hero {
    position: relative;

    min-height: 500px;
    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            120deg,
            #140522,
            #28103f
        );
}


/* HERO IMAGE */

.fbhvac-city-hero__media {
    position: absolute;
    inset: 0;

    overflow: hidden;
}

.fbhvac-city-hero__image {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: 74% center;

    filter:
        saturate(.94)
        contrast(1.03)
        brightness(.82);
}


/* PURPLE ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ PHOTO BLEND */

.fbhvac-city-hero__overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            #150625 0%,
            #1c092f 23%,
            rgba(30, 10, 50, .98) 35%,
            rgba(30, 10, 50, .88) 45%,
            rgba(28, 9, 47, .64) 55%,
            rgba(24, 8, 40, .30) 66%,
            rgba(18, 6, 31, .07) 80%
        ),
        linear-gradient(
            180deg,
            rgba(14, 4, 25, .08) 0%,
            rgba(14, 4, 25, .02) 62%,
            rgba(14, 4, 25, .42) 100%
        );
}


/* HERO CONTENT */

.fbhvac-city-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: min(1500px, calc(100% - 120px));
    min-height: 500px;

    margin: 0 auto;
}

.fbhvac-city-hero__copy {
    width: min(650px, 48%);

    padding:
        42px
        0
        62px;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.fbhvac-city-hero__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 22px;

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

    font-size: .77rem;
    font-weight: 700;
}

.fbhvac-city-hero__breadcrumbs a {
    color: rgba(255, 255, 255, .72);
    text-decoration: none;
}

.fbhvac-city-hero__breadcrumbs a:hover {
    color: #ffd43b;
}

.fbhvac-city-hero__breadcrumbs [aria-current="page"] {
    color: #ffffff;
}


/* =========================================================
   LOCATION BADGE
   ========================================================= */

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

    gap: 9px;

    margin-bottom: 14px;
    padding: 8px 14px;

    border:
        1px solid
        rgba(255, 255, 255, .22);

    border-radius: 999px;

    color: #ffffff;

    background:
        rgba(29, 8, 49, .48);

    backdrop-filter: blur(7px);

    font-size: .78rem;
    font-weight: 850;

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

.fbhvac-city-hero__location span {
    color: #ffd43b;

    font-size: 1rem;
}


/* =========================================================
   HERO TITLE
   ========================================================= */

.fbhvac-city-hero__title {
    margin: 0;

    color: #ffffff;

    font-size: clamp(3.2rem, 4.8vw, 5.6rem);
    font-weight: 950;
    line-height: .92;

    letter-spacing: -.045em;
}

.fbhvac-city-hero__line {
    width: 138px;
    height: 4px;

    margin:
        20px
        0
        20px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd43b,
            #ff8d32,
            #ff5d49
        );
}


/* HERO LEAD */

.fbhvac-city-hero__lead {
    max-width: 610px;

    margin: 0;

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

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

.fbhvac-city-hero__lead strong {
    color: #ffffff;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.fbhvac-city-hero__actions {
    display: flex;
    flex-wrap: wrap;

    gap: 13px;

    margin-top: 25px;
}

.fbhvac-city-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 52px;
    padding: 0 25px;

    border-radius: 14px;

    text-decoration: none;
    text-transform: uppercase;

    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .035em;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.fbhvac-city-button:hover {
    transform: translateY(-2px);
}


/* PRIMARY */

.fbhvac-city-button--primary {
    color: #24113f;

    background:
        linear-gradient(
            90deg,
            #ffd43b,
            #ff9a30,
            #ff6049
        );

    box-shadow:
        0 12px 26px rgba(255, 105, 65, .20);
}


/* SECONDARY */

.fbhvac-city-button--secondary {
    color: #ffffff;

    border: 2px solid transparent;

    background:
        linear-gradient(#251039, #251039) padding-box,
        linear-gradient(
            90deg,
            #ffd43b,
            #ff6049
        ) border-box;
}


/* =========================================================
   CITY SERVICES
   ========================================================= */

.fbhvac-city-services {
    position: relative;
    z-index: 3;

    margin-top: 0;

    padding:
        0
        0
        24px;
}

.fbhvac-city-services__inner {
    width: min(1500px, calc(100% - 70px));

    margin: 0 auto;
}


/* SECTION HEADING */

.fbhvac-city-section-heading {
    padding:
        26px
        0
        20px;

    text-align: center;
}

.fbhvac-city-section-heading p {
    margin:
        0
        0
        5px;

    color: #7d42a4;

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

    letter-spacing: .11em;
    text-transform: uppercase;
}

.fbhvac-city-section-heading h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(1.7rem, 2.7vw, 2.7rem);
    font-weight: 950;

    letter-spacing: -.03em;
}


/* =========================================================
   SERVICE CARD GRID
   ========================================================= */

.fbhvac-city-services__grid {
    display: grid;

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

    gap: 14px;

    padding: 16px;

    border:
        1px solid
        rgba(36, 17, 63, .07);

    border-radius: 26px;

    background: #ffffff;

    box-shadow:
        0 18px 42px rgba(31, 11, 50, .10);
}


/* SERVICE CARD */

.fbhvac-city-service-card {
    display: grid;

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

    align-items: start;

    gap: 14px;

    min-height: 178px;

    padding:
        20px
        17px;

    border:
        1px solid
        rgba(36, 17, 63, .07);

    border-radius: 18px;

    color: inherit;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fcfafc
        );

    text-decoration: none;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.fbhvac-city-service-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(114, 42, 165, .20);

    box-shadow:
        0 13px 28px rgba(42, 18, 63, .09);
}


/* SERVICE ICON */

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

    width: 52px;
    height: 52px;

    border-radius: 50%;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #5c2383,
            #2c0d48
        );

    box-shadow:
        0 9px 20px rgba(42, 13, 70, .16);

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


/* SERVICE TEXT */

.fbhvac-city-service-card h3 {
    margin:
        3px
        0
        7px;

    color: #24113f;

    font-size: .97rem;
    font-weight: 900;
    line-height: 1.15;
}

.fbhvac-city-service-card p {
    margin: 0;

    color: #69636d;

    font-size: .76rem;
    line-height: 1.43;
}

.fbhvac-city-service-card span {
    display: inline-block;

    margin-top: 13px;

    color: #70299f;

    font-size: .72rem;
    font-weight: 900;
}


/* =========================================================
   WHY ATHENS
   ========================================================= */

.fbhvac-city-why {
    padding:
        28px
        0
        52px;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #faf8fb
        );
}

.fbhvac-city-why__inner {
    width: min(1400px, calc(100% - 80px));

    margin: 0 auto;
}


/* WHY HEADING */

.fbhvac-city-why__heading {
    max-width: 600px;

    margin-bottom: 30px;
}

.fbhvac-city-why__heading > p {
    margin:
        0
        0
        5px;

    color: #8243a8;

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

    letter-spacing: .10em;
    text-transform: uppercase;
}

.fbhvac-city-why__heading h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(2rem, 3.1vw, 3.2rem);
    font-weight: 950;
    line-height: .98;

    letter-spacing: -.035em;
}

.fbhvac-city-why__line {
    display: block;

    width: 90px;
    height: 4px;

    margin-top: 16px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #ffd43b,
            #ff6848
        );
}


/* WHY GRID */

.fbhvac-city-why__grid {
    display: grid;

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

    gap: 16px;
}


/* WHY CARD */

.fbhvac-city-why-card {
    display: grid;

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

    gap: 17px;

    min-height: 150px;

    padding:
        22px
        20px;

    border:
        1px solid
        rgba(36, 17, 63, .07);

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 9px 24px rgba(36, 17, 63, .05);
}

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

    width: 52px;
    height: 52px;

    border:
        2px solid
        #7a3ba2;

    border-radius: 17px;

    color: #6f3197;

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

.fbhvac-city-why-card h3 {
    margin:
        2px
        0
        7px;

    color: #24113f;

    font-size: .96rem;
    font-weight: 900;
}

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

    color: #6b6570;

    font-size: .78rem;
    line-height: 1.45;
}


/* =========================================================
   LOCAL ATHENS BAND
   ========================================================= */

.fbhvac-city-local {
    padding:
        0
        0
        58px;

    background: #faf8fb;
}

.fbhvac-city-local__inner {
    display: grid;

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

    align-items: center;

    gap: 26px;

    width: min(1400px, calc(100% - 80px));

    margin: 0 auto;

    padding:
        29px
        34px;

    border-radius: 22px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 80% 50%,
            rgba(121, 55, 165, .28),
            transparent 35%
        ),
        linear-gradient(
            105deg,
            #190729,
            #31104c,
            #40175d
        );

    box-shadow:
        0 16px 38px rgba(28, 8, 46, .13);
}


/* MAP PIN */

.fbhvac-city-local__icon {
    display: grid;
    place-items: center;

    width: 70px;
    height: 70px;

    border:
        2px solid
        #ffb536;

    border-radius: 50%;

    color: #ffd43b;

    font-size: 1.8rem;
}


/* LOCAL COPY */

.fbhvac-city-local__copy > p:first-child {
    margin:
        0
        0
        3px;

    color: #ffd43b;

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

    letter-spacing: .08em;
    text-transform: uppercase;
}

.fbhvac-city-local__copy h2 {
    margin:
        0
        0
        7px;

    color: #ffffff;

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

.fbhvac-city-local__copy p:last-child {
    max-width: 720px;

    margin: 0;

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

    font-size: .83rem;
    line-height: 1.5;
}


/* LOCAL POINTS */

.fbhvac-city-local__points {
    display: flex;
    align-items: center;

    gap: 25px;
}

.fbhvac-city-local__points span {
    display: inline-flex;
    align-items: center;

    gap: 8px;

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

    font-size: .77rem;
    font-weight: 750;
}

.fbhvac-city-local__points b {
    display: grid;
    place-items: center;

    width: 22px;
    height: 22px;

    border:
        1px solid
        #ffd43b;

    border-radius: 50%;

    color: #ffd43b;

    font-size: .65rem;
}


/* =========================================================
   ADDITIONAL SERVICES
   ========================================================= */

.fbhvac-city-more-services {
    padding:
        0
        0
        55px;

    background: #faf8fb;
}

.fbhvac-city-more-services__inner {
    width: min(1400px, calc(100% - 80px));

    margin: 0 auto;
}

.fbhvac-city-more-services h2 {
    margin:
        0
        0
        18px;

    color: #24113f;

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

.fbhvac-city-more-services__links {
    display: grid;

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

    gap: 13px;
}

.fbhvac-city-more-services__links a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 64px;

    padding:
        0
        20px;

    border:
        1px solid
        rgba(36, 17, 63, .09);

    border-radius: 15px;

    color: #24113f;

    background: #ffffff;

    box-shadow:
        0 7px 20px rgba(36, 17, 63, .04);

    text-decoration: none;

    font-size: .82rem;
    font-weight: 850;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.fbhvac-city-more-services__links a:hover {
    transform: translateY(-2px);

    border-color:
        rgba(110, 41, 157, .24);
}

.fbhvac-city-more-services__links span {
    color: #762e9f;

    font-size: 1rem;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.fbhvac-city-cta {
    padding:
        0
        0
        62px;

    background: #faf8fb;
}

.fbhvac-city-cta__inner {
    display: grid;

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

    align-items: center;

    gap: 30px;

    width: min(1400px, calc(100% - 80px));

    margin: 0 auto;

    padding:
        28px
        36px;

    border-radius: 22px;

    background:
        linear-gradient(
            90deg,
            #ffd63b,
            #ff9c31,
            #ff6047
        );

    box-shadow:
        0 16px 35px rgba(255, 104, 64, .14);
}


/* CTA COPY */

.fbhvac-city-cta__copy > p {
    margin:
        0
        0
        2px;

    color: #3c1748;

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

    text-transform: uppercase;
}

.fbhvac-city-cta__copy h2 {
    margin: 0;

    color: #24113f;

    font-size: clamp(1.6rem, 2.4vw, 2.5rem);
    font-weight: 950;

    letter-spacing: -.025em;
}

.fbhvac-city-cta__copy span {
    display: block;

    margin-top: 4px;

    color: rgba(36, 17, 63, .75);

    font-size: .84rem;
}


/* CTA ACTIONS */

.fbhvac-city-cta__actions {
    display: flex;

    gap: 12px;
}

.fbhvac-city-button--dark {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #301044,
            #1a0828
        );
}

.fbhvac-city-button--light {
    color: #ffffff;

    border:
        2px solid
        rgba(255, 255, 255, .72);

    background:
        rgba(73, 24, 71, .16);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .fbhvac-city-hero__inner {
        width: calc(100% - 56px);
    }

    .fbhvac-city-hero__copy {
        width: 54%;
    }


    .fbhvac-city-services__inner,
    .fbhvac-city-why__inner,
    .fbhvac-city-local__inner,
    .fbhvac-city-more-services__inner,
    .fbhvac-city-cta__inner {
        width: calc(100% - 50px);
    }


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


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


    .fbhvac-city-local__inner {
        grid-template-columns:
            75px
            minmax(0, 1fr);
    }


    .fbhvac-city-local__points {
        grid-column:
            1
            /
            -1;

        padding-left: 100px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {


    /* HERO */

    .fbhvac-city-hero {
        min-height: auto;
    }


    .fbhvac-city-hero__media {
        position: absolute;

        inset:
            0
            0
            auto
            0;

        height: 330px;
    }


    .fbhvac-city-hero__image {
        object-position: 68% center;
    }


    .fbhvac-city-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(17, 5, 30, .12) 0%,
                rgba(17, 5, 30, .34) 25%,
                rgba(20, 6, 35, .87) 50%,
                #18082b 72%,
                #18082b 100%
            );
    }


    .fbhvac-city-hero__inner {
        width: 100%;
        min-height: auto;

        padding:
            220px
            22px
            48px;

        align-items: flex-start;
    }
	
	.fbhvac-city-hero--no-media .fbhvac-city-hero__inner {
		padding-top: 48px;
	}


    .fbhvac-city-hero__copy {
        width: 100%;
        padding: 0;
    }


    .fbhvac-city-hero__breadcrumbs {
        display: none;
    }


    .fbhvac-city-hero__location {
        font-size: .7rem;
    }


    .fbhvac-city-hero__title {
        font-size: clamp(
            2.75rem,
            13vw,
            4rem
        );
    }


    .fbhvac-city-hero__line {
        width: 105px;
    }


    .fbhvac-city-hero__lead {
        font-size: .9rem;
    }


    .fbhvac-city-hero__actions {
        display: grid;

        grid-template-columns: 1fr;

        width: 100%;
    }


    .fbhvac-city-button {
        width: 100%;
    }


    /* SERVICES */

    .fbhvac-city-services {
        margin-top: -20px;

        padding-bottom: 42px;
    }


    .fbhvac-city-services__inner {
        width: calc(100% - 28px);
    }


    .fbhvac-city-section-heading {
        padding:
            30px
            10px
            20px;
    }


    .fbhvac-city-services__grid {
        grid-template-columns: 1fr;

        gap: 10px;

        padding: 11px;

        border-radius: 20px;
    }


    .fbhvac-city-service-card {
        min-height: 0;

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

        padding:
            17px
            15px;

        border-radius: 15px;
    }


    .fbhvac-city-service-card__icon {
        width: 46px;
        height: 46px;

        font-size: 1.05rem;
    }


    /* WHY */

    .fbhvac-city-why {
        padding:
            42px
            0;
    }


    .fbhvac-city-why__inner {
        width: calc(100% - 30px);
    }


    .fbhvac-city-why__grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }


    .fbhvac-city-why-card {
        min-height: 0;

        padding:
            18px
            16px;

        border-radius: 16px;
    }


    /* LOCAL */

    .fbhvac-city-local {
        padding-bottom: 40px;
    }


    .fbhvac-city-local__inner {
        width: calc(100% - 30px);

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

        gap: 16px;

        padding:
            22px
            18px;

        border-radius: 18px;
    }


    .fbhvac-city-local__icon {
        width: 54px;
        height: 54px;

        font-size: 1.35rem;
    }


    .fbhvac-city-local__copy h2 {
        font-size: 1.25rem;
    }


    .fbhvac-city-local__copy p:last-child {
        font-size: .76rem;
    }


    .fbhvac-city-local__points {
        grid-column:
            1
            /
            -1;

        display: grid;

        gap: 9px;

        padding-left: 0;
    }


    /* MORE SERVICES */

    .fbhvac-city-more-services {
        padding-bottom: 40px;
    }


    .fbhvac-city-more-services__inner {
        width: calc(100% - 30px);
    }


    .fbhvac-city-more-services__links {
        grid-template-columns: 1fr;
    }


    /* FINAL CTA */

    .fbhvac-city-cta {
        padding-bottom: 42px;
    }


    .fbhvac-city-cta__inner {
        width: calc(100% - 30px);

        grid-template-columns: 1fr;

        padding:
            24px
            18px;

        border-radius: 18px;
    }


    .fbhvac-city-cta__actions {
        display: grid;

        grid-template-columns: 1fr;
    }

}