/* =============================================================
   HELPING OTTAWA HOMEOWNERS — styles.css
   ============================================================= */


/* ── TOKENS ── */
:root {
  --bg:        #111827;
  --surface:   #0F172A;
  --card:      #1F2937;
  --border:    #374151;
  --bdim:      rgba(255,255,255,.07);
  --text:      #FFFFFF;
  --sec:       #E2E5EA;
  --muted:     #B4BAC6;
  --accent:    #C62828;
  --accent-h:  #E53935;
  --adim:      rgba(198,40,40,.11);
  --abdr:      rgba(198,40,40,.22);
  --util-h:    36px;
  --nav-h:     92px;
  --max:       1280px;
  --tr:        .18s ease;
  --r:         10px;
  --rlg:       14px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ── LAYOUT ── */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 5%}
.sec{padding:96px 0}
.sec--dark{background:var(--surface)}
.sec--grey{background:#F9FAFB}
.sec--card{background:var(--card)}
.sec--red{background:var(--accent)}

/* ── TYPE ── */
.serif{font-family:'Fraunces',Georgia,serif;font-weight:300;letter-spacing:-.025em;line-height:1.07;color:var(--text)}
.serif em{font-style:italic;color:var(--accent)}
.display-xl{font-size:clamp(46px,6vw,82px)}
.display-lg{font-size:clamp(32px,4.2vw,54px)}
.display-md{font-size:clamp(28px,3.5vw,44px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.eyebrow-line{width:20px;height:1.5px;background:var(--accent);border-radius:1px;flex-shrink:0}
.lead{font-size:17px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.62)}
.lead--dark{color:var(--muted)}
.body{font-size:14px;font-weight:300;line-height:1.75;color:#C4C9D4}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:6px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;letter-spacing:.01em;border:none;cursor:pointer;transition:background var(--tr),transform var(--tr),box-shadow var(--tr);white-space:nowrap;text-decoration:none}
.btn svg{width:15px;height:15px;transition:transform var(--tr);flex-shrink:0}
.btn:hover svg{transform:translateX(3px)}
.btn-red{background:var(--accent);color:#fff;box-shadow:0 4px 18px rgba(198,40,40,.3)}
.btn-red:hover{background:var(--accent-h);transform:translateY(-2px);box-shadow:0 8px 26px rgba(198,40,40,.38)}
.btn-ghost{background:transparent;color:rgba(255,255,255,.65);border:1.5px solid rgba(255,255,255,.18)}
.btn-ghost:hover{border-color:rgba(255,255,255,.44);color:#fff;background:rgba(255,255,255,.04)}
.btn-white{background:#fff;color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.14)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.2)}
.btn-sm{padding:9px 18px;font-size:13px}
.btn-full{width:100%;justify-content:center}

/* ── NAV ── */
.nav{position:fixed;top:var(--util-h);left:0;right:0;z-index:500;height:var(--nav-h);background:rgba(17,24,39,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--bdim)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.nav-mark{width:60px;height:60px;background:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-mark svg{width:30px;height:30px}
.nav-wordmark-top{font-size:19px;font-weight:700;color:#fff;letter-spacing:-.015em;line-height:1.2}
.nav-wordmark-top span{color:var(--accent)}
.nav-wordmark-sub{font-size:12px;color:rgba(255,255,255,.4);letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{font-size:13.5px;font-weight:500;color:rgba(255,255,255,.58);transition:color var(--tr)}
.nav-links a:hover{color:#fff}
.nav-cta{background:var(--accent)!important;color:#fff!important;padding:10px 20px!important;border-radius:6px!important;font-weight:600!important;font-size:13px!important;transition:background var(--tr),transform var(--tr)!important}
.nav-cta:hover{background:var(--accent-h)!important;transform:translateY(-1px)!important}
.nav-tog{display:none;background:none;border:none;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer;padding:4px 6px;line-height:1}

/* ── PARLIAMENT BG ── */
.parl{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.parl svg{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(15,23,42,.96) 0%,rgba(15,23,42,.93) 38%,rgba(15,23,42,.48) 62%,rgba(15,23,42,.18) 100%)}

/* ── HERO ── */
.hero{min-height:100vh;background:var(--surface);position:relative;overflow:hidden;display:flex;align-items:center;padding-top:calc(var(--util-h) + var(--nav-h))}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 420px;gap:76px;align-items:start;padding:52px 0 64px}
.hero-left{display:flex;flex-direction:column}
.hero-h1{margin-bottom:22px}
.hero-body{max-width:460px;margin-bottom:20px}
.hero-support{font-size:15px;font-weight:400;color:rgba(255,255,255,.55);line-height:1.7;max-width:440px;margin-bottom:40px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hero-trust{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(255,255,255,.07)}
.ti{display:flex;align-items:center;gap:7px}
.ti-ico{color:var(--accent);flex-shrink:0}
.ti-ico svg{width:14px;height:14px}
.ti span{font-size:12px;color:rgba(255,255,255,.37)}

/* ── FORM CARD ── */
.form-card{background:rgba(31,41,55,.9);border:1px solid rgba(255,255,255,.09);border-radius:var(--rlg);overflow:hidden;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 20px 44px rgba(0,0,0,.32)}
.fc-head{padding:26px 28px 0}
.fc-tag{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.fc-title{font-size:17px;font-weight:500;color:#fff;line-height:1.4;margin-bottom:4px}
.fc-sub{font-size:13px;font-weight:300;color:rgba(255,255,255,.55);line-height:1.6;margin-bottom:20px}
.fc-rule{height:1px;background:rgba(255,255,255,.07);margin:0 28px}
.fc-body{padding:20px 28px 26px}
.fc-lock{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:12px;font-size:11px;color:rgba(255,255,255,.45)}
.fc-lock svg{width:11px;height:11px;opacity:.4;flex-shrink:0}

/* ── FORM FIELDS ── */
.fg{margin-bottom:10px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fg label{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:7px;padding:11px 14px;font-family:'Inter',sans-serif;font-size:13px;color:rgba(255,255,255,.85);outline:none;appearance:none;-webkit-appearance:none;transition:border-color var(--tr),background var(--tr)}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.45)}
.fg select{color:rgba(255,255,255,.38);cursor:pointer}
.fg select option{background:#1F2937;color:#fff}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:rgba(198,40,40,.5);background:rgba(255,255,255,.07)}
.fg textarea{min-height:64px;resize:none;line-height:1.6}
.fg-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0 14px}
.fg-check input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--accent);cursor:pointer;-webkit-appearance:checkbox;appearance:checkbox;opacity:1;}
.fg-check label{font-size:12px;font-weight:300;color:rgba(255,255,255,.55);line-height:1.65;text-transform:none;letter-spacing:0}
.btn-form{width:100%;background:var(--accent);color:#fff;border:none;border-radius:7px;padding:14px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 14px rgba(198,40,40,.25);transition:background var(--tr),transform var(--tr)}
.btn-form:hover{background:var(--accent-h);transform:translateY(-1px)}
.form-success{display:none;padding:28px;text-align:center;min-height:280px}
.form-success.show{display:flex;flex-direction:column;justify-content:center}
.form-success-icon{font-size:40px;margin-bottom:12px}
.form-success-icon--success{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.4);color:#22C55E;font-size:30px;font-weight:700;line-height:1}
.form-success-title{font-size:19px;font-weight:600;color:#fff;margin-bottom:8px}
.form-success-body{font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:18px}
.form-success-body:last-child{margin-bottom:0}
.form-success-urgent{padding-top:4px}
.form-success-urgent a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.form-success-steps{text-align:left;font-size:13px;color:var(--sec);line-height:2.1;padding-left:18px}
.form-main.hide{display:none}

/* ── CONTRAST STRIP ── */
.contrast-strip{background:var(--bg);border-top:2px solid var(--accent);border-bottom:1px solid rgba(255,255,255,.06);padding:20px 0}
.contrast-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;max-width:860px;margin:0 auto}
.contrast-col{text-align:center}
.contrast-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.contrast-items{list-style:none;display:flex;flex-direction:column;gap:6px}
.contrast-items li{font-size:14px;font-weight:300;color:rgba(255,255,255,.45)}
.contrast-items.hoh li{color:var(--sec)}
.contrast-items.hoh li::before{content:"✓ ";color:var(--accent);font-weight:600}
.contrast-arrow{font-size:28px;color:rgba(255,255,255,.15)}

/* ── WHY CARDS ── */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}
.why-card{background:var(--card);padding:34px 26px;transition:background var(--tr)}
.why-card:hover{background:rgba(198,40,40,.07)}
.wc-icon{width:46px;height:46px;border-radius:11px;background:var(--adim);border:1px solid var(--abdr);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.wc-icon svg{width:22px;height:22px;color:var(--accent)}
.why-card h3{font-size:15px;font-weight:600;color:#fff;margin-bottom:9px}
.why-card p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}

/* ── HOW STEPS ── */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;max-width:960px;margin:0 auto}
.how-grid::before{content:'';position:absolute;top:28px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:1px;background:linear-gradient(to right,var(--accent),rgba(198,40,40,.1));z-index:0}
.how-step{text-align:center;padding:0 18px;position:relative;z-index:1}
.how-num{width:56px;height:56px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'Fraunces',serif;font-size:20px;font-weight:400;font-style:italic;color:#fff}
.how-step h3{font-size:14px;font-weight:600;color:#fff;margin-bottom:7px}
.how-step p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* ── SERVICE CARDS ── */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.svc-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:26px 22px;display:flex;flex-direction:column;gap:10px;transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr)}
.svc-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 32px rgba(198,40,40,.1)}
.svc-icon{width:48px;height:48px;border-radius:11px;background:var(--adim);border:1px solid var(--abdr);display:flex;align-items:center;justify-content:center;font-size:22px;transition:background var(--tr)}
.svc-card:hover .svc-icon{background:var(--accent)}

/* ── SERVICE CARD IMAGE ── */
.svc-img-wrap{
  margin:-1px -1px 0;        /* bleed to card edge, cover the border */
  border-radius:11px 11px 0 0;
  overflow:hidden;
  flex-shrink:0;
}
.svc-card-img{
  display:block;
  width:100%;
  height:160px;              /* fixed height — card width is fluid */
  object-fit:cover;          /* fills the box, crops excess, no stretch */
  object-position:center 30%; /* bias upward so faces/work area stay visible */
  transition:transform .28s ease,filter .28s ease;
  filter:brightness(.92);
}
.svc-card:hover .svc-card-img{
  transform:scale(1.04);
  filter:brightness(1);
}
.svc-name{font-size:15px;font-weight:600;color:#fff}
.svc-desc{font-size:13px;font-weight:300;color:var(--muted);line-height:1.65;flex:1}
.svc-link{font-size:12px;font-weight:500;color:var(--accent);margin-top:auto;display:flex;align-items:center;gap:4px}

/* ── EVAL CARDS ── */
.eval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.eval-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:26px 22px;transition:border-color var(--tr)}
.eval-card:hover{border-color:var(--abdr)}
.eval-num{font-family:'Fraunces',serif;font-size:28px;font-weight:300;font-style:italic;color:var(--accent);margin-bottom:10px;line-height:1}
.eval-card h3{font-size:14px;font-weight:600;color:#fff;margin-bottom:7px}
.eval-card p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}
.eval-note{margin-top:44px;padding:26px 30px;background:var(--adim);border:1px solid var(--abdr);border-radius:12px;max-width:660px}
.eval-note p{font-size:15px;font-weight:300;font-style:italic;color:#E8EAF0;line-height:1.85}

/* ── WHY STARTED ── */
.why-started{max-width:700px;margin:0 auto;text-align:center;padding:0 24px}
.why-started p{font-size:17px;font-weight:300;color:var(--sec);line-height:1.9;margin-bottom:18px}
.why-started p:last-child{margin-bottom:0;font-size:15px;color:var(--muted)}

/* ── INLINE FORM ── */
.form-section-wrap{max-width:680px;margin:0 auto}
.form-light{background:var(--card);border:1px solid var(--border);border-radius:var(--rlg);padding:36px 40px}
.form-light .fg input,.form-light .fg select,.form-light .fg textarea{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.form-section-wrap .fc-lock{color:var(--muted)}

/* ── FAQ ── */
.faq-wrap{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-btn{width:100%;background:none;border:none;text-align:left;padding:22px 0;font-family:'Inter',sans-serif;font-size:15px;font-weight:500;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;letter-spacing:.01em}
.faq-btn:hover{color:rgba(255,255,255,.72)}
.faq-icon{font-size:22px;color:var(--accent);transition:transform .26s ease;flex-shrink:0;line-height:1}
.faq-answer{font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;padding-bottom:20px;display:none}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* ── REVIEW CARDS ── */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.rv-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:26px 22px;position:relative}
.rv-card::before{content:'"';font-family:'Fraunces',serif;font-size:60px;font-weight:300;color:var(--accent);opacity:.14;position:absolute;top:8px;left:14px;line-height:1}
.rv-stars{color:var(--accent);font-size:13px;letter-spacing:1.5px;margin-bottom:10px}
.rv-text{font-size:14px;font-weight:300;font-style:italic;color:var(--sec);line-height:1.78;margin-bottom:18px}
.rv-by{display:flex;align-items:center;gap:10px}
.rv-av{width:34px;height:34px;border-radius:50%;background:var(--adim);border:1px solid var(--abdr);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--accent);flex-shrink:0}
.rv-name{font-size:13px;font-weight:600;color:#fff}
.rv-loc{font-size:11px;color:var(--muted)}

/* ── CTA STRIP ── */
.cta-strip{background:var(--accent);padding:80px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-left h2{font-family:'Fraunces',serif;font-size:clamp(24px,3.5vw,42px);font-weight:300;font-style:italic;color:#fff;line-height:1.1;margin-bottom:8px}
.cta-left p{font-size:15px;font-weight:300;color:rgba(255,255,255,.72);line-height:1.7}

/* ── SVC PAGE HERO ── */
.svc-hero{min-height:52vh;background:var(--surface);display:flex;align-items:flex-end;padding-top:calc(var(--util-h) + var(--nav-h));position:relative;overflow:hidden}
.svc-hero-in{position:relative;z-index:2;padding-bottom:60px;max-width:720px}
.svc-crumb{font-size:12px;color:rgba(255,255,255,.3);margin-bottom:14px}
.svc-crumb a{color:rgba(255,255,255,.3);transition:color var(--tr)}
.svc-crumb a:hover{color:rgba(255,255,255,.7)}
.svc-rule{width:40px;height:2px;background:var(--accent);border-radius:1px;margin-bottom:18px}
.svc-hero h1{margin-bottom:18px}
.svc-hero-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,.5);line-height:1.75;margin-bottom:30px;max-width:540px}
.svc-hero-acts{display:flex;gap:14px;flex-wrap:wrap}

/* ── SVC CONTENT ── */
.svc-split{display:grid;grid-template-columns:1fr 420px;gap:68px;align-items:start}
.svc-sticky{position:sticky;top:calc(var(--nav-h) + 20px)}
.ic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ic{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:22px 18px;transition:border-color var(--tr)}
.ic:hover{border-color:var(--abdr)}
.ic-icon{font-size:24px;margin-bottom:10px}
.ic h3{font-size:14px;font-weight:600;color:#fff;margin-bottom:7px}
.ic p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.72}
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.pain-list{list-style:none;display:flex;flex-direction:column;gap:13px}
.pain-list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;font-weight:300;color:#E2E5EA;line-height:1.7}
.pain-arrow{color:var(--accent);flex-shrink:0;margin-top:3px;font-size:14px}
.hoh-box{background:var(--adim);border:1px solid var(--abdr);border-radius:12px;padding:32px 28px}
.hoh-box blockquote{font-size:16px;font-weight:300;color:var(--sec);line-height:1.85;font-style:italic;margin-bottom:22px}
.hoh-box-rule{height:1px;background:rgba(255,255,255,.08);margin-bottom:22px}
.proc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.proc-steps::before{content:'';position:absolute;top:26px;left:calc(16.7% + 20px);right:calc(16.7% + 20px);height:1px;background:linear-gradient(to right,var(--accent),rgba(198,40,40,.1))}
.ps{text-align:center;padding:0 20px;position:relative;z-index:1}
.ps-num{width:52px;height:52px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:'Fraunces',serif;font-size:18px;font-weight:400;font-style:italic;color:#fff}
.ps h3{font-size:14px;font-weight:600;color:#fff;margin-bottom:7px}
.ps p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* ── CONTRACTOR PAGE ── */
.benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.bc{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:26px 22px}
.bc-icon{font-size:26px;margin-bottom:12px}
.bc h3{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px}
.bc p{font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}

/* ── CONTACT PAGE ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:26px}
.contact-ico{width:40px;height:40px;border-radius:10px;background:var(--adim);border:1px solid var(--abdr);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.contact-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}
.contact-val{font-size:14px;color:var(--sec)}

/* ── FOOTER ── */
.footer{background:var(--surface);padding:68px 0 36px;border-top:1px solid var(--bdim)}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:52px}
.footer-brand{font-size:14px;font-weight:600;color:#fff;letter-spacing:-.01em;margin-bottom:10px}
.footer-brand span{color:var(--accent)}
.footer-tag{font-size:13px;font-weight:300;color:rgba(255,255,255,.48);line-height:1.72;margin-bottom:18px}
.footer-contact{font-size:13px;font-weight:300;color:rgba(255,255,255,.55);line-height:2.2}
.footer-col h4{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:9px}
.footer-col a{color:rgba(255,255,255,.58);font-size:13px;font-weight:300;transition:color var(--tr)}
.footer-col a:hover{color:rgba(255,255,255,.82)}
.footer-bot{border-top:1px solid var(--bdim);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(255,255,255,.45)}
.footer-bot a{color:rgba(255,255,255,.45);transition:color var(--tr)}
.footer-bot a:hover{color:rgba(255,255,255,.55)}
.footer-legal{display:flex;gap:18px}

/* ── RESPONSIVE ── */

/* ── LIGHT SECTIONS ── */
.sec--light{background:#FFFFFF}
.sec--light .eyebrow{color:var(--accent)}
.sec--light .eyebrow-line{background:var(--accent)}
.sec--light h2,.sec--light h3,.sec--light .serif{color:#0F172A}
.sec--light .serif em{color:var(--accent)}
.sec--light .display-xl,.sec--light .display-lg,.sec--light .display-md{color:#0F172A}
.sec--light p,.sec--light .body,.sec--light .lead{color:#374151}
.sec--light .body{color:#4B5563}
.sec--light .lead{color:#374151}

/* cards on white bg */
.sec--light .why-card{background:#F8FAFC;border:1px solid #E5E7EB}
.sec--light .why-card:hover{background:#FEF2F2;border-color:rgba(198,40,40,.25)}
.sec--light .why-card h3{color:#111827}
.sec--light .why-card p{color:#4B5563}
.sec--light .svc-card{background:#F8FAFC;border:1px solid #E5E7EB}
.sec--light .svc-card:hover{border-color:var(--accent)}
.sec--light .svc-name{color:#111827}
.sec--light .svc-desc{color:#4B5563}
.sec--light .svc-link{color:var(--accent)}
.sec--light .how-step h3{color:#111827}
.sec--light .how-step p{color:#4B5563}
.sec--light .how-num{background:var(--accent);color:#fff}
.sec--light .faq-item{border-bottom-color:#E5E7EB}
.sec--light .faq-btn{color:#111827}
.sec--light .faq-icon{color:var(--accent)}
.sec--light .faq-answer{color:#4B5563}
.sec--light .eval-card{background:#F8FAFC;border:1px solid #E5E7EB}
.sec--light .eval-card h3{color:#111827}
.sec--light .eval-card p{color:#4B5563}
.sec--light .eval-num{color:var(--accent)}
.sec--light .eval-note{background:rgba(198,40,40,.06);border-color:rgba(198,40,40,.2)}
.sec--light .eval-note p{color:#374151}

/* contrast strip on white */

.sec--light h2[style]{color:#0F172A!important}
.sec--light h2[style] em{color:var(--accent)!important}
.sec--light .eyebrow{color:var(--accent)!important}

.contrast-strip.strip--light{background:#F1F5F9;border-top:none;border-bottom:1px solid #E5E7EB}
.contrast-strip.strip--light .contrast-label{color:#6B7280}
.contrast-strip.strip--light .contrast-items li{color:#374151}
.contrast-strip.strip--light .contrast-items.hoh li{color:#111827;font-weight:500}
.contrast-strip.strip--light .contrast-items.hoh li::before{color:var(--accent)}
.contrast-strip.strip--light .contrast-arrow{color:#9CA3AF}

/* form on white bg */
.sec--light .form-light{background:#fff;border:1.5px solid #E5E7EB;
  box-shadow:0 4px 24px rgba(0,0,0,.06)}
.sec--light .form-light .fg input,
.sec--light .form-light .fg select,
.sec--light .form-light .fg textarea{
  background:#F9FAFB;border-color:#D1D5DB;color:#111827}
.sec--light .form-light .fg input::placeholder,
.sec--light .form-light .fg textarea::placeholder{color:#9CA3AF}
.sec--light .form-light .fg label{color:#374151}
.sec--light .form-light .fg-check label{color:#4B5563}
.sec--light .form-light .fc-lock{color:#6B7280}
.sec--light .how-grid::before{background:linear-gradient(to right,var(--accent),rgba(198,40,40,.15))}

/* trust section on white */
.sec--light .fc-tag{color:var(--accent)}
.sec--light .form-section-wrap h2{color:#0F172A}

/* service hero svc-crumb on light */


/* ── HERO SERVICE PILLS ── */
.hero-svc-pills span{
  white-space:nowrap;
  transition:background var(--tr),border-color var(--tr);
}
.hero-svc-pills span:hover{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.4)!important;
}
@media(max-width:640px){
  .hero-svc-pills{gap:6px!important;margin-bottom:22px!important}
  .hero-svc-pills span{font-size:12px!important;padding:5px 11px!important}
}

@media(max-width:1060px){
  .hero-inner{grid-template-columns:1fr 380px;gap:52px}
  .svc-split{grid-template-columns:1fr 380px;gap:48px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:880px){
  .hero-inner{grid-template-columns:1fr;gap:44px;padding:52px 0}
  .nav-links{display:none;flex-direction:column;position:absolute;top:calc(var(--util-h) + var(--nav-h));left:0;right:0;background:rgba(17,24,39,.98);padding:16px 5%;gap:0;border-top:1px solid var(--bdim)}
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid var(--bdim)}
  .nav-links a{display:block;padding:14px 0}
  .nav-tog{display:block}
  .how-grid{grid-template-columns:1fr 1fr;gap:28px}
  .how-grid::before{display:none}
  .pain-grid{grid-template-columns:1fr;gap:32px}
  .svc-split{grid-template-columns:1fr}
  .svc-sticky{position:static}
  .proc-steps{grid-template-columns:1fr;gap:26px}
  .proc-steps::before{display:none}
  .cta-inner{flex-direction:column;text-align:center}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .contact-grid{grid-template-columns:1fr}
  .contrast-inner{grid-template-columns:1fr;gap:16px;text-align:center}
  .contrast-arrow{display:none}
}
@media(max-width:580px){
  .sec{padding:60px 0}
  .how-grid{grid-template-columns:1fr}
  .fg-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-trust{gap:14px}
  .form-light{padding:24px 20px}
}

/* ── PHONE BAR ── */
.phone-bar{background:#1a1f2e;border-bottom:1px solid rgba(198,40,40,.25);padding:12px 0}
.phone-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.phone-bar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.phone-bar-label{font-size:13px;font-weight:500;color:rgba(255,255,255,.55)}
.phone-bar-number{font-size:18px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.01em;transition:color .18s}
.phone-bar-number:hover{color:var(--accent)}
.phone-bar-sub{font-size:12px;color:rgba(255,255,255,.4);font-weight:300}
.btn-phone{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1.5px solid var(--accent);color:var(--accent);padding:8px 18px;border-radius:5px;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,color .18s;white-space:nowrap}
.btn-phone:hover{background:var(--accent);color:#fff}
.btn-phone svg{width:14px;height:14px;flex-shrink:0}
.btn-phone-cta{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.5);color:#fff;padding:10px 18px;border-radius:5px;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s}
.btn-phone-cta:hover{background:rgba(255,255,255,.25)}
/* ── WHAT HAPPENS NEXT ── */
.what-next{background:rgba(198,40,40,.06);border:1px solid rgba(198,40,40,.18);border-radius:10px;padding:22px 24px;margin-top:20px}
.what-next-head{font-size:13px;font-weight:700;color:#fff;letter-spacing:.02em;margin-bottom:14px}
.what-next-steps{list-style:none;display:flex;flex-direction:column;gap:10px}
.what-next-steps li{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#D1D5DB;font-weight:300;line-height:1.6}
.wn-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
/* ── HERO PHONE CTA ── */
.hero-phone-cta{display:none}
.hero-phone-cta-label{display:none}
.hero-phone-cta-num{font-size:18px;font-weight:700;color:#fff;text-decoration:none;transition:color .18s;letter-spacing:-.01em}
.hero-phone-cta-num:hover{color:var(--accent)}
@media(max-width:880px){.phone-bar-inner{flex-direction:column;align-items:flex-start;gap:12px}.phone-bar-sub{display:none}}

/* ── UTILITY BAR ── */
.util-bar{
  position:fixed;top:0;left:0;right:0;z-index:501;
  height:var(--util-h);
  background:#0a0f1a;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;
}
.util-bar-inner{
  width:100%;max-width:var(--max);margin:0 auto;padding:0 5%;
  display:flex;align-items:center;justify-content:space-between;
}
.util-phone{
  display:flex;align-items:center;gap:8px;
}
.util-phone-ico{
  color:var(--accent);font-size:12px;line-height:1;
  display:flex;align-items:center;
}
.util-phone-ico svg{width:12px;height:12px;}
.util-phone-num{
  font-size:13px;font-weight:700;color:#fff;
  text-decoration:none;letter-spacing:.01em;
  transition:color var(--tr);
}
.util-phone-num:hover{color:var(--accent);}
.util-tagline{
  font-size:11px;font-weight:400;
  color:rgba(255,255,255,.38);
  letter-spacing:.03em;
}
@media(max-width:640px){.util-tagline{display:none;}.util-phone-num{font-size:12px;}}
@media(max-width:440px){.util-bar{display:none;}:root{--util-h:0px;}}

/* ── MOBILE FORM OPTIMISATION ── */
@media(max-width:640px){
  .fg input,.fg select,.fg textarea{
    padding:13px 14px;          /* taller tap targets */
    font-size:16px;             /* prevents iOS zoom on focus */
    -webkit-text-size-adjust:100%;
  }
  .fg label{font-size:11px;}
  .fg{margin-bottom:12px;}
  .fg-row{grid-template-columns:1fr;gap:12px;}
  .btn-form{padding:16px;font-size:15px;}
  .fg-check{gap:12px;}

  .fg-check label{font-size:13px;line-height:1.55;}
  .fc-body{padding:18px 20px 22px;}
  .fc-head{padding:20px 20px 0;}
  .fc-rule{margin:0 20px;}
}


/* ── HERO BG PHOTO ── */
.hero-bg-photo{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center center;
  background-repeat:no-repeat;
}

/* Trust section photo strip */


/* ── SERVICE HERO 2-COLUMN PHOTO LAYOUT ── */
.svc-hero{position:relative;overflow:hidden;background:var(--surface);
  padding-top:calc(var(--util-h) + var(--nav-h));}
.svc-hero-2col{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - var(--util-h) - var(--nav-h));
  align-items:stretch;
}
.svc-hero-left{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 48px 64px 0;
}
.svc-hero-right{
  position:relative;overflow:hidden;
  border-radius:0;
  box-shadow:-4px 0 24px rgba(0,0,0,.22);
}
.svc-hero-photo{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  filter:none;
  min-height:460px;
}
/* vertical gradient on left edge of photo to blend into bg */
.svc-hero-right::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to right,var(--surface) 0%,rgba(15,23,42,.45) 18%,transparent 42%);
  pointer-events:none;
}
/* Remove old bg-photo approach on svc pages (keep for index hero only) */
.svc-hero .hero-bg-photo{display:none;}
.svc-hero .parl{display:none;}
.svc-hero .overlay{display:none;}
@media(max-width:880px){
  .svc-hero-2col{grid-template-columns:1fr;min-height:auto;}
  .svc-hero-right{height:260px;min-height:260px;}
  .svc-hero-left{padding:40px 0 32px;}
  .svc-hero .parl{display:none;}
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE READABILITY — 40-75 age group optimisation
   Breakpoint: 640px and below (phones, small tablets)
   Changes: type size, line height, spacing, tap targets only.
   Desktop appearance: unchanged.
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:640px){

  /* ── SECTION SPACING ──────────────────────────────────────────
     Tighten vertical padding so more content fits without
     scrolling, but keep enough breathing room per section.     */
  .sec{padding:52px 0}

  /* ── BASE BODY COPY ──────────────────────────────────────────
     14px is too small for comfortable reading on a phone.
     16px is the recommended minimum for 40+ readers.           */
  .body{font-size:16px;line-height:1.9}
  .lead{font-size:17px;line-height:1.9}
  .body-md,.body-lg{font-size:16px;line-height:1.9}

  /* ── DISPLAY HEADINGS ────────────────────────────────────────
     clamp() already scales, but the minimums need a floor.
     H1 on homepage: min 34px. Section heads: min 26px.        */
  .display-xl{font-size:clamp(34px,8.5vw,54px)}
  .display-lg{font-size:clamp(28px,7vw,44px)}
  .display-md{font-size:clamp(24px,6vw,38px)}

  /* ── HERO COPY ───────────────────────────────────────────────*/
  .hero-body{font-size:17px;line-height:1.9;max-width:100%}
  .hero-support{font-size:15px;line-height:1.85}

  /* ── CARD AND SECTION BODY COPY ─────────────────────────────
     Every card type uses 13px body — raise to 15px minimum.   */
  .why-card h3{font-size:16px}
  .why-card p{font-size:15px;line-height:1.85}

  .how-step h3{font-size:15px}
  .how-step p{font-size:15px;line-height:1.85}

  .eval-card h3{font-size:15px}
  .eval-card p{font-size:15px;line-height:1.85}
  .eval-num{font-size:26px}

  .ic h3{font-size:15px}
  .ic p{font-size:15px;line-height:1.85}

  .rv-text{font-size:15px;line-height:1.85}
  .rv-name{font-size:14px}

  .bc h3{font-size:16px}
  .bc p{font-size:15px;line-height:1.85}

  /* ── FAQ ─────────────────────────────────────────────────────*/
  .faq-btn{font-size:16px;line-height:1.5;padding:20px 0}
  .faq-answer{font-size:15px;line-height:1.9;padding-bottom:18px}

  /* ── SERVICE CARDS ───────────────────────────────────────────*/
  .svc-name{font-size:16px}
  .svc-link{font-size:13px}
  .svc-card{padding-bottom:18px}
  /* Tighter grid on small phones: 2 columns instead of 5 */
  .svc-grid{grid-template-columns:1fr 1fr;gap:12px}

  /* ── EVALUATION NOTE (honesty disclaimer) ───────────────────*/
  .eval-note p{font-size:15px;line-height:1.9}

  /* ── EYEBROW LABELS ─────────────────────────────────────────*/
  .eyebrow{font-size:11px}

  /* ── CTA STRIP ───────────────────────────────────────────────*/
  .cta-left h2{font-size:26px;line-height:1.15}
  .cta-left p{font-size:16px;line-height:1.8}
  .btn-white{font-size:15px;padding:14px 28px}

  /* ── PRIMARY BUTTONS ─────────────────────────────────────────
     Minimum 48px tap target height — WCAG 2.5.8 guidance.
     Current .btn has 13px padding which gives ~44px total.     */
  .btn{padding:15px 26px;font-size:15px;min-height:48px}
  .btn-red{min-height:48px}
  .btn-ghost{min-height:48px}

  /* ── FORM SUBMIT BUTTON ──────────────────────────────────────*/
  .btn-form{padding:17px;font-size:16px;min-height:52px}

  /* ── FORM FIELD LABELS ───────────────────────────────────────
     10px labels are too small. 12px minimum on mobile.        */
  .fg label{font-size:12px;letter-spacing:.04em;margin-bottom:6px}
  .fc-tag{font-size:11px}
  .fc-title{font-size:18px}
  .fc-sub{font-size:14px;line-height:1.7}

  /* ── FORM CARD ───────────────────────────────────────────────*/
  .form-card__lock,.fc-lock{font-size:12px}

  /* ── CONSENT CHECKBOX LABEL ─────────────────────────────────*/
  .fg-check label{font-size:14px;line-height:1.7}
  .fg-check input[type=checkbox]{width:22px;height:22px}

  /* ── FOOTER ──────────────────────────────────────────────────*/
  .footer-brand{font-size:15px}
  .footer-tag{font-size:14px;line-height:1.8}
  .footer-contact{font-size:14px;line-height:2.2}
  .footer-col a{font-size:14px}
  .footer-col h4{font-size:11px}
  .footer-bot{font-size:12px}

  /* ── NAV ─────────────────────────────────────────────────────*/
  .nav-links a{font-size:16px;padding:16px 0}
  .nav-wordmark-top{font-size:15px}

  /* ── PHONE BAR ───────────────────────────────────────────────*/
  .phone-bar-number,.util-phone-num{font-size:16px}

  /* ── PROCESS STEPS (service pages) ──────────────────────────*/
  .ps h3{font-size:15px}
  .ps p{font-size:15px;line-height:1.85}

  /* ── HERO ON SERVICE PAGES ───────────────────────────────────*/
  .svc-hero-sub{font-size:16px;line-height:1.85}
  .svc-crumb{font-size:13px}

  /* ── PAIN LIST ───────────────────────────────────────────────*/
  .pain-list li{font-size:15px;line-height:1.85}
  .hoh-box blockquote,.hoh-box-quote{font-size:15px;line-height:1.9}

  /* ── HOH-BOX BUTTON ─────────────────────────────────────────*/
  .btn-sm{padding:13px 22px;font-size:14px;min-height:48px}

  /* ── SUCCESS STATE ───────────────────────────────────────────*/
  .form-success-title{font-size:20px}
  .form-success-body{font-size:15px;line-height:1.8}
  .form-success-steps{font-size:14px;line-height:2.2}

  /* ── CONTRAST / POSITIONING STRIP ───────────────────────────*/
  .contrast-items li{font-size:15px}
  .contrast-label{font-size:11px}

  /* ── WHAT HAPPENS NEXT ───────────────────────────────────────*/
  .what-next-head{font-size:14px}
  .what-next-steps li{font-size:14px;line-height:1.75}

  /* ── TRUST SECTION ───────────────────────────────────────────*/
  .trust-section-cards div[style*="font-size:14px"]{font-size:15px!important;line-height:1.8!important}
  .trust-section-cards div[style*="font-size:13px"]{font-size:15px!important;line-height:1.8!important}
  /* Catch-all for trust section inline styles */
  [aria-labelledby="trust-h"] [style*="font-size:13px"]{font-size:15px!important;line-height:1.8!important}
  [aria-labelledby="trust-h"] [style*="font-size:14px"]{font-size:15px!important;line-height:1.8!important}
  [aria-labelledby="trust-h"] [style*="font-size:12px"]{font-size:14px!important;line-height:1.75!important}

  /* ── HOW IT WORKS STEP NUMBERS ───────────────────────────────*/
  .how-num{width:52px;height:52px;font-size:20px}


  /* ── SERVICE CARD IMAGE HEIGHT ───────────────────────────────
     On a 2-col mobile grid each card is ~170px wide.
     160px image height creates an almost-square crop.
     130px gives a better 4:3-ish ratio and reduces scroll.   */
  .svc-card-img{height:130px}

  /* ── SERVICE CARD DESCRIPTION ────────────────────────────────
     13px is below WCAG AA recommended minimum for body text.
     Raise to 15px to match the other card body copy.         */
  .svc-desc{font-size:15px;line-height:1.8}

  /* ── TRUST PILL TEXT ─────────────────────────────────────────
     .ti span base is 12px — raise to 13px on mobile.
     Small trust signals must be readable at arm's length.    */
  .ti span{font-size:13px}

  /* ── HOH-BOX (service pages — HOH difference panel) ──────────
     Desktop padding 32px 28px wastes horizontal space on
     a narrow phone. Tighten to 22px 18px.                    */
  .hoh-box{padding:22px 18px}

  /* ── EVALUATION NOTE (honesty disclaimer) ────────────────────
     Desktop padding 26px 30px — tighten on mobile.           */
  .eval-note{padding:18px 20px}

  /* ── SECTION HEADING MARGIN ──────────────────────────────────
     Add breathing room between section h2 and first paragraph
     so there is a clear visual separation between title/body. */
  .display-md[style*="margin-bottom:12px"]{margin-bottom:16px!important}

  /* ── NAV WORDMARK ────────────────────────────────────────────
     Block 9 sets 15px. Raise to 16px to improve brand
     visibility in the narrower mobile nav bar.               */
  .nav-wordmark-top{font-size:16px}

  /* ── HERO ACTIONS ────────────────────────────────────────────
     Two buttons side-by-side at 640px can feel cramped.
     Reduce gap slightly and let them wrap more cleanly.      */
  .hero-actions{gap:10px}

  /* ── WHAT-NEXT STEPS ─────────────────────────────────────────
     Numbers and text need more vertical separation on mobile. */
  .what-next-steps li{gap:14px}

}

/* ── VERY SMALL PHONES (320–375px) ──────────────────────────────
   Extra adjustments for the smallest common screen sizes.       */
@media(max-width:380px){
  .display-xl{font-size:clamp(30px,8vw,38px)}
  .display-lg{font-size:clamp(26px,7vw,32px)}
  .display-md{font-size:clamp(22px,6vw,28px)}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center}
  .svc-grid{grid-template-columns:1fr}
  .btn{min-height:52px;padding:15px 20px}
}


@media(max-width:580px){
  .contrast-inner{flex-direction:column!important;gap:20px!important;text-align:center}
  .contrast-inner > [style*="color:#D1D5DB"]{display:none}
}

/* ── HERO SERVICE PILLS ── */
.hero-services{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:28px;
}
.hero-svc-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  border-radius:20px;
  padding:7px 14px;
  font-size:13px;font-weight:500;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  transition:background var(--tr),border-color var(--tr),color var(--tr);
  white-space:nowrap;
}
.hero-svc-pill:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
@media(max-width:640px){
  .hero-services{gap:6px;margin-bottom:22px}
  .hero-svc-pill{font-size:14px;padding:9px 14px}
}
@media(max-width:380px){
  .hero-svc-pill{font-size:13px;padding:8px 11px}
}

/* ── BRIGHTNESS IMPROVEMENTS ── */
/* Lighten dark sections slightly for a more welcoming feel */
.sec--dark{background:#16213a}

/* why-card background: lighten from #1F2937 */
.why-card{background:#f0f4f9}
.why-card h3{color:#1a2640}
.why-card p{color:#374151}
.why-card:hover{background:#e8eef7}
.why-grid{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.08)}

/* eval-card in dark sections — keep readable */
/* eval cards are already on dark bg so leave their colours */

/* CTA strip — keep accent red */
/* Footer bg */


.form-status{margin-top:12px;font-size:13px;line-height:1.5;color:#FCA5A5;text-align:center}
.btn-form:disabled{opacity:.72;cursor:wait;transform:none}
.footer-contact a{text-decoration:none}
.footer-contact a:hover{color:#fff}
.trust-review-note{font-size:15px;color:#111827!important;font-weight:600;line-height:1.7;margin-top:18px}
.trust-review-note a{color:#111827!important;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}


/* READABILITY CONTRAST PASS */
.lead,
.body,
.sec-p,
.hero-support,
.hero-svc-pill,
.hero-trust span,
.ti span,
.fc-sub,
.fg-check label,
.fc-lock,
.svc-hero-sub,
.svc-crumb,
.svc-crumb a,
.how-step p,
.eval-card p,
.eval-note p,
.pain-list li,
.hoh-box blockquote,
.hoh-box-quote,
.faq-answer,
.rv-text,
.ps p,
.ic p,
.bc p,
.contact-lbl,
.contact-val,
.footer-tag,
.footer-contact,
.footer-col a,
.footer-bot,
.footer-bot a,
.contrast-items li,
.what-next-steps li {
  color:#fff!important;
  font-weight:600!important;
}
.nav-wordmark-sub,
.nav-links a,
.phone-bar-label,
.phone-bar-sub,
.util-tagline,
.hero-phone-cta-label,
.or-divider,
.form-success-body,
.form-success-steps {
  color:#fff!important;
  font-weight:600!important;
}
.body,
.sec-p,
.how-step p,
.eval-card p,
.faq-answer,
.rv-text,
.ps p,
.ic p,
.bc p {
  font-size:15px;
  line-height:1.85;
}
.footer-tag {
  font-size:15px!important;
  line-height:1.85!important;
}
.hero-support,
.svc-hero-sub,
.lead {
  font-size:18px;
  line-height:1.85;
}
.sec--light,
.sec--grey,
.sec--light p,
.sec--light .body,
.sec--light .lead,
.sec--light .sec-p,
.sec--light .why-card p,
.sec--light .svc-desc,
.sec--light .how-step p,
.sec--light .faq-answer,
.sec--light .eval-card p,
.sec--light .eval-note p,
.sec--light .rv-text,
.sec--light .contact-lbl,
.sec--light .contact-val,
.sec--light .form-light .fg-check label,
.sec--light .form-light .fc-lock,
.contrast-strip.strip--light .contrast-label,
.contrast-strip.strip--light .contrast-items li {
  color:#111827!important;
  font-weight:500!important;
}
.sec--light .body,
.sec--light .sec-p,
.sec--light .why-card p,
.sec--light .svc-desc,
.sec--light .how-step p,
.sec--light .faq-answer,
.sec--light .eval-card p {
  font-size:15px;
  line-height:1.85;
}
.sec--light .lead {
  font-size:18px;
  line-height:1.85;
}
.sec--light .faq-btn,
.sec--light h2,
.sec--light h3,
.sec--light .svc-name,
.sec--light .why-card h3,
.sec--light .how-step h3,
.sec--light .eval-card h3 {
  color:#000!important;
}
.fg input,
.fg select,
.fg textarea {
  color:#fff!important;
  font-size:15px;
  font-weight:500;
}
.fg input::placeholder,
.fg textarea::placeholder {
  color:#fff!important;
  opacity:.9;
}
.fg select {
  color:#fff!important;
}
.sec--light .form-light .fg input,
.sec--light .form-light .fg select,
.sec--light .form-light .fg textarea {
  color:#000!important;
}
.sec--light .form-light .fg input::placeholder,
.sec--light .form-light .fg textarea::placeholder {
  color:#111827!important;
  opacity:.75;
}
