/* Fontanería Bizkaia — shared design system. Loaded on every page.
 * Bump ?v=N in the <link> whenever this file changes.
 * Fonts: Bricolage Grotesque (headings), Noto Sans (body), Poppins (numbers).
 */

/* ===== RESET ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{overflow-x:clip;font-family:'Noto Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;line-height:1.55;color:var(--fc-ink);background:var(--fc-cloud);-webkit-font-smoothing:antialiased}
[id]{scroll-margin-top:112px}
img{max-width:100%;display:block;height:auto}
a{color:var(--fc-blue);text-decoration:none}
a:hover{text-decoration:underline}
code,pre{overflow-wrap:anywhere;word-break:break-word}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;padding:10px 14px;background:#1a1a2e;color:#fff;border-radius:0 0 6px 0;text-decoration:none}
.skip-link:focus{left:0}
pre{white-space:pre-wrap}
h1,h2,h3,h4{font-family:'Bricolage Grotesque','Noto Sans',sans-serif;line-height:1.15;letter-spacing:-.01em;color:var(--fc-ink);font-weight:700}
.num{font-family:'Poppins','Noto Sans',sans-serif;font-feature-settings:"tnum"}

/* ===== DESIGN TOKENS ===== */
:root{
  --fc-blue:#0A6EBD; --fc-blue-dark:#08518E; --fc-blue-soft:#E8F1FB; --fc-blue-glow:rgba(10,110,189,.18);
  --fc-red:#D6202E; --fc-red-dark:#C1121F; --fc-red-soft:#FDECEE;
  --fc-orange:#FF7A1A; --fc-orange-dark:#E5640A; --fc-orange-soft:#FFF0E2;
  --fc-wa:#0E7A6E; --fc-wa-dark:#0B5E54;
  --fc-gold:#FFB020;
  --fc-ink:#0B1120; --fc-ink-2:#1B2433; --fc-slate:#51607A; --fc-slate-2:#7A8699; --fc-cloud:#F6F8FB; --fc-line:#E4E9F2; --fc-white:#fff;
  --fc-shadow:0 2px 10px rgba(11,17,32,.06);
  --fc-shadow-md:0 8px 28px rgba(11,17,32,.08);
  --fc-shadow-lg:0 18px 50px rgba(11,17,32,.12);
  --fc-radius:14px; --fc-radius-lg:22px; --fc-radius-sm:9px; --fc-radius-pill:999px;
  --fc-ease:cubic-bezier(.16,1,.3,1); --fc-spring:cubic-bezier(.34,1.56,.64,1);
  --fc-maxw:1140px;
  --fc-text-xs:.66rem; --fc-text-sm:.74rem; --fc-text-base:.82rem; --fc-text-md:.88rem;
  --fc-text-lg:.95rem; --fc-text-xl:1.06rem; --fc-text-2xl:1.18rem;
  --fc-text-3xl:clamp(1.22rem,.40rem + 2.4vw,1.62rem);
  --fc-text-hero:clamp(1.45rem,.42rem + 3.4vw,2.20rem);
}
body{font-size:var(--fc-text-base)}

