/* Advantage Leads: blueprint paper, plan-check stamp accents. */
:root{
  --paper:#F3F5F6; --sheet:#FFFFFF; --ink:#15212C; --ink-2:#4B5A68; --rule:#D5DCE2; --rule-2:#E6EBEF;
  --blue:#1D5AA6; --blue-ink:#0F3D75; --blue-wash:#E5EEF8; --green:#2C7A4B; --green-wash:#E2F2E8; --amber:#B4620A; --amber-wash:#FBEEDC; --red:#B23A3A;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif; --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0F161D; --sheet:#16202A; --ink:#E4EAF0; --ink-2:#9AA9B7; --rule:#2B3946; --rule-2:#22303C;
  --blue:#6FA6E8; --blue-ink:#B9D4F5; --blue-wash:#18304C; --green:#6CC892; --green-wash:#163626; --amber:#E9A253; --amber-wash:#3A2A16; --red:#EE8585; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}
a{color:var(--blue)}
.wrap{max-width:1100px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.narrow{max-width:920px;padding-block:36px 64px}
.bar{background:var(--sheet);border-bottom:1px solid var(--rule)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{font:800 19px/1 var(--display);font-stretch:85%;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo i{width:12px;height:12px;border:2px solid var(--blue);display:inline-block;transform:rotate(45deg)}
h1,h2,h3{text-wrap:balance}
h1{font:800 clamp(30px,5.2vw,54px)/1.04 var(--display);font-stretch:85%;letter-spacing:-.005em;margin:0 0 14px}
h2{font:750 clamp(23px,3vw,32px)/1.15 var(--display);font-stretch:88%;margin:0 0 12px}
h3{font:600 17px/1.3 var(--body);margin:0 0 6px}
p{margin:0 0 12px;max-width:68ch}
.lead{font-size:18px;color:var(--ink-2)}
.eyebrow{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.muted{color:var(--ink-2)} .small{font-size:14px} .mono{font-family:var(--mono);font-size:13px}
.button,button.primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;border:0;border-radius:6px;padding:12px 20px;font:600 16px var(--body);text-decoration:none;cursor:pointer}
@media (prefers-color-scheme:dark){.button,button.primary{color:#0F161D}}
.button:hover,button.primary:hover{filter:brightness(1.08)}
button.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule);border-radius:6px;padding:10px 16px;font:600 15px var(--body);cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
section{padding-block:56px;border-bottom:1px solid var(--rule)}
section.tint{background:var(--sheet)}
.hero{padding-block:56px 48px;background:var(--sheet);border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.ticket{border:1px solid var(--rule);border-radius:8px;background:var(--paper);padding:18px;display:grid;gap:12px}
.ticket .head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.lines{display:grid;gap:0}
.lines div{padding:10px 0;border-top:1px dashed var(--rule);font-size:14px;line-height:1.45}
.lines b{font-weight:600}
.tag{font:600 12px var(--body);color:var(--green)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.stat{border-left:3px solid var(--blue);padding:2px 0 2px 12px}
.stat b{display:block;font:800 30px/1.1 var(--display);font-stretch:90%;font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:var(--ink-2)}
.stat.soon{border-left-color:var(--green)}
@media (max-width:520px){.stats{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.step{border-top:2px solid var(--ink);padding-top:12px}
.step .n{font:500 12px var(--mono);color:var(--ink-2);letter-spacing:.08em}
.stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
@media (max-width:760px){.stage-list{grid-template-columns:1fr}}
.stage{background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:18px}
.pill{display:inline-block;font:600 12px var(--body);padding:2px 9px;border-radius:10px;white-space:nowrap}
.pill.soon{background:var(--green-wash);color:var(--green)} .pill.new{background:var(--blue-wash);color:var(--blue-ink)} .pill.coming{background:var(--rule-2);color:var(--ink-2)}
form{display:grid;gap:14px}
label.f{display:grid;gap:5px;font:600 14px var(--body);min-width:0}
input,select{font:16px var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:11px 12px;width:100%;min-width:0}
input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--blue);flex:none}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.row>*{flex:1 1 160px}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;font:400 15px var(--body)}
.checks label{display:flex;gap:8px;align-items:center}
.consent{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.5 var(--body);color:var(--ink-2)}
.err{color:var(--red);font:500 13px var(--body)}
.note{border-left:3px solid var(--blue);background:var(--blue-wash);padding:12px 14px;font-size:15px}
.note.ok{border-color:var(--green);background:var(--green-wash)}
.note.bad{border-color:var(--red);background:var(--amber-wash)}
.check-result{font-size:16px}
.check-result b{font:800 26px var(--display);font-stretch:90%}
.price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:760px){.price{grid-template-columns:1fr}}
.price-card{border:2px solid var(--ink);border-radius:8px;padding:22px;background:var(--sheet)}
.price-card .amt{font:800 44px/1 var(--display);font-stretch:85%}
.price-card ul{padding-left:18px;margin:12px 0 0}
details{border-top:1px solid var(--rule);padding:14px 0}
details summary{cursor:pointer;font-weight:600}
details p{margin-top:8px}
.callout{border:1px solid var(--rule);background:var(--sheet);border-radius:8px;padding:18px;margin:18px 0}
.callout.slim{padding:10px 14px;font-size:15px}
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:8px;background:var(--sheet);margin-top:16px}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font:600 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule)}
td{padding:10px 12px;border-bottom:1px solid var(--rule-2);vertical-align:top}
td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.foot{padding-block:28px 40px;font-size:13px;color:var(--ink-2)}
.foot a{color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- elements borrowed from Best Yard Pros' layout, in this site's colors ---- */
.nav{display:flex;align-items:center;gap:18px}
.nav a.link{color:var(--ink-2);text-decoration:none;font:500 15px var(--body)}
.nav a.link:hover{color:var(--ink)}
@media (max-width:760px){.nav a.link{display:none}}
.ticker{background:var(--ink);color:var(--paper);display:flex;align-items:stretch;overflow:hidden;font:500 14px var(--body)}
.ticker .label{flex:none;background:var(--blue);color:#fff;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:11px 14px;display:flex;align-items:center;z-index:1}
.ticker .track{display:flex;white-space:nowrap;animation:tick 38s linear infinite}
.ticker .track span{padding:11px 26px;border-right:1px solid rgba(255,255,255,.15)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}}
@media (prefers-color-scheme:dark){.ticker{background:#0A1016;color:var(--ink)}.ticker .label{color:#0F161D}}
.zipbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 10px;max-width:520px}
.zipbar input{flex:1 1 150px;max-width:220px;background:var(--sheet)}
.zipbar select{flex:1 1 170px;background:var(--sheet)}
.hero{padding-bottom:110px}
.offer-wrap{margin-top:-80px;position:relative;z-index:2}
.offer{max-width:560px;margin:0 auto;background:var(--sheet);border:1px solid var(--rule);border-radius:10px;box-shadow:0 14px 40px rgba(21,33,44,.12);padding:24px 26px}
.offer .top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.chip-hot{background:var(--blue);color:#fff;font:600 12px var(--body);padding:3px 9px;border-radius:4px}
@media (prefers-color-scheme:dark){.chip-hot{color:#0F161D}}
.offer .big{font:800 46px/1 var(--display);font-stretch:85%;margin:12px 0 4px}
.offer .big small{font:500 16px var(--body);color:var(--ink-2);margin-left:6px}
.offer ul{list-style:none;padding:0;margin:12px 0 18px}
.offer li{padding:10px 0 10px 24px;border-top:1px solid var(--rule-2);position:relative;font-size:16px}
.offer li::before{content:"";position:absolute;left:2px;top:17px;width:9px;height:9px;background:var(--blue);transform:rotate(45deg)}
.offer .button{width:100%;justify-content:center;padding:14px}
.offer .fine{text-align:center;font-size:13px;color:var(--ink-2);margin:12px 0 0}
.badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 0}
.badges span{display:inline-flex;align-items:center;gap:7px;background:var(--sheet);border:1px solid var(--rule);border-radius:6px;padding:7px 12px;font:600 14px var(--body)}
.badges span::before{content:"";width:9px;height:5px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg) translateY(-2px)}
.steps.line{position:relative}
.steps .badge-n{width:46px;height:46px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 20px var(--display);box-shadow:0 0 0 5px var(--blue-wash);margin-bottom:14px;position:relative;z-index:1}
@media (prefers-color-scheme:dark){.steps .badge-n{color:#0F161D}}
.steps.line .step{border-top:0;padding-top:0;position:relative}
@media (min-width:761px){.steps.line .step:not(:last-child)::after{content:"";position:absolute;top:23px;left:60px;right:-10px;border-top:2px dashed var(--rule)}}
.icon{width:46px;height:46px;border-radius:8px;background:var(--blue-wash);display:grid;place-items:center;margin-bottom:12px}
.icon svg{width:24px;height:24px;stroke:var(--blue-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stage.soon .icon{background:var(--green-wash)} .stage.soon .icon svg{stroke:var(--green)}
.band-callout{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;background:var(--amber-wash);border:1px solid var(--rule);border-radius:10px;padding:18px 22px}
.band-callout p{margin:4px 0 0;color:var(--ink-2)}
.areas{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:20px;margin-top:18px;display:grid;gap:16px}
.areas .region{display:flex;gap:14px;align-items:flex-start}
.areas .pin{flex:none;width:42px;height:42px;border-radius:8px;background:var(--blue-wash);display:grid;place-items:center}
.areas .pin svg{width:20px;height:20px;stroke:var(--blue-ink);fill:none;stroke-width:1.8}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.tiles span{display:grid;place-items:center;text-align:center;min-height:46px;padding:6px 8px;background:var(--paper);border:1px solid var(--rule);border-radius:6px;font:600 14px/1.25 var(--body);color:var(--blue-ink)}

/* ---- multi-city ---- */
.city-tag{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue);border-radius:4px;padding:2px 6px;margin-left:4px}
@media (max-width:420px){.city-tag{display:none}}
.crumbs{font:500 13px var(--body);color:var(--ink-2);margin-bottom:10px}
.crumbs a{color:var(--ink-2)}
.city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}
.city-card{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:22px;display:grid;gap:12px;align-content:start;min-width:0}
.city-card.live{border:2px solid var(--blue)}
.city-card h3{font:800 26px/1.1 var(--display);font-stretch:88%;margin:0}
.city-card .status{font:600 12px var(--body);padding:3px 9px;border-radius:10px;justify-self:start}
.status.live{background:var(--green-wash);color:var(--green)}
.status.soon{background:var(--amber-wash);color:var(--amber)}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mini-stats div{border-left:3px solid var(--blue);padding-left:8px;font-size:12px;color:var(--ink-2);line-height:1.3}
.mini-stats div.soon{border-left-color:var(--green)}
.mini-stats b{display:block;font:800 22px var(--display);font-stretch:90%;color:var(--ink);font-variant-numeric:tabular-nums}
