/*------------------------------------*\
    HOMEPAGE VISUAL REFRESH (2026) — v2 "Premium Elevation"

    Additive, override-only styling for the front page. Loaded LAST and ONLY
    on the front page (see inc/theme/assets.php), scoped to `body.home`.

    PRESENTATION ONLY — no markup, headings, copy, links, alt, or schema are
    changed here. SEO/AEO output is unchanged. Pairs with homepage-reveal.js
    (deferred, front-page-only) for tasteful scroll-reveal.

    PRINCIPLE: SURGICAL + PREMIUM. Add depth, rhythm, layered light and motion
    that cannot break layout. Never override layout the theme has tuned
    (button icon padding, absolutely-positioned pullouts). Headings are styled
    PER SECTION (never a blanket `h2`) so the brand-label h2 and footer
    headings are left alone.
\*------------------------------------*/


/*------------------------------------*\
    0. TOKENS (additive, global — safe)
\*------------------------------------*/
:root {
    /* Depth */
    --rf-shadow-xs: 0 1px 3px rgba(4, 36, 82, .06);
    --rf-shadow-sm: 0 2px 8px rgba(4, 36, 82, .06), 0 1px 3px rgba(4, 36, 82, .05);
    --rf-shadow-md: 0 6px 20px rgba(4, 36, 82, .08), 0 2px 6px rgba(4, 36, 82, .05);
    --rf-shadow-lg: 0 16px 40px rgba(4, 36, 82, .12), 0 4px 12px rgba(4, 36, 82, .06);
    --rf-shadow-xl: 0 30px 70px rgba(4, 36, 82, .18), 0 10px 24px rgba(4, 36, 82, .08);
    --rf-shadow-orange: 0 8px 22px rgba(255, 95, 31, .26);
    --rf-ring: 0 0 0 1px rgba(32, 154, 214, .14);

    /* Radii */
    --rf-radius-sm: 10px;
    --rf-radius: 16px;
    --rf-radius-lg: 24px;
    --rf-radius-xl: 30px;

    /* Motion */
    --rf-ease: cubic-bezier(.22, 1, .36, 1);
    --rf-dur: 240ms;
    --rf-reveal-dur: 720ms;

    /* Brand-derived accents */
    --rf-orange-deep: #E84E10;
    --rf-navy-grad: linear-gradient(160deg, #042452 0%, #0c2f4c 55%, #153C52 100%);

    /* Surface layering for light sections */
    --rf-surface-tint: linear-gradient(180deg, #F6FBFE 0%, #E9F4FB 100%);
    --rf-hairline: rgba(32, 154, 214, .16);
}

/* Fixed-header offset: at >=1025px the 1-line promo bar makes the header
   ~214px, but the inherited fallback is 292px (tuned for an old 2-line bar),
   causing a white seam before the JS measures. Tighten the homepage fallback;
   abraham-header-offset.js still sets the exact value after load. */
@media (min-width: 1025px) {
    body.home:not(.ac-repair-lp-page) {
        --abraham-fixed-header-offset: 218px;
    }
}


/*------------------------------------*\
    0b. SCROLL-REVEAL (paired with homepage-reveal.js)
    No-JS safe: the hidden state only applies once the script adds
    `rf-reveal-on` to <html>. Reduced-motion: script bails AND this is guarded.
    The hero/LCP is NEVER a reveal target (protects LCP).
\*------------------------------------*/
html.rf-reveal-on body.home .rf-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity var(--rf-reveal-dur) var(--rf-ease),
                transform var(--rf-reveal-dur) var(--rf-ease);
    will-change: opacity, transform;
}
html.rf-reveal-on body.home .rf-reveal.is-visible {
    opacity: 1;
    transform: none;
}
/* Staggered children (grids / lists of cards) */
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > * {
    animation: rfFadeUp var(--rf-reveal-dur) var(--rf-ease) both;
}
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > *:nth-child(2) { animation-delay: 70ms; }
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > *:nth-child(3) { animation-delay: 140ms; }
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > *:nth-child(4) { animation-delay: 210ms; }
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > *:nth-child(5) { animation-delay: 280ms; }
html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > *:nth-child(n+6) { animation-delay: 340ms; }
@keyframes rfFadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: none; }
}


