/* =====================================================================
   Abraham AC — Homepage Redesign 2026  ·  "We're already on the way."
   body.home only, loaded LAST. Command-center direction.
   LAW: orange = the thing you tap, ONE per section. Pure #FF5F1F/#209AD6 only
   as fills behind white text or display type >=28px; small orange/blue text
   uses the -ink variants. navy=authority, light=ice, paper=reading zones.
   Presentation-only — no SEO/markup/schema impact.
   ===================================================================== */

:root{
  --ab-orange:#FF5F1F; --ab-orange-ink:#D2440C; --ab-orange-deep:#E84E10;
  --ab-blue:#209AD6;   --ab-blue-ink:#157AAD;
  --ab-navy:#042452;   --ab-navy-masthead:#153C52;
  --ab-light:#EDF7FC;  --ab-paper:#FBFCFD;
  --ab-ink:#13233f;    --ab-body:#3a465c;   --ab-on-navy:#cdddf2;
  --ab-ok:#1f9d57;     --ab-live:#22c55e;   --ab-line:rgba(4,36,82,.10);

  --t-display:clamp(38px,8.2vw,64px);
  --t-h2:clamp(27px,4.2vw,42px);
  --t-h3:clamp(19px,2.2vw,24px);
  --t-lead:clamp(16px,1.6vw,20px);
  --t-label:12.5px; --t-kick:13px; --t-num:clamp(40px,9vw,84px);

  --ab-section-y:clamp(56px,7vw,104px);
  --ab-container:min(92vw,1306px);
  --ab-card-pad:clamp(24px,3vw,32px);
  --ab-r-card:15px; --ab-r-pill:100px; --ab-r-chip:8px; --ab-r-stage:20px;
  --ab-cta-shadow:0 10px 24px rgba(255,95,31,.34);
  --ab-dur:180ms; --ab-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- shared button hierarchy (orange primary / glass call) ---------- */
body.home .abe-hero__book.btn,
body.home .abe-cta-book{
  display:inline-flex; align-items:center; gap:10px; background:var(--ab-orange); color:#fff; border:0;
  border-radius:var(--ab-r-pill); min-height:56px; padding:0 30px; font-weight:700; font-size:16px;
  text-transform:uppercase; letter-spacing:.01em; box-shadow:var(--ab-cta-shadow); text-decoration:none;
  transition:transform var(--ab-dur) var(--ab-ease), box-shadow var(--ab-dur) var(--ab-ease), background var(--ab-dur);
}
body.home .abe-hero__book.btn{ padding-left:52px; }
body.home .abe-hero__book.btn:hover,
body.home .abe-cta-book:hover{ background:var(--ab-orange-deep); color:#fff; transform:translateY(-2px); box-shadow:0 14px 30px rgba(255,95,31,.46); }
body.home .abe-hero__book.btn:active,
body.home .abe-cta-book:active{ transform:scale(.98); }

body.home .abe-call{
  display:inline-flex; align-items:center; gap:12px; min-height:56px; padding:8px 22px 8px 10px;
  border-radius:var(--ab-r-pill); border:1.5px solid rgba(255,255,255,.28); background:rgba(255,255,255,.05);
  color:#fff; text-decoration:none; transition:border-color var(--ab-dur), background var(--ab-dur), transform var(--ab-dur);
}
body.home .abe-call:hover{ border-color:var(--ab-blue); background:rgba(32,154,214,.16); transform:translateY(-2px); }
body.home .abe-call__ic{ width:40px; height:40px; border-radius:50%; background:var(--ab-blue); color:#fff; display:grid; place-items:center; font-size:17px; flex:0 0 auto; }
body.home .abe-call__txt{ display:flex; flex-direction:column; line-height:1.1; text-align:left; }
body.home .abe-call__label{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a9c4e8; }
body.home .abe-call__num{ font-size:21px; font-weight:800; color:#fff; }

/* =====================================================================
   HERO — team photo command deck
   ===================================================================== */
body.home .abe-hero{ position:relative; overflow:hidden; background:var(--ab-navy); min-height:clamp(560px,78vh,760px); display:flex; align-items:center; }
body.home .abe-hero .masthead__bg{ display:none; } /* retire old bg image div if present */
body.home .abe-hero__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; z-index:0; }
body.home .abe-hero__scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(96deg, rgba(7,28,52,.95) 0%, rgba(9,38,66,.88) 36%, rgba(12,47,82,.42) 66%, rgba(12,47,82,.05) 100%),
    linear-gradient(to bottom, rgba(4,18,40,.30), rgba(4,18,40,0) 28%, rgba(4,18,40,0) 78%, rgba(255,255,255,.10) 100%);
}
body.home .abe-hero .masthead__wrapper{ position:relative; z-index:2; width:100%; padding:clamp(40px,7vw,72px) 0; }
body.home .abe-hero .container{ max-width:var(--ab-container); }
body.home .abe-hero__copy{ text-align:left; margin:0; width:100%; max-width:600px; padding:0; display:flex; flex-direction:column;
  /* homepage-refresh.css styles .masthead__text as a glass scrim card; the redesign copy block is a flat column — clear the bleed (review finding #4) */
  background:none; border:none; border-radius:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
/* existing CSS assigns flex order to the old hero elements; pin the full stack so the
   new status/kicker/trust slot correctly (H1 must lead the copy, not the trust chips). */
body.home .abe-hero__status{ order:0; }
body.home .abe-hero__kicker{ order:1; }
body.home .abe-hero .hero-text{ order:2; }
body.home .abe-hero .masthead__tagline{ order:3; }
body.home .abe-hero__trust{ order:4; }
body.home .abe-hero__cta{ order:5; }
body.home .abe-hero__promo{ order:6; }

body.home .abe-hero__status{ display:inline-flex; align-items:center; gap:9px; margin:0 0 14px; color:#ffd9a6; font-size:var(--t-label); font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
body.home .abe-hero__dot{ width:9px; height:9px; border-radius:50%; background:var(--ab-live); box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:abeLive 2s var(--ab-ease) infinite; }
@keyframes abeLive{ 0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)} 70%{box-shadow:0 0 0 9px rgba(34,197,94,0)} 100%{box-shadow:0 0 0 0 rgba(34,197,94,0)} }
body.home .abe-hero__kicker{ font-family:'Racing Sans One',var(--heading-font,'Poppins'),sans-serif; color:var(--ab-orange); font-size:18px; letter-spacing:.04em; text-transform:uppercase; margin:0 0 10px; }

body.home .abe-hero h1{ margin:0; color:#fff; font-weight:800; font-size:var(--t-display); line-height:.98; letter-spacing:-.01em; text-transform:none; text-wrap:balance; -webkit-text-stroke:0; text-shadow:0 2px 30px rgba(0,0,0,.25); }
body.home .abe-hero__beat{ color:#5cc0ef; }
body.home .abe-hero .masthead__tagline{ color:var(--ab-on-navy); font-size:var(--t-lead); font-weight:500; line-height:1.55; margin:18px 0 22px; max-width:46ch; }

body.home .abe-hero__trust{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
body.home .abe-hero__trust li{ display:flex; align-items:center; gap:10px; color:#eaf2fd; font-size:15px; font-weight:500; }
body.home .abe-hero__trust li::before{ content:none; } /* kill the theme's global ul li dot (stray-bullet class fixed sitewide 2026-06-09) */
body.home .abe-hero__trust i{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:rgba(46,168,224,.24); color:#7fd3f7; font-size:11px; flex:0 0 auto; }

body.home .abe-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin:0 0 22px; }

body.home .abe-hero__promo{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 12px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); border-radius:var(--ab-r-pill); padding:8px 8px 8px 18px; max-width:100%; }
body.home .abe-hero__promo .abraham-hero-promo__label{ font-size:11px !important; /* homepage-refresh.css sets 12px !important (review finding #5) */ font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#ffd9a6; }
body.home .abe-hero__promo strong{ font-family:'Racing Sans One',sans-serif; font-weight:400; color:#fff; font-size:22px; line-height:1; }
body.home .abe-hero__promo .abe-hero__promo-sub{ color:#cdddf2; font-size:13.5px; }
body.home .abe-hero__promo a{ margin-left:auto; background:var(--ab-orange); color:#fff; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; padding:9px 16px; border-radius:var(--ab-r-pill); white-space:nowrap; text-decoration:none; transition:background var(--ab-dur); }
body.home .abe-hero__promo a:hover{ background:var(--ab-orange-deep); color:#fff; }

body.home .abe-hero .masthead__wave{ position:absolute; left:0; bottom:-1px; width:100%; height:auto; z-index:3; }

@media(max-width:600px){
  body.home .abe-hero{ min-height:auto; }
  body.home .abe-hero__bg{ object-position:center 22%; }
  body.home .abe-hero__scrim{ background:linear-gradient(180deg, rgba(5,22,44,.86), rgba(7,28,52,.93) 45%, rgba(7,28,52,.96)); }
  body.home .abe-hero .masthead__wrapper{ padding:34px 0 60px; }
  body.home .abe-hero__copy{ max-width:none; text-align:left; }
  body.home .abe-hero h1{ font-size:clamp(32px,9vw,40px); }
  body.home .abe-hero .masthead__tagline{ font-size:16px; }
  body.home .abe-hero__cta{ flex-direction:column; align-items:stretch; gap:12px; }
  body.home .abe-hero__book.btn,
  body.home .abe-call{ width:100%; justify-content:center; }
  body.home .abe-hero__promo{ width:100%; }
  body.home .abe-hero__promo a{ margin-left:0; }
}

/* =====================================================================
   ① REVIEW / TRUST BAR
   ===================================================================== */
body.home .review{ position:relative; z-index:4; margin-top:-58px; padding:0 0 4px; background:transparent; }
body.home .review .container{ max-width:var(--ab-container); }
body.home .review__col{ background:#fff; border-radius:var(--ab-r-stage); box-shadow:var(--rf-shadow-lg,0 16px 40px rgba(4,36,82,.16)); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 34px; padding:18px 28px; width:max-content; max-width:100%; margin:0 auto; }
body.home .review__logo{ display:flex; align-items:center; }
body.home .review__logo img{ max-height:44px; width:auto; }
@media(max-width:600px){ body.home .review__col{ width:auto; gap:14px 20px; padding:16px; } }

/* =====================================================================
   SECTION RHYTHM — never two same-surface sections adjacent
   ===================================================================== */
body.home .abraham-quick-answer{ background:var(--ab-paper); }
body.home .abraham-ac-repair-launch,
body.home .abraham-home-hvac-company-panel,
body.home .half-image-text-icon-pullouts,
body.home .home-image-text{ background:var(--ab-light); }
body.home .promo-cta,
body.home .testimonials,
body.home .floating-cta,
body.home .full-width-cta{ background:var(--ab-navy); }
body.home .captains-duo,
body.home .abraham-faq{ background:var(--ab-paper); }
body.home .fx-accordion.half-image-half-accordian-links,
body.home .our-service-areas,
body.home .abraham-promo{ background:#fff; }

/* consistent section vertical rhythm */
body.home .abraham-home-hvac-company-band,
body.home .half-image-text-icon-pullouts.section-padding,
body.home .promo-cta.section-margins,
body.home .home-image-text,
body.home .captains-duo.section-margins,
body.home .our-service-areas{ padding-top:var(--ab-section-y); padding-bottom:var(--ab-section-y); }

/* =====================================================================
   GLOBAL CARD + HEADING + LINK NORMALIZATION (one system)
   ===================================================================== */
body.home .abraham-promo__card,
body.home .abraham-home-hvac-company-panel__proof-card,
body.home .half-image-half-accordian-image,
body.home .testimonials__slide,
body.home .home-image-text__image img{
  border-radius:var(--ab-r-card);
  box-shadow:var(--rf-shadow-md,0 6px 20px rgba(4,36,82,.08));
  transition:transform .22s var(--ab-ease), box-shadow .22s var(--ab-ease);
}
body.home .half-image-half-accordian-image:hover,
body.home .testimonials__slide:hover{ transform:translateY(-4px); box-shadow:var(--rf-shadow-lg,0 16px 40px rgba(4,36,82,.14)); }

body.home .fx-accordion__heading h2,
body.home .testimonials__heading h2,
body.home .home-image-text h2,
body.home .promo-cta__content h2,
body.home .our-service-areas h2{ font-size:var(--t-h2); letter-spacing:-.005em; color:var(--ab-ink); line-height:1.08; }
/* headings on navy sections turn white */
body.home .promo-cta h2, body.home .testimonials h2, body.home .full-width-cta h2, body.home .floating-cta h2{ color:#fff; }
body.home .testimonials p, body.home .promo-cta p, body.home .full-width-cta p, body.home .floating-cta p{ color:var(--ab-on-navy); }

/* Quick Answer → dispatch answer card */
body.home .abraham-quick-answer{ border-radius:var(--ab-r-card); box-shadow:var(--rf-shadow-sm,0 2px 8px rgba(4,36,82,.06)); border-left:4px solid var(--ab-orange); }

/* small orange/blue text → AA-safe ink variants on light surfaces */
body.home .abraham-broward-nearby a,
body.home .our-service-areas a{ color:var(--ab-blue-ink); }
body.home .abraham-broward-nearby a:hover,
body.home .our-service-areas a:hover{ color:var(--ab-orange-ink); }

/* button polish across the page (orange primary feel) */
body.home .btn{ box-shadow:0 6px 16px rgba(255,95,31,.20); transition:transform var(--ab-dur), box-shadow var(--ab-dur), background var(--ab-dur); }
body.home .btn:hover{ transform:translateY(-2px); }

/* =====================================================================
   OVERFLOW GUARDS (acceptance: no horizontal scroll 320→1440)
   ===================================================================== */
body.home{ overflow-x:hidden; }
body.home img, body.home svg{ max-width:100%; }
@media(max-width:360px){
  body.home .page-header .header-right{ gap:8px; }
  body.home .footer-certificate__icon{ max-width:88px; height:auto; }
}

/* =====================================================================
   MOTION — reduced-motion sweep
   ===================================================================== */
@media (prefers-reduced-motion: reduce){
  body.home .abe-hero__dot{ animation:none; }
  body.home .abe-hero__book.btn, body.home .abe-call, body.home .abe-hero__promo a,
  body.home .btn, body.home .half-image-half-accordian-image, body.home .testimonials__slide{ transition:none; }
}
