/* Customer-first journey; shared across landing, booking and demo surfaces. */
[hidden] { display: none !important; }
.demo-banner { position:relative; z-index:110; padding:10px 24px; background:#f4deb9; color:#382711; font:500 13px/1.5 var(--font-body); text-align:center; }
.demo-banner a { color:inherit; text-decoration:underline; margin-left:12px; }
body.demo-mode #site-header { position:sticky; top:0; }
body.demo-mode #site-header.hdr-clear { position:sticky; top:0; background:#14110d; }
body.home-funnel .hero-offer p { color:#514a40; }
body.home-funnel .hero-offer .offer-price { color:#1b1814; }
body.home-funnel .sample-report p { color:#514a40; }
body.demo-mode .demo-label, body.demo-mode .demo-notice { color:#382711; }
body.demo-mode { padding-top:0; }
.demo-label { display:inline-block; padding:6px 10px; background:#f4deb9; color:#382711; font:600 12px/1.5 var(--font-body); letter-spacing:.02em; }
.demo-notice { background:#f4deb9; color:#382711; padding:16px 20px; font-size:14px; margin-bottom:24px; }
.demo-notice a { color:inherit; text-decoration:underline; }
.demo-only-note { color:#5b554c; font-size:14px; }
#main-nav { gap:22px; }
#main-nav > a { white-space:nowrap; }
.home-funnel #hero { min-height:650px; align-items:center; }
.home-funnel .hero-grid { padding:72px var(--gutter); grid-template-columns:minmax(0, 1fr) 310px; gap:64px; align-items:center; }
.home-funnel .hero-shade { background:linear-gradient(90deg,rgba(14,12,9,.96),rgba(14,12,9,.85) 48%,rgba(14,12,9,.35)); }
.home-funnel .hero-title { font-size:clamp(42px,4.8vw,70px); white-space:normal; max-width:15ch; line-height:1.03; }
.home-funnel .hero-title .accent { color:var(--amber); }
.home-funnel .hero-sub { max-width:51ch; color:#eee9e1; }
.home-funnel .hero-note { color:#e2dace; }
.home-funnel .hero-ctas .btn { font-size:16px; }
.hero-offer { padding:28px; background:#f2eee6; color:#1b1814; border-top:3px solid var(--ember); }
.hero-offer .offer-price { font:400 64px/1 var(--font-display); margin:16px 0; color:#1b1814; }
.hero-offer h2 { font:600 20px/1.3 var(--font-body); text-transform:none; color:#1b1814; }
.hero-offer p, .hero-offer li { color:#514a40; font-size:14px; }
.hero-offer ul { list-style:none; padding:16px 0; margin:16px 0; border-block:1px solid #c8c0b3; }
.hero-offer li { margin:9px 0; }
.hero-offer li::before { content:'✓'; color:#2f6b4f; margin-right:10px; }
.hero-offer a { color:#993509; font-weight:600; text-decoration:underline; font-size:15px; }
.hero-brandline { margin-top:22px; font:500 12px/1.5 var(--font-mono); color:#ddd2c2; letter-spacing:.08em; text-transform:uppercase; }
.home-funnel .section-title { font-family:var(--font-body); font-weight:600; text-transform:none; letter-spacing:-.035em; font-size:clamp(30px,3.5vw,46px); line-height:1.15; }
.home-funnel .section-desc { max-width:58ch; }
.home-funnel .band { padding-block:80px; }
.intent-intro { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:32px; }
.intent-intro .section-title { margin-bottom:0; }
.intent-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #bfb9af; }
.intent-link { display:grid; grid-template-columns:44px 1fr 24px; gap:16px; padding:28px 20px; border-bottom:1px solid #bfb9af; color:#1b1814; text-decoration:none; transition:background .15s; }
.intent-link:nth-child(odd) { border-right:1px solid #bfb9af; }
.intent-link:hover { background:#e1e0d6; }
.intent-link .num { color:#9b360f; font:500 13px/1.5 var(--font-mono); }
.intent-link strong { display:block; font-size:21px; line-height:1.3; margin-bottom:8px; }
.intent-link small { color:#5b554c; font-size:15px; }
.intent-link .arrow { color:#9b360f; font-size:24px; }
.intent-help { margin-top:24px; font-size:16px; color:#5b554c; }
.intent-help a { color:#923208; text-decoration:underline; font-weight:600; }
.evidence-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.evidence-copy p { color:#d8d1c6; }
.evidence-copy .section-title { color:#f2eee6; margin-top:18px; }
.case-facts { display:grid; gap:18px; margin:28px 0; }
.case-facts p { font-size:16px; margin:0; }
.case-facts strong { display:block; color:#fff; margin-bottom:4px; }
.comparison-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.comparison-pair figure { margin:0; }
.comparison-pair img { display:block; width:100%; height:290px; object-fit:cover; }
.comparison-pair figcaption { padding:10px 0; font:500 12px/1.5 var(--font-mono); color:#dfd5c5; }
.sample-report { background:#f2eee6; color:#1b1814; padding:24px; margin-top:22px; border-top:3px solid var(--ember); }
.sample-report summary { font-weight:600; cursor:pointer; font-size:17px; }
.sample-report p { color:#514a40; font-size:15px; margin-top:16px; }
.sample-report dl { display:grid; grid-template-columns:90px 1fr; gap:12px; font-size:14px; margin-top:20px; }
.sample-report dt { font-weight:600; }
.sample-report dd { margin:0; }
.sample-quote { border-top:1px solid #514b42; margin-top:48px; padding-top:28px; display:grid; grid-template-columns:1fr 2fr; gap:30px; }
.sample-quote blockquote { margin:0; font-size:23px; color:#eee7da; line-height:1.5; }
.sample-quote cite { display:block; font:400 13px/1.5 var(--font-body); margin-top:14px; color:#c8bdad; }
.visit-three { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:36px; }
.visit-three article { border-top:2px solid #bfb9af; padding-top:22px; }
.visit-three .num { font:500 13px var(--font-mono); color:#923208; }
.visit-three h3 { font:600 22px/1.3 var(--font-body); text-transform:none; margin:16px 0 12px; }
.visit-three p { color:#5b554c; }
.home-funnel .zones h3 { font-family:var(--font-body); text-transform:none; font-size:24px; font-weight:600; }
.home-funnel .zones h3 span { font-size:14px; }
.home-funnel #anatomy { padding-block:56px; }
.anatomy-disclosure > summary { cursor:pointer; list-style:none; padding-bottom:18px; }
.anatomy-disclosure > summary::after { content:'Explore the chimney ↓'; display:inline-block; margin-top:18px; color:#e8a857; text-decoration:underline; }
.anatomy-disclosure[open] > summary::after { content:'Close diagram ↑'; }
.home-funnel #seasonal { padding-block:40px; }
.home-funnel #seasonal .section-title { font-size:28px; }
.home-funnel .season h3 { font-family:var(--font-body); text-transform:none; font-size:18px; }
.home-funnel .area-group h3 { font-family:var(--font-body); text-transform:none; font-weight:600; font-size:20px; }
.home-funnel #closing .section-title { max-width:20ch; margin-inline:auto; }
.home-funnel .band-sky .btn-outline,.home-funnel .band-sky-2 .btn-outline { color:#1b1814; border-color:#817a70; }
.booking-progress { display:flex; gap:0; list-style:none; padding:0; margin:0 0 24px; }
.booking-progress li { flex:1; padding:14px 16px; border-bottom:3px solid #cbc6bd; color:#625b50; font-size:14px; }
.booking-progress [aria-current=step] { border-color:var(--ember); color:#923208; font-weight:600; }
.booking-next { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 32px; background:#f4f2ec; border-top:1px solid #d8d3ca; }
.booking-next p { color:#5b554c; font-size:14px; }
.booking-back { border:0; background:none; padding:12px 0; text-decoration:underline; color:#923208; cursor:pointer; font:500 15px var(--font-body); }
.schedule-hero { padding-top:36px; padding-bottom:24px; }
.schedule-hero-title { font:600 clamp(28px,4vw,42px)/1.15 var(--font-body); text-transform:none; letter-spacing:-.035em; }
.schedule-hero-sub { font-size:16px; }
.schedule-hero .inspection-fee-badge { margin-top:16px; }
.schedule-hero .accent-word { color:#a33409; }
.form-section-title { font-family:var(--font-body); text-transform:none; font-size:23px; letter-spacing:-.02em; }
.form-section-kicker { display:none; }
.schedule-form-body { padding:24px 32px; }
.form-section { padding:12px 0 24px; border-left:0; }
.form-section::before { display:none; }
.form-section-title { margin-bottom:20px; }
.booking-step-heading { font:600 20px/1.4 var(--font-body); margin:0 0 16px; }
.booking-error { color:#a63a2a; font-size:14px; padding:0 32px; }
.context-pill { background:#e3e6dd; color:#37322b; padding:10px 14px; font-size:14px; margin:16px 0; }
.demo-page { max-width:1140px; margin:auto; padding:48px 24px 80px; }
.demo-page h1 { font:600 clamp(32px,4vw,48px)/1.1 var(--font-body); text-transform:none; letter-spacing:-.04em; margin:20px 0; }
.demo-page h2 { font:600 24px/1.3 var(--font-body); text-transform:none; }
.demo-page > p { max-width:65ch; color:#5b554c; }
.pipeline-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:32px 0; }
.pipeline-metrics article { padding:20px; background:#fff; border:1px solid #d4cfc5; }
.pipeline-metrics strong { display:block; font-size:32px; }
.pipeline-metrics span { font-size:14px; color:#5b554c; }
.pipeline-list { display:grid; gap:12px; margin:28px 0; }
.pipeline-row { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:center; gap:16px; padding:20px; background:white; border:1px solid #d4cfc5; }
.pipeline-row small { display:block; color:#5b554c; }
.pipeline-row select { padding:10px; max-width:100%; border:1px solid #817a70; background:white; }
.callback-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; margin-top:28px; }
.callback-form { background:#fff; border-top:3px solid var(--ember); padding:28px; }
.callback-form .form-group { margin-bottom:18px; }
.callback-form label { display:block; font-size:14px; margin-bottom:8px; }
.callback-form input,.callback-form select { width:100%; min-height:48px; border:1px solid #9a9387; padding:10px; color:#1b1814; background:white; font:400 16px var(--font-body); }
.callback-form input[type=checkbox] { width:18px; min-height:18px; margin-right:8px; }
.callback-form .check-line { display:flex; align-items:start; line-height:1.5; }
.callback-form .check-line input { flex:none; margin-top:2px; }
.callback-form p { font-size:14px; color:#5b554c; }
.demo-success { padding:24px; background:#e8f1ec; color:#204c37; }
@media (max-width:1199px) and (min-width:1024px) { #main-nav { gap:14px; } #main-nav > a { font-size:13px; } .header-cta .header-call-text { display:none; } }
@media (max-width:1023px) {
  .home-funnel .hero-grid { grid-template-columns:1fr 280px; gap:28px; }
  .home-funnel .hero-title { font-size:48px; }
  .evidence-layout { gap:32px; }
  .pipeline-row { grid-template-columns:1fr 1fr; }
}
@media (max-width:767px) {
  .demo-banner { padding:8px 16px; font-size:12px; }
  .demo-banner a { display:inline-block; margin-left:6px; }
  .home-funnel #hero { min-height:0; }
  .home-funnel .hero-grid { grid-template-columns:1fr; padding:40px var(--gutter); }
  .home-funnel .hero-title { font-size:clamp(40px,10vw,58px); max-width:16ch; }
  .home-funnel .hero-shade { background:linear-gradient(90deg,rgba(14,12,9,.94),rgba(14,12,9,.73)); }
  .hero-offer { padding:22px; }
  .hero-offer .offer-price { font-size:48px; }
  .hero-offer ul { margin:12px 0; padding:8px 0; }
  .home-funnel .hero-ctas { flex-direction:column; align-items:stretch; }
  .home-funnel .hero-proof { display:none; }
  .home-funnel .band { padding-block:48px; }
  .intent-intro { display:block; }
  .intent-list,.evidence-layout,.visit-three,.sample-quote,.callback-layout { grid-template-columns:1fr; }
  .intent-link { padding:22px 0; grid-template-columns:30px 1fr 20px; gap:10px; }
  .intent-link:nth-child(odd) { border-right:0; }
  .intent-link strong { font-size:19px; }
  .comparison-pair img { height:210px; }
  .sample-quote { gap:18px; }
  .sample-quote blockquote { font-size:21px; }
  .sample-report { padding:20px; }
  .visit-three { gap:24px; }
  .schedule-form-body { padding:20px; }
  .booking-next { padding:20px; flex-wrap:wrap; }
  .booking-next .btn { width:100%; }
  .booking-progress li { padding:12px 8px; font-size:13px; }
  .pipeline-metrics { grid-template-columns:1fr 1fr; }
  .pipeline-row { padding:16px; }
  .callback-layout { gap:20px; }
  .callback-form { padding:22px; }
}
