/* Page-level components (home + shared interior blocks). Loaded after global.css. */

/* ---------- service cards (home) ---------- */
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-card { display: flex; flex-direction: column; overflow: hidden; }
.service-card img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .8s var(--ease); }
.service-card:hover img { transform: scale(1.07); }
.service-card > img { position: relative; }
.service-card-body { position: relative; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px 24px 26px; }
.service-card-body::before { content: ""; position: absolute; left: 24px; top: -3px; width: 44px; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--call), var(--gold)); }
.service-card h3 { margin-top: 6px; font-size: 1.25rem; }
.service-card p { color: var(--muted); font-size: 15.5px; line-height: 1.55; }
.service-card .text-link { margin-top: auto; padding-top: 8px; color: var(--call-dark); background-image: none; }
.service-card .text-link::after { content: "→"; display: inline-block; margin-left: 8px; transition: transform .3s var(--ease); }
.service-card:hover .text-link::after { transform: translateX(7px); }
.service-card-all { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 34px 26px; color: #fff; text-align: center; background: radial-gradient(260px 200px at 100% 0, rgba(255, 184, 0, .5), transparent 70%), linear-gradient(145deg, #ff8238, var(--call-dark)); border: 0; border-radius: var(--radius); box-shadow: 0 20px 44px rgba(242, 106, 27, .38); transition: transform .35s var(--ease), box-shadow .35s; }
.service-card-all:hover { transform: translateY(-6px); box-shadow: 0 28px 56px rgba(242, 106, 27, .5); }
.service-card-all::after { display: none; }
.service-card-all-icon { display: grid; place-items: center; width: 72px; height: 72px; font-size: 32px; background: rgba(255, 255, 255, .2); border-radius: 50%; animation: ringpulse2 2.6s ease-out infinite; }
@keyframes ringpulse2 { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); } 80%, 100% { box-shadow: 0 0 0 22px rgba(255, 255, 255, 0); } }
.service-card-all-copy { display: grid; gap: 8px; }
.service-card-all-label { font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: #ffe9cf; }
.service-card-all h3 { color: #fff; font-size: 1.5rem; }
.service-card-all-link { font-family: var(--display); font-size: 1.7rem; font-weight: 800; }

/* ---------- symptom cards ---------- */
.symptom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.symptom-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px; overflow: hidden; }
.symptom-signal { display: inline-block; padding: 5px 13px; color: var(--navy); background: var(--soft); border-radius: 999px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; transition: background .3s, color .3s; }
.symptom-card:hover .symptom-signal { color: #fff; background: var(--navy); }
.symptom-card h3 { font-size: 1.28rem; }
.symptom-card p { color: var(--muted); font-size: 15.5px; }
.symptom-card.safety-card { background: linear-gradient(180deg, #fff3f1, #fff); border-color: #f5c4be; }
.symptom-card.safety-card .symptom-signal { color: #fff; background: var(--alert); animation: softblink 1.8s ease-in-out infinite; }
@keyframes softblink { 50% { opacity: .62; } }
.symptom-card.safety-card h3 { color: var(--alert); }

/* ---------- quick checks / wind ---------- */
.bff-wind { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.bff-wind-copy { display: grid; gap: 18px; position: sticky; top: calc(var(--nav-h) + 40px); }
.bff-wind-copy .section-title { margin: 0; }
.bff-subhead { margin-bottom: 18px; font-size: 1.35rem; }
.bff-reset { margin: 18px 0; padding: 14px 18px; color: var(--ink); background: var(--soft); border-radius: var(--radius-sm); font-weight: 600; }
.bff-wind .bff-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

/* ---------- safety + table ---------- */
.bff-safety { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.bff-safety-copy { display: grid; gap: 16px; }
.bff-signs th, .bff-signs td { padding: 16px 18px; }
.bff-signs tbody th { min-width: 200px; }
.bff-signs td:nth-child(3) { color: var(--muted); }

/* ---------- decision / push ---------- */
.bff-push { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.bff-push-copy { display: grid; gap: 16px; }
.bff-qcard { position: relative; overflow: hidden; padding: 34px 32px; color: #fff; background: radial-gradient(300px 220px at 100% 0, rgba(242, 106, 27, .35), transparent 70%), linear-gradient(160deg, var(--navy-soft), var(--navy-deep)); border-radius: 26px; box-shadow: var(--shadow); }
.bff-qcard h3 { margin-bottom: 20px; color: #fff; font-size: 1.4rem; }
.bff-qcard ul { display: grid; gap: 14px; list-style: none; counter-reset: q; }
.bff-qcard li { position: relative; padding-left: 44px; counter-increment: q; color: #e5f0f9; font-weight: 600; }
.bff-qcard li::before { content: counter(q); position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 30px; height: 30px; color: var(--navy-ink); background: var(--gold); border-radius: 50%; font-family: var(--display); font-weight: 800; font-size: 14px; }
main .bff-qcard li a:not(.btn) { color: var(--gold); text-decoration-color: rgba(255, 184, 0, .6); }
.bff-qcard .fine { margin-top: 22px; padding-top: 18px; color: #b4cce0; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 14px; }

/* ---------- areas / map ---------- */
.bff-area { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 14px; }
.bff-area-col { padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.bff-area-col h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-bottom: 18px; }
.bff-area-col h3 span { color: var(--accent-text); font-family: var(--font); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.bff-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.bff-flow .bff-chips { margin-top: 4px; }
.bff-chip { display: inline-flex; align-items: center; padding: 10px 18px; color: var(--navy); background: var(--soft); border: 1px solid transparent; border-radius: 999px; font-size: 14.5px; font-weight: 800; transition: transform .25s var(--ease), background .2s, color .2s, box-shadow .25s; }
a.bff-chip::after { content: "→"; margin-left: 8px; opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .25s var(--ease); width: 0; overflow: hidden; }
a.bff-chip:hover { color: #fff; background: var(--navy); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(13, 56, 90, .22); }
a.bff-chip:hover::after { opacity: 1; transform: none; width: 1em; }
.bff-near { display: grid; gap: 4px; list-style: none; }
.bff-near li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px; padding: 13px 14px; border-radius: 14px; transition: background .2s, transform .25s var(--ease); }
.bff-near li:hover { background: var(--soft); transform: translateX(5px); }
.bff-near b { color: var(--navy); }
.bff-near span { color: var(--muted); font-size: 14px; font-weight: 700; }
.bff-near em { min-width: 56px; padding: 3px 10px; color: var(--call-dark); background: #fff1e7; border-radius: 999px; font-style: normal; font-size: 12.5px; font-weight: 800; text-align: center; }
.bff-area-note { margin-bottom: 26px; }
.bff-map { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); }
.bff-map iframe { height: 400px; filter: saturate(.9); }
.bff-map-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; }
.bff-map-bar p { color: var(--muted); font-size: 15px; }
.bff-map-bar strong { color: var(--navy); font-family: var(--display); font-size: 1.1rem; }

/* ---------- misc ---------- */
.bff-tip + .section-actions, .bff-compare + .bff-two { margin-top: 36px; }
.bff-pullq { padding-left: 18px; border-left: 4px solid var(--call); color: var(--navy) !important; font-family: var(--display); font-size: 1.4rem; font-weight: 700; line-height: 1.3; }

/* privacy page */
.narrow .bff-fine { display: inline-block; padding: 6px 14px; margin-bottom: 26px; color: var(--accent-text); background: var(--soft); border-radius: 999px; font-weight: 700; }
.narrow > p, .narrow > .chunks { margin-bottom: 14px; color: var(--muted); }
.narrow h2 { margin-bottom: 8px; font-size: 1.7rem !important; }
.narrow h2::after { width: 44px; height: 4px; margin-top: 12px; }
.narrow h3 { color: var(--navy); }
.narrow ul { display: grid; gap: 10px; margin: 8px 0 20px; padding-left: 0; list-style: none; }
.narrow li { position: relative; padding-left: 26px; color: var(--muted); }
.narrow li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 9px; height: 9px; background: var(--call); border-radius: 50%; }
.narrow li strong { color: var(--navy); }
.narrow .bff-tip { margin: 18px 0 24px; }

@media (max-width: 1020px) {
  .service-grid, .symptom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bff-wind, .bff-safety, .bff-push, .bff-area { grid-template-columns: 1fr; }
  .bff-wind-copy { position: static; }
}
@media (max-width: 700px) {
  .service-grid, .symptom-grid, .bff-wind .bff-checks { grid-template-columns: 1fr; }
  .bff-map iframe { height: 300px; }
  .bff-map-bar { padding: 18px; }
  .bff-map-bar .btn { width: 100%; }
  .bff-signs { min-width: 560px; }
  .bff-near li { gap: 10px; padding: 12px 8px; }
}

/* empty placeholders from source markup */
p:empty, .bff-sources:empty { display: none; }
main .contact-banner p a:not(.btn), main .story-section p a:not(.btn), main .bff-callcard p a:not(.btn) { color: var(--gold); text-decoration-color: rgba(255, 184, 0, .6); }
main .contact-banner p a:not(.btn):hover { color: #fff; }

/* ===== THEME: Ventixa — Kanit + IBM Plex Sans, navy #0F172A, blue #1E293B, orange #F97316; fadeInUp/Left/Right/zoomIn ===== */
:root {
  --navy: #0F172A; --navy-deep: #0F172A; --navy-ink: #0A0F1E; --navy-soft: #1E293B;
  --accent: #F97316; --accent-text: #334155; --soft: #F8FAFC; --paper: #fff; --sky: #F1F5F9;
  --ink: #0F172A; --muted: #1E293B; --line: #E7E7E7;
  --call: #F97316; --call-dark: #EA580C; --gold: #E2E8F0; --gold-text: #334155;
  --radius: 14px; --radius-sm: 10px;
  --shadow: 0 18px 46px rgba(15, 23, 42, .16); --shadow-soft: 0 2px 0 rgba(15, 23, 42, .03); --shadow-lift: 0 16px 36px rgba(15, 23, 42, .14);
  --font: "IBM Plex Sans", system-ui, sans-serif; --display: "Kanit", "IBM Plex Sans", system-ui, sans-serif;
  --ease: cubic-bezier(.25, .46, .45, .94);
}
body { font-size: 16px; line-height: 1.65; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; letter-spacing: -.01em; line-height: 1.15; }
.ember { display: none; }
.scroll-progress i { background: var(--call); }

/* header */
.topbar { background: var(--navy); color: #cbd5e1; }
.topbar-item::before, a.topbar-item::before { background: var(--call); }
.nav-wrap, body.is-scrolled .nav-wrap { background: rgba(255, 255, 255, .97); }
.brand-copy strong { font-family: var(--display); font-weight: 600; }
.brand-copy span { color: var(--navy-soft); }
.nav-links > a:not(.btn), .nav-dropdown-trigger > a { font-weight: 500; color: var(--navy); }
.nav-links > a:not(.btn):hover, .nav-dropdown-trigger > a:hover { color: var(--call); background: transparent; }
.nav-links a[aria-current="page"] { color: var(--call); }
.nav-links > a:not(.btn)[aria-current="page"]::after, .nav-dropdown-trigger > a[aria-current="page"]::after { background: var(--call); }
.nav-dropdown-index { background: #FFEDD5; color: var(--call-dark); }
.nav-dropdown-all { background: var(--navy-soft); }

/* buttons: flat orange, 8px radius */
.btn { font-family: var(--font); font-weight: 500; border-radius: 8px; }
.btn-call, .nav-links .btn-call { color: #fff; background: var(--call); border: 0; box-shadow: none; }
.btn-call:hover, .nav-links .btn-call:hover { background: var(--navy-soft); box-shadow: 0 10px 22px rgba(15, 23, 42, .35); }
.btn-call::after { display: none; }
.btn-ghost { border-radius: 8px; border: 1.5px solid rgba(255, 255, 255, .6); backdrop-filter: none; }
.btn-ghost:hover { background: #fff; color: var(--navy); }
.hero .btn-call:hover, .inner-hero .btn-call:hover, .story-section .btn-call:hover, .contact-banner .btn-call:hover, .bff-callcard .btn-call:hover { background: #fff; color: var(--call-dark); }
.sticky-call { background: var(--call); animation: none !important; }
.to-top { background: var(--navy-soft); }
.to-top:hover { background: var(--call); }
.text-link { color: var(--call-dark); }
main p a:not(.btn):not(.text-link), main li a:not(.btn), .answer a, .bff-sources a { color: var(--call-dark); text-decoration-color: rgba(249, 115, 22, .5); font-weight: 500; }
main p a:not(.btn):hover, main li a:not(.btn):hover { color: var(--navy-soft); }

/* hero: full-bleed photo, dark navy veil from the left, orange keyword */
.hero, .inner-hero { background: var(--navy); }
.hero::before, .inner-hero::before { background: linear-gradient(90deg, rgba(15, 23, 42, .94) 0%, rgba(15, 23, 42, .78) 45%, rgba(15, 23, 42, .25) 100%); }
.hero::after, .inner-hero::after { display: none; }
.hero h1, .inner-hero h1 { font-family: var(--display); font-weight: 500; letter-spacing: -.02em; line-height: 1.08; }
.hero-kicker { color: #fff; background: transparent; border: 0; padding: 0; font-weight: 500; letter-spacing: .04em; font-size: 13.5px; text-transform: none; }
.hero-kicker::before { background: var(--call); box-shadow: 0 0 0 5px rgba(249, 115, 22, .25); }
.hero-copy > p, .inner-hero-content > p { color: #e2e8f0; }
.bff-hero-note, .hero p.bff-hero-note { background: rgba(255, 255, 255, .08); border-left: 3px solid var(--call); color: #dbe3ee !important; }
.breadcrumbs { color: #cbd5e1; } .breadcrumbs strong { color: var(--call); }
.hero-badge { color: var(--navy); background: #fff; border: 0; border-radius: 10px; backdrop-filter: none; }

/* stats strip = blue tiles card */
.bff-stats-grid { background: var(--navy-soft); border: 0; border-radius: 16px; box-shadow: 0 20px 50px rgba(15, 23, 42, .35); }
.bff-stat { background: transparent; border-color: rgba(255, 255, 255, .14); color: #fff; }
.bff-stat b { color: #fff; font-family: var(--display); font-weight: 500; }
.bff-stat span:not(.i), .bff-stat small, .bff-stat em { color: #cbd5f5; }
.bff-stat .i { background: var(--call); color: #fff; box-shadow: none; border-radius: 50%; }
.bff-stat:hover .i { background: #fff; color: var(--call); }

/* section nav */
.section-nav a { border-radius: 8px; font-weight: 500; }
.section-nav a.is-active { background: var(--call); border-color: var(--call); }

/* sections */
.bg-soft { background: var(--soft); }
.bg-blue { color: #fff; background: radial-gradient(700px 320px at 92% 0, rgba(249, 115, 22, .16), transparent 70%), var(--navy-soft); }
.bg-blue .section-title, .bg-blue .center-copy .section-title { color: #fff; }
.bg-blue .eyebrow, .eyebrow.light { color: #E2E8F0; }
.bg-blue .section-heading > p, .bg-blue .section-heading .chunks p, .bg-blue .center-copy p { color: #dbe4fb; }
.bg-blue .section-heading p strong { color: #fff; }
main .bg-blue .section-heading a:not(.btn), main .bg-blue .center-copy a:not(.btn) { color: #E2E8F0; text-decoration-color: rgba(253, 186, 116, .6); }
main .bg-blue .section-heading a:not(.btn):hover { color: #fff; }
.bg-blue .bff-center-p.strong { color: #fff; }
.eyebrow { color: var(--navy-soft); font-weight: 600; letter-spacing: .02em; text-transform: none; font-size: 14.5px; }
.eyebrow::before { background: var(--call); }
.section-title { font-family: var(--display); font-weight: 500; font-size: clamp(1.9rem, 3.4vw, 2.7rem); letter-spacing: -.015em; }
.section-title::after { background: var(--call); }

/* cards: white, light border, 14px */
.service-card, .symptom-card, .bff-part, .bff-svc, .bff-col, .process-step, .bff-area-col, .bff-bars, .table-wrap, .bff-map { border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); border-radius: var(--radius); background: #fff; }
.service-card:hover, .symptom-card:hover, .bff-part:hover, .bff-svc:hover, .bff-col:hover, .process-step:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); border-color: rgba(249, 115, 22, .5); }
.service-card::after, .symptom-card::after, .bff-part::after, .bff-svc::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(249, 115, 22, .1), transparent 60%); }
.service-card-body::before { background: var(--call); width: 36px; height: 4px; }
.service-card .text-link, .bff-svc .go { color: var(--call-dark); font-weight: 500; }
.service-card-all { background: radial-gradient(260px 200px at 100% 0, rgba(249, 115, 22, .45), transparent 70%), linear-gradient(145deg, var(--navy-soft), var(--navy)); box-shadow: none; }
.service-card-all-icon { background: var(--call); color: #fff; animation: none; }
.service-card-all-label { color: #E2E8F0; }
.symptom-signal { background: #E8EEFB; color: var(--navy-soft); font-weight: 600; }
.symptom-card:hover .symptom-signal { background: var(--call); color: #fff; }
.bff-part::before { color: #E8EEFB; font-family: var(--display); font-weight: 500; }
.bff-part.top { background: var(--navy-soft); border-color: var(--navy-soft); }
.bff-part.top h3 { color: #fff; } .bff-part.top p { color: #dbe4fb; } .bff-part.top::before { color: rgba(255, 255, 255, .15); }
.bff-part .flag { background: var(--call); color: #fff; }
.bff-svc .ic, .process-step::before { background: var(--navy-soft); box-shadow: none; }
.bff-svc .ic { color: #fff; }
.bff-svc:hover .ic { background: var(--call); }
.process-step::before { font-family: var(--display); font-weight: 500; border-radius: 10px; }
.process-step:not(:last-child)::after { background: repeating-linear-gradient(90deg, var(--call) 0 6px, transparent 6px 11px); }
.bff-near em { background: #FFEDD5; color: var(--call-dark); }
a.bff-chip, .bff-chip { background: var(--soft); color: var(--navy); font-weight: 500; border-radius: 8px; border: 1px solid var(--line); }
a.bff-chip:hover { background: var(--navy-soft); }

/* checklist cards: blue tiles */
.bff-checks li { background: #fff; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.bff-checks li:hover { border-color: rgba(249, 115, 22, .5); box-shadow: var(--shadow-lift); }
.bff-checks b { color: var(--navy); font-family: var(--display); font-weight: 500; }
.bff-checks li span:not(.tick) { color: var(--muted); }
.bff-checks .tick { background: var(--navy-soft); color: #fff; box-shadow: none; }
.bg-blue .bff-checks li { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); }
.bg-blue .bff-checks b { color: #fff; } .bg-blue .bff-checks li span:not(.tick) { color: #dbe4fb; }
.bg-blue .bff-checks .tick { background: var(--call); }

/* callouts, tables */
.bff-tip { background: #FFF7ED; border-color: #fed7aa; border-left-color: var(--call); color: var(--navy); }
.bff-tip > svg { color: var(--call); }
.bff-reset { background: #FFEDD5; color: var(--navy); }
table thead th { background: var(--navy-soft); font-weight: 500; }
table tbody th { background: var(--soft); font-weight: 600; }
table tbody tr:hover > * { background: #FFF7ED; }
.pill.warn { background: #FFEDD5; color: var(--call-dark); }
.dot.blue { background: var(--navy-soft); }
.bff-bars .fill { background: linear-gradient(90deg, var(--navy-soft), var(--call)); }
.bff-bars b { color: var(--call-dark); font-family: var(--display); font-weight: 500; }

/* repair / replace */
.bff-col.replace, .bff-col.neutral.b { background: var(--navy-soft); border-color: var(--navy-soft); }
.bff-col.replace h3, .bff-col.replace li, .bff-col.neutral.b h3, .bff-col.neutral.b li { color: #fff; }

/* qcard, story, callcard, banner */
.bff-qcard, .bff-callcard { background: radial-gradient(300px 220px at 100% 0, rgba(249, 115, 22, .3), transparent 70%), var(--navy-soft); border-radius: 16px; box-shadow: none; }
.bff-qcard li::before { background: var(--call); color: #fff; }
.bff-qcard li a:not(.btn), main .bff-qcard li a:not(.btn) { color: #E2E8F0; }
.story-section { background: radial-gradient(700px 360px at 8% 0, rgba(249, 115, 22, .18), transparent 70%), var(--navy); }
.bff-story { border-radius: 16px; }
.bff-story .tag { background: var(--call); color: #fff; }
main .contact-banner p a:not(.btn), main .story-section p a:not(.btn), main .bff-callcard p a:not(.btn) { color: #E2E8F0; text-decoration-color: rgba(253, 186, 116, .6); }
.contact-banner::before { background: linear-gradient(90deg, rgba(15, 23, 42, .95), rgba(15, 23, 42, .6)); }
.bff-nap { border-radius: 14px; } .bff-nap a { color: #E2E8F0; }

/* FAQ */
.accordion details { border-radius: 12px; border: 1px solid var(--line); box-shadow: none; background: #fff; }
.accordion details[open] { border-color: var(--call); box-shadow: var(--shadow-lift); }
.accordion summary { font-family: var(--display); font-weight: 500; }
.accordion summary span { background: #FFEDD5; }
.accordion details[open] summary span { background: var(--call); }

/* footer */
.footer { background: var(--navy); }
.footer-links a:hover { color: var(--call); }
.footer-social a:hover { background: var(--call); color: #fff; }
.footer h3 { font-family: var(--display); font-weight: 500; }

/* Elementor entrance: fadeInUp / fadeInLeft / fadeInRight / zoomIn */
html.js .rv { transform: translate3d(0, 30px, 0); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0s); }
html.js .rv.from-left:not(.in) { transform: translate3d(-40px, 0, 0); }
html.js .rv.from-right:not(.in) { transform: translate3d(40px, 0, 0); }
html.js .service-card.rv:not(.in), html.js .symptom-card.rv:not(.in), html.js .bff-stat.rv:not(.in) { transform: scale(.92); }
.hero-copy > *, .inner-hero-content > * { animation: vx-up .9s var(--ease) both; }
@keyframes vx-up { from { opacity: 0; transform: translate3d(0, 30px, 0); } to { opacity: 1; transform: none; } }

@media (max-width: 1020px) { .nav-links { background: #fff; } .hero::before, .inner-hero::before { background: rgba(15, 23, 42, .82); } }

/* ===== final-site section upgrades (ported from the Ventara refinements) ===== */
/* process section: photo background under navy veil */
#process { background: linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(15, 23, 42, .68)), url("images/gen/service-van-rear-doors-open-with-tools-and-hoses.webp") center / cover no-repeat; }

/* safety section: tinted blue field, drifting glows, staggered table rows */
#safety { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #E9F2FF 0%, #D6E7FF 55%, #E6EEFB 100%); }
#safety::before, #safety::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(60px); pointer-events: none; }
#safety::before { width: 480px; height: 480px; left: -140px; top: -120px; background: rgba(147, 180, 255, .6); animation: safe-drift 14s ease-in-out infinite alternate; }
#safety::after { width: 420px; height: 420px; right: -120px; bottom: -140px; background: rgba(15, 23, 42, .16); animation: safe-drift 17s ease-in-out infinite alternate-reverse; }
@keyframes safe-drift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(70px, 40px, 0) scale(1.18); } }
#safety .bff-signs { background: #fff; }
#safety .table-wrap { box-shadow: 0 24px 60px rgba(15, 23, 42, .16); border-color: #fff; }
#safety .table-wrap.in tbody tr { animation: safe-row .7s var(--ease) both; }
#safety .table-wrap.in tbody tr:nth-child(1) { animation-delay: .25s; }
#safety .table-wrap.in tbody tr:nth-child(2) { animation-delay: .4s; }
#safety .table-wrap.in tbody tr:nth-child(3) { animation-delay: .55s; }
#safety .table-wrap.in tbody tr:nth-child(4) { animation-delay: .7s; }
#safety .table-wrap.in tbody tr:nth-child(5) { animation-delay: .85s; }
#safety .table-wrap.in tbody tr:nth-child(6) { animation-delay: 1s; }
@keyframes safe-row { from { opacity: 0; transform: translate3d(28px, 0, 0); } to { opacity: 1; transform: none; } }
#safety .pill.bad, #safety .pill.alert, #safety .pill.danger { animation: safe-pulse 2s ease-in-out infinite; }
@keyframes safe-pulse { 50% { box-shadow: 0 0 0 6px rgba(200, 40, 30, .14); } }
@media (prefers-reduced-motion: reduce) { #safety::before, #safety::after, #safety .pill { animation: none !important; } }

/* ===== diagnosis section: dark glass tiles, icon chips, tall hero tile ===== */
#parts { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(700px 380px at 12% 0, rgba(249, 115, 22, .16), transparent 70%), radial-gradient(600px 400px at 100% 100%, rgba(15, 23, 42, .28), transparent 70%), var(--navy); }
#parts::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(249, 115, 22, .16) 1px, transparent 1.4px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); animation: parts-grid 40s linear infinite; }
@keyframes parts-grid { to { background-position: 26px 52px; } }
#parts .eyebrow { color: #F97316; }
#parts .section-title { color: #fff; }
#parts .lead { color: #cbd5e1; }
#parts .bff-parts { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; gap: 18px; }
#parts .bff-part { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 24px; color: #fff; background: rgba(255, 255, 255, .055); border: 1px solid rgba(249, 115, 22, .16); backdrop-filter: blur(6px); border-radius: 18px; box-shadow: none; }
#parts .bff-part:hover { transform: translateY(-7px); background: rgba(255, 255, 255, .1); border-color: rgba(249, 115, 22, .55); box-shadow: 0 22px 44px rgba(0, 0, 0, .35); }
#parts .bff-part::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(249, 115, 22, .22), transparent 60%); }
#parts .bff-part::before { color: transparent; -webkit-text-stroke: 1px rgba(249, 115, 22, .35); font-size: 3.2rem; top: 12px; right: 18px; }
#parts .bff-part:hover::before { color: rgba(249, 115, 22, .14); -webkit-text-stroke-color: #F97316; }
#parts .bff-part h3 { display: flex; align-items: center; gap: 14px; padding-right: 56px; margin: 0; color: #fff; font-family: var(--display); font-weight: 500; font-size: 1.2rem; }
#parts .bff-part h3::before { content: ""; flex: none; width: 46px; height: 46px; border-radius: 14px; background: rgba(249, 115, 22, .12) center / 24px no-repeat; border: 1px solid rgba(249, 115, 22, .3); transition: transform .45s var(--ease), background-color .3s; }
#parts .bff-part:hover h3::before { transform: rotate(-8deg) scale(1.1); background-color: rgba(249, 115, 22, .26); }
#parts .bff-part p { color: #cbd5e1; font-size: 15.5px; }
#parts .bff-part:nth-child(1) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c1 3.5 5 5.5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 .3 1.2 1 2 2 2-.5-3 0-6 1-8z'/%3E%3C/svg%3E"); }
#parts .bff-part:nth-child(2) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
#parts .bff-part:nth-child(3) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6 8v6l-4-2v-4z'/%3E%3C/svg%3E"); }
#parts .bff-part:nth-child(4) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M12 10c0-4 1-6 3-7 1 3 0 6-2 8M14 12c4 0 6 1 7 3-3 1-6 0-8-2M12 14c0 4-1 6-3 7-1-3 0-6 2-8M10 12c-4 0-6-1-7-3 3-1 6 0 8 2'/%3E%3C/svg%3E"); }
#parts .bff-part:nth-child(5) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 14.8V5a2 2 0 0 0-4 0v9.8a4 4 0 1 0 4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
#parts .bff-part:nth-child(6) h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDBA74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3C/svg%3E"); }
/* tall lead tile */
#parts .bff-part.top { grid-row: span 2; justify-content: flex-end; min-height: 340px; border-color: rgba(249, 115, 22, .55); background: radial-gradient(320px 260px at 50% 0, rgba(249, 115, 22, .38), transparent 70%), linear-gradient(170deg, #1E293B 0%, #1E293B 55%, #0F172A 100%); box-shadow: 0 0 0 1px rgba(249, 115, 22, .2), 0 26px 60px rgba(15, 23, 42, .6); animation: parts-glow 3.4s ease-in-out infinite; }
#parts .bff-part.top::before { font-size: 5.4rem; top: 8px; right: 20px; -webkit-text-stroke-color: rgba(249, 115, 22, .55); }
#parts .bff-part.top h3 { flex-direction: column; align-items: flex-start; gap: 18px; padding-right: 0; font-size: 1.7rem; }
#parts .bff-part.top h3::before { width: 68px; height: 68px; border-radius: 20px; background-size: 36px; background-color: rgba(249, 115, 22, .22); animation: parts-float 4s ease-in-out infinite; }
#parts .bff-part.top p { color: #e2e8f0; font-size: 17px; }
#parts .bff-part .flag { position: absolute; top: 22px; left: 24px; background: #F97316; color: var(--navy); font-weight: 600; box-shadow: 0 0 0 0 rgba(249, 115, 22, .6); animation: parts-ping 2.4s ease-out infinite; }
@keyframes parts-glow { 50% { box-shadow: 0 0 0 1px rgba(249, 115, 22, .45), 0 26px 70px rgba(249, 115, 22, .45); } }
@keyframes parts-float { 50% { transform: translateY(-6px); } }
@keyframes parts-ping { 70%, 100% { box-shadow: 0 0 0 12px rgba(249, 115, 22, 0); } }
/* last tile spans full width */
#parts .bff-part:nth-child(6) { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 26px; padding-block: 22px; }
#parts .bff-part:nth-child(6) h3 { flex: none; }
/* quick answer */
#parts .definition-note { max-width: 880px; margin: 40px auto 0; padding: 22px 26px 22px 30px; color: #e2e8f0; background: rgba(255, 255, 255, .07); border: 1px solid rgba(249, 115, 22, .25); border-left: 4px solid #F97316; border-radius: 16px; }
#parts .definition-note strong { color: #F97316; }
@media (max-width: 1020px) { #parts .bff-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); } #parts .bff-part.top { grid-row: auto; grid-column: 1 / -1; min-height: 0; padding-top: 76px; justify-content: flex-start; } }
@media (max-width: 700px) { #parts .bff-parts { grid-template-columns: 1fr; } #parts .bff-part:nth-child(6) { flex-direction: column; align-items: flex-start; gap: 10px; } }
@media (prefers-reduced-motion: reduce) { #parts::before, #parts .bff-part.top, #parts .bff-part .flag, #parts .bff-part.top h3::before { animation: none !important; } }

/* ===== quick checks: light cards, blue tick circles, orange underline + links, peach reset note, red alert ===== */
#quick-checks { background: #fff; }
#quick-checks .eyebrow { display: inline-flex; align-items: center; gap: 12px; padding: 10px 24px 10px 18px; color: #06050A; background: #fff; border: 1px solid #E4E4E4; border-radius: 999px; font-size: 14.5px; font-weight: 500; letter-spacing: 0; text-transform: none; }
#quick-checks .eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: #F97316; font-size: 0; }
#quick-checks .section-title { color: #06050A; font-weight: 500; }
#quick-checks .section-title::after { display: block; content: ""; width: 80px; height: 5px; margin-top: 22px; border-radius: 3px; background: #F97316; transform-origin: left; animation: qc-line 1s var(--ease) .3s both; }
@keyframes qc-line { from { transform: scaleX(0); } to { transform: none; } }
#quick-checks .lead { color: #575757; }
#quick-checks .bff-wind-copy p { color: #575757; }
main #quick-checks .bff-wind-copy a:not(.btn) { color: #F97316; text-decoration-color: #F97316; font-weight: 400; }
#quick-checks .bff-subhead { color: #06050A; font-weight: 500; }
#quick-checks .bff-checks li { background: #fff; border: 1px solid #ECECEC; border-radius: 22px; box-shadow: 0 2px 10px rgba(6, 5, 10, .03); padding: 26px 26px; }
#quick-checks .bff-checks li:hover { background: #fff; border-color: #CBD5E1; box-shadow: 0 18px 36px rgba(6, 5, 10, .09); transform: translateY(-5px); }
#quick-checks .bff-checks b { color: #06050A; font-family: var(--display); font-weight: 500; font-size: 1.12rem; }
#quick-checks .bff-checks li span:not(.tick) { color: #636363; }
#quick-checks .bff-checks .tick { width: 48px; height: 48px; color: #fff; background: #1E293B; box-shadow: none; transition: transform .45s var(--ease), background .3s; }
#quick-checks .bff-checks li:hover .tick { transform: scale(1.12) rotate(-6deg); background: #F97316; }
#quick-checks .bff-checks.in .tick, #quick-checks .bff-checks li.in .tick { animation: qc-pop .6s var(--ease) both; }
@keyframes qc-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.12); } 100% { transform: none; } }
#quick-checks .bff-reset { color: #06050A; background: #FDE7D8; border-radius: 14px; font-weight: 500; padding: 18px 22px; }
#quick-checks .bff-alert { border-radius: 14px; border-left-width: 6px; background: #FDE8E6; }
@media (prefers-reduced-motion: reduce) { #quick-checks .section-title::after, #quick-checks .tick { animation: none !important; } }

/* ===== local coverage: photo background under navy/blue veil, glass cards ===== */
#locations { position: relative; isolation: isolate; color: #fff; background: linear-gradient(180deg, rgba(15, 23, 42, .93) 0%, rgba(15, 23, 42, .86) 100%), url("images/gen/technician-checking-pressure-switch-and-inducer-motor.webp") center / cover fixed no-repeat; }
#locations .eyebrow { color: #E2E8F0; }
#locations .section-title { color: #fff; }
#locations .lead, #locations .section-heading p, #locations .bff-center-p { color: #dbe4fb; }
main #locations .section-heading a:not(.btn), main #locations .bff-fine a { color: #E2E8F0; text-decoration-color: rgba(253, 186, 116, .6); }
main #locations .section-heading a:not(.btn):hover, main #locations .bff-fine a:hover { color: #fff; }
#locations .bff-fine { color: #cbd5e1; }
#locations .bff-area-col { background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(8px); box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
#locations .bff-area-col h3 { color: #fff; }
#locations .bff-area-col h3 span { color: #E2E8F0; }
#locations a.bff-chip, #locations .bff-chip { color: #fff; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .28); }
#locations a.bff-chip:hover { background: #F97316; border-color: #F97316; color: #fff; }
#locations .bff-near li:hover { background: rgba(255, 255, 255, .1); }
#locations .bff-near b { color: #fff; }
#locations .bff-near span { color: #cbd5e1; }
#locations .bff-near em { background: #F97316; color: #fff; }
#locations .bff-map { border-color: rgba(255, 255, 255, .3); box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
@media (max-width: 1020px) { #locations { background-attachment: scroll; } }

/* ===== process: glass timeline with icons and a drawing connector ===== */
#process .process { gap: 26px; }
#process .process-step { padding: 30px 26px 28px; background: rgba(255, 255, 255, .96); border: 0; border-radius: 20px; box-shadow: 0 18px 44px rgba(2, 6, 23, .38); overflow: visible; }
#process .process-step::before { width: 58px; height: 58px; border-radius: 18px; background: linear-gradient(145deg, #FB923C, #EA580C); box-shadow: 0 12px 24px rgba(249, 115, 22, .45); font-size: 1.6rem; }
#process .process-step:hover { transform: translateY(-8px); box-shadow: 0 26px 56px rgba(2, 6, 23, .5); }
#process .process-step h3 { display: flex; align-items: center; gap: 10px; font-size: 1.2rem; }
#process .process-step h3::after { content: ""; position: absolute; top: 28px; right: 22px; width: 38px; height: 38px; border-radius: 12px; background: #FFF1E6 center / 20px no-repeat; transition: transform .4s var(--ease), background-color .3s; }
#process .process-step:hover h3::after { transform: rotate(10deg) scale(1.12); background-color: #FFE0C7; }
#process .process-step:nth-child(1) h3::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
#process .process-step:nth-child(2) h3::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
#process .process-step:nth-child(3) h3::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
#process .process-step:nth-child(4) h3::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.1L3 17.7V21h3.3l6.3-6.3a4 4 0 0 0 5.1-5.4l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
#process .process-step:not(:last-child)::after { top: 86px; left: calc(100% - 2px); width: 30px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #F97316, #E2E8F0); transform-origin: left; transform: scaleX(0); }
#process .process-step.in:not(:last-child)::after, html:not(.js) #process .process-step:not(:last-child)::after { animation: pr-draw .7s var(--ease) .6s forwards; }
@keyframes pr-draw { to { transform: scaleX(1); } }
#process .bff-center-p.strong { position: relative; max-width: 760px; margin: 44px auto 0; padding: 20px 28px; color: #fff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .28); border-left: 5px solid #F97316; border-radius: 16px; backdrop-filter: blur(6px); font-family: var(--display); font-weight: 400; font-size: 1.2rem; }
@media (max-width: 1020px) { #process .process-step:not(:last-child)::after { display: none; } }

/* ===== one call vs calling around: highlighted winner column ===== */
#one-call { background: linear-gradient(180deg, #F8FAFC 0%, #EEF2FB 100%); }
#one-call .table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
#one-call .bff-table { border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 22px; box-shadow: 0 20px 50px rgba(15, 23, 42, .1); overflow: hidden; }
#one-call .bff-table thead th { padding: 22px 24px; font-family: var(--display); font-weight: 500; font-size: 1.05rem; letter-spacing: 0; text-transform: none; background: #E2E8F0; color: #334155; }
#one-call .bff-table thead th:first-child { background: #fff; }
#one-call .bff-table thead th:nth-child(2) { position: relative; color: #fff; background: linear-gradient(135deg, #F97316, #EA580C); box-shadow: 0 10px 30px rgba(249, 115, 22, .45); z-index: 2; }
#one-call .bff-table tbody th { background: #fff; color: #0F172A; font-weight: 600; }
#one-call .bff-table td:nth-child(2) { background: #FFF4EA; color: #0F172A; font-weight: 500; border-inline: 2px solid #E2E8F0; }
#one-call .bff-table tbody tr:last-child td:nth-child(2) { border-bottom: 2px solid #E2E8F0; border-radius: 0 0 16px 16px; }
#one-call .bff-table td:nth-child(3) { color: #64748B; background: #fff; }
#one-call .bff-table tbody tr { transition: transform .3s var(--ease); }
#one-call .bff-table tbody tr:hover > th, #one-call .bff-table tbody tr:hover > td:nth-child(3) { background: #F1F5F9; }
#one-call .bff-table tbody tr:hover > td:nth-child(2) { background: #FFE8D2; }
#one-call .table-wrap.in tbody tr { animation: oc-row .6s var(--ease) both; }
#one-call .table-wrap.in tbody tr:nth-child(1) { animation-delay: .1s; } #one-call .table-wrap.in tbody tr:nth-child(2) { animation-delay: .22s; } #one-call .table-wrap.in tbody tr:nth-child(3) { animation-delay: .34s; } #one-call .table-wrap.in tbody tr:nth-child(4) { animation-delay: .46s; } #one-call .table-wrap.in tbody tr:nth-child(5) { animation-delay: .58s; } #one-call .table-wrap.in tbody tr:nth-child(6) { animation-delay: .7s; } #one-call .table-wrap.in tbody tr:nth-child(7) { animation-delay: .82s; }
@keyframes oc-row { from { opacity: 0; transform: translate3d(0, 18px, 0); } to { opacity: 1; transform: none; } }
@media (min-width: 701px) {
  #one-call .bff-table td { position: relative; padding-left: 62px; }
  #one-call .bff-table td::before { content: ""; position: absolute; left: 22px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: #CBD5E1 center / 14px no-repeat; }
  #one-call .bff-table td:nth-child(2)::before { background-color: #F97316; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E"); box-shadow: 0 4px 10px rgba(249, 115, 22, .4); }
  #one-call .bff-table td:nth-child(3)::before { background-color: #E2E8F0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E"); }
}
@media (max-width: 700px) {
  #one-call .bff-table { background: transparent; box-shadow: none; overflow: visible; }
  #one-call .bff-table tr { background: #fff; box-shadow: 0 10px 26px rgba(15, 23, 42, .08); }
  #one-call .bff-table tbody th { background: #1E293B; color: #fff; }
  #one-call .bff-table td:nth-child(2) { border-inline: 0; border-bottom: 0 !important; }
  #one-call .bff-table tbody tr:last-child td:nth-child(2) { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { #process .process-step::after, #one-call .table-wrap tbody tr { animation: none !important; transform: none !important; } }

/* ===== CALM PASS: orange only on call buttons; everything else neutral slate/navy/white ===== */
:root { --slate: #334155; --slate-soft: #64748B; --mist: #F1F5F9; --mist-line: #E2E8F0; }
/* light-surface accents */
.scroll-progress i { background: var(--navy); }
.topbar-item::before, a.topbar-item::before { background: #94A3B8; }
.nav-links > a:not(.btn):hover, .nav-dropdown-trigger > a:hover, .nav-links a[aria-current="page"] { color: var(--slate-soft); }
.nav-links > a:not(.btn)[aria-current="page"]::after, .nav-dropdown-trigger > a[aria-current="page"]::after { background: var(--navy); }
.nav-dropdown-index, .bff-near em, .pill.warn, .bff-reset, .accordion summary span, #quick-checks .bff-reset { background: var(--mist); color: var(--slate); }
.text-link, .service-card .text-link, .bff-svc .go, .bff-bars b { color: var(--navy); }
main p a:not(.btn):not(.text-link), main li a:not(.btn), .answer a, .bff-sources a { color: var(--navy); text-decoration-color: #94A3B8; }
.eyebrow::before, .section-title::after, .service-card-body::before, #quick-checks .eyebrow::before, #quick-checks .section-title::after { background: #94A3B8; }
.service-card::after, .symptom-card::after, .bff-part::after, .bff-svc::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(100, 116, 139, .12), transparent 60%); }
.service-card:hover, .symptom-card:hover, .bff-svc:hover, .bff-col:hover, .process-step:hover { border-color: #CBD5E1; }
.bff-stat .i, .section-nav a.is-active, .bff-part .flag, .bff-story .tag { background: var(--navy); border-color: var(--navy); color: #fff; }
.bff-stat:hover .i { background: #fff; color: var(--navy); }
.symptom-card:hover .symptom-signal, .bff-svc:hover .ic, .to-top:hover { background: var(--slate); color: #fff; }
.bff-checks li:hover, #quick-checks .bff-checks li:hover { border-color: #CBD5E1; }
#quick-checks .bff-checks .tick, #quick-checks .bff-checks li:hover .tick { background: var(--navy); }
.bff-tip { background: #F8FAFC; border-color: var(--mist-line); border-left-color: var(--slate); }
.bff-tip > svg { color: var(--slate); }
table tbody tr:hover > * { background: #F8FAFC; }
.bff-bars .fill { background: linear-gradient(90deg, #475569, #94A3B8); }
.accordion details[open] { border-color: #94A3B8; }
.accordion details[open] summary span { background: var(--navy); color: #fff; }
.bff-pullq, .bff-tip { border-left-color: var(--slate); }
.narrow li::before { background: #94A3B8; }
.bff-fine { color: var(--slate); }
.process-step:not(:last-child)::after { background: repeating-linear-gradient(90deg, #94A3B8 0 6px, transparent 6px 11px); }
/* dark-surface accents become white */
.hero-kicker::before { background: #fff; box-shadow: 0 0 0 5px rgba(255, 255, 255, .18); }
.bff-hero-note, .hero p.bff-hero-note { border-left-color: rgba(255, 255, 255, .55); }
.breadcrumbs strong { color: #fff; }
.bg-blue { background: var(--navy-soft); }
.service-card-all { background: linear-gradient(145deg, var(--navy-soft), var(--navy)); }
.service-card-all-icon, .bg-blue .bff-checks .tick { background: rgba(255, 255, 255, .16); color: #fff; }
.bff-qcard, .bff-callcard { background: var(--navy-soft); }
.bff-qcard li::before { background: rgba(255, 255, 255, .18); color: #fff; }
.story-section { background: var(--navy); }
main .contact-banner p a:not(.btn), main .story-section p a:not(.btn), main .bff-callcard p a:not(.btn), main .bff-qcard li a:not(.btn) { color: #fff; text-decoration-color: rgba(255, 255, 255, .5); }
.footer-links a:hover { color: #fff; }
.footer-social a:hover { background: rgba(255, 255, 255, .2); color: #fff; }
/* section blocks */
#safety { background: linear-gradient(135deg, #F8FAFC 0%, #E8EDF4 55%, #F1F5F9 100%); }
#safety::before { background: rgba(148, 163, 184, .45); }
#safety::after { background: rgba(100, 116, 139, .16); }
#parts { background: var(--navy); }
#parts::before { background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.4px); }
#parts .eyebrow, #parts .definition-note strong { color: #CBD5E1; }
#parts .bff-part:hover { border-color: rgba(255, 255, 255, .4); }
#parts .bff-part::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .1), transparent 60%); }
#parts .bff-part::before { -webkit-text-stroke-color: rgba(255, 255, 255, .25); }
#parts .bff-part:hover::before { color: rgba(255, 255, 255, .08); -webkit-text-stroke-color: rgba(255, 255, 255, .6); }
#parts .bff-part h3::before { background-color: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .22); }
#parts .bff-part:hover h3::before { background-color: rgba(255, 255, 255, .18); }
#parts .bff-part.top { border-color: rgba(255, 255, 255, .35); background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04)); animation: none; }
#parts .bff-part.top::before { -webkit-text-stroke-color: rgba(255, 255, 255, .4); }
#parts .bff-part.top h3::before { background-color: rgba(255, 255, 255, .14); }
#parts .bff-part .flag { background: #fff; color: var(--navy); animation: none; box-shadow: none; }
#locations a.bff-chip:hover, #locations .bff-near em { background: var(--navy); border-color: var(--navy); color: #fff; }
#process .process-step::before { background: var(--navy); box-shadow: 0 12px 24px rgba(15, 23, 42, .25); }
#process .process-step:not(:last-child)::after { background: linear-gradient(90deg, #94A3B8, #CBD5E1); }
#one-call { background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%); }
#one-call .bff-table thead th:nth-child(2) { background: var(--navy); box-shadow: 0 10px 30px rgba(15, 23, 42, .25); }
#one-call .bff-table td:nth-child(2) { background: #F8FAFC; border-inline-color: var(--navy); }
#one-call .bff-table tbody tr:last-child td:nth-child(2) { border-bottom-color: var(--navy); }
#one-call .bff-table tbody tr:hover > td:nth-child(2) { background: #EEF2F7; }
#one-call .bff-table td:nth-child(2)::before { background-color: var(--navy); }
/* sharper hero: lighter zoom, lighter right-side overlay */
.hero-bg { animation: hero-slow 30s ease-in-out infinite alternate; }
@keyframes hero-slow { from { scale: 1; } to { scale: 1.04; } }
.hero::before { background: linear-gradient(90deg, rgba(15, 23, 42, .92) 0%, rgba(15, 23, 42, .72) 42%, rgba(15, 23, 42, .12) 100%); }

/* ===== BALANCE PASS: navy structure + orange (action) + blue (links/info) + teal (positive) + warm sand/sky tints ===== */
:root { --blue: #2563EB; --blue-dark: #1D4ED8; --blue-tint: #DBEAFE; --sky-tint: #EFF6FF; --teal: #0D9488; --teal-tint: #CCFBF1; --sand: #FFF7ED; --sand-line: #FED7AA; }
/* light surfaces */
.scroll-progress i { background: linear-gradient(90deg, var(--blue), var(--call)); }
.topbar-item::before, a.topbar-item::before { background: var(--call); }
.nav-links > a:not(.btn):hover, .nav-dropdown-trigger > a:hover { color: var(--blue); }
.nav-links a[aria-current="page"] { color: var(--navy); }
.nav-links > a:not(.btn)[aria-current="page"]::after, .nav-dropdown-trigger > a[aria-current="page"]::after { background: var(--call); }
.nav-dropdown-index { background: var(--blue-tint); color: var(--blue-dark); }
.bff-near em { background: var(--sky-tint); color: var(--blue-dark); }
.pill.warn { background: #FFEDD5; color: var(--call-dark); }
.bff-reset, #quick-checks .bff-reset { background: var(--sand); color: var(--navy); }
.accordion summary span { background: var(--blue-tint); color: var(--blue-dark); }
.accordion details[open] { border-color: var(--blue); }
.accordion details[open] summary span { background: var(--blue); color: #fff; }
.text-link, .service-card .text-link, .bff-svc .go { color: var(--blue-dark); }
.bff-bars b { color: var(--blue-dark); }
.bff-bars .fill { background: linear-gradient(90deg, var(--blue), var(--teal)); }
main p a:not(.btn):not(.text-link), main li a:not(.btn), .answer a, .bff-sources a { color: var(--blue-dark); text-decoration-color: rgba(37, 99, 235, .4); }
.eyebrow::before, #quick-checks .eyebrow::before { background: var(--blue); }
.section-title::after, #quick-checks .section-title::after, .service-card-body::before { background: var(--call); }
.service-card::after, .symptom-card::after, .bff-part::after, .bff-svc::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(37, 99, 235, .1), transparent 60%); }
.service-card:hover, .symptom-card:hover, .bff-svc:hover, .bff-col:hover, .process-step:hover, .bff-checks li:hover, #quick-checks .bff-checks li:hover { border-color: #BFDBFE; }
.bff-stat .i { background: var(--blue); }
.bff-stat:hover .i { background: #fff; color: var(--blue); }
.section-nav a.is-active { background: var(--navy); border-color: var(--navy); }
.symptom-card:hover .symptom-signal { background: var(--call); color: #fff; }
.bff-svc:hover .ic { background: var(--blue); color: #fff; }
.to-top:hover { background: var(--blue); }
#quick-checks .bff-checks .tick { background: var(--teal); }
#quick-checks .bff-checks li:hover .tick { background: var(--call); }
.bff-tip { background: var(--sand); border-color: var(--sand-line); border-left-color: var(--call); }
.bff-tip > svg { color: var(--call); }
.bff-pullq { border-left-color: var(--call); }
.narrow li::before { background: var(--blue); }
.process-step:not(:last-child)::after { background: repeating-linear-gradient(90deg, var(--call) 0 6px, transparent 6px 11px); }
table tbody tr:hover > * { background: var(--sky-tint); }
/* dark surfaces */
.hero-kicker::before { background: var(--call); box-shadow: 0 0 0 5px rgba(249, 115, 22, .25); }
.bff-hero-note, .hero p.bff-hero-note { border-left-color: var(--call); }
.breadcrumbs strong { color: #FDBA74; }
.bg-blue { background: radial-gradient(700px 320px at 92% 0, rgba(37, 99, 235, .28), transparent 70%), #0F172A; }
.bg-blue .eyebrow, .eyebrow.light, #locations .eyebrow, #parts .eyebrow { color: #93C5FD; }
.service-card-all { background: radial-gradient(260px 200px at 100% 0, rgba(37, 99, 235, .45), transparent 70%), linear-gradient(145deg, #1E3A5F, var(--navy)); }
.service-card-all-icon { background: var(--call); }
.service-card-all-label { color: #93C5FD; }
.bg-blue .bff-checks .tick { background: var(--teal); }
.bff-qcard, .bff-callcard { background: radial-gradient(300px 220px at 100% 0, rgba(37, 99, 235, .35), transparent 70%), #172A4A; }
.bff-qcard li::before { background: var(--blue); color: #fff; }
.story-section { background: radial-gradient(700px 360px at 8% 0, rgba(37, 99, 235, .22), transparent 70%), var(--navy); }
.bff-story .tag { background: var(--call); color: #fff; }
main .contact-banner p a:not(.btn), main .story-section p a:not(.btn), main .bff-callcard p a:not(.btn), main .bff-qcard li a:not(.btn), .bff-nap a { color: #FDBA74; text-decoration-color: rgba(253, 186, 116, .5); }
main .bg-blue .section-heading a:not(.btn), main .bg-blue .center-copy a:not(.btn), main #locations .section-heading a:not(.btn), main #locations .bff-fine a { color: #93C5FD; }
.footer-links a:hover { color: #FDBA74; }
.footer-social a:hover { background: var(--call); color: #fff; }
/* section blocks: give each its own hue */
#safety { background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 55%, #FEF3E2 100%); }
#safety::before { background: rgba(251, 146, 60, .35); }
#safety::after { background: rgba(37, 99, 235, .12); }
#parts { background: radial-gradient(700px 380px at 12% 0, rgba(37, 99, 235, .22), transparent 70%), var(--navy); }
#parts::before { background-image: radial-gradient(rgba(147, 197, 253, .12) 1px, transparent 1.4px); }
#parts .definition-note strong { color: #FDBA74; }
#parts .bff-part:hover { border-color: rgba(147, 197, 253, .55); }
#parts .bff-part::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(37, 99, 235, .22), transparent 60%); }
#parts .bff-part::before { -webkit-text-stroke-color: rgba(147, 197, 253, .3); }
#parts .bff-part:hover::before { color: rgba(147, 197, 253, .1); -webkit-text-stroke-color: #93C5FD; }
#parts .bff-part:nth-child(1) h3::before, #parts .bff-part:nth-child(4) h3::before { background-color: rgba(249, 115, 22, .2); border-color: rgba(249, 115, 22, .45); }
#parts .bff-part:nth-child(2) h3::before, #parts .bff-part:nth-child(5) h3::before { background-color: rgba(59, 130, 246, .22); border-color: rgba(96, 165, 250, .5); }
#parts .bff-part:nth-child(3) h3::before, #parts .bff-part:nth-child(6) h3::before { background-color: rgba(20, 184, 166, .2); border-color: rgba(45, 212, 191, .45); }
#parts .bff-part.top { border-color: rgba(249, 115, 22, .5); background: linear-gradient(160deg, rgba(249, 115, 22, .16), rgba(255, 255, 255, .04)); }
#parts .bff-part.top::before { -webkit-text-stroke-color: rgba(249, 115, 22, .5); }
#parts .bff-part .flag { background: var(--call); color: #fff; }
#locations a.bff-chip:hover { background: var(--call); border-color: var(--call); color: #fff; }
#locations .bff-near em { background: var(--blue); color: #fff; }
#locations .bff-area-col h3 span { color: #93C5FD; }
#process .process-step::before { background: linear-gradient(145deg, #FB923C, #EA580C); box-shadow: 0 12px 24px rgba(249, 115, 22, .4); }
#process .process-step:nth-child(2)::before { background: linear-gradient(145deg, #60A5FA, #2563EB); box-shadow: 0 12px 24px rgba(37, 99, 235, .4); }
#process .process-step:nth-child(3)::before { background: linear-gradient(145deg, #2DD4BF, #0D9488); box-shadow: 0 12px 24px rgba(13, 148, 136, .4); }
#process .process-step:nth-child(4)::before { background: linear-gradient(145deg, #FBBF24, #F97316); box-shadow: 0 12px 24px rgba(249, 115, 22, .4); }
#process .process-step:not(:last-child)::after { background: linear-gradient(90deg, #F97316, #FDBA74); }
#one-call { background: linear-gradient(180deg, #F8FAFC 0%, #EAF2FF 100%); }
#one-call .bff-table thead th:nth-child(2) { background: linear-gradient(135deg, #2563EB, #1D4ED8); box-shadow: 0 10px 30px rgba(37, 99, 235, .3); }
#one-call .bff-table td:nth-child(2) { background: var(--sky-tint); border-inline-color: #93C5FD; }
#one-call .bff-table tbody tr:last-child td:nth-child(2) { border-bottom-color: #93C5FD; }
#one-call .bff-table tbody tr:hover > td:nth-child(2) { background: var(--blue-tint); }
#one-call .bff-table td:nth-child(2)::before { background-color: var(--teal); }
#decision { background: var(--sky-tint); }
#ready { background: var(--sand); }
/* hero USP row */
.hero-usps { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 4px 0 24px; padding: 0; list-style: none; }
.hero-usps li { position: relative; padding-left: 28px; color: #fff; font-weight: 500; font-size: .98rem; }
.hero-usps li::before { content: ""; position: absolute; left: 0; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; background: #0D9488 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.bff-hero-note a, .bff-nap a[href^="/furnace"], p a[href="/furnace-maintenance-tune-ups"], p a[href="/furnace-installation-replacement"] { }
.hero .bff-hero-note a { color: #FDBA74; text-decoration-color: rgba(253, 186, 116, .6); }
.hero-usps li { opacity: 0; animation: vx-up .6s var(--ease) forwards; } .hero-usps li:nth-child(2) { animation-delay: .1s; } .hero-usps li:nth-child(3) { animation-delay: .2s; } .hero-usps li:nth-child(4) { animation-delay: .3s; }
main .hero .bff-hero-note a, main .inner-hero .bff-hero-note a, main .contact-banner .bff-nap a[href^="/furnace"] { color: #FDBA74; text-decoration-color: rgba(253, 186, 116, .6); }
.hero-usps { display: grid; grid-template-columns: repeat(2, max-content); gap: 12px 34px; }
@media (max-width: 560px) { .hero-usps { grid-template-columns: 1fr; } }
main .hero p.bff-hero-note a:not(.btn):not(.text-link), main .inner-hero p.bff-hero-note a:not(.btn):not(.text-link), main .contact-banner .bff-nap p a:not(.btn):not(.text-link) { color: #FDBA74; text-decoration-color: rgba(253, 186, 116, .6); }
/* visible cards on light sections */
#symptoms .symptom-card, #quick-checks .bff-checks li, #ready .bff-checks li, .bff-col, .accordion details { border: 1px solid #CBD5E1; box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 12px 28px rgba(15, 23, 42, .10); }
#symptoms .symptom-card.safety, #symptoms .symptom-card.is-safety { border-color: #FCA5A5; }
#symptoms .symptom-card:hover, #quick-checks .bff-checks li:hover, #ready .bff-checks li:hover, .bff-col:hover { border-color: #93C5FD; box-shadow: 0 2px 4px rgba(15, 23, 42, .08), 0 20px 40px rgba(15, 23, 42, .16); }
#symptoms, #quick-checks { background-image: linear-gradient(180deg, #F1F5F9 0%, #E9EEF5 100%); }
/* services dropdown: blue on hover */
.nav-dropdown-item { transition: background .2s, color .2s, transform .2s; }
.nav-dropdown-item:hover, .nav-dropdown-item:focus-visible { background: var(--blue); color: #fff; }
.nav-dropdown-item:hover *, .nav-dropdown-item:focus-visible * { color: #fff; }
.nav-dropdown-item:hover .nav-dropdown-index, .nav-dropdown-item:focus-visible .nav-dropdown-index { background: #fff; color: var(--blue); }
.nav-dropdown-all { transition: background .2s; } .nav-dropdown-all:hover, .nav-dropdown-all:focus-visible { background: var(--blue); }
/* orange hover (matches call button): stats + services dropdown */
.bff-stat { transition: background .25s, transform .25s; }
.bff-stat:hover { background: var(--call); transform: translateY(-3px); }
.bff-stat:hover b, .bff-stat:hover span:not(.i), .bff-stat:hover small, .bff-stat:hover em { color: #fff; }
.bff-stat:hover .i { background: #fff; color: var(--call); }
.nav-dropdown-item:hover, .nav-dropdown-item:focus-visible { background: var(--call); color: #fff; }
.nav-dropdown-item:hover *, .nav-dropdown-item:focus-visible * { color: #fff; }
.nav-dropdown-item:hover .nav-dropdown-index, .nav-dropdown-item:focus-visible .nav-dropdown-index { background: #fff; color: var(--call); }
.nav-dropdown-all:hover, .nav-dropdown-all:focus-visible { background: var(--call); color: #fff; }
.nav-dropdown-all:hover * { color: #fff; }
/* #your-choice: photo background */
#your-choice { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: var(--navy); }
#your-choice .sec-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
#your-choice::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15, 23, 42, .95) 0%, rgba(15, 23, 42, .84) 48%, rgba(15, 23, 42, .62) 100%); }
#your-choice .eyebrow { color: #93C5FD; }
#your-choice .section-title { color: #fff; }
#your-choice .lead { color: #fff; }
#your-choice .bff-push-copy p, #your-choice .chunks p { color: #dbe4fb; }
main #your-choice p a:not(.btn):not(.text-link), #your-choice .text-link { color: #FDBA74; text-decoration-color: rgba(253, 186, 116, .6); }
#your-choice .bff-qcard { background: rgba(15, 23, 42, .72); border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(8px); box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
#your-choice .sec-bg { filter: brightness(.6) saturate(.9); }
#your-choice::before { background: linear-gradient(90deg, rgba(15, 23, 42, .97) 0%, rgba(15, 23, 42, .9) 50%, rgba(15, 23, 42, .72) 100%); }
#your-choice .bff-push-copy { text-shadow: 0 1px 14px rgba(15, 23, 42, .6); }
