:root{
  --ink:#241b15; --mut:#6f6156; --bg:#faf6f0; --card:#ffffff;
  --brand:#d6480f; --brand2:#f2994a; --ok:#2e7d32; --warn:#b45309;
  --line:#ece2d5; --shadow:0 10px 30px -12px rgba(36,27,21,.18);
}
@media (prefers-color-scheme: dark){
  :root{--ink:#f3ece4;--mut:#b8aa9c;--bg:#1c1611;--card:#26201a;--line:#3a2f26;--shadow:0 10px 30px -12px rgba(0,0,0,.5)}
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
header.site{padding:18px 0}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;text-decoration:none;color:var(--ink)}
.brand .mark{font-size:1.5rem}
nav.top{display:flex;flex-wrap:wrap;gap:0 20px;justify-content:flex-end}
nav.top a{color:var(--mut);text-decoration:none;font-size:.92rem;font-weight:600}
nav.top a:hover{color:var(--brand)}
.hero{padding:52px 0 40px;text-align:center}
.hero h1{font-size:2.3rem;line-height:1.2;margin:0 0 14px;letter-spacing:-.01em}
.hero p.lead{color:var(--mut);font-size:1.12rem;max-width:640px;margin:0 auto 26px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;border-radius:10px;font-weight:700;text-decoration:none;font-size:.98rem;border:2px solid transparent;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:#b83b0c}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--brand);color:var(--brand)}
section{padding:36px 0}
h2.section-title{font-size:1.5rem;margin:0 0 8px;text-align:center}
p.section-sub{color:var(--mut);text-align:center;max-width:600px;margin:0 auto 30px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.step .num{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:12px;font-size:.9rem}
.step h3{margin:0 0 6px;font-size:1.05rem}
.step p{margin:0;color:var(--mut);font-size:.92rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}
.checklist-app{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 8px 22px;box-shadow:var(--shadow)}
.cl-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px;flex-wrap:wrap;gap:10px}
.cl-head h3{margin:0;font-size:1.05rem}
.progress-wrap{flex:1;min-width:160px;margin:0 18px}
.progress-bar{height:8px;border-radius:6px;background:var(--line);overflow:hidden}
.progress-bar > i{display:block;height:100%;background:var(--ok);width:0%;transition:width .2s}
.progress-label{font-size:.78rem;color:var(--mut);margin-top:4px}
.cl-cat{margin:0 18px 6px;padding-top:14px;border-top:1px dashed var(--line)}
.cl-cat:first-of-type{border-top:none}
.cl-cat h4{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand)}
.cl-item{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:.95rem}
.cl-item input{margin-top:4px;width:18px;height:18px;accent-color:var(--ok);flex:none}
.cl-item label{cursor:pointer}
.cl-item.checked label{color:var(--mut);text-decoration:line-through}
.cl-actions{display:flex;gap:10px;padding:14px 18px 0;flex-wrap:wrap}
.cl-actions button, .cl-actions a{font:inherit}
.small-btn{padding:9px 16px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-block}
.small-btn:hover{border-color:var(--brand);color:var(--brand)}
.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.state-pill{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-align:center;text-decoration:none;color:var(--ink);font-weight:700;box-shadow:var(--shadow)}
.state-pill:hover{border-color:var(--brand);color:var(--brand)}
.state-pill span{display:block;font-weight:400;color:var(--mut);font-size:.78rem;margin-top:3px}
.agency-card{border-left:4px solid var(--brand)}
.agency-card h3{margin-top:0}
.disclaimer{background:var(--card);border:1px dashed var(--line);border-radius:10px;padding:14px 16px;font-size:.85rem;color:var(--mut)}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:720px){.pricing,.steps,.two-col{grid-template-columns:1fr}}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.price-card.featured{border-color:var(--brand);position:relative}
.price-card .tag{position:absolute;top:-11px;left:20px;background:var(--brand);color:#fff;font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:6px;text-transform:uppercase}
.price-card .amount{font-size:2.1rem;font-weight:800;margin:6px 0}
.price-card .amount small{font-size:1rem;color:var(--mut);font-weight:600}
.price-card ul{padding-left:18px;margin:16px 0;color:var(--mut);font-size:.92rem}
.price-card li{margin-bottom:6px}
footer.site{border-top:1px solid var(--line);padding:28px 0;margin-top:20px;color:var(--mut);font-size:.85rem}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer.site a{color:var(--mut);text-decoration:none;margin-right:16px}
footer.site a:hover{color:var(--brand)}
.breadcrumb{font-size:.85rem;color:var(--mut);margin-bottom:10px}
.reviewed{font-size:.78rem;color:var(--mut);margin:0 0 24px}
.steps-list{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:14px}
.steps-list li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px 20px 62px;position:relative;box-shadow:var(--shadow)}
.steps-list li::before{content:counter(step);position:absolute;left:20px;top:20px;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem}
.steps-list h3{margin:0 0 6px;font-size:1rem}
.steps-list p{margin:0;color:var(--mut);font-size:.92rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.faqs{display:grid;gap:12px}
.faq{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.faq h3{margin:0 0 6px;font-size:1rem}
.faq p{margin:0;color:var(--mut);font-size:.92rem}
.breadcrumb a{color:var(--mut)}
form.contact{display:grid;gap:12px;max-width:480px}
form.contact input,form.contact textarea{font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
form.contact textarea{min-height:120px}
.note-ok{color:var(--ok);font-weight:700}
.note-bad{color:#c0392b;font-weight:700}
@media print{
  header.site,footer.site,.hero-actions,.cl-actions,.no-print,nav.top{display:none!important}
  body{background:#fff}
  .checklist-app{box-shadow:none;border:none}
  .cl-item.checked label{text-decoration:none;color:#000}
}
