:root{
  --ink:#1c2430; --muted:#5b6675; --brand:#0f5e46; --brand2:#12805f;
  --bg:#f6f7f5; --card:#ffffff; --line:#dde3dd; --accent:#ffb703;
}
*{ box-sizing:border-box; }
body{ margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; }
a{ color:var(--brand); }
.wrap{ max-width:820px; margin:0 auto; padding:0 16px 56px; }
.wrap-wide{ max-width:1040px; margin:0 auto; padding:0 16px 56px; }

/* Header */
.site-header{ background:#fff; border-bottom:1px solid var(--line); }
.site-header .bar{ max-width:1040px; margin:0 auto; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wordmark{ font-weight:800; font-size:1.12rem; color:var(--ink); text-decoration:none; }
.wordmark em{ font-style:normal; color:var(--brand); }
.header-cta{ background:var(--brand); color:#fff; text-decoration:none; font-weight:700; padding:9px 15px; border-radius:9px; white-space:nowrap; }
.header-cta:hover{ background:var(--brand2); }
.header-phone{ font-weight:700; color:var(--ink); text-decoration:none; white-space:nowrap; }

/* Hero / cards */
.hero{ text-align:center; padding:36px 0 8px; }
.hero h1{ font-size:2rem; line-height:1.2; margin:0 0 10px; }
.hero p{ color:var(--muted); max-width:600px; margin:0 auto; font-size:1.06rem; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px; margin-top:18px; box-shadow:0 2px 10px rgba(20,40,30,.05); }
.trust-row{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:16px; }
.trust-row span{ background:#eef3ee; border:1px solid var(--line); border-radius:999px; padding:5px 11px; font-size:.84rem; color:var(--muted); }

/* Service picker */
.picker{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:14px; }
.picker a{ display:block; background:#fff; border:1.5px solid var(--line); border-radius:12px; padding:16px 12px; text-decoration:none; color:var(--ink); font-weight:700; text-align:center; }
.picker a:hover{ border-color:var(--brand); background:#e9f5ef; }
.picker a small{ display:block; font-weight:400; color:var(--brand); margin-top:4px; font-size:.85rem; }

/* Steps */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:14px; }
.step{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; }
.step .n{ display:inline-block; background:var(--brand); color:#fff; font-weight:800; border-radius:50%; width:28px; height:28px; line-height:28px; text-align:center; margin-bottom:8px; }
.step p{ margin:0; color:var(--muted); font-size:.95rem; }
.step h3{ margin:0 0 6px; font-size:1.02rem; }

/* Article pages */
article h1{ font-size:1.85rem; line-height:1.25; margin:26px 0 10px; }
article h2{ font-size:1.32rem; margin:30px 0 8px; }
article h3{ font-size:1.08rem; margin:22px 0 6px; }
article table{ border-collapse:collapse; width:100%; margin:14px 0; font-size:.95rem; display:block; overflow-x:auto; }
article th, article td{ border:1px solid var(--line); padding:8px 10px; text-align:left; }
article th{ background:#eef3ee; }
article blockquote{ border-left:4px solid var(--accent); background:#fff8e6; margin:16px 0; padding:12px 16px; border-radius:0 10px 10px 0; }
article ul, article ol{ padding-left:22px; }
.cta-block{ background:var(--brand); color:#fff; border-radius:14px; padding:24px; margin-top:30px; text-align:center; }
.cta-block h2{ color:#fff; margin:0 0 8px; }
.cta-block p{ margin:0 auto 14px; max-width:560px; color:#dcefe6; }
.cta-block a.btn{ display:inline-block; background:var(--accent); color:#231900; font-weight:800; text-decoration:none; padding:13px 22px; border-radius:11px; }
.guides-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; margin-top:14px; }
.guides-grid a{ display:block; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; text-decoration:none; color:var(--ink); }
.guides-grid a:hover{ border-color:var(--brand); }
.guides-grid a strong{ display:block; margin-bottom:4px; }
.guides-grid a span{ color:var(--muted); font-size:.92rem; }

/* Funnel */
.progress-wrap{ margin:18px 0 4px; }
.progress-meta{ display:flex; justify-content:space-between; font-size:.88rem; color:var(--muted); margin-bottom:6px; }
.progress-bar{ height:9px; background:#e5eae5; border-radius:99px; overflow:hidden; }
.progress-bar div{ height:100%; background:var(--brand2); width:0%; transition:width .3s ease; }
.funnel h2{ font-size:1.35rem; margin:10px 0 4px; }
.funnel .sub{ color:var(--muted); margin:0 0 16px; }
.chips{ display:flex; flex-wrap:wrap; gap:9px; }
.chip{ border:1.5px solid var(--line); background:#fff; border-radius:12px; padding:13px 16px; font-size:1rem; cursor:pointer; text-align:left; }
.chip:hover{ border-color:var(--brand); }
.chip[aria-pressed="true"]{ border-color:var(--brand); background:#e9f5ef; color:var(--brand); font-weight:700; }
.funnel input[type="text"], .funnel input[type="tel"], .funnel input[type="email"]{
  width:100%; padding:13px; font-size:1.05rem; border:1.5px solid var(--line); border-radius:10px; margin-bottom:12px; }
.funnel .nav{ display:flex; gap:10px; margin-top:20px; }
.btn-primary{ flex:1; background:var(--brand); color:#fff; border:none; font-weight:800; font-size:1.06rem; padding:15px; border-radius:12px; cursor:pointer; }
.btn-primary:hover{ background:var(--brand2); }
.btn-primary:disabled{ opacity:.45; cursor:not-allowed; }
.btn-back{ background:#fff; border:1.5px solid var(--line); font-weight:700; padding:15px 18px; border-radius:12px; cursor:pointer; }
.consent{ font-size:.83rem; color:var(--muted); margin-top:14px; }
.err{ color:#b3261e; font-size:.92rem; min-height:1.2em; }

/* Footer */
.site-footer{ border-top:1px solid var(--line); background:#fff; margin-top:44px; }
.site-footer .inner{ max-width:1040px; margin:0 auto; padding:22px 16px 30px; color:var(--muted); font-size:.9rem; }
.site-footer nav{ margin-bottom:12px; display:flex; flex-wrap:wrap; gap:6px 16px; }
.site-footer nav a{ color:var(--muted); }
.fineprint{ font-size:.82rem; color:var(--muted); }
