/* ============ ROVER GUIDED FLOW v2 (/rover-deep-clean) ============
   The live Clover design system (tokens, Fraunces + Nunito, header, clover-pattern hero, 16/24 radii,
   pill buttons) with the prototype's layout: one question per screen, a "Your yard plan" card that
   fills in as you answer (sticky right column on desktop, pills on phones). Standalone: clover.css
   is not loaded here, so nothing on /, /sunshine, /bugle or /rover can be affected by this file. */
:root{
  --navy:#1E3564; --navy-deep:#16284D; --orange:#F28C28; --orange-dark:#D97614;
  --sky:#DCE7F7; --sky-soft:#EEF3FB; --white:#FFFFFF;
  --ink:#22304A; --ink-soft:#5A6A85; --line:#D8E2F0;
  --green:#2E9E5B; --red:#D14343; --cream:#FFF5EA; --cream-line:#F6CFA4;
  --font-display:'Fraunces',Georgia,serif; --font-body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  --radius:16px; --radius-lg:24px;
  --shadow:0 8px 30px rgba(30,53,100,.10);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--ink);background:var(--sky-soft);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink)}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header (same as the live signup page) ---------- */
header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.nav-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:44px;width:auto}
.nav-phone{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--navy);font-weight:900;font-size:1.05rem;min-height:48px}
.nav-phone svg{width:18px;height:18px;flex:none}
.nav-phone .small{display:block;font-size:.7rem;font-weight:700;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;line-height:1.2}

/* ---------- hero: navy + clover pattern ---------- */
.hero{background:var(--navy);color:#fff;text-align:center;padding:44px 20px 124px;position:relative;overflow:hidden}
.hero .cpat{position:absolute;inset:0;opacity:.07;pointer-events:none}
.hero h1{position:relative;font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5.4vw,3.3rem);line-height:1.06;letter-spacing:-.015em;max-width:15ch;margin:0 auto}
.hero h1 .accent{color:var(--orange)}
.hero p.sub{position:relative;color:#C7D4EE;font-size:1.06rem;max-width:34em;margin:14px auto 0;font-weight:600}
.trust-row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:18px;font-size:.88rem;font-weight:800}
.trust-row span{display:inline-flex;align-items:center;gap:6px}
.trust-row svg{width:16px;height:16px;fill:var(--orange)}