/*------------------------------------*\
    1. FOUNDATIONS — buttons, links, focus, type rhythm
    NOTE: do NOT touch button padding — icon buttons rely on padding-left:53px
    to clear an absolutely-positioned icon. Only add depth + motion.
\*------------------------------------*/
body.home .btn,
body.home .load-more__btn {
    box-shadow: var(--rf-shadow-sm);
    transition: transform var(--rf-dur) var(--rf-ease),
                box-shadow var(--rf-dur) var(--rf-ease),
                background-color var(--rf-dur) var(--rf-ease),
                color var(--rf-dur) var(--rf-ease),
                border-color var(--rf-dur) var(--rf-ease);
}
body.home .btn-primary { box-shadow: var(--rf-shadow-orange); }
body.home .btn-primary:hover,
body.home .btn-primary:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255, 95, 31, .34);
}
body.home .btn-secondary:hover,
body.home .btn-secondary:focus-visible {
    transform: translateY(-2px);
    box-shadow: var(--rf-shadow-lg);
}
body.home .btn:active { transform: translateY(0); }

body.home a:focus-visible,
body.home .btn:focus-visible,
body.home button:focus-visible,
body.home summary:focus-visible {
    outline: 3px solid rgba(32, 154, 214, .55);
    outline-offset: 2px;
    border-radius: 6px;
}

/* Type rhythm — applied broadly but safely (tracking + measure only, no size
   changes here so the brand-label/footer headings are unaffected). */
body.home h1, body.home h2, body.home h3 { letter-spacing: 0; }
body.home p { line-height: 1.7; }
body.home .sub-heading { letter-spacing: 0; font-weight: 700; }


/*------------------------------------*\
    1b. SECTION LAYERING — premium "chapter" rhythm
    Enhance the theme's existing bg-light-blue bands into soft gradients and
    add a hairline top divider so sections read as deliberate layers. We only
    restyle backgrounds the theme already paints (bg-light-blue) — bg-white
    stays clean white.
\*------------------------------------*/
body.home .bg-light-blue {
    background: var(--rf-surface-tint);
    position: relative;
}
body.home .bg-light-blue::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--rf-hairline) 18%, var(--rf-hairline) 82%, transparent);
    pointer-events: none;
}


/*------------------------------------*\
    2. HEADER + PRIMARY NAV
\*------------------------------------*/
body.home .header-notification-bar {
    background: linear-gradient(100deg, #042452 0%, #0a2c50 100%);
}
body.home .page-header.js-scrolled { box-shadow: 0 6px 24px rgba(4, 36, 82, .12); }
body.home .header-btn .btn-primary { box-shadow: var(--rf-shadow-orange); }

body.home .js-search-toggle,
body.home .toggle-menu {
    transition: background-color var(--rf-dur) var(--rf-ease),
                color var(--rf-dur) var(--rf-ease),
                transform var(--rf-dur) var(--rf-ease);
}
body.home .js-search-toggle:hover { color: var(--secondary-color); }
body.home .toggle-menu:hover { transform: scale(1.05); }

/* Nav links had NO hover feedback — add an animated underline */
body.home .nav-primary > ul > li > a { position: relative; transition: color var(--rf-dur) var(--rf-ease); }
body.home .nav-primary > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 4px;
    height: 2px;
    background: var(--primary-color);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--rf-dur) var(--rf-ease);
    border-radius: 2px;
}
body.home .nav-primary > ul > li:hover > a,
body.home .nav-primary > ul > li:focus-within > a { color: var(--primary-color); }
body.home .nav-primary > ul > li:hover > a::after,
body.home .nav-primary > ul > li:focus-within > a::after { transform: scaleX(1); }
body.home .nav-primary ul li .sub-menu { border-radius: 14px; box-shadow: var(--rf-shadow-lg); overflow: hidden; }


/*------------------------------------*\
    3. HERO / MASTHEAD — layered premium hero + glass CTA card
    The LCP image (.masthead__large-image) is NEVER hidden/faded.
\*------------------------------------*/
body.home .masthead--homepage {
    background:
        radial-gradient(120% 90% at 12% 8%, rgba(32, 154, 214, .22) 0%, transparent 46%),
        radial-gradient(120% 120% at 100% 0%, rgba(255, 95, 31, .14) 0%, transparent 50%),
        var(--rf-navy-grad);
}
/* Kill the dated white-stroke duplicate of the H1 (aria-hidden ghost) */
body.home .masthead__text p.shadow { display: none !important; }

