/* ==============================================================================
   PAGE CSS  ->  assets/css/pages/underfloor-hub.css
   Namespace .hub- (page) and .syn- (shared, identical to sigenstor.css,
   underfloor-cost.css and water-underfloor.css).
   Scoped to .hub-page. Enqueue only on the hub page ID (new page, ID TBC).
   ============================================================================== */

/* ===== TOKENS (identical values to sigenstor.css) ===== */
.hub-page{
  --brand-primary:#a7be39;--brand-primary-dark:#8ea230;--brand-primary-light:#b4c857;
  --brand-gradient:linear-gradient(100deg,#a7be39 0%,rgba(167,190,57,0.73) 100%);
  --ink:#2d3940;--ink-soft:#4e4e4e;--muted:#636466;
  --ink-deep:#1e2a1a;--ink-deep-soft:#31402a;--ink-deep-overlay:rgba(20,30,17,0.88);
  --line:#e2e2e2;--bg:#ffffff;--bg-soft:#f7f8f4;--bg-panel:#fafbf6;
  --accent-warn:#d97706;
  --font-display:'Poppins',system-ui,sans-serif;--font-body:'Open Sans',system-ui,sans-serif;
  --shadow-md:0 8px 24px rgba(45,57,64,0.10);--shadow-lg:0 16px 40px rgba(45,57,64,0.14);
  --radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;
  --transition-base:0.2s ease;--transition-slow:0.25s ease;
  font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink-soft);
}

/* ===== SCOPED BASE ===== */
.hub-page *,.hub-page *::before,.hub-page *::after{box-sizing:border-box}
.hub-page img,.hub-page svg,.hub-page video,.hub-page iframe{display:block;max-width:100%}
.hub-page img{height:auto}
.hub-page button,.hub-page input,.hub-page select,.hub-page textarea{font:inherit;color:inherit}
.hub-page h1,.hub-page h2,.hub-page h3,.hub-page h4{font-family:var(--font-display);color:var(--ink);margin:0 0 .5em;line-height:1.2;font-weight:700;padding:0}
.hub-page h1{font-size:clamp(2rem,4.2vw,3.25rem);font-weight:800;letter-spacing:-0.02em}
.hub-page h2{font-size:clamp(1.65rem,2.8vw,2.25rem);letter-spacing:-0.01em}
.hub-page h3{font-size:1.35rem;font-weight:600}
.hub-page h4{font-size:1.1rem;font-weight:600}
.hub-page p{margin:0 0 1em}
.hub-page a{color:var(--brand-primary-dark);text-decoration:none;transition:color var(--transition-base)}
.hub-page a:hover{color:var(--brand-primary)}
.hub-page ul,.hub-page ol{margin:0 0 1em;padding-left:1.5em}
.hub-page li{margin-bottom:.4em}
.hub-page .container{max-width:1180px;margin:0 auto;padding:0 24px}
.hub-page .container-narrow{max-width:960px;margin:0 auto;padding:0 24px}
.hub-page .btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:12px 26px;border-radius:var(--radius-pill);cursor:pointer;border:2px solid transparent;transition:all var(--transition-slow);text-decoration:none;line-height:1.3;white-space:normal;text-transform:none;letter-spacing:0}
.hub-page .btn::after{content:'\2192';display:inline-block;transition:transform var(--transition-slow)}
.hub-page .btn:hover::after{transform:translateX(4px)}
.hub-page .btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 14px rgba(167,190,57,.35)}
.hub-page .btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(167,190,57,.45)}
.hub-page .btn-white{background:#fff;color:var(--brand-primary-dark);border-color:#fff}
.hub-page .btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--brand-primary-dark);background:#fff}

/* ===== SHARED SECTION FURNITURE (syn-) ===== */
.syn-section{padding:70px 0}
.syn-section-soft{padding:70px 0;background:var(--bg-soft)}
.syn-section-dark{padding:70px 0;background:var(--ink-deep);color:rgba(255,255,255,.86)}
.syn-section-dark h2,.syn-section-dark h3{color:#fff}
.syn-head{text-align:center;max-width:760px;margin:0 auto 44px}
.syn-eyebrow{display:block;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-primary-dark);margin-bottom:10px}
.syn-section-dark .syn-eyebrow{color:var(--brand-primary)}
.syn-lede{font-size:1.05rem}
.syn-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.syn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.syn-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px}