/* ===== LAYOUT ===== */
.container{max-width:var(--fc-maxw);margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section.tight{padding:40px 0}
.section.alt{background:var(--fc-white)}
.section.ink{background:linear-gradient(160deg,var(--fc-ink) 0%,var(--fc-ink-2) 100%);color:#EAF0F8}
.section.ink h1,.section.ink h2,.section.ink h3{color:#fff}
.section-head{max-width:680px;margin:0 auto 36px;text-align:center}
.section-head .eyebrow{display:inline-block;font-family:'Poppins',sans-serif;font-weight:600;font-size:var(--fc-text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fc-blue);background:var(--fc-blue-soft);padding:5px 12px;border-radius:var(--fc-radius-pill);margin-bottom:14px}
.section.ink .section-head .eyebrow{background:rgba(255,255,255,.12);color:#9FC7EE}
.section-head h2{font-size:var(--fc-text-3xl);margin-bottom:10px}
.section-head p{color:var(--fc-slate);font-size:var(--fc-text-md)}
.section.ink .section-head p{color:#B9C6D6}
.center{text-align:center}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:'Noto Sans',sans-serif;font-weight:700;font-size:var(--fc-text-base);padding:.78rem 1.4rem;border-radius:5px;border:0;cursor:pointer;text-decoration:none;transition:transform .2s var(--fc-ease),box-shadow .2s var(--fc-ease),background .2s;white-space:nowrap;line-height:1.2}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn-phone{background:var(--fc-red);color:#fff;box-shadow:0 6px 18px rgba(214,32,46,.28)}
.btn-phone:hover{background:var(--fc-red-dark);box-shadow:0 10px 26px rgba(214,32,46,.38)}
.btn-wa{background:var(--fc-wa);color:#fff;box-shadow:0 6px 18px rgba(14,122,110,.26)}
.btn-wa:hover{background:var(--fc-wa-dark);box-shadow:0 10px 26px rgba(14,122,110,.36)}
.btn-blue{background:var(--fc-blue);color:#fff;box-shadow:0 6px 18px var(--fc-blue-glow)}
.btn-blue:hover{background:var(--fc-blue-dark)}
.btn-outline{background:transparent;color:var(--fc-blue);border:2px solid var(--fc-blue)}
.btn-outline:hover{background:var(--fc-blue);color:#fff}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:2px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-block{display:flex;width:100%}
.btn-lg{padding:13px;font-size:.78rem;flex:1 1 auto;min-width:0;white-space:nowrap}
.hero .cta-row{display:flex;flex-wrap:nowrap;gap:10px}
.hero .cta-row .btn-phone{flex:0 1 auto}
.hero .cta-row .btn-wa{flex:0 1 auto}

/* ===== EMERGENCY TOPBAR ===== */
.fc-topbar{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(90deg,var(--fc-red) 0%,var(--fc-red-dark) 100%);color:#fff;padding:7px 16px;min-height:36px;font-size:var(--fc-text-sm);font-weight:600;text-align:center}
.fc-topbar .dot{width:8px;height:8px;border-radius:50%;background:#FFD9DC;animation:fc-pulse 1.6s infinite;flex:none}
.fc-topbar a{color:#fff;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.fc-topbar a:hover{text-decoration:underline}
@keyframes fc-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

/* ===== STICKY NAV ===== */
.fc-nav{position:sticky;top:36px;z-index:110;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;height:70px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid var(--fc-line)}
.fc-nav .brand{display:flex;align-items:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.15rem;color:var(--fc-ink);text-decoration:none;white-space:nowrap}
.fc-nav .brand:hover{text-decoration:none}
.fc-nav .brand .lg{width:30px;height:30px;flex:none;margin-right:5px}
.fc-nav .brand b{color:var(--fc-blue)}
.fc-nav .nav-links{display:flex;align-items:center;gap:22px}
.fc-nav .nav-links a{font-size:var(--fc-text-base);font-weight:600;color:var(--fc-slate);text-decoration:none}
.fc-nav .nav-links a:hover{color:var(--fc-blue);text-decoration:none}
.fc-nav .nav-cta{display:flex;align-items:center;gap:.5rem}
@media(max-width:768px){.fc-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}}

/* Mobile menu toggle */
.fc-nav .menu-btn{display:none;background:none;border:0;cursor:pointer;padding:6px;color:var(--fc-ink)}
.fc-nav .menu-btn span{display:block;width:24px;height:2px;background:var(--fc-ink);margin:5px 0;transition:.25s}
.fc-mobile{display:none;position:fixed;inset:0;z-index:130;background:#fff;padding:80px 24px 30px}
.fc-mobile > a{display:block;font-size:1.12rem;font-weight:700;color:var(--fc-ink);padding:14px 0;border-bottom:1px solid var(--fc-line);text-decoration:none}
.fc-mobile > a:hover{color:var(--fc-blue)}
.fc-mobile .close{position:absolute;top:20px;right:24px;font-size:1.6rem;background:none;border:0;color:var(--fc-ink);cursor:pointer}
.fc-mobile .cta-row{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.fc-mobile .cta-row .btn{flex:1 1 50%;min-width:0;border-radius:5px;padding:.75rem .6rem;font-size:.92rem}
.fc-mobile .cta-row .btn-phone{justify-content:center;background:var(--fc-red);color:#fff;box-shadow:0 6px 16px rgba(214,32,46,.28)}
.fc-mobile .cta-row .btn-wa{justify-content:center;background:var(--fc-wa);color:#fff;box-shadow:0 6px 16px rgba(14,122,110,.28)}

/* ===== FLOATING WHATSAPP ===== */
.fc-fab{display:none !important;position:fixed;bottom:20px;right:20px;z-index:99;width:58px;height:58px;border-radius:50%;background:var(--fc-wa);color:#fff;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(14,122,110,.4);text-decoration:none;transition:transform .3s var(--fc-spring)}
.fc-fab:hover{transform:scale(1.08) translateY(-2px);text-decoration:none}
.fc-fab svg{width:30px;height:30px;fill:#fff}

/* ===== MOBILE STICKY CALL BAR ===== */
.fc-callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:115;background:#fff;border-top:1px solid var(--fc-line);box-shadow:0 -6px 20px rgba(11,17,32,.08);padding:8px 12px;gap:8px}
.fc-callbar a{flex:1;font-size:.8rem;padding:.6rem .8rem}

/* ===== BADGES / PILLS / STARS ===== */
.badge{display:inline-flex;align-items:center;gap:.4rem;font-family:'Poppins',sans-serif;font-weight:600;font-size:var(--fc-text-xs);padding:5px 12px;border-radius:var(--fc-radius-pill);background:var(--fc-white);color:var(--fc-ink);border:1px solid var(--fc-line);margin-bottom:6px}
.badge-emergency{background:var(--fc-red);color:#fff;border-color:transparent}
.badge-heat{background:var(--fc-orange);color:#fff;border-color:transparent}
.badge-trust{background:var(--fc-blue-soft);color:var(--fc-blue-dark);border-color:transparent}
.stars{display:inline-flex;align-items:center;gap:2px;color:var(--fc-gold);font-size:1.05em}
.stars .s{line-height:1}
.stars+.score{font-family:'Poppins',sans-serif;font-weight:700;color:var(--fc-ink);margin-left:6px}
.reviews-count{color:var(--fc-slate);font-size:var(--fc-text-sm);margin-left:6px}

/* ===== HERO ===== */
.hero{background:linear-gradient(170deg,#0A2540 0%,var(--fc-blue-dark) 60%,var(--fc-blue) 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 380px at 88% -10%,rgba(255,122,26,.28),transparent 70%);pointer-events:none}
.hero .container{position:relative;z-index:1;padding-top:46px;padding-bottom:54px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}
.hero .eyebrow-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.hero h1{color:#fff;font-size:var(--fc-text-hero);margin-bottom:14px}
.hero h1 .accent{color:var(--fc-orange)}
.hero .sub{font-size:var(--fc-text-md);color:#D6E4F4;max-width:560px;margin-bottom:20px}
.hero .bullets{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px}
.hero .bullets li{display:flex;align-items:flex-start;gap:9px;font-size:var(--fc-text-base);color:#E6EEF8}
.hero .bullets .ck{color:var(--fc-wa);font-weight:800;flex:none;margin-top:1px}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.hero .proof{font-size:var(--fc-text-sm);color:#AEC9E3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hero .proof .stars{color:var(--fc-gold)}

/* Hero form card */
.lead-card{background:#fff;color:var(--fc-ink);border-radius:var(--fc-radius-lg);padding:22px;box-shadow:var(--fc-shadow-lg);border:1px solid var(--fc-line)}
.lead-card h3{font-size:var(--fc-text-xl);margin-bottom:4px}
.lead-card .lc-sub{font-size:var(--fc-text-sm);color:var(--fc-slate);margin-bottom:14px}
.lead-card .lc-trust{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--fc-slate);margin-top:12px;padding-top:12px;border-top:1px dashed var(--fc-line);flex-wrap:wrap}
.lc-priv{font-size:.72rem;text-align:center;margin:10px 0 0;opacity:.85;color:var(--fc-slate)}
.lc-priv a{text-decoration:underline}

/* ===== FORM ===== */
.form{display:grid;gap:11px}
.field{display:grid;gap:4px}
.field label{font-size:var(--fc-text-xs);font-weight:600;color:var(--fc-slate)}
.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;padding:.62rem .7rem;border:1.5px solid var(--fc-line);border-radius:10px;background:#fff;color:var(--fc-ink);transition:border-color .15s;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--fc-blue);box-shadow:0 0 0 3px var(--fc-blue-glow)}
.field textarea{resize:vertical}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.form .btn-submit{background:var(--fc-blue);color:#fff;width:100%;margin-top:4px}
.form .btn-submit:hover{background:var(--fc-blue-dark)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== TRUST BAR ===== */
.trust-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;padding:12px 16px;background:var(--fc-white);border-bottom:1px solid var(--fc-line)}
.trust-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fc-text-xs);font-weight:600;color:var(--fc-ink-2);white-space:nowrap}
.trust-item .ic{font-size:1.05rem;flex:none}

/* ===== STEPS ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius);padding:26px 22px;text-align:center;box-shadow:var(--fc-shadow)}
.step .num{width:38px;height:38px;border-radius:50%;background:var(--fc-blue-soft);color:var(--fc-blue-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;margin:0 auto 12px}
.step h3{font-size:var(--fc-text-lg);margin-bottom:6px}
.step p{font-size:var(--fc-text-sm);color:var(--fc-slate)}

/* ===== SERVICE / BENEFIT CARDS ===== */
.grid{display:grid;gap:18px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius-sm);padding:24px;box-shadow:var(--fc-shadow);transition:transform .2s var(--fc-ease),box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--fc-shadow-md)}
.card .ic{font-size:1.55rem;margin-bottom:10px;display:block}
.card h3{font-size:var(--fc-text-lg);margin-bottom:6px}
.card h3 a{color:inherit}
.card p{font-size:var(--fc-text-sm);color:var(--fc-slate)}
.card .price-pill{display:inline-block;margin-top:10px;font-family:'Poppins',sans-serif;font-weight:700;font-size:var(--fc-text-xs);color:var(--fc-blue-dark);background:var(--fc-blue-soft);padding:4px 10px;border-radius:var(--fc-radius-pill)}
.card .more{display:block;width:100%;text-align:center;margin-top:14px;font-weight:700;font-size:var(--fc-text-sm);color:#fff;background:var(--fc-blue);padding:9px 16px;border-radius:8px;box-shadow:0 4px 12px var(--fc-blue-glow)}
.card:hover .more{background:var(--fc-blue-dark)}

.benefit-card{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius);padding:20px;display:flex;gap:12px}
.benefit-card .ic{font-size:1.25rem;flex:none;width:38px;height:38px;border-radius:10px;background:var(--fc-blue-soft);display:flex;align-items:center;justify-content:center}
.benefit-card h4{font-family:'Bricolage Grotesque',sans-serif;font-size:var(--fc-text-md);margin-bottom:3px}
.benefit-card p{font-size:var(--fc-text-sm);color:var(--fc-slate)}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-card{border-radius:10px;overflow:hidden;background-size:cover;background-position:center;min-height:220px;display:flex;align-items:flex-end;padding:14px;position:relative;box-shadow:var(--fc-shadow);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.gallery-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,37,64,0) 40%,rgba(10,37,64,.72) 100%);pointer-events:none}
.gallery-card:hover{transform:translateY(-3px);box-shadow:var(--fc-shadow-md)}
.gallery-card .cap{display:inline-block;background:rgba(11,17,32,.82);color:#fff;font-size:.68rem;font-weight:600;padding:7px 11px;border-radius:5px;line-height:1.4;position:relative;z-index:1;max-width:100%;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ===== AREAS ===== */
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.area-card{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius);padding:14px 14px;text-align:left;display:flex;align-items:center;gap:9px;font-weight:600;font-size:var(--fc-text-sm);color:var(--fc-ink-2);box-shadow:var(--fc-shadow);transition:transform .15s}
.area-card:hover{transform:translateY(-2px);text-decoration:none;color:var(--fc-blue)}
.area-card .pin{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--fc-blue);font-size:1.4rem;line-height:1}

/* ===== HP SERVICES — amianto-style service cards ===== */
.hp-services .svc-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.hp-services .area-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;height:100%;background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius-sm);box-shadow:var(--fc-shadow);transition:transform .15s,box-shadow .15s,border-color .15s;text-decoration:none;color:var(--fc-ink)}
.hp-services .area-card:hover{transform:translateY(-2px);box-shadow:var(--fc-shadow-md);text-decoration:none}
.hp-services .area-card .pin{font-size:1.5rem;line-height:1;flex:none}
.hp-services .area-card .sc-name{font-size:var(--fc-text-lg);font-weight:700;color:var(--fc-blue-dark);font-family:'Bricolage Grotesque',sans-serif;line-height:1.2}
.hp-services .area-card .sc-desc{font-size:var(--fc-text-sm);color:var(--fc-slate);line-height:1.5;font-weight:400}
.hp-services .area-card .sc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:10px;gap:8px 10px}
.hp-services .area-card .sc-price{font-family:'Poppins',sans-serif;font-weight:700;font-size:var(--fc-text-sm);color:var(--fc-blue-dark);background:var(--fc-blue-soft);padding:3px 10px;border-radius:999px;white-space:nowrap}
.hp-services .area-card .sc-more{font-size:var(--fc-text-xs);color:var(--fc-blue-dark);font-weight:700;background:var(--fc-blue-soft);padding:6px 12px;border-radius:8px;white-space:nowrap}
@media(max-width:760px){
  .hp-services .svc-grid{grid-template-columns:repeat(2,1fr)}
  .hp-services .area-card{gap:6px;padding:16px}
  .hp-services .area-card .pin{font-size:1.7rem}
  .hp-services .area-card .sc-name{font-size:var(--fc-text-base)}
  .hp-services .area-card .sc-desc{font-size:var(--fc-text-xs)}
  .hp-services .area-card .sc-foot{flex-direction:column;align-items:stretch;gap:7px;padding-top:10px}
  .hp-services .area-card .sc-price{align-self:flex-start}
  .hp-services .area-card .sc-more{align-self:stretch;text-align:center;background:var(--fc-blue);color:#fff;padding:8px 10px}
}
@media(max-width:480px){.hp-services .svc-grid{grid-template-columns:1fr 1fr}}
.map-wrap{border-radius:var(--fc-radius-lg);overflow:hidden;box-shadow:var(--fc-shadow-md);border:1px solid var(--fc-line);line-height:0}
.map-wrap iframe{width:100%;height:340px;border:0}

/* ===== REVIEWS ===== */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review-card{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius);padding:22px;box-shadow:var(--fc-shadow)}
.review-card .stars{margin-bottom:8px}
.review-card .quote{font-size:var(--fc-text-base);color:var(--fc-ink-2);margin-bottom:12px}
.review-card .who{display:flex;align-items:center;gap:10px}
.review-card .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--fc-blue),var(--fc-orange));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Poppins',sans-serif;flex:none}
.review-card .who b{font-size:var(--fc-text-sm);display:block}
.review-card .who span{font-size:var(--fc-text-xs);color:var(--fc-slate)}
.review-card .gtag{display:inline-flex;align-items:center;gap:5px;font-size:var(--fc-text-xs);color:var(--fc-slate);margin-top:10px;padding-top:10px;border-top:1px dashed var(--fc-line)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.stat{text-align:center;background:var(--fc-blue-soft);border-radius:var(--fc-radius);padding:18px 10px}
.stat .num{font-size:var(--fc-text-2xl);font-weight:700;color:var(--fc-blue-dark);display:block}
.stat .lab{font-size:var(--fc-text-xs);color:var(--fc-slate);margin-top:2px}

/* ===== SUBSIDY BANNER ===== */
.subsidy{background:linear-gradient(135deg,var(--fc-gold),var(--fc-orange));color:#fff;border-radius:var(--fc-radius-lg);padding:26px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;box-shadow:var(--fc-shadow-md)}
.subsidy .ic{font-size:2.2rem;flex:none}
.subsidy h3{color:#fff;font-size:var(--fc-text-xl);margin-bottom:4px}
.subsidy p{color:#FFF4E8;font-size:var(--fc-text-sm)}
.subsidy .btn{margin-left:auto}

/* ===== FAQ (details-based, no JS) ===== */
.faq{display:grid;gap:12px;max-width:820px;margin:0 auto}
.faq details{background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius-sm);padding:4px 18px;box-shadow:var(--fc-shadow)}
.faq details summary{cursor:pointer;list-style:none;font-weight:700;font-size:var(--fc-text-md);color:var(--fc-ink);padding:14px 0;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq details summary::-webkit-details-marker{display:none}
.faq details summary::after{content:"+";font-family:'Poppins',sans-serif;font-weight:700;color:var(--fc-blue);font-size:1.1rem;flex:none;transition:transform .2s}
.faq details[open] summary::after{content:"–";transform:rotate(0)}
.faq details .ans{padding:0 0 16px;color:var(--fc-slate);font-size:var(--fc-text-base)}

/* ===== FINAL CTA ===== */
.final-cta{background:linear-gradient(160deg,var(--fc-red) 0%,#B40D1A 100%);color:#fff;text-align:center;padding:56px 0}
.final-cta .badge-emergency{background:rgba(255,255,255,.18);margin-bottom:14px}
.final-cta h2{color:#fff;font-size:var(--fc-text-3xl);margin-bottom:10px}
.final-cta p{color:#FFD9DC;font-size:var(--fc-text-md);max-width:620px;margin:0 auto 22px}
.final-cta .phone-big{display:inline-flex;align-items:center;gap:.5rem;font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(1.35rem,.75rem + 2.5vw,1.95rem);color:#fff;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.5);padding:.45rem 1.2rem;border-radius:5px;text-decoration:none;margin-bottom:18px}
.final-cta .phone-big:hover{background:rgba(255,255,255,.24);text-decoration:none}
.final-cta .cta-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.final-cta .trust-line{margin-top:18px;font-size:.95rem;line-height:1.6;color:#FFD9DC}

/* ===== BREADCRUMB ===== */
.breadcrumb{font-size:var(--fc-text-xs);color:var(--fc-slate);padding:14px 0}
.breadcrumb a{color:var(--fc-slate)}
.breadcrumb a:hover{color:var(--fc-blue)}
.breadcrumb span{margin:0 6px;color:var(--fc-slate-2)}

/* ===== TOWN QUICK-FACTS + HOOK CALLOUT ===== */
.quickfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.qf{display:flex;align-items:center;gap:10px;background:var(--fc-white);border:1px solid var(--fc-line);border-radius:var(--fc-radius);padding:12px 14px;box-shadow:var(--fc-shadow)}
.qf-ic{flex:none;width:30px;height:30px;color:var(--fc-blue);display:grid;place-items:center;position:relative}.qf-ic svg{width:26px;height:26px;display:block}
.qf b{display:block;font-size:var(--fc-text-sm);color:var(--fc-ink);line-height:1.2}
.qf span{display:block;font-size:var(--fc-text-xs);color:var(--fc-slate);margin-top:2px}
.town-hook{background:var(--fc-blue-soft);border-left:4px solid var(--fc-blue);border-radius:0 var(--fc-radius) var(--fc-radius) 0;padding:16px 18px;margin:20px 0;font-size:var(--fc-text-base);color:var(--fc-ink-2)}
.town-hook p{margin:0;line-height:1.6}
@media(max-width:760px){.quickfacts{grid-template-columns:1fr 1fr}}

/* ===== LICENSE BADGES ===== */
.license-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.license-badge{background:var(--fc-white);border:1.5px solid var(--fc-line);border-radius:var(--fc-radius);padding:10px 14px;font-size:var(--fc-text-xs);color:var(--fc-ink-2);display:flex;align-items:center;gap:8px;font-weight:600;box-shadow:var(--fc-shadow)}
.license-badge .ic{color:var(--fc-blue);font-size:1.1rem}
.license-badge b{color:var(--fc-blue-dark);font-family:'Poppins',sans-serif}

/* ===== FOOTER ===== */
.fc-footer{background:var(--fc-ink);color:#AEB9CC;padding:48px 0 26px;margin-bottom:0}
.fc-footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:20px;margin-bottom:30px}
.fc-footer h4{color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-size:var(--fc-text-md);margin-bottom:12px}
.fc-footer a{color:#AEB9CC;font-size:var(--fc-text-sm);display:block;padding:4px 0}
.fc-footer a:hover{color:#fff;text-decoration:none}
.fc-footer .brand{color:#fff;font-size:1.2rem;margin-bottom:10px}
.fc-footer .nap{font-size:var(--fc-text-sm);line-height:1.7}
.fc-footer .nap a{display:inline;color:#fff;font-weight:700}
.fc-footer .nap br{content:"";display:block;margin-bottom:6px}
.fc-footer .fbar{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:var(--fc-text-xs);color:#7E8A9E}
.fc-footer .fc-credit{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:var(--fc-text-xs);color:#6E798D}
.fc-footer .fc-credit a{display:inline;color:#9AA6BC;font-weight:600}
.fc-footer .fc-credit a:hover{color:#fff}
.fc-footer .f-col-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:980px){
  .fc-footer .fgrid{grid-template-columns:1fr 1fr}
  .fc-footer .f-col-wide{grid-column:1 / -1}
}
@media(max-width:760px){
  .fc-footer{padding:38px 0 60px}
}

/* ===== CONTENT PROSE ===== */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:var(--fc-text-2xl);margin:30px 0 12px}
.prose h3{font-size:var(--fc-text-lg);margin:22px 0 8px}
.prose p{margin-bottom:14px;color:var(--fc-ink-2)}
.prose ul{margin:0 0 14px 0;padding-left:28px}
.prose li{margin-bottom:7px;color:var(--fc-ink-2);padding-left:10px}
.prose .lead{font-size:var(--fc-text-md);color:var(--fc-slate)}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .areas-grid{grid-template-columns:repeat(3,1fr)}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .fc-footer .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .fc-nav .nav-links{display:none}
  .fc-nav .menu-btn{display:block}
  .fc-nav .brand{font-size:1.02rem}
  .fc-nav .brand .lg{width:28px;height:28px}
  .fc-nav .nav-cta{display:none}
  .section{padding:38px 0}
  .steps{grid-template-columns:1fr;gap:14px}
  .grid.cols-3,.grid.cols-4,.grid.cols-2{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .areas-grid{grid-template-columns:1fr 1fr}
  .reviews-grid{grid-template-columns:1fr}
  .trust-bar{grid-template-columns:1fr 1fr;gap:10px}
  .fc-footer .fgrid{grid-template-columns:1fr}
  .fc-callbar{display:flex}
  .fc-fab{bottom:68px;width:52px;height:52px}
  .fc-fab svg{width:26px;height:26px}
  .fc-footer{padding:42px 0 60px}
  .form .row2{grid-template-columns:1fr}
  .subsidy .btn{margin-left:0;width:100%}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .fc-topbar{font-size:.68rem;gap:.35rem;padding:6px 12px}
  .fc-topbar a{font-weight:700}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .trust-bar{grid-template-columns:1fr}
  .hero .cta-row .btn{flex:1}
}
@media print{.fc-topbar,.fc-nav,.fc-fab,.fc-callbar,.fc-mobile{display:none!important}.final-cta,.hero,.fc-footer{background:#fff!important;color:#000!important}.final-cta *,.hero *,.fc-footer *{color:#000!important}}
/* mobile trust-bar: clean wrapped icon+label strip (no boxes), short labels */
@media(max-width:760px){
  .trust-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;padding:12px 16px}
  .trust-item{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;font-weight:600;white-space:nowrap}
  .trust-item .ic{font-size:1.05rem;line-height:1;flex:none}
}
@media(max-width:480px){.trust-bar{padding:10px 14px}}