/* Scrim card behind the hero copy → fixes orange/white-on-image legibility.
   Applied at ALL widths (the H1 is brand-orange on navy); the heavier glass
   blur is added only >=768px where it's cheap and looks premium. */
body.home .masthead__text {
    position: relative;
    padding: clamp(20px, 5.5vw, 34px);
    background: linear-gradient(160deg, rgba(6, 24, 54, .58), rgba(6, 24, 54, .30));
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--rf-radius-lg);
    box-shadow: var(--rf-shadow-xl);
}
@media (min-width: 768px) {
    body.home .masthead__text {
        padding: clamp(28px, 3vw, 40px);
        background: linear-gradient(160deg, rgba(7, 28, 60, .42), rgba(7, 28, 60, .20));
        -webkit-backdrop-filter: blur(8px) saturate(1.1);
        backdrop-filter: blur(8px) saturate(1.1);
    }
}

body.home .masthead__text .sub-heading {
    color: var(--secondary-color);
    font-size: clamp(13px, 2.4vw, 16px);
    letter-spacing: 0;
    margin-bottom: 14px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .25);
}
body.home .masthead__text span {
    font-size: clamp(24px, 4.2vw, 40px);
    font-weight: 600;
    line-height: 1.15;
    margin-bottom: 14px;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .28);
}
body.home .masthead__text h1 {
    font-size: clamp(31px, 8vw, 42px);
    line-height: 1.03;
    letter-spacing: 0;
    max-width: 100%;
    margin: 0 0 26px;
    text-shadow: 0 2px 5px rgba(0, 0, 0, .5), 0 4px 20px rgba(0, 0, 0, .3);
}
/* Remove the old orange accent rule so it no longer reads as a stray button underline. */
body.home .masthead__text .hero-text { position: relative; }
body.home .masthead__text .hero-text::after {
    content: "";
    display: none;
}
body.home .abraham-hero-promo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin: -6px 0 22px;
    padding: 14px 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(237, 247, 252, .94));
    border: 1px solid rgba(255, 255, 255, .7);
    border-left: 5px solid var(--primary-color);
    border-radius: 14px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
    color: var(--dark-blue);
}
body.home .abraham-hero-promo__label {
    color: var(--secondary-color);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: uppercase;
}
body.home .abraham-hero-promo strong {
    color: var(--dark-blue);
    font-size: clamp(20px, 4.8vw, 28px);
    line-height: 1.05;
}
body.home .abraham-hero-promo span:not(.abraham-hero-promo__label) {
    color: #2f3d4f;
    font-size: 14px;
    line-height: 1.35;
}
body.home .abraham-hero-promo a {
    justify-self: start;
    min-height: 34px;
    margin-top: 4px;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--dark-blue);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
@media (min-width: 768px) {
    body.home .masthead__text h1 { font-size: clamp(40px, 6vw, 56px); margin-bottom: 28px; }
    body.home .masthead__text span { margin-bottom: 16px; }
}
@media (min-width: 1200px) {
    body.home .masthead__flex {
        display: grid;
        grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr);
        align-items: center;
        gap: clamp(34px, 4vw, 72px);
    }
    body.home .masthead__text {
        width: auto;
        max-width: 610px;
        padding-right: clamp(30px, 3vw, 46px);
    }
    body.home .masthead__text h1 { font-size: clamp(48px, 4vw, 60px); }
    body.home .masthead__wrapper { padding-bottom: 150px; }
    body.home .masthead__image {
        width: auto;
        max-width: 650px;
        justify-self: end;
    }
    body.home .masthead__large-image {
        width: 100%;
        height: clamp(390px, 35vw, 500px);
        object-fit: cover;
        object-position: center center;
    }
    body.home .abraham-hero-promo {
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 7px 12px;
        margin-top: -4px;
    }
    body.home .abraham-hero-promo__label {
        grid-column: 1 / -1;
    }
    body.home .abraham-hero-promo a {
        margin-top: 0;
    }
}

/* Elevated technician photo (LCP) in a soft ring frame */
body.home .masthead__large-image {
    border-radius: var(--rf-radius-lg);
    box-shadow: 0 26px 60px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255, 255, 255, .14);
}
body.home .masthead__cartoon-image { filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .32)); }
body.home .masthead__text .btn-secondary { box-shadow: 0 8px 22px rgba(32, 154, 214, .34); }
body.home .review__col {
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow-lg);
    border: 1px solid rgba(32, 154, 214, .12);
}


