:root{
  --orange:#FA3B0F;
  --orange-hot:#FF4A1C;
  --ink:#212121;
  --paper:#FFFFFF;
  --wash:#F5F3F1;
  --wash-2:#EBE7E4;
  --line:#E4DFDB;
  --text-soft:#6B5F58;
  --text-faint:#9C918A;
  --green:#12A150;
  --font:'Aeonik','Aeonik Pro',Figtree,system-ui,-apple-system,sans-serif;
  --r-xl:20px; --r-lg:14px; --r-md:11px; --pill:999px;
  --shadow:0 1px 2px rgba(33,33,33,.04),0 12px 32px rgba(33,33,33,.08);
  --shadow-lift:0 2px 4px rgba(33,33,33,.05),0 26px 60px rgba(33,33,33,.16);
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.55;font-size:16px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;text-align:center}
a{color:inherit;text-decoration:none}
.tnum{font-variant-numeric:tabular-nums}

/* logo: explicit height + auto width so Safari and in-app browsers size it */
.mark{display:inline-block;width:auto;fill:currentColor;vertical-align:middle}

.split{font-weight:800;letter-spacing:-.035em;line-height:1.03;
  font-size:clamp(32px,5.6vw,64px);max-width:16ch;margin:0 auto}
.split .a,.split .b{display:block}

.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);
  backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:14px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;color:var(--orange);flex-shrink:0}