/* ===== HYD PAGE LAYER ===== */
/* Breadcrumb */
.hub-page .breadcrumb{font-size:.85rem;padding:14px 0;color:var(--muted)}
.hub-page .breadcrumb ol{list-style:none;display:flex;gap:8px;margin:0;padding:0;flex-wrap:wrap}
.hub-page .breadcrumb li{margin:0}
.hub-page .breadcrumb li+li::before{content:"/";margin-right:8px;color:#b7bfc8}
.hub-page .breadcrumb a{color:var(--muted)}
.hub-page .breadcrumb a:hover{color:var(--brand-primary-dark)}


/* Hero */
.hub-hero{position:relative;color:#fff;padding:96px 0 84px;overflow:hidden;background:var(--ink-deep)}
.hub-hero .container{position:relative;z-index:2}
.hub-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:hub-hero-rotate 24s infinite;will-change:opacity}
.hub-hero-bg-1{animation-delay:0s}.hub-hero-bg-2{animation-delay:-6s}.hub-hero-bg-3{animation-delay:-12s}.hub-hero-bg-4{animation-delay:-18s}
@keyframes hub-hero-rotate{0%{opacity:0}4%{opacity:.38}21%{opacity:.38}25%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.hub-hero-bg{animation:none}.hub-hero-bg-1{opacity:.38}}
.hub-hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,var(--ink-deep-overlay) 0%,rgba(20,30,17,.80) 42%,rgba(20,30,17,.42) 100%)}
.hub-hero h1{color:#fff;max-width:900px}
.hub-hero h1 em{font-style:normal;color:var(--brand-primary)}
.hub-hero-badge{display:inline-block;background:rgba(167,190,57,.22);border:1px solid var(--brand-primary);color:#fff;font-family:var(--font-display);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;border-radius:var(--radius-pill);margin-bottom:20px}
.hub-hero-lede{font-size:1.1rem;max-width:640px;color:rgba(255,255,255,.9)}
.hub-hero-fact{display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap;margin:28px 0 26px;padding:22px 26px;background:rgba(0,0,0,.34);border-left:4px solid var(--brand-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:720px}
.hub-hero-fact-num{font-family:var(--font-display);font-size:2.3rem;font-weight:800;color:#fff;line-height:1}
.hub-hero-fact-lbl{font-size:.85rem;color:rgba(255,255,255,.82);margin-top:6px}
.hub-hero-fact-vs{font-size:.85rem;color:rgba(255,255,255,.82);max-width:320px;border-left:1px solid rgba(255,255,255,.28);padding-left:22px}
.hub-hero-fact-vs b{color:#fff;display:block;margin-bottom:2px}
.hub-hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hub-hero-anchors{margin-top:22px;font-size:.9rem}
.hub-hero-anchors a{color:rgba(255,255,255,.85);margin-right:18px;border-bottom:1px solid rgba(167,190,57,.5)}
.hub-hero-anchors a:hover{color:var(--brand-primary)}

/* Trust bar */
.hub-trust{background:var(--ink-deep);padding:0}
.hub-trust-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.hub-trust-item{padding:26px 12px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.hub-trust-item:last-child{border-right:0}
.hub-trust-num{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--brand-primary)}
.hub-trust-lbl{font-size:.72rem;color:rgba(255,255,255,.72);line-height:1.35;margin-top:4px}

/* Answer block */
.hub-answer{max-width:900px;margin:0 auto;background:var(--bg-panel);border-left:5px solid var(--brand-primary);padding:26px 30px;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:1.05rem;color:var(--ink);box-shadow:0 2px 8px rgba(45,57,64,.04)}
.hub-answer strong{color:var(--brand-primary-dark)}
.hub-answer p:last-child{margin-bottom:0}

/* Video (click-to-play) */
.hub-video-wrap{max-width:960px;margin:0 auto 40px}
.hub-video{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);background:#000;aspect-ratio:16/9;cursor:pointer}
.hub-video img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9;transition:opacity var(--transition-base)}
.hub-video:hover img{opacity:1}
.hub-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hub-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform var(--transition-base)}
.hub-video:hover .hub-play{transform:translate(-50%,-50%) scale(1.06)}

/* Member pills */
.hub-pills{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.hub-pill{display:inline-block;font-family:var(--font-display);font-size:.78rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-pill);background:#f3f7e6;color:var(--ink);border:1px solid #dfe8bf}

/* Benefit cards */
.hub-benefit{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px}
.hub-benefit-icon{width:52px;height:52px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--brand-primary-dark);margin-bottom:16px}
.hub-benefit-icon svg{width:26px;height:26px}
.hub-benefit h3{font-size:1.15rem}
.hub-benefit p{font-size:.92rem;margin:0}

/* Component cards (photo on top) */
.hub-comp{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}
.hub-comp img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg-soft)}
.hub-comp-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.hub-comp h3{font-size:1.15rem;margin-bottom:2px}
.hub-comp .hub-sub{font-size:.78rem;color:var(--muted);font-family:var(--font-display);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.hub-comp ul{padding-left:18px;margin:0 0 12px;font-size:.9rem}
.hub-comp li{margin-bottom:4px}
.hub-comp p{font-size:.9rem;margin:0 0 auto}
.hub-comp .btn{align-self:flex-start;margin-top:16px}

/* Tables */
.hub-tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);max-width:1000px;margin:0 auto}
.hub-tbl{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg)}
.hub-tbl th,.hub-tbl td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.hub-tbl thead th{background:var(--ink-deep);color:#fff;font-family:var(--font-display);font-weight:600}
.hub-tbl thead th.hub-hl{background:var(--brand-primary);color:#fff}
.hub-tbl td.hub-hl{background:#f3f7e6;font-weight:600;color:var(--ink)}
.hub-tbl tbody th{font-family:var(--font-display);font-weight:600;color:var(--ink);position:sticky;left:0;background:var(--bg);z-index:1;box-shadow:1px 0 0 var(--line);min-width:160px}
.hub-tbl thead th:first-child{position:sticky;left:0;z-index:2}
.hub-tbl-note{font-size:.85rem;color:var(--muted);margin-top:14px;max-width:1000px;margin-left:auto;margin-right:auto}
.hub-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:1180px;margin:0 auto}
.hub-spec-grid figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px}
.hub-spec-grid figcaption{font-size:.8rem;color:var(--muted);padding:6px 8px 2px}

/* Honest box */
.hub-honest{border-left:5px solid var(--accent-warn);background:#fdf6e9;padding:24px 28px;border-radius:0 var(--radius-md) var(--radius-md) 0;margin:26px auto 0;max-width:1000px}
.hub-honest h3{margin-top:0}
.hub-honest p:last-child{margin-bottom:0}

/* Steps (icons, not numbers) */
.hub-steps{max-width:900px;margin:0 auto}
.hub-step{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.hub-step:last-child{border-bottom:0}
.hub-step-icon{flex:0 0 52px;height:52px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--brand-primary-dark)}
.hub-step-icon svg{width:24px;height:24px}
.hub-step h3{font-size:1.15rem;margin-bottom:4px}
.hub-step p{margin:0;font-size:.95rem}

/* Stat trio */
.hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto 26px;text-align:center}
.hub-stat{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px 20px}
.hub-stat.featured{border-color:var(--brand-primary);box-shadow:0 12px 34px rgba(167,190,57,.16)}
.hub-stat .n{font-family:var(--font-display);font-weight:800;font-size:1.9rem;color:var(--brand-primary-dark);line-height:1.1}
.hub-stat .k{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink);margin-top:8px}
.hub-stat .l{font-size:.85rem;color:var(--muted);margin-top:6px}