/*------------------------------------*\
    4. QUICK ANSWER (AEO) + AC COMPANY (SEO) blocks
\*------------------------------------*/
body.home .abraham-quick-answer {
    background: #fff;
    border-left: 5px solid var(--primary-color);
    border-radius: 0 var(--rf-radius) var(--rf-radius) 0;
    padding: clamp(26px, 4vw, 40px);
    box-shadow: var(--rf-shadow-md);
}
body.home .abraham-quick-answer h2 { color: var(--dark-blue); }

body.home .abraham-ac-repair-launch.abraham-home-hvac-company-panel {
    background:
        radial-gradient(90% 90% at 100% 0%, rgba(32, 154, 214, .14) 0%, transparent 48%),
        #fff;
    border: 1px solid rgba(32, 154, 214, .16);
    border-radius: var(--rf-radius-lg);
    padding: clamp(24px, 4vw, 46px);
    box-shadow: var(--rf-shadow-lg);
    overflow: hidden;
}
body.home .abraham-home-hvac-company-panel__layout {
    display: grid;
    gap: clamp(20px, 3vw, 34px);
}
body.home .abraham-home-hvac-company-panel__copy,
body.home .abraham-home-hvac-company-panel__proof-card {
    min-width: 0;
}
body.home .abraham-home-hvac-company-panel__lead {
    color: var(--dark-blue);
    font-size: clamp(18px, 2.4vw, 22px);
    font-weight: 700;
    line-height: 1.35;
}
body.home .abraham-home-hvac-company-panel__proof-card {
    align-self: start;
    padding: clamp(20px, 3vw, 28px);
    background: linear-gradient(155deg, #042452 0%, #103d65 100%);
    border-radius: var(--rf-radius);
    box-shadow: 0 18px 40px rgba(4, 36, 82, .24);
    color: #fff;
}
body.home .abraham-home-hvac-company-panel__proof-card h3 {
    color: #fff;
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.2;
    margin: 0 0 18px;
}
body.home .abraham-ac-repair-launch__eyebrow {
    display: inline-block;
    color: var(--secondary-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    font-size: 13px;
    margin-bottom: 8px;
}
body.home .abraham-ac-repair-launch h2 { color: var(--dark-blue); }
@media (min-width: 1025px) {
    body.home .abraham-home-hvac-company-panel__layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    }
}

/* Trust proof — clean uniform cards. Kill the global blue list bullet. */
body.home .abraham-ac-repair-launch__proof {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
body.home .abraham-ac-repair-launch__proof li {
    margin: 0;
    padding: 16px 18px;
    background: rgba(255, 255, 255, .1);
    border-radius: var(--rf-radius-sm);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: none;
    color: rgba(255, 255, 255, .92);
    font-weight: 600;
    line-height: 1.5;
    transition: transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease);
}
body.home .abraham-ac-repair-launch__proof li:hover { transform: translateY(-2px); box-shadow: var(--rf-shadow-sm); }
body.home .abraham-ac-repair-launch__proof li::before { content: none !important; display: none !important; }

/* Primary action → on-brand orange (was off-palette gold) */
body.home .abraham-ac-repair-launch__actions a:first-child {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    box-shadow: var(--rf-shadow-orange);
    transition: transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease), background-color var(--rf-dur) var(--rf-ease);
}
body.home .abraham-ac-repair-launch__actions a:first-child:hover {
    background: var(--rf-orange-deep);
    border-color: var(--rf-orange-deep);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255, 95, 31, .34);
}

/* Nearby service-path links → tidy chips (also kill the global bullet) */
body.home .abraham-broward-nearby li::before { content: none !important; display: none !important; }
body.home .abraham-broward-nearby a {
    transition: background-color var(--rf-dur) var(--rf-ease), color var(--rf-dur) var(--rf-ease), border-color var(--rf-dur) var(--rf-ease);
}
body.home .abraham-broward-nearby a:hover {
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    color: #fff;
}
body.home .abraham-home-hvac-company-panel__links {
    margin-top: clamp(22px, 3vw, 34px);
}