.logo .mark{height:30px}
.nav-links{display:flex;gap:28px;font-size:14.5px;font-weight:500;color:var(--text-soft)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{background:var(--ink);color:#fff;font-weight:600;font-size:14px;
  padding:11px 20px;border-radius:var(--pill);flex-shrink:0}
.nav-cta:hover{background:#000}
@media(max-width:900px){.nav-links{display:none}}

.hero{background:var(--orange);color:#fff;padding:52px 0 56px}
.hero-rebate{font-size:clamp(14.5px,1.5vw,17px);font-weight:500;color:var(--ink);line-height:1.5}
.hero-rebate b{font-weight:800}
.hero-head{margin-top:clamp(38px,6vw,64px)}
.hero-head .a{color:#fff}
.hero-head .b{color:var(--ink)}

.capture{margin:clamp(34px,4.5vw,48px) auto 0;background:#fff;color:var(--ink);
  border-radius:var(--r-xl);padding:26px 28px;max-width:600px;text-align:left;
  box-shadow:0 24px 60px rgba(33,33,33,.22)}
.capture .lab{font-size:15px;font-weight:700;margin-bottom:12px}
.addr-row{display:grid;grid-template-columns:1fr auto;gap:10px}
@media(max-width:560px){.addr-row{grid-template-columns:1fr}}
input,select{font-family:var(--font);font-size:16px;color:var(--ink);width:100%;
  padding:16px 18px;background:var(--wash);border:1.5px solid transparent;
  border-radius:var(--r-md);transition:border-color .16s,background .16s,box-shadow .16s}
input:focus,select:focus{outline:none;background:#fff;border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(250,59,15,.14)}
input::placeholder{color:var(--text-faint)}
.fine{margin-top:12px;font-size:13px;color:var(--text-faint);line-height:1.5}

.hero-foot{margin-top:clamp(26px,3.5vw,42px)}
.tagline{font-size:clamp(15px,1.7vw,19px);font-weight:500;color:#fff;line-height:1.45;
  max-width:34ch;margin:0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font);font-weight:700;font-size:15.5px;
  padding:16px 32px;border-radius:var(--pill);border:none;cursor:pointer;white-space:nowrap;
  background:var(--orange);color:#fff;
  transition:background .16s,transform .16s,box-shadow .16s;
  box-shadow:0 6px 18px rgba(250,59,15,.26)}
.btn:hover{background:var(--orange-hot);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-block{width:100%}
.btn-ink{background:var(--ink);box-shadow:none}
.btn-ink:hover{background:#000}
.btn-note{display:block;margin-top:16px;font-size:13.5px;color:var(--text-faint)}

.sec{padding:92px 0}
.sec-wash{background:var(--wash)}
.sec-ink{background:var(--ink);color:#fff}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
  color:var(--orange);margin-bottom:14px}
h2.title{font-size:clamp(28px,4.1vw,44px);font-weight:800;letter-spacing:-.04em;
  line-height:1.07;max-width:20ch;margin:0 auto}
.lede{margin:16px auto 0;font-size:17.5px;color:var(--text-soft);max-width:58ch;line-height:1.6}
.sec-ink .lede{color:rgba(255,255,255,.66)}

.mech{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px}
@media(max-width:860px){.mech{grid-template-columns:1fr}}
.m{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r-lg);padding:30px 26px}
.m .day{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--orange);margin-bottom:14px}
.m h3{font-size:19px;font-weight:800;letter-spacing:-.03em;margin-bottom:9px}
.m p{font-size:15px;color:rgba(255,255,255,.66);line-height:1.6}
.mech-note{margin:28px auto 0;font-size:14.5px;color:rgba(255,255,255,.48);
  max-width:64ch;line-height:1.6}

.rebates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:46px}
@media(max-width:760px){.rebates{grid-template-columns:1fr}}
.rebate{background:#fff;border-radius:var(--r-xl);padding:34px 30px;box-shadow:var(--shadow)}
.rebate .k{font-size:14.5px;font-weight:600;color:var(--text-soft);margin-bottom:12px}
.rebate .v{font-size:clamp(38px,5.2vw,56px);font-weight:800;letter-spacing:-.045em;
  color:var(--orange);line-height:1}
.rebate .n{margin:14px auto 0;font-size:14.5px;color:var(--text-soft);line-height:1.58;max-width:38ch}

.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px}
@media(max-width:860px){.compare{grid-template-columns:1fr}}
.opt{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;
  transition:border-color .18s,box-shadow .18s,transform .18s}
.opt:hover{border-color:#D5CECA;transform:translateY(-2px);box-shadow:var(--shadow)}
.opt.best{border-color:var(--orange);box-shadow:0 10px 32px rgba(250,59,15,.14)}
.opt h4{font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:12px}
.chip{display:inline-block;font-size:11.5px;font-weight:800;padding:5px 12px;
  border-radius:var(--pill);background:var(--wash-2);color:var(--text-soft);margin-bottom:18px}
.chip.hot{background:var(--orange);color:#fff}
.opt .big{font-size:29px;font-weight:800;letter-spacing:-.04em;color:var(--green)}
.opt .cap{font-size:13.5px;color:var(--text-soft);margin-top:4px}
.opt .rule{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;
  font-size:14px;color:var(--text-soft);line-height:1.58}
.opt .rule b{color:var(--ink);font-weight:700}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border-radius:var(--r-lg);padding:30px 26px;box-shadow:var(--shadow)}
.step .n{width:32px;height:32px;border-radius:var(--pill);background:#FFF0EB;color:var(--orange);
  font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px}
.step h3{font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:9px}
.step p{font-size:14.5px;color:var(--text-soft);line-height:1.6}

.reviews{columns:3;column-gap:14px;margin-top:46px;text-align:left}
@media(max-width:900px){.reviews{columns:2}}
@media(max-width:620px){.reviews{columns:1}}
.rev{break-inside:avoid;background:#fff;border-radius:var(--r-lg);padding:22px;
  margin-bottom:14px;box-shadow:var(--shadow)}
.rev-top{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.rev-meta .nm{font-size:14px;font-weight:700}
.rev-meta .wh{font-size:12.5px;color:var(--text-faint)}
.stars{color:#F5A623;font-size:13px;letter-spacing:2px;margin-bottom:9px}
.rev p{font-size:14.5px;line-height:1.62;color:#4A4A4A}
.gbadge{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:11.5px;
  color:var(--text-faint);font-weight:600}
.gbadge .g{width:14px;height:14px;flex-shrink:0;display:block}
.rating{display:inline-flex;align-items:center;gap:15px;margin-top:34px}
.rating .sc{font-size:40px;font-weight:800;letter-spacing:-.045em;line-height:1}
.rating .rm{font-size:14px;color:var(--text-soft);text-align:left}

.faq{max-width:740px;margin:44px auto 0;background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow);padding:8px 30px;text-align:left}
.fi{border-bottom:1px solid var(--line)}
.fi:last-child{border-bottom:none}
.fq{width:100%;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font);
  font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);
  padding:22px 46px 22px 0;position:relative}
.fq:hover{color:var(--orange)}
.fq .ic{position:absolute;right:0;top:50%;transform:translateY(-50%);width:27px;height:27px;
  border-radius:50%;background:var(--wash);color:var(--orange);font-size:17px;font-weight:500;
  display:flex;align-items:center;justify-content:center;transition:transform .22s,background .22s}
.fi.open .fq .ic{transform:translateY(-50%) rotate(45deg);background:var(--orange);color:#fff}
.fa{max-height:0;overflow:hidden;transition:max-height .3s ease}
.fi.open .fa{max-height:620px}
.fa-in{padding:0 24px 24px 0;font-size:15.5px;line-height:1.68;color:var(--text-soft)}
.fa-in p+p{margin-top:12px}
.fa-in b{color:var(--ink);font-weight:700}

.final{background:var(--paper);padding:104px 0;border-top:1px solid var(--line)}
.final .split .a{color:var(--orange)}
.final .split .b{color:var(--ink)}
.final .row{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

.footer{background:var(--ink);color:rgba(255,255,255,.55);padding:56px 0 44px;
  font-size:14px;text-align:center}
.footer-in{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.footer .logo-lock{color:#fff;display:block;margin-bottom:20px}
.footer .mark{height:46px}
.footer .tag{max-width:38ch;margin:0 auto}
.footer .contact{margin-top:20px}
.footer .contact a{color:#fff;font-weight:700}
.footer a:hover{opacity:.75}
.lic{margin-top:26px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
  font-size:13px;color:rgba(255,255,255,.45)}
.disclaimer{margin:20px auto 0;font-size:12px;line-height:1.68;
  color:rgba(255,255,255,.32);max-width:76ch}

.sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.95);
  backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 16px;
  transform:translateY(120%);transition:transform .3s ease}
.sticky.show{transform:translateY(0)}
@media(min-width:901px){.sticky{display:none}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== lead form ===== */
.formcard{max-width:600px;margin:46px auto 0;background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow-lift);overflow:hidden;text-align:left}
.prog{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
  padding:20px 24px;border-bottom:1px solid var(--line);
  font-size:13px;font-weight:600;color:var(--text-faint)}
.pstep{display:flex;align-items:center;gap:7px}
.pstep .b{width:7px;height:7px;border-radius:50%;background:#D9D2CD}
.pstep.active{color:var(--ink)} .pstep.active .b{background:var(--orange)}
.pstep.done{color:var(--text-soft)} .pstep.done .b{background:var(--ink)}
.prog .arw{color:#D9D2CD}

.fbody{padding:30px 28px 32px}
.fbody h3{font-size:22px;font-weight:800;letter-spacing:-.035em;margin-bottom:7px}
.fbody .hint{font-size:14.5px;color:var(--text-soft);margin-bottom:22px;line-height:1.55}

fieldset{border:none;margin-bottom:18px}
legend{font-size:13px;font-weight:700;color:var(--text-soft);margin-bottom:9px;padding:0}
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;font-weight:700;color:var(--text-soft);margin-bottom:7px}
.field label .opt-note{font-weight:500;color:var(--text-faint);text-transform:none;
  background:none;border:none;padding:0;border-radius:0}
.req{color:var(--orange)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.row2{grid-template-columns:1fr}}

input[type=text],input[type=email],input[type=tel],select,textarea{
  font-family:var(--font);font-size:16px;color:var(--ink);width:100%;
  padding:15px 17px;background:var(--wash);border:1.5px solid transparent;
  border-radius:var(--r-md);transition:border-color .16s,background .16s,box-shadow .16s}
input:focus,select:focus,textarea:focus{outline:none;background:#fff;border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(250,59,15,.14)}
input::placeholder,textarea::placeholder{color:var(--text-faint)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:#D92D20;background:#FFF5F4}
.err{display:none;margin-top:6px;font-size:13px;font-weight:600;color:#D92D20}
.err.show{display:block}

/* option chips */
.opts{display:grid;gap:8px}
.opts.two{grid-template-columns:1fr 1fr}
@media(max-width:460px){.opts.two{grid-template-columns:1fr}}
.opt-btn{position:relative}
.opt-btn input{position:absolute;opacity:0;width:1px;height:1px}
.opt-btn span{display:flex;align-items:center;gap:11px;padding:14px 16px;
  border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;background:#fff;
  font-size:15px;font-weight:600;transition:all .16s;height:100%}
.opt-btn span::before{content:'';width:18px;height:18px;border-radius:50%;
  border:1.5px solid #D5CECA;flex-shrink:0;transition:all .16s}
.opt-btn span small{display:block;font-weight:500;font-size:12.5px;color:var(--text-soft);margin-top:2px}
.opt-btn span:hover{border-color:#C7BFBA}
.opt-btn input:checked+span{border-color:var(--orange);background:#FFF3EF}
.opt-btn input:checked+span::before{border-color:var(--orange);background:var(--orange);
  box-shadow:inset 0 0 0 3.5px #fff}
.opt-btn input:focus-visible+span{box-shadow:0 0 0 4px rgba(250,59,15,.2)}

.consent{display:flex;gap:11px;align-items:flex-start;margin:20px 0 18px}
.consent input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:var(--orange)}
.consent label{font-size:12.5px;color:var(--text-soft);line-height:1.55}
.consent a{color:var(--ink);text-decoration:underline}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.fnav{display:flex;gap:10px;align-items:center;margin-top:6px}
.fnav .btn{flex:1}
.back{background:none;border:1.5px solid var(--line);cursor:pointer;font-family:var(--font);
  font-size:14.5px;font-weight:700;color:var(--text-soft);padding:16px 22px;
  border-radius:var(--pill);transition:all .16s}
.back:hover{border-color:#C7BFBA;color:var(--ink)}
.trust{margin-top:16px;font-size:12.5px;color:var(--text-faint);line-height:1.5;text-align:center}

.done{text-align:center;padding:20px 0 10px}
.done .tick{width:56px;height:56px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:27px;margin:0 auto 20px}
.done h3{margin-bottom:10px}
.done p{font-size:15px;color:var(--text-soft);line-height:1.6;max-width:42ch;margin:0 auto}
.done .num{display:inline-block;margin-top:20px;font-weight:800;font-size:18px;color:var(--ink)}

.formerr{display:none;margin-top:16px;padding:15px 17px;border-radius:var(--r-md);
  background:#FFF5F4;border:1.5px solid #FBD3CE;font-size:14px;color:#912018;line-height:1.55}
.formerr.show{display:block}
.formerr a{font-weight:700;text-decoration:underline}
.btn[disabled]{opacity:.6;pointer-events:none}
.hide{display:none}

/* address autocomplete dropdown (fed by /api/places) */
.ac-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lift);
  overflow:hidden;text-align:left}
.ac-item{padding:13px 16px;font-size:14.5px;color:var(--ink);cursor:pointer}
.ac-item.on,.ac-item:hover{background:var(--wash)}

/* ===== standalone thanks page ===== */
.thanks-page{min-height:100vh;display:flex;flex-direction:column}
.thanks-page .sec{flex:1;display:flex;align-items:center}
