/* SA Lead GEN -- one stylesheet for every page. */
:root{
  --ink:#06231d; --ink-2:#0b3129; --ink-3:#144236;
  --gold:#f6b400; --gold-2:#dc9f00; --gold-soft:#fff4cc;
  --mint:#34d399; --mint-soft:#dcfce9;
  --paper:#f6f7f4; --card:#ffffff;
  --text:#10201b; --muted:#56675f; --muted-2:#83928c;
  --line:#e2e8e4; --line-2:#cfd8d2;
  --display:"Sora","Segoe UI",system-ui,sans-serif;
  --body:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  --shadow:0 1px 2px rgb(6 35 29/.05), 0 10px 30px -14px rgb(6 35 29/.18);
  --radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--text); font:400 17px/1.65 var(--body); -webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--display); font-weight:700; letter-spacing:-.025em; line-height:1.12; margin:0}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px; border-radius:6px}
.wrap{width:100%; max-width:1120px; margin:0 auto; padding-inline:20px}
.narrow{max-width:800px}
[id]{scroll-margin-top:84px}
.skip{position:absolute; left:-999px; top:8px; background:var(--gold); color:var(--ink); padding:8px 14px; border-radius:8px; font-weight:700; z-index:100}
.skip:focus{left:8px}

/* ---------- header ---------- */
.site-head{position:sticky; top:0; z-index:50; background:rgb(6 35 29/.95); backdrop-filter:blur(10px); border-bottom:1px solid rgb(255 255 255/.08)}
.head-in{display:flex; align-items:center; gap:16px; min-height:66px}
.logo{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#fff; font:700 19px/1 var(--display); letter-spacing:-.02em}
.logo svg{width:32px; height:32px; flex:none}
.logo b{color:var(--gold); font-weight:800}
.menu{margin-left:auto; display:flex; align-items:center; gap:4px}
.menu a{color:#c9d8d2; text-decoration:none; font-weight:600; font-size:15px; padding:9px 12px; border-radius:9px}
.menu a:hover, .menu a[aria-current="page"]{color:#fff; background:rgb(255 255 255/.08)}
.menu .btn{margin-left:6px}
.mobile-menu{display:none; margin-left:auto}
.mobile-menu summary{list-style:none; cursor:pointer; color:#fff; font-weight:700; padding:9px 14px; border:1px solid rgb(255 255 255/.25); border-radius:10px}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute; left:0; right:0; top:66px; background:var(--ink); border-bottom:1px solid rgb(255 255 255/.1); padding:10px 20px 18px; display:grid; gap:2px}
.mobile-menu nav a{color:#e3ece8; text-decoration:none; font-weight:600; padding:12px 4px; border-bottom:1px solid rgb(255 255 255/.06)}
@media (max-width:860px){ .menu{display:none} .mobile-menu{display:block} }

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 22px; border-radius:12px; font:700 16px/1 var(--body); text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:background .15s ease, transform .1s ease}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold); color:#1d1500}
.btn-gold:hover{background:#ffc524}
.btn-line{background:transparent; color:#fff; border-color:rgb(255 255 255/.35)}
.btn-line:hover{background:rgb(255 255 255/.08)}
.btn-ink{background:var(--ink); color:#fff}
.btn-ink:hover{background:var(--ink-3)}
.btn-outline{background:var(--card); color:var(--text); border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--ink)}
.btn-sm{padding:10px 16px; font-size:15px}
.btn-block{width:100%}

/* ---------- hero ---------- */
.hero{background:radial-gradient(1100px 500px at 85% -10%, rgb(52 211 153/.18), transparent 60%), var(--ink); color:#fff; padding-block:72px 84px; overflow:hidden}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center}
@media (max-width:920px){ .hero-grid{grid-template-columns:minmax(0,1fr)} }
.pill{display:inline-flex; align-items:center; gap:8px; background:rgb(255 255 255/.07); border:1px solid rgb(255 255 255/.14); color:#d7e7e0; font-size:14px; font-weight:600; padding:6px 12px; border-radius:999px}
.pill i{width:8px; height:8px; border-radius:50%; background:var(--mint); display:inline-block}
.hero h1{font-size:clamp(36px,5.6vw,62px); margin-top:18px; max-width:15ch}
.hero h1 em{font-style:normal; color:var(--gold)}
.hero .lead{color:#c3d6ce; font-size:clamp(17px,2vw,20px); margin-top:20px; max-width:56ch}
.hero .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}
.proof{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; padding:0; list-style:none; color:#a9c2b8; font-size:15px; font-weight:600}
.proof li{display:flex; align-items:center; gap:8px}
.proof li::before{content:""; width:16px; height:16px; border-radius:50%; background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2306231d'%3E%3Cpath d='M8.1 13.3 4.8 10l-1.2 1.2 4.5 4.5 9-9-1.2-1.2z'/%3E%3C/svg%3E") center/12px no-repeat}

/* example lead card */
.lead-card{background:#fff; color:var(--text); border-radius:20px; padding:22px; box-shadow:0 30px 80px -30px rgb(0 0 0/.55); max-width:430px; justify-self:end; width:100%}
@media (max-width:920px){ .lead-card{justify-self:start} }
.lead-card .top{display:flex; justify-content:space-between; gap:10px; align-items:center}
.example{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2)}
.chip{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; padding:4px 10px; border-radius:999px; background:var(--mint-soft); color:#065f46}
.chip.gold{background:var(--gold-soft); color:#7a5600}
.lead-card h3{font-size:21px; margin-top:12px}
.lead-card .where{color:var(--muted); font-size:15px; margin-top:2px}
.rows{margin-top:16px; border-top:1px solid var(--line); display:grid}
.rows div{display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--line); font-size:15px}
.rows span:first-child{color:var(--muted)}
.rows span:last-child{font-weight:700; text-align:right; letter-spacing:.02em}
.masked{color:#9aa8a2; letter-spacing:.12em}
.lead-card .btn{margin-top:16px}
.lead-card small{display:block; text-align:center; color:var(--muted-2); font-size:13px; margin-top:8px}

/* ---------- sections ---------- */
.section{padding-block:80px}
.section.alt{background:#fff; border-block:1px solid var(--line)}
.section.tight-top{padding-top:0}
.eyebrow{display:inline-block; color:#0b8a5a; font-weight:800; font-size:13px; letter-spacing:.1em; text-transform:uppercase}
.section h2{font-size:clamp(30px,3.8vw,42px); margin-top:10px; max-width:22ch}
.section .intro{color:var(--muted); font-size:18px; margin-top:12px; max-width:62ch}
.center{text-align:center}
.center h2, .center .intro{margin-inline:auto}

.steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:40px; counter-reset:step}
@media (max-width:860px){ .steps{grid-template-columns:minmax(0,1fr)} }
.step{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow)}
.step::before{counter-increment:step; content:counter(step); display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--ink); color:var(--gold); font:800 17px/1 var(--display)}
.step h3{font-size:20px; margin-top:16px}
.step p{color:var(--muted); margin-top:8px}

.coverage{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; margin-top:36px}
@media (max-width:860px){ .coverage{grid-template-columns:minmax(0,1fr)} }
.provinces{display:flex; flex-wrap:wrap; gap:10px}
.provinces span{background:var(--card); border:1px solid var(--line-2); padding:9px 14px; border-radius:12px; font-weight:700; font-size:15px}
.regions{margin-top:18px; color:var(--muted)}
.checklist{list-style:none; padding:0; margin:0; display:grid; gap:12px}
.checklist li{display:flex; gap:12px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 16px}
.checklist li::before{content:""; flex:none; width:22px; height:22px; margin-top:2px; border-radius:7px; background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23f6b400'%3E%3Cpath d='M8.1 13.3 4.8 10l-1.2 1.2 4.5 4.5 9-9-1.2-1.2z'/%3E%3C/svg%3E") center/15px no-repeat}
.checklist b{display:block}
.checklist span{color:var(--muted); font-size:15px}

/* credits */
.credit-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:36px}
@media (max-width:760px){ .credit-grid{grid-template-columns:minmax(0,1fr)} }
.credit{border-radius:var(--radius); padding:28px; border:1px solid var(--line); background:var(--card); box-shadow:var(--shadow)}
.credit.dark{background:var(--ink); color:#fff; border-color:var(--ink)}
.credit .cost{font:800 clamp(40px,5vw,54px)/1 var(--display); letter-spacing:-.03em}
.credit .cost small{font:600 18px var(--body); letter-spacing:0; opacity:.75}
.credit h3{font-size:19px; margin-top:14px}
.credit p{margin-top:6px; color:var(--muted)}
.credit.dark p{color:#b8cec5}
.facts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px}
@media (max-width:980px){ .facts{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .facts{grid-template-columns:minmax(0,1fr)} }
.fact{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px}
.fact b{display:block; font-family:var(--display); font-size:16px}
.fact span{display:block; color:var(--muted); font-size:15px; margin-top:4px}

/* pricing */
.plans{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:40px; align-items:stretch}
@media (max-width:960px){ .plans{grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto} }
.plan{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:28px; display:flex; flex-direction:column; box-shadow:var(--shadow); min-width:0}
.plan.best{background:var(--ink); color:#fff; border-color:var(--ink); position:relative}
.plan .badge{position:absolute; top:-13px; left:28px; background:var(--gold); color:#1d1500; font-size:13px; font-weight:800; padding:5px 12px; border-radius:999px}
.plan h3{font-size:22px}
.plan .for{color:var(--muted); font-size:15px; margin-top:4px}
.plan.best .for{color:#aec6bc}
.plan .price{font:800 48px/1 var(--display); letter-spacing:-.035em; margin-top:22px}
.plan .price small{font:600 16px var(--body); letter-spacing:0; color:var(--muted)}
.plan.best .price small{color:#aec6bc}
.plan ul{list-style:none; padding:0; margin:22px 0 26px; display:grid; gap:11px; flex:1}
.plan li{display:flex; gap:10px; align-items:flex-start; font-size:16px}
.plan li::before{content:""; flex:none; width:18px; height:18px; margin-top:4px; border-radius:50%; background:#0b8a5a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8.1 13.3 4.8 10l-1.2 1.2 4.5 4.5 9-9-1.2-1.2z'/%3E%3C/svg%3E") center/13px no-repeat}
.plan.best li::before{background-color:var(--mint)}
.alt-link{display:block; text-align:center; margin-top:12px; font-size:14px; font-weight:600; color:var(--muted); text-underline-offset:3px}
.plan.best .alt-link{color:#aec6bc}
.test-banner{background:#7c2d12; color:#fff; text-align:center; font-weight:700; font-size:14px; padding:8px 16px}
.pay-note{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 26px; margin-top:28px; color:var(--muted); font-size:15px; text-align:center}
.pay-note b{color:var(--text)}

/* faq */
.faq{margin-top:34px; display:grid; gap:12px}
.faq details{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:4px 20px}
.faq summary{cursor:pointer; list-style:none; font:700 17px/1.4 var(--display); padding:16px 30px 16px 0; position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:0; top:12px; font:500 26px/1 var(--body); color:#0b8a5a}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted); padding:0 0 18px}

/* call to action */
.cta{background:var(--ink); color:#fff; border-radius:26px; padding:clamp(28px,5vw,56px); display:grid; grid-template-columns:minmax(0,1.3fr) auto; gap:24px; align-items:center}
@media (max-width:760px){ .cta{grid-template-columns:minmax(0,1fr)} }
.cta h2{font-size:clamp(28px,3.4vw,38px); margin:0; max-width:none}
.cta p{color:#b8cec5; margin-top:10px}
.cta .actions{display:flex; flex-wrap:wrap; gap:12px}

/* ---------- document pages (terms, refunds, privacy, contact) ---------- */
.doc-head{background:var(--ink); color:#fff; padding-block:56px 60px}
.doc-head h1{font-size:clamp(32px,4.6vw,48px); margin-top:10px}
.doc-head p{color:#b8cec5; margin-top:12px; max-width:62ch}
.doc-head .eyebrow{color:var(--mint)}
.doc{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,4vw,44px); margin-block:-28px 72px; box-shadow:var(--shadow); min-width:0; overflow-wrap:break-word}
.doc h2{font-size:21px; margin-top:32px}
.doc h2:first-child{margin-top:0}
.doc p, .doc li{color:#2b3a35}
.doc p + p{margin-top:10px}
.doc ul{margin:10px 0 0; padding-left:22px; display:grid; gap:8px}
.doc a{color:#0b6b47; text-underline-offset:3px}
.doc .updated{color:var(--muted-2); font-size:15px}

.contact-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
@media (max-width:760px){ .contact-grid{grid-template-columns:minmax(0,1fr)} }
.contact-card{border:1px solid var(--line); border-radius:16px; padding:22px; min-width:0}
.contact-card h2{margin-top:0; font-size:19px}
.contact-card dl{margin:14px 0 0; display:grid; grid-template-columns:8rem minmax(0,1fr); gap:10px 14px}
.contact-card dt{color:var(--muted); font-size:15px}
.contact-card dd{margin:0; font-weight:600; overflow-wrap:anywhere}
@media (max-width:480px){ .contact-card dl{grid-template-columns:minmax(0,1fr); gap:2px} .contact-card dd + dt{margin-top:12px} }

/* ---------- footer ---------- */
.site-foot{background:#041a15; color:#9fb6ad; font-size:15px; padding-block:48px 34px}
.foot-grid{display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); gap:32px}
@media (max-width:760px){ .foot-grid{grid-template-columns:minmax(0,1fr)} }
.site-foot h3{color:#fff; font:700 15px var(--body); margin-bottom:12px}
.site-foot ul{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.site-foot a{color:#d3e2dc; text-decoration:none}
.site-foot a:hover{color:#fff; text-decoration:underline}
.site-foot .about{margin-top:12px; max-width:40ch}
.legal-line{border-top:1px solid rgb(255 255 255/.08); margin-top:36px; padding-top:20px; font-size:14px; color:#7f978e; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px}