/*------------------------------------*\
    5. PROMO SECTION — styles live in abraham-promo.php (kept together).
    Only a reveal hook is added here; markup/copy untouched.
\*------------------------------------*/


/*------------------------------------*\
    6. ICON PULLOUTS (24/7 van + benefit pills)
    Pills are ABSOLUTELY POSITIONED at desktop with sizes tuned to the layout.
    Do NOT resize them. Leave the theme's sizing intact.
\*------------------------------------*/
/* (intentionally no overrides — earlier resizing broke the tuned positions) */


/*------------------------------------*\
    7. EXISTING DEAL CARD (promo-cta "$5,000")
\*------------------------------------*/
body.home .promo-cta::before,
body.home .promo-cta::after { display: none !important; }
body.home .promo-cta {
    border-radius: var(--rf-radius-lg);
    padding: clamp(32px, 5vw, 56px);
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255, 95, 31, .16) 0%, transparent 52%),
        linear-gradient(150deg, #042452 0%, #0c2f4c 100%);
    box-shadow: var(--rf-shadow-xl);
}
body.home .promo-cta .highlighted-text::after { display: none !important; }
body.home .promo-cta .highlighted-text { text-shadow: 0 3px 14px rgba(0, 0, 0, .25); }
body.home .promo-cta__image { border-radius: var(--rf-radius); box-shadow: var(--rf-shadow-md); }


/*------------------------------------*\
    8. SERVICES ACCORDION
\*------------------------------------*/
body.home .fx-accordion__panel__toggle {
    border: 1px solid #e6ebf2;
    box-shadow: var(--rf-shadow-sm);
    transition: border-color var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease), color var(--rf-dur) var(--rf-ease);
}
body.home .fx-accordion__panel:not(.is-expanded) .fx-accordion__panel__toggle:hover {
    border-color: var(--primary-color);
    box-shadow: 0 6px 16px rgba(255, 95, 31, .14);
}
body.home .fx-accordion__panel.is-expanded .fx-accordion__panel__toggle {
    border-color: var(--primary-color);
    box-shadow: var(--rf-shadow-md);
}
body.home .accordian-icon-links ul li a { transition: background-color var(--rf-dur) var(--rf-ease), color var(--rf-dur) var(--rf-ease); }
body.home .accordian-icon-links ul li a:hover { color: var(--primary-color); }
body.home .half-image-half-accordian-image {
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow-md);
    transition: transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease);
}
body.home .half-image-half-accordian-image:hover { transform: translateY(-3px); box-shadow: var(--rf-shadow-lg); }


/*------------------------------------*\
    9. TESTIMONIALS
\*------------------------------------*/
body.home .testimonial-slide-item {
    border-radius: var(--rf-radius-lg);
    box-shadow: var(--rf-shadow-md);
    transition: transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease);
}
body.home .testimonial-slide:hover .testimonial-slide-item,
body.home .testimonial-slide-item:hover { transform: translateY(-3px); box-shadow: var(--rf-shadow-lg); }
body.home .testimonials__heading h2 { color: var(--dark-blue); }
body.home .testimonials__heading h2 span { color: var(--primary-color); }


/*------------------------------------*\
    10. CAPTAINS DUO
\*------------------------------------*/
body.home .captains-duo__eyebrow { background: rgb(255 95 31 / 16%); }
body.home .captains-duo__chips li::before { content: none !important; display: none !important; }
body.home .captains-duo__chips li {
    border: 1.5px solid rgb(32 154 214 / 32%);
    box-shadow: var(--rf-shadow-xs);
    transition: transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease), border-color var(--rf-dur) var(--rf-ease);
}
body.home .captains-duo__chips li:hover { transform: translateY(-1px); border-color: rgb(32 154 214 / 50%); box-shadow: var(--rf-shadow-sm); }
body.home .captains-duo__media--split .captains-duo__img { filter: drop-shadow(0 16px 32px rgb(4 36 82 / 22%)); }