/* FAQ */
.hub-faq{max-width:900px;margin:0 auto}
.hub-faq details{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:var(--bg)}
.hub-faq summary{padding:16px 20px;font-family:var(--font-display);font-weight:600;color:var(--ink);cursor:pointer}
.hub-faq-answer{padding:0 20px 18px;font-size:.94rem;max-width:78ch}

/* Hub */
.hub-hub{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hub-hub a{border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;background:var(--bg);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:.95rem;transition:all var(--transition-base)}
.hub-hub a:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.hub-hub a span{display:block;font-family:var(--font-body);font-weight:400;color:var(--muted);font-size:.85rem;margin-top:4px}

/* Reviews */
.hub-agg{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:0 auto 30px;font-size:1rem}
.hub-agg .stars{color:#e8b400;font-size:1.4rem;letter-spacing:2px}
.hub-agg strong{font-family:var(--font-display);font-size:1.4rem;color:var(--ink)}
.hub-review{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column}
.hub-review .stars{color:#e8b400;font-size:1rem;letter-spacing:2px;margin-bottom:10px}
.hub-review blockquote{margin:0 0 16px;font-size:.92rem;color:var(--ink-soft);flex:1}
.hub-review footer{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.hub-review footer strong{color:var(--ink);font-family:var(--font-display)}
.hub-review .tag{background:#f3f7e6;color:var(--brand-primary-dark);font-family:var(--font-display);font-weight:600;font-size:.72rem;padding:2px 9px;border-radius:var(--radius-pill)}
.hub-reviews-cta{text-align:center;margin:28px 0 0;font-size:.95rem}

/* About stats (dark strip) */
.hub-about-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;max-width:1100px;margin:30px auto 0;text-align:center}
.hub-about-stat .n{font-family:var(--font-display);font-weight:800;font-size:1.8rem;color:var(--brand-primary);line-height:1.1}
.hub-about-stat .l{font-size:.8rem;color:rgba(255,255,255,.75);margin-top:6px}

/* Coverage */
.hub-cov h3{font-size:1.15rem}
.hub-cov .reg{font-size:.9rem;color:var(--ink-soft);margin-bottom:12px}
.hub-cov .addr{font-size:.88rem;color:var(--muted);margin-bottom:16px}

/* Accreditations */
.hub-accred{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:1180px;margin:0 auto}
.hub-accred-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px 22px;text-align:center}
.hub-accred-logo{display:flex;align-items:center;justify-content:center;height:76px;margin-bottom:16px}
.hub-accred-logo img,.hub-accred-logo svg{max-height:100%;max-width:100%;object-fit:contain}
.hub-accred-card h3{font-size:1rem;margin-bottom:8px}
.hub-accred-card p{font-size:.85rem;margin:0;color:var(--muted)}

/* Final CTA + form */
.hub-finalcta{background:linear-gradient(135deg,var(--ink-deep-soft),var(--ink-deep));color:#fff;text-align:center;padding:70px 0}
.hub-finalcta h2{color:#fff}
.hub-finalcta > .container > p{color:rgba(255,255,255,.88);max-width:680px;margin:0 auto 30px}
.hub-form{background:var(--bg);color:var(--ink-soft);border-radius:var(--radius-lg);padding:34px;max-width:760px;margin:0 auto;box-shadow:var(--shadow-lg);text-align:left}
.hub-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hub-field{display:flex;flex-direction:column}
.hub-field.hub-full{grid-column:1 / -1}
.hub-field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:6px;font-family:var(--font-display)}
.hub-field label .req{color:var(--brand-primary-dark);margin-left:2px}
.hub-field input,.hub-field select{padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:.92rem;background:#fff}
.hub-field textarea{padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:.92rem;background:#fff;min-height:90px;resize:vertical}
.hub-field input:focus,.hub-field select:focus,.hub-field textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(167,190,57,.18)}
.hub-field .hub-err{font-size:.78rem;color:#c0392b;min-height:16px;margin-top:4px}
.hub-radios{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.hub-radio{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-size:.9rem;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--font-body);color:var(--ink-soft)}
.hub-radio input{width:auto;margin-top:3px}
.hub-consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--ink-soft);margin-top:16px;line-height:1.5}
.hub-consent input{width:17px;height:17px;accent-color:var(--brand-primary);margin-top:3px;flex-shrink:0}
.hub-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hub-form-error{display:none;background:#fdf3f1;border:1px solid #f5c6c1;color:#c0392b;padding:12px 16px;border-radius:var(--radius-sm);font-size:.88rem;margin-bottom:16px;text-align:center}
.hub-form-error.is-visible{display:block}
.hub-form-fine{font-size:.85rem;color:var(--muted);margin:16px 0 0}
.hub-submit{margin-top:22px;width:100%;justify-content:center}
.hub-cta-alt{margin-top:22px;font-size:.9rem;color:rgba(255,255,255,.85)}
.hub-cta-alt a{color:var(--brand-primary)}

/* Floating mobile CTA */
.hub-page .float-cta{position:fixed;right:16px;bottom:16px;z-index:90;background:var(--brand-primary);color:#fff;padding:14px 22px;border-radius:50px;font-family:var(--font-display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 8px 24px rgba(0,0,0,.25);display:none}
@media(max-width:980px){.hub-page .float-cta.visible{display:inline-block}}
.hub-page .float-cta:hover{background:var(--brand-primary-dark);color:#fff}

/* Responsive */
@media(max-width:960px){
  .syn-grid-2,.syn-grid-3,.hub-form-grid,.hub-stats,.hub-radios,.hub-spec-grid{grid-template-columns:1fr}
  .hub-hub{grid-template-columns:repeat(2,1fr)}
  .hub-about-stats{grid-template-columns:repeat(3,1fr)}
  .hub-trust-grid{grid-template-columns:repeat(2,1fr)}
  .hub-trust-item{border-bottom:1px solid rgba(255,255,255,.1)}
  .syn-section,.syn-section-soft,.syn-section-dark,.hub-finalcta{padding:48px 0}
  .hub-hero{padding:64px 0 56px}
  .hub-hero-fact{gap:18px}
  .hub-hero-fact-vs{border-left:0;padding-left:0;max-width:none}
}
@media(max-width:500px){
  .hub-hero-fact-num{font-size:1.8rem}
  .hub-hub{grid-template-columns:1fr}
  .hub-about-stats{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion: reduce){
  .hub-page *{animation:none !important;transition:none !important}
}

/* ===== HUB EXTRAS (this page only) ===== */
/* Decision cards */
.hub-decide{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.hub-decide-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:0;overflow:hidden;display:flex;flex-direction:column}
.hub-decide-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg-soft)}
.hub-decide-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.hub-decide-body .hub-sub{font-size:.76rem;color:var(--brand-primary-dark);font-family:var(--font-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.hub-decide-body h3{font-size:1.2rem;margin-bottom:8px}
.hub-decide-body p{font-size:.93rem;margin:0 0 12px}
.hub-decide-body ul{font-size:.9rem;padding-left:18px;margin:0 0 auto}
.hub-decide-body li{margin-bottom:4px}
.hub-decide-body .btn{align-self:flex-start;margin-top:18px}
.hub-decide-card.is-water{border-top:5px solid var(--brand-primary)}
.hub-decide-card.is-electric{border-top:5px solid var(--accent-warn)}
.hub-decide-card.is-wall{border-top:5px solid #5f6c79}

/* Comparison table: two highlighted columns */
.hub-tbl thead th.hub-w{background:var(--brand-primary);color:#fff}
.hub-tbl thead th.hub-e{background:var(--accent-warn);color:#fff}
.hub-tbl td.hub-w{background:#f3f7e6}
.hub-tbl td.hub-e{background:#fdf6e9}
.hub-tbl thead th.hub-c{background:#5f6c79;color:#fff}
.hub-tbl td.hub-c{background:#eef1f4}
.hub-tbl th,.hub-tbl td{min-width:200px}
.hub-tbl tbody th{min-width:150px}
.hub-tbl td strong{color:var(--ink)}
.hub-tbl td small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}

/* Three questions */
.hub-q{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.hub-q-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px}
.hub-q-card .n{font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--brand-primary-dark);line-height:1;margin-bottom:10px}
.hub-q-card h3{font-size:1.15rem;margin-bottom:12px}
.hub-q-card p{font-size:.92rem;margin:0 0 10px}
.hub-q-card p:last-child{margin:0}
.hub-q-card b{color:var(--ink)}

/* How each works: two figures */
.hub-how{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:1180px;margin:0 auto}
.hub-how figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;height:100%}
.hub-how figcaption{font-size:.8rem;color:var(--muted);padding:6px 8px 2px}
.hub-how h3{margin:0 0 6px;padding:8px 8px 0}
.hub-how .hub-how-txt{padding:0 8px;font-size:.92rem}
.hub-how .hub-how-txt p{margin:0 0 .8em}

/* Wall heating section */
.hub-wall{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;align-items:start;max-width:1180px;margin:0 auto}
.hub-wall figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px}
.hub-wall figcaption{font-size:.8rem;color:var(--muted);padding:6px 8px 2px}
.hub-wall-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}
.hub-wall-fact{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}
.hub-wall-fact .n{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--brand-primary-dark);line-height:1.1}
.hub-wall-fact .l{font-size:.82rem;color:var(--muted);margin-top:4px}

/* Wall heating photo strip */
.hub-wall-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1180px;margin:32px auto 0}
.hub-wall-photos figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;padding:0}
.hub-wall-photos img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--bg-soft)}
.hub-wall-photos figcaption{font-size:.82rem;color:var(--muted);padding:10px 12px 12px;line-height:1.45}
.hub-wall-photos figcaption b{display:block;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:.86rem;margin-bottom:2px}
@media(max-width:960px){.hub-wall-photos{grid-template-columns:1fr 1fr}}

/* Next steps */
.hub-next{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.hub-next-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;display:flex;gap:18px}
.hub-next-card .hub-step-icon{flex:0 0 52px}
.hub-next-card h3{font-size:1.1rem;margin-bottom:6px}
.hub-next-card p{font-size:.92rem;margin:0}

@media(max-width:960px){
  .hub-decide,.hub-q,.hub-how,.hub-next,.hub-wall{grid-template-columns:1fr}
}

/* Form success (inserted by ufh-hub.js on mail_sent) */
.hub-form-success{background:#f3f7e6;border:1px solid var(--brand-primary);color:var(--ink);padding:22px 26px;border-radius:var(--radius-md);max-width:760px;margin:0 auto;text-align:left;font-size:1rem}
.hub-form-success strong{display:block;font-family:var(--font-display);margin-bottom:6px;color:var(--brand-primary-dark)}