/* ---------- layout ---------- */
.shell{max-width:1080px;margin:-92px auto 0;padding:0 16px 40px;display:grid;gap:20px;grid-template-columns:1fr;position:relative;z-index:5}
@media (min-width:920px){.shell{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.flow{overflow:hidden}

.offer{display:flex;gap:12px;align-items:center;background:linear-gradient(90deg,#FFF3E3,#fff);border-bottom:1px solid #F6DDBB;padding:13px 22px;font-size:.92rem;color:var(--navy)}
.offer>svg{width:26px;height:26px;fill:var(--orange);flex:none}
.offer .t{font-weight:900;line-height:1.3}
.offer .t s{color:var(--ink-soft);font-weight:700}
.offer .t .zero{color:var(--green)}
.offer .t small{display:block;font-weight:700;color:var(--ink-soft);font-size:.76rem;margin-top:1px}
.offer .spots{margin-left:auto;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);text-align:right;max-width:12em;line-height:1.3}
.offer .spots.hot{color:var(--red)}
@media (max-width:560px){.offer{padding:12px 16px}.offer .spots{display:none}}

.progress{padding:16px 22px 0}
.progress .bar{height:6px;background:var(--sky);border-radius:99px;overflow:hidden}
.progress .bar i{display:block;height:100%;background:var(--orange);border-radius:99px;transition:width .35s ease}
.progress .meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:.82rem;color:var(--ink-soft);font-weight:800;min-height:32px}
.back{background:none;border:0;padding:6px 8px 6px 0;font-weight:800;color:var(--ink-soft);display:inline-flex;gap:4px;align-items:center;min-height:40px}
.back svg{width:16px;height:16px;fill:currentColor}
.back:hover{color:var(--navy)}

.pills{display:flex;flex-wrap:wrap;gap:6px;padding:10px 22px 0}
.pills:empty{display:none}
.pill{font-size:.78rem;font-weight:800;background:var(--sky-soft);color:var(--ink);border:1px solid var(--line);padding:3px 10px;border-radius:99px}
@media (min-width:920px){.pills{display:none}}

.screen{padding:20px 22px 26px}
@media (min-width:560px){.screen{padding:24px 34px 30px}}
.screen.tail{padding-top:0}
.screen h2{font-family:var(--font-display);font-weight:900;color:var(--navy);font-size:clamp(1.5rem,3.6vw,1.9rem);line-height:1.15;margin:0 0 8px;letter-spacing:-.01em}
.screen h2:focus{outline:none}
.lede{color:var(--ink-soft);margin:0 0 18px;max-width:36em;font-weight:600}
.lede b{color:var(--ink)}
.sec-label{font-weight:900;font-size:.95rem;color:var(--navy);margin:20px 0 10px}
.sub-h{font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:var(--navy);margin:24px 0 10px}

/* ---------- answer tiles ---------- */
.opts{display:grid;gap:10px}
.opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.opts.five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:480px){.opts.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
.opt{position:relative;display:flex;gap:14px;align-items:flex-start;text-align:left;background:var(--white);border:2.5px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-height:58px;transition:border-color .15s,background .15s,box-shadow .15s}
.opt:hover{border-color:#9DB4DA}
.opt[aria-pressed="true"]{border-color:var(--orange);background:var(--cream);box-shadow:0 6px 16px rgba(242,140,40,.14)}
.opt .ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sky-soft)}
.opt .ic svg{width:20px;height:20px;fill:var(--navy)}
.opt.pro .ic{background:var(--orange)}
.opt.pro .ic svg{fill:#fff}
.opt b{display:block;font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--ink)}
.opt small{display:block;color:var(--ink-soft);font-size:.88rem;margin-top:2px;font-weight:600}
.opt .badge{position:absolute;top:-11px;right:14px;background:var(--orange);color:#fff;font-size:.72rem;font-weight:900;padding:2px 10px;border-radius:99px;letter-spacing:.02em}
.opt.tile{flex-direction:column;align-items:center;text-align:center;padding:14px 6px;gap:2px}
.opt.tile b{font-family:var(--font-display);font-size:1.65rem;font-weight:900;color:var(--navy)}
.opt.tile small{margin:0;font-size:.8rem}
.opt.sm{padding:12px 14px}
.opt.sm b{font-size:.98rem}

.note{display:flex;gap:10px;background:var(--sky-soft);border-radius:14px;padding:12px 14px;margin-top:16px;font-size:.9rem;color:var(--ink);font-weight:600}
.note svg{flex:none;width:20px;height:20px;fill:var(--green);margin-top:2px}
.note b{font-weight:900}
.linkbtn{margin-top:14px;background:none;border:0;padding:8px 0;font-weight:800;color:var(--navy);text-decoration:underline;text-underline-offset:3px;min-height:44px}

/* ---------- fields ---------- */
label.f{display:block;font-weight:800;font-size:.88rem;color:var(--navy);margin:14px 0 6px}
label.f .opt-l{font-weight:600;color:var(--ink-soft)}
.in-field{width:100%;font-size:17px;color:var(--ink);background:var(--sky-soft);border:2px solid var(--line);border-radius:12px;padding:12px 14px;min-height:52px;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s}
textarea.in-field{min-height:74px;resize:vertical}
select.in-field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3564' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:44px}
.in-field:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px rgba(242,140,40,.16)}
.in-field[aria-invalid="true"],.field.invalid .in-field{border-color:var(--red)}
.in-field[readonly]{color:var(--ink-soft);background:#F4F6FA}
.err{color:var(--red);font-size:.86rem;font-weight:800;margin-top:6px}
.field .err{display:none}
.field.invalid .err{display:block}
.row2{display:grid;gap:0 12px;grid-template-columns:1fr}
@media (min-width:560px){.row2{grid-template-columns:1fr 1fr}}
.row3{display:grid;gap:0 12px;grid-template-columns:1fr 1fr}
.row3 .field:last-child{grid-column:1 / -1}
@media (min-width:560px){.row3{grid-template-columns:1fr 1fr 1fr}.row3 .field:last-child{grid-column:auto}}
.zipbox{position:relative;max-width:380px}
.zipbox svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;fill:var(--orange);pointer-events:none}
.zipbox .in-field{padding-left:48px;font-size:22px;font-weight:800;letter-spacing:.06em;min-height:60px}
.zipbox .in-field::placeholder{font-size:17px;font-weight:600;letter-spacing:0;color:#9AA8BF}
.zipcheck{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.9rem;font-weight:700;color:var(--ink-soft)}
.zipcheck svg{width:18px;height:18px;fill:var(--green);flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-weight:900;font-size:1.05rem;padding:14px 28px;min-height:54px;text-decoration:none;box-shadow:0 8px 22px rgba(242,140,40,.32);transition:background .15s,transform .1s;letter-spacing:.01em;text-align:center}
.btn:hover{background:var(--orange-dark)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.btn.block{width:100%}
.btn.ghost{background:transparent;color:var(--navy);border:2px solid var(--line);box-shadow:none}
.btn.ghost:hover{border-color:#9DB4DA;background:var(--sky-soft)}
.btn svg{width:18px;height:18px;fill:currentColor}
.actions{display:grid;gap:10px;margin-top:20px}
.fine{font-size:.8rem;color:var(--ink-soft);margin-top:12px;line-height:1.5;font-weight:600}
.fine a{color:var(--navy);font-weight:800}
.fine.center{text-align:center}
.transparent{font-size:.9rem;color:var(--ink-soft);margin:14px 0 0;font-weight:600}
.textlink{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;font-weight:800;color:var(--navy);text-decoration:underline;text-underline-offset:3px;min-height:44px}
.textlink svg{width:18px;height:18px;fill:currentColor;flex:none}

/* ---------- contact: locked price teaser ---------- */
.teaser{display:flex;align-items:center;justify-content:space-between;gap:12px;border:2px dashed var(--cream-line);background:var(--cream);border-radius:16px;padding:14px 16px;margin-bottom:6px}
.teaser b{font-family:var(--font-display);font-size:1.25rem;color:var(--navy);font-weight:900}
.teaser small{color:var(--ink-soft);font-weight:700}
.teaser .blur{filter:blur(7px);font-family:var(--font-display);font-weight:900;font-size:1.5rem;user-select:none;color:var(--navy)}

/* ---------- result ---------- */
.rec-why{background:var(--sky-soft);border-radius:16px;padding:14px 16px;margin:0 0 16px;font-weight:600}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:2px 0 2px}
.price .big{font-family:var(--font-display);font-weight:900;font-size:3.3rem;line-height:1;color:var(--navy);letter-spacing:-.02em}
.price .unit{font-weight:800;color:var(--ink-soft)}
.billing{color:var(--ink-soft);font-size:.95rem;margin:4px 0 14px;font-weight:600}
.billing b{color:var(--ink)}
.incl{list-style:none;margin:0 0 16px;display:grid;gap:8px}
.incl li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.incl svg{flex:none;width:18px;height:18px;fill:var(--green);margin-top:3px}
.firstmo{border:2px solid var(--line);border-radius:16px;padding:6px 16px 8px;margin:4px 0 16px}
.firstmo h4{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--navy);margin:10px 0 2px}
.tr{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.tr>span{color:var(--ink-soft);font-weight:700}
.tr>span small{display:block;font-weight:600;font-size:.8rem}
.tr>b{font-weight:800;text-align:right;white-space:nowrap}
.tr .was{color:var(--ink-soft);font-weight:700;text-decoration:line-through;margin-right:4px}
.tr .free{color:var(--green)}
.firstmo .tr:last-of-type{border-bottom:0}
.firstmo .due b{font-family:var(--font-display);font-size:1.25rem;color:var(--navy)}
.firstmo .then{font-size:.8rem;color:var(--ink-soft);font-weight:700;padding:0 0 8px}
.video{display:flex;gap:14px;align-items:center;width:100%;background:var(--navy);color:#fff;border:0;border-radius:16px;padding:14px;text-align:left;margin:18px 0 4px;min-height:80px}
.video .play{flex:none;width:52px;height:52px;border-radius:50%;background:var(--orange);display:grid;place-items:center}
.video .play svg{width:22px;height:22px;fill:#fff}
.video b{display:block;font-size:1rem}
.video small{color:#C9D6EE;font-weight:600}
.start{margin:0 0 16px;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.start li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;font-weight:600}
.start li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:.85rem;display:grid;place-items:center}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;padding:13px 0;font-weight:800;display:flex;justify-content:space-between;gap:12px;min-height:48px;align-items:center;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--ink-soft);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:'\2212'}
.faq p{margin:0 0 14px;color:var(--ink-soft);font-weight:600}
.guar{display:flex;gap:12px;border-left:4px solid var(--green);background:var(--sky-soft);border-radius:0 14px 14px 0;padding:12px 14px;font-size:.92rem;margin-top:18px;font-weight:600}
.guar svg{flex:none;width:20px;height:20px;fill:var(--green);margin-top:2px}
details.compare{margin-top:18px;border:2px solid var(--line);border-radius:16px;overflow:hidden}
details.compare summary{list-style:none;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer}
details.compare summary::-webkit-details-marker{display:none}
details.compare summary::after{content:'+';color:var(--ink-soft);font-size:1.3rem;line-height:1}
details.compare[open] summary::after{content:'\2212'}
details.compare[open] summary{border-bottom:1px solid var(--line)}
.cmp button{display:grid;grid-template-columns:1fr auto;gap:2px 12px;width:100%;text-align:left;background:var(--white);border:0;border-bottom:1px solid var(--line);padding:12px 16px;min-height:60px}
.cmp button:last-child{border-bottom:0}
.cmp button[aria-current="true"]{background:var(--cream)}
.cmp b{font-weight:800}
.cmp small{color:var(--ink-soft);grid-column:1;font-weight:600}
.cmp .p{grid-row:1 / span 2;grid-column:2;align-self:center;font-weight:800;text-align:right;white-space:nowrap}

/* ---------- checkout ---------- */
.dognames{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:560px){.dognames.multi{grid-template-columns:1fr 1fr}}
.hose{display:flex;gap:10px;background:var(--sky-soft);border-radius:12px;padding:10px 12px;font-size:.9rem;margin-top:12px;font-weight:600}
.hose svg{flex:none;width:18px;height:18px;fill:var(--navy);margin-top:2px}
.bump{display:flex;gap:14px;align-items:flex-start;border:2px dashed var(--orange);background:var(--cream);border-radius:16px;padding:14px 16px;margin-top:20px;cursor:pointer}
.bump input{width:24px;height:24px;accent-color:var(--orange);flex:none;margin-top:2px}
.bump b{display:block;font-size:1rem}
.bump .tag{display:inline-block;background:var(--orange);color:#fff;font-size:.75rem;font-weight:900;border-radius:99px;padding:1px 9px;margin-left:6px;vertical-align:1px}
.bump small{display:block;color:var(--ink-soft);font-size:.88rem;margin-top:3px;font-weight:600}
.bump.on{border-style:solid;background:#FFEBD2}
.pay{padding:0 22px 4px}
@media (min-width:560px){.pay{padding:0 34px 4px}}
.pay .sec-label{margin-top:22px}
.auth{font-size:.8rem;color:var(--ink-soft);font-weight:600;line-height:1.5;margin:-4px 0 12px}
.auth a{color:var(--navy);font-weight:800}
.wallet-el{min-height:52px}
.or{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:.82rem;font-weight:800;margin:14px 0 2px}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.stripe-el{width:100%;padding:15px 14px;border:2px solid var(--line);border-radius:12px;background:var(--sky-soft);min-height:52px;transition:border-color .2s,background .2s}
.stripe-el.focused{border-color:var(--orange);background:#fff}
.field.invalid .stripe-el{border-color:var(--red)}
#cardErr{display:none;color:var(--red);font-weight:800;font-size:.88rem;margin:8px 0 0}
.trustline{display:grid;gap:4px;margin-top:12px;font-size:.84rem;color:var(--ink-soft);font-weight:700;text-align:center}

/* ---------- after payment ---------- */
.wdays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
@media (min-width:560px){.wdays{grid-template-columns:repeat(6,minmax(0,1fr))}}
.wday{background:var(--white);border:2.5px solid var(--line);border-radius:14px;padding:12px 4px;text-align:center;font-family:var(--font-display);font-weight:900;font-size:1.2rem;color:var(--navy);min-height:54px}
.wday[aria-pressed="true"],.anyday[aria-pressed="true"]{border-color:var(--orange);background:var(--cream)}
.anyday{grid-column:1 / -1;background:var(--white);border:2.5px solid var(--line);border-radius:14px;padding:12px;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px}
.anyday svg{width:18px;height:18px;fill:var(--green)}
.prefnote{font-size:.9rem;color:var(--ink-soft);margin:10px 0 0;font-weight:600}
.prefnote.hint{color:var(--orange-dark);font-weight:800}
.dogcard{border:2px solid var(--line);border-radius:16px;padding:14px 16px;margin-top:12px}
.dogcard h4{font-family:var(--font-display);font-weight:900;font-size:1.15rem;color:var(--navy);margin:0 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--white);border:2px solid var(--line);border-radius:99px;padding:9px 14px;font-weight:800;font-size:.88rem;min-height:44px}
.chip[aria-pressed="true"]{border-color:var(--orange);background:var(--cream)}
.thanks{margin-top:22px;background:var(--navy);color:#fff;border-radius:20px;padding:22px 20px;text-align:center}
.thanks .mark{width:30px;height:30px;fill:var(--orange);margin:0 auto 6px}
.thanks h3{font-family:var(--font-display);font-weight:900;font-size:1.5rem;margin:0 0 6px;color:#fff}
.thanks p{margin:0 auto;max-width:30em;color:#D9E3F4;font-weight:600}
.thanks .sig{margin-top:12px;font-weight:800;color:#fff}
.center{text-align:center}
.busy{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 0 10px}
.spin{width:52px;height:52px;border-radius:50%;border:5px solid var(--sky);border-top-color:var(--orange);margin:0 auto 18px;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- "Your yard plan" (desktop) ---------- */
.ticket{position:sticky;top:88px;padding:20px 20px 16px}
.ticket h3{font-family:var(--font-display);font-weight:900;font-size:1.25rem;color:var(--navy);margin:0 0 2px}
.ticket .t-sub{font-size:.82rem;color:var(--ink-soft);margin:0 0 10px;font-weight:700}
.ticket .tr b.empty{color:#B3C0D6;font-weight:700}
.ticket .tr.pr b{font-family:var(--font-display);font-size:1.1rem}
.ticket .locked{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-family:var(--font-body);font-size:.8rem;font-weight:800}
.ticket .locked svg{width:13px;height:13px;fill:currentColor}
.t-deep{margin-top:12px;font-size:.85rem;background:var(--cream);border-radius:12px;padding:10px 12px;font-weight:700}
.t-deep b{color:var(--green)}
.t-trust{margin-top:14px;display:grid;gap:6px;font-size:.82rem;color:var(--ink-soft);font-weight:700}
.t-trust div{display:flex;gap:8px;align-items:center}
.t-trust svg{width:16px;height:16px;fill:var(--green);flex:none}
@media (max-width:919px){.ticket{display:none}}

.credential{max-width:1080px;margin:0 auto;padding:0 20px 40px;text-align:center;font-size:.8rem;color:var(--ink-soft);font-weight:600}
.credential a{color:var(--navy);font-weight:800;text-decoration:none}

/* ---------- sticky "Lock in" bar (phones, price screen only) ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(30,53,100,.12);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px;transform:translateY(110%);transition:transform .2s ease}
.sticky.show{transform:none}
.sticky:empty{display:none}
.sticky div{flex:1;line-height:1.2;min-width:0}
.sticky b{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--navy)}
.sticky small{color:var(--ink-soft);font-size:.78rem;font-weight:700}
.sticky .btn{min-height:48px;padding:10px 18px;font-size:1rem;white-space:nowrap}
@media (min-width:920px){.sticky{display:none}}

/* ---------- video popup ---------- */
.vmodal{position:fixed;inset:0;z-index:60;background:rgba(10,18,36,.84);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}
.vbox{width:min(900px,100%);background:#0B1428;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;color:#fff}
.vhead b{font-size:.95rem}
.vclose{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:99px;width:44px;height:44px;display:grid;place-items:center;flex:none}
.vclose:hover{background:rgba(255,255,255,.22)}
.vframe{position:relative;aspect-ratio:16/9;background:#000}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px 14px}
.vtag{font-family:var(--font-display);font-weight:900;font-size:1.2rem;line-height:1.2;color:#fff;letter-spacing:-.01em}
.vfoot .btn{min-height:46px;padding:10px 20px;font-size:.98rem}

/* ---------- legal modal ---------- */
.lmodal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.lm-backdrop{position:absolute;inset:0;background:rgba(22,40,77,.55)}
.lm-panel{position:relative;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:800px;height:85vh;display:flex;flex-direction:column;overflow:hidden}
.lm-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 22px;border-bottom:1px solid var(--line)}
.lm-head b{font-weight:900;color:var(--navy);font-size:1.05rem}
.lm-close{min-width:44px;min-height:44px;border:none;background:none;color:var(--navy);font-size:1.25rem;font-weight:900;border-radius:12px}
.lm-frame{flex:1;width:100%;border:none;background:var(--sky-soft)}
@media (max-width:640px){.lmodal{padding:0}.lm-panel{max-width:none;height:100%;border-radius:0}}

.fade{animation:in .28s ease both}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .fade{animation:none}.progress .bar i{transition:none}.sticky{transition:none}.spin{animation-duration:2.4s}
  .btn:active{transform:none}
}

/* ============ FOUNDING MEMBER (per-ZIP lifetime discount — docs/FOUNDING.md) ============ */
.found-strip{display:flex;align-items:center;gap:10px;background:var(--cream);border:1.5px solid var(--cream-line);border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:.88rem;font-weight:700;color:var(--ink)}
.found-strip .found-medal{font-size:1.05rem;line-height:1}
.found-strip .found-copy{flex:1;min-width:0}
.found-strip .found-copy b{color:var(--navy)}
.found-bar{display:flex;gap:4px;flex:none}
.found-bar i{width:18px;height:7px;border-radius:4px;background:var(--line)}
.found-bar i.on{background:var(--orange)}
.found-was{font-weight:800;color:var(--ink-soft);text-decoration:line-through;font-size:1.05rem}
.price .found-was{align-self:center;font-size:1.3rem}
.billing .found-was{font-size:.95rem}
.cmp .found-was,.sticky .found-was{font-size:.85em;font-weight:700;margin-right:2px} /* Solo founding: struck list month (8 Oct 2026) */
.lede .found-was{font-size:inherit;font-weight:600}
.btn .found-was{color:inherit;opacity:.8;font-size:.92em;font-weight:700;margin-right:2px}
.found-row>span{color:var(--orange-dark)!important}
.found-row>span small{color:var(--ink-soft)}
.found-minus{color:var(--green);white-space:nowrap}
.found-inline{color:var(--orange-dark);font-weight:800}
.found-tag{display:block;font-size:.72rem;font-weight:800;color:var(--orange-dark)}
/* the switch is on: the hero + offer bar lead with the Founding Member rate (rover-guided.mjs paintHero) */
.hero .found-eyebrow{position:relative;display:inline-block;background:rgba(242,140,40,.16);color:#FFD9B0;border:1px solid rgba(242,140,40,.5);border-radius:999px;padding:6px 14px;margin:0 auto 14px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hero .found-eyebrow[hidden]{display:none}
.founding-live .hero h1{max-width:17ch}
.offer .found-tiers{font-weight:800;color:var(--orange-dark)}
.note.found-miss{margin:0 0 16px}
.hero-wait .hero h1,.hero-wait .hero p.sub,.hero-wait .offer .t{visibility:hidden}
@media (max-width:560px){ .found-strip{flex-wrap:wrap} .found-bar{order:3;width:100%} .found-bar i{flex:1} }

/* ---- partner / discount code on checkout (any Sweep&Go coupon: % or $). Discreet, like the classic form. ---- */
.pcode{margin:18px 0 4px;text-align:right}
.pcode-link{background:none;border:0;color:var(--ink-soft);font-size:.84rem;font-weight:800;text-decoration:underline;padding:6px 2px;min-height:36px;cursor:pointer}
.pcode-link:hover{color:var(--navy)}
.pcode-row{display:flex;gap:10px;margin-top:8px}
.pcode-row .in-field{flex:1;text-transform:uppercase}
.pcode-row .btn{margin:0;padding:0 22px;white-space:nowrap;min-height:48px}
.pcode .err{text-align:left}
.pcode-note{text-align:left;margin:8px 0 0;color:var(--ink-soft)}
.pcode-ok{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:flex-start;text-align:left;color:var(--green);font-weight:800;font-size:.92rem;margin:0}
.pcode-ok .pcode-link{color:var(--ink-soft);font-weight:700;font-size:.8rem;padding:2px 4px;min-height:0}
@media (max-width:560px){ .pcode-row{flex-direction:column} .pcode-row .btn{width:100%} }