/*------------------------------------*\
    11. MEET CAPTAIN (floating-cta) — watermark overflow FIX
\*------------------------------------*/
body.home .floating-cta__wrapper {
    overflow: hidden;
    border-radius: var(--rf-radius-lg);
    box-shadow: var(--rf-shadow-lg);
}
body.home .floating-cta__since-year {
    opacity: .12;
    max-width: 80%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (min-width: 1200px) { body.home .floating-cta--half-bg-curve { overflow: hidden; } }


/*------------------------------------*\
    12. COMFORT CLUB (half-media-half-text)
\*------------------------------------*/
body.home #homepage-block_188df4864cb1da257e1e64555784f29d .image-text__img,
body.home #homepage-block_188df4864cb1da257e1e64555784f29d .image-text__img img { border-radius: var(--rf-radius); }
body.home #homepage-block_188df4864cb1da257e1e64555784f29d .image-text__img { box-shadow: var(--rf-shadow-md); }
body.home #homepage-block_188df4864cb1da257e1e64555784f29d .btn-secondary {
    background: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: var(--rf-shadow-orange);
}
body.home #homepage-block_188df4864cb1da257e1e64555784f29d .btn-secondary:hover { background: var(--rf-orange-deep); border-color: var(--rf-orange-deep); }


/*------------------------------------*\
    13. AREAS WE SERVICE + MAP
    overflow:hidden so the embedded map is clipped cleanly to the rounded card.
\*------------------------------------*/
body.home .fx-accordion--service-location__map {
    border-radius: var(--rf-radius-lg);
    box-shadow: var(--rf-shadow-md);
    border: 1px solid rgba(32, 154, 214, .18);
    overflow: hidden;
}
body.home .abraham-broward-map-card {
    position: relative;
    min-height: clamp(360px, 46vw, 520px);
    background: #dbeaf3;
}
body.home .abraham-broward-map-card iframe {
    display: block;
    width: 100%;
    min-height: clamp(360px, 46vw, 520px);
    border: 0;
}
body.home .abraham-broward-map-card__label {
    position: absolute;
    left: clamp(14px, 2vw, 24px);
    right: clamp(14px, 2vw, 24px);
    bottom: clamp(14px, 2vw, 24px);
    max-width: 520px;
    padding: 14px 16px;
    background: rgba(4, 36, 82, .92);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(4, 36, 82, .28);
    color: #fff;
}
body.home .abraham-broward-map-card__label span {
    display: block;
    color: #8fd4f4;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin-bottom: 4px;
    text-transform: uppercase;
}
body.home .abraham-broward-map-card__label strong {
    display: block;
    color: #fff;
    font-size: clamp(14px, 2vw, 18px);
    line-height: 1.35;
}
body.home .accordian-location-links__col ul li a { transition: color var(--rf-dur) var(--rf-ease), padding-left var(--rf-dur) var(--rf-ease); }
body.home .accordian-location-links__col ul li a:hover { color: var(--primary-color); padding-left: 5px; }


/*------------------------------------*\
    14. READY TO SCHEDULE (full-width-cta) — center + drop the ghost outline
\*------------------------------------*/
/* Remove the dated offset white-stroke ghost duplicate */
body.home .full-width-cta__highlight-text::after { display: none !important; }

@media (min-width: 1200px) {
    /* Center the message within the space beside the captain (override the
       left-aligned flex layout in abraham-formatting-fixes.css). */
    body.home .full-width-cta .full-width-cta__text {
        align-items: center !important;
        text-align: center !important;
    }
    body.home .full-width-cta h2,
    body.home .full-width-cta p {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
    body.home .full-width-cta .full-width-cta__highlight-text { text-align: center !important; }
    body.home .full-width-cta .full-width-cta__text .btn-group {
        align-self: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/*------------------------------------*\
    15. FAQ — single clean icon, brand hover, soft cards (AEO structure intact)
\*------------------------------------*/
/* The icon <span> carries an inline font-size:20px that defeats the plugin's
   font-size:0 (meant to hide the span so only ::before shows). Force-hide it
   so a single +/- icon renders instead of a doubled "++". */
body.home .abraham-faq__item summary .abraham-faq__icon { font-size: 0 !important; }
body.home .abraham-faq__item summary:hover { color: var(--primary-color) !important; }
body.home .abraham-faq__item {
    background: #fff;
    border: 1px solid #eef2f8;
    border-radius: var(--rf-radius-sm);
    box-shadow: var(--rf-shadow-xs);
    margin-bottom: 12px;
    padding: 0 22px;
    transition: box-shadow var(--rf-dur) var(--rf-ease), border-color var(--rf-dur) var(--rf-ease);
    overflow: hidden;
}
body.home .abraham-faq__item:hover { box-shadow: var(--rf-shadow-sm); }
body.home details.abraham-faq__item[open] { border-color: rgba(32, 154, 214, .45); box-shadow: var(--rf-shadow-sm); }
body.home .abraham-faq__icon { transition: color var(--rf-dur) var(--rf-ease); }


/*------------------------------------*\
    16. FOOTER SEO LINKS + BROWARD CITY GRID  (contrast FIX)
\*------------------------------------*/
body.home .abraham-broward-footer-links__grid a {
    background: rgba(255, 255, 255, .07);
    border: 1.5px solid rgba(32, 154, 214, .45);
    color: #fff;
    border-radius: var(--rf-radius-sm);
    transition: background-color var(--rf-dur) var(--rf-ease), border-color var(--rf-dur) var(--rf-ease), transform var(--rf-dur) var(--rf-ease), box-shadow var(--rf-dur) var(--rf-ease);
}
body.home .abraham-broward-footer-links__grid a:hover {
    background: rgba(32, 154, 214, .18);
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(4, 36, 82, .3);
}
body.home .footer-seo-services__nav a { transition: color var(--rf-dur) var(--rf-ease); }
body.home .footer-seo-services__nav a:hover { color: var(--primary-color); }


/*------------------------------------*\
    17. SITE FOOTER
\*------------------------------------*/
body.home .footer-social ul li a {
    border-radius: 12px;
    background: rgba(32, 154, 214, .12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--rf-dur) var(--rf-ease), color var(--rf-dur) var(--rf-ease), transform var(--rf-dur) var(--rf-ease);
}
body.home .footer-social ul li a:hover { background: rgba(255, 95, 31, .2); color: var(--primary-color); transform: translateY(-3px); }
body.home .footer-certificate a { transition: transform var(--rf-dur) var(--rf-ease); }
body.home .footer-certificate a:hover { transform: translateY(-4px); }
body.home .footer-top__right .btn { box-shadow: var(--rf-shadow-orange); }
body.home .page-footer {
    padding-top: clamp(42px, 5vw, 58px);
}
body.home .footer-logo img {
    width: clamp(190px, 20vw, 240px) !important;
}
body.home .footer-social {
    margin-top: 14px;
}
body.home .footer-top__left {
    margin-bottom: 24px;
}
body.home .footer-top__center {
    gap: 16px 36px;
}
body.home .footer-link-col ul {
    gap: 6px;
}
body.home .footer-link-col ul li a {
    min-height: 34px;
    font-size: 15px;
}
body.home .footer-top__right {
    margin-top: 24px;
}
body.home .footer-certificate {
    margin-top: 22px;
}
body.home .footer-bottom {
    margin-top: clamp(34px, 5vw, 48px);
}
body.home .footer-bottom__wrapper ul {
    gap: 6px 24px;
}
body.home .footer-bottom__wrapper ul li,
body.home .footer-bottom__wrapper ul li a {
    font-size: 14px;
    min-height: 32px;
}
@media (min-width: 1200px) {
    body.home .footer-top {
        gap: clamp(28px, 4vw, 56px);
    }
    body.home .footer-top__center {
        flex: 1 1 auto;
        margin-top: 0;
    }
    body.home .footer-top__right {
        margin-top: 0;
        padding-top: 48px;
    }
    body.home .footer-top__right .btn {
        top: 0;
    }
    body.home .footer-certificate {
        margin-top: 8px;
    }
    body.home .footer-bottom {
        padding: 12px 0;
    }
}


/*------------------------------------*\
    18. REDUCED MOTION
\*------------------------------------*/
@media (prefers-reduced-motion: reduce) {
    body.home *,
    body.home *::before,
    body.home *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
    body.home .btn:hover,
    body.home .testimonial-slide-item:hover,
    body.home .footer-social ul li a:hover,
    body.home .abraham-broward-footer-links__grid a:hover,
    body.home .captains-duo__chips li:hover,
    body.home .abraham-ac-repair-launch__proof li:hover,
    body.home .half-image-half-accordian-image:hover { transform: none !important; }

    /* Reveal: never hide content if motion is reduced */
    html.rf-reveal-on body.home .rf-reveal { opacity: 1 !important; transform: none !important; }
    html.rf-reveal-on body.home .rf-reveal--stagger.is-visible > * { animation: none !important; }
}
