:root{--bg:#FBF7F1;--paper:#fff;--ink:#1C1B22;--muted:#5E5A66;--line:#E8E1D6;--accent:#0F6B5C;--accent-ink:#fff;--accent-soft:#E2F1EC;--warm:#F4B860;--radius:18px;
--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--font)}
a{color:var(--accent)}:focus-visible{outline:3px solid var(--warm);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header.site{position:sticky;top:0;z-index:5;background:rgba(251,247,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font:700 22px/1 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:-.02em}.logo span{color:var(--accent)}
.cta-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 17px/1 var(--font);text-decoration:none;border:0;cursor:pointer;box-shadow:0 6px 18px -8px rgba(15,107,92,.6);transition:transform .15s}
.btn:hover{transform:translateY(-1px)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
.promise{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.promise::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
header .cta-group{flex-direction:row;align-items:center;gap:14px}
.hero{padding-top:88px;padding-bottom:64px;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.eyebrow{display:inline-block;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px;padding:6px 12px;border-radius:999px}
h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;line-height:1.08;margin:.3em 0}
h1{font-size:clamp(44px,7vw,80px)}h1 em{font-style:italic;color:var(--accent)}
h2{font-size:clamp(30px,4vw,44px)}.lede{font-size:20px;color:var(--muted);max-width:34ch}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 20px 40px -30px rgba(28,27,34,.35)}
.letter{font-family:var(--serif);font-size:15px;transform:rotate(1.5deg)}.letter .hl{background:linear-gradient(transparent 55%,#F9DCA8 55%)}
.letter small{font-family:var(--font);color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 0 72px;list-style:none;margin:0}
.steps li{counter-increment:s}.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;margin-bottom:12px}
.band{background:var(--ink);color:#F3EEE6;padding:72px 0}.band .promise{color:#CFC8BD}.band h2{color:#fff}
footer{padding:40px 0 120px;color:var(--muted);font-size:14px}
.sticky-mobile{display:none}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:32px;gap:32px}.steps{grid-template-columns:1fr}
 header .cta-group .promise{display:none}header .btn{min-height:40px;padding:10px 16px;font-size:15px}
 .sticky-mobile{display:flex;flex-direction:column;align-items:center;gap:4px;position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(251,247,241,.96);border-top:1px solid var(--line);z-index:6}
 .sticky-mobile .btn{width:100%}}
/* app */
.app main{padding-top:40px;padding-bottom:120px}.app .narrow{max-width:680px}
.progress{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 28px;font-size:14px;color:var(--muted)}
.progress li{flex:1;border-top:4px solid var(--line);padding-top:8px}.progress li[aria-current]{border-color:var(--accent);color:var(--ink);font-weight:600}
fieldset{border:0;padding:0;margin:0 0 24px}legend{font-weight:700;font-size:18px;margin-bottom:10px}
label{display:block}.check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--accent)}
.req{color:var(--accent);font-weight:600;font-size:13px}.opt{color:var(--muted);font-size:13px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:560px){.grid2{grid-template-columns:1fr}}
select,input[type=number],input[type=text]{width:100%;min-height:48px;padding:10px 14px;border:1px solid #CFC6B8;border-radius:12px;font:inherit;background:#fff}
.hint{font-size:14px;color:var(--muted)}.err{color:#A3261B;font-weight:600}
.drop{display:block;border:2px dashed #CFC6B8;border-radius:var(--radius);padding:28px;text-align:center;background:#fff;cursor:pointer}
.drop:hover,.drop.has{border-color:var(--accent);background:var(--accent-soft)}.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop strong{display:block;font-size:19px}.mock{background:#FFF3D6;border:1px solid var(--warm);border-radius:12px;padding:8px 12px;font-size:14px}
.processors{columns:2;font-size:15px}.actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
#consent-form{margin-top:28px}.card h2{font-size:22px}
.app header .promise{text-align:right}
select[aria-invalid="true"]{border-color:#A3261B;box-shadow:0 0 0 2px rgba(163,38,27,.2)}.field-err{display:block;font-size:14px;margin-top:6px}
/* Gate 3: review + letters */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app header .cta-group .promise{max-width:22ch;text-align:right}
@media(max-width:760px){.app header .cta-group .promise{display:none}}
.review-head{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end}
.legend{display:grid;gap:8px;margin:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.legend div{display:flex;gap:10px;align-items:center}.legend dt,.legend dd{margin:0}.legend dd{font-size:14px;color:var(--muted)}
.conf{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1.5px solid}
.conf::before{font-size:11px}
.conf-high{color:#0B5A4D;background:#E2F1EC;border-color:#9FD0C2}.conf-high::before{content:"✓"}
.conf-check{color:#7A4A00;background:#FFF1D6;border-color:#F0C677}.conf-check::before{content:"?"}
.conf-low{color:#8E1F15;background:#FDE6E2;border-color:#EBA79E}.conf-low::before{content:"!"}
.banner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px;border-radius:14px;margin:20px 0;background:#fff;border:1px solid var(--line)}
.checks{margin:28px 0}
.chk{display:grid;grid-template-columns:36px 1fr;gap:4px 12px;align-items:start;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.totals{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:20px}
.field{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}
.field label{font-size:13px;color:var(--muted);font-weight:600}.field .conf{align-self:flex-start}
.field input{min-height:42px;padding:8px 10px;border:1px solid #CFC6B8;border-radius:10px;font:inherit;width:100%;background:#fff}
.field.flagged{outline:2px dashed #D9822B;outline-offset:2px}
.lines{display:grid;gap:14px;margin-bottom:28px}
.line{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 16px;margin:0}
.line legend{display:flex;gap:8px;align-items:center;font-weight:700;padding:0 6px}
.dispute{margin-bottom:14px}.dispute legend{font-weight:700;font-size:18px}
.remaining{margin:0;font-weight:700;color:#8E4A00}.remaining.ok{color:var(--accent)}
.linklike{background:none;border:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
h2{margin-top:1.2em}h3{font-size:22px}
@media(max-width:900px){.review-head{grid-template-columns:1fr}}
@media(max-width:760px){.sticky-action{position:fixed;left:0;right:0;bottom:0;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(251,247,241,.97);border-top:1px solid var(--line);z-index:6;align-items:stretch}
 body:has(.sticky-action,.sticky-mobile:not([hidden]))>footer{padding-bottom:calc(var(--sticky-h,200px) + 16px)}
 .sticky-action .btn{width:100%}.sticky-action .promise{justify-content:center}.sticky-action .remaining{font-size:14px;text-align:center}}
/* letters */
.expiry{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.letters-grid{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start;margin-top:24px}
.letters-grid .card h2{margin-top:0;font-size:24px}#blanks{display:grid;gap:10px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tab{min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:600 14px var(--font);cursor:pointer;color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.letter-preview{font:16px/1.65 var(--serif);max-height:620px;overflow:auto}
.blank{background:#FFE8B8;border-bottom:2px dashed #C98A1B;padding:0 3px;border-radius:3px;color:inherit}.blank.filled{background:#E2F1EC;border-bottom:2px solid var(--accent)}
@media(max-width:900px){.letters-grid{grid-template-columns:1fr}}
.btn[disabled]{opacity:1;background:#A9C4BD;box-shadow:none;color:#fff}
@media(max-width:900px){}
@media(max-width:900px){.letter-preview{max-height:none}}
/* preview */
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.stat{background:var(--ink);color:#fff;border-radius:var(--radius);padding:20px}.stat-soft{background:#fff;color:var(--ink);border:1px solid var(--line)}
.stat-num{display:block;font:700 clamp(30px,5vw,42px)/1.1 var(--serif)}.stat-label{font-size:14px;opacity:.8}
.findings{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}
.notes{margin:4px 0 20px}.notes-h{font-size:.95rem;margin:0 0 8px;color:var(--muted,#5b6472);font-weight:600}.notes-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.note{padding:12px 14px;border-left:3px solid var(--accent,#2f6f5e);background:rgba(47,111,94,.06);border-radius:8px;line-height:1.5}
.finding{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}
.finding-open{border:2px solid var(--accent)}.finding-locked{background:#FDFBF8}
.finding-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.finding h3{margin:0;font-size:21px}
.finding-dollars{font-weight:700;font-size:18px;margin:6px 0 0}
.buy{margin-top:28px}.buy h2{margin-top:0}
.sticky-mobile[hidden]{display:none!important}
.amount-row{font-size:18px;margin:8px 0}.amount-row:empty{display:none}.amount-row strong{font:700 22px var(--serif)}
[hidden]{display:none!important}
.tiers{display:grid;gap:10px;margin:16px 0}.tiers legend{font-size:16px}
.tier{align-items:flex-start}.tier .price,.escalation .price{font-weight:700;color:var(--accent)}
.tiers .tier{display:block;padding:14px 16px;border:2px solid var(--accent);border-radius:14px;background:var(--accent-soft)}
.tier-list{margin:6px 0 0;padding-left:18px;font-size:14px;color:var(--muted)}
.tier:has(input:checked){border:2px solid var(--accent);background:var(--accent-soft)}
.notice{margin:16px 0;padding:16px 18px;border-radius:14px;background:#FFF1D6;border:2px solid #E0A23A;color:#5A3A00;font-size:17px}.notice strong{display:block;font-size:19px;margin-bottom:4px}
.send-when{margin:10px 0 12px;padding:10px 14px;border-radius:12px;background:#E6F2EF;color:#0F4F45;font-size:16px}.send-when strong{margin-right:4px}
.pass-card{margin:20px 0;text-align:center}.pass-code{font:700 26px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;margin:10px 0;user-select:all;word-break:break-all}
.btn-quiet{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.redeem{margin-top:20px}.redeem .balance{font-weight:700}.pack-each{color:var(--muted);font-size:14px}
.purchases{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.purchase{border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.purchase p{margin:4px 0 0}
/* G6-26 stats band (home), rendered at build from config/stats.json */
.stats-band{background:linear-gradient(180deg,var(--bg),#F3ECE1);padding:72px 0 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-band h2{margin:6px 0 28px;max-width:20ch}
.sb-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.sb-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 22px;position:relative;overflow:hidden;box-shadow:0 14px 34px -24px rgba(28,27,34,.35)}
.sb-item::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--warm))}
.sb-fig,.sb-count{display:block;font:700 clamp(34px,4vw,46px)/1 var(--serif);color:var(--accent);margin-bottom:12px;letter-spacing:-.02em}
.sb-text{margin:0;font-size:16px;line-height:1.5}
.sb-ref{font-size:12px;line-height:0;margin-left:2px}.sb-ref a{font-weight:700;color:var(--accent);text-decoration:none;padding:0 2px;border-radius:4px}
.sb-ref a:hover,.sb-ref a:focus-visible{background:var(--accent-soft);text-decoration:underline}
.sb-sources{margin-top:28px;font-size:13px;color:var(--muted)}.sb-sources h3{font-size:14px;margin:0 0 8px;color:var(--ink)}
.sb-sources ol{margin:0;padding-left:20px;display:grid;gap:6px}.sb-sources a{color:var(--ink)}.sb-sources li:target{background:var(--accent-soft);border-radius:6px}
.sb-back{text-decoration:none;margin-left:4px}
@media(max-width:960px){.sb-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stats-band{padding:48px 0 40px}.sb-list{grid-template-columns:1fr}}
.sb-fig::first-letter{text-transform:uppercase}
/* G6-16 visual pass: shared steps, wide funnel layouts, illustrations */
.app main.funnel{max-width:1120px}
.progress.stepper{gap:6px;margin-bottom:36px;counter-reset:none}
.progress.stepper li{display:flex;align-items:center;gap:10px;border-top:0;padding:0;position:relative;font-weight:500}
.progress.stepper li::after{content:"";flex:1;height:3px;border-radius:3px;background:var(--line);margin-right:6px}
.progress.stepper li:last-child{flex:0 0 auto}.progress.stepper li:last-child::after{display:none}
.progress.stepper .n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:var(--muted)}
.progress.stepper li.done .n{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.progress.stepper li.done::after{background:var(--accent)}
.progress.stepper li[aria-current] .n{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 5px var(--accent-soft)}
.progress.stepper li[aria-current]{color:var(--ink);font-weight:700}
@media(max-width:720px){.progress.stepper li{min-width:0}.progress.stepper li[aria-current]{flex:2 1 auto}.progress.stepper .t{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.progress.stepper li[aria-current] .t{position:static;width:auto;height:auto;clip:auto;overflow:visible}.progress.stepper li::after{min-width:8px}}
.illus{display:block;width:200px;max-width:100%;height:auto;margin:0 0 12px}
.split{display:grid;gap:28px}
@media(min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}.split-wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split .side{position:sticky;top:24px}.split-wide .side-sticky{position:sticky;top:24px}.split .side .card{margin-top:20px}}
.main-col{min-width:0}.side{min-width:0}
.main-col fieldset{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 10px}
.main-col fieldset.tiers{background:none;border:0;padding:0}
.tips{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.tips li{padding-left:30px;position:relative;color:var(--muted)}
.tips li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--accent-soft) url("/assets/illus/tick.svg") center/12px no-repeat}
.hero-row{display:flex;gap:24px;align-items:center}.hero-row .illus{width:140px;flex:none;margin:0}
@media(max-width:560px){.hero-row{flex-direction:column;align-items:flex-start}.hero-row .illus{width:110px}}
.head-illus .illus{width:120px;margin:0}
.center-page{text-align:center}.center-page .illus{margin:0 auto 8px}.center-page .actions{align-items:center}.center-page .pass-card{text-align:left}
.card{box-shadow:0 1px 0 rgba(28,27,34,.03),0 12px 32px -18px rgba(28,27,34,.18)}
.finding{transition:transform .15s,box-shadow .15s;box-shadow:0 10px 28px -20px rgba(28,27,34,.25);position:relative;overflow:hidden}
.finding-open::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}
.finding-locked{background:repeating-linear-gradient(135deg,#FDFBF8 0 12px,#F8F3EC 12px 24px)}
.tier{transition:border-color .15s,background .15s,box-shadow .15s}
.tier:hover{border-color:var(--accent);box-shadow:0 10px 24px -18px rgba(15,107,92,.6)}
.tier:has(input:checked){box-shadow:0 12px 28px -18px rgba(15,107,92,.7)}
.buy h2,.redeem h2{font-size:24px;margin-top:0}
h1{letter-spacing:-.01em}.lede{line-height:1.55}
.drop{transition:border-color .15s,background .15s;padding:36px 20px}
@media(min-width:900px){.drop{min-height:180px;display:flex;flex-direction:column;justify-content:center}}
/* G6-21: legal pages — table of contents + readable measure */
.legal{max-width:1080px}.legal-grid{display:grid;gap:28px;margin-top:24px}
.toc{border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:var(--paper)}.toc-h{font-size:15px;margin:0 0 8px;font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.toc ol{margin:0;padding-left:18px;display:grid;gap:6px}.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.toc a:hover{color:var(--accent);border-color:var(--accent)}
.legal-body{max-width:68ch}.legal-body h2{scroll-margin-top:24px;margin-top:1.4em}.legal-body li{margin:.45em 0}
.legal-table{overflow-x:auto;margin:16px 0}.legal-table table{border-collapse:collapse;width:100%;font-size:15px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line)}.legal-table th{font-weight:700}
@media(min-width:900px){.legal-grid{grid-template-columns:240px 1fr;align-items:start}.toc{position:sticky;top:24px}}

/* G7-05 help form */
.help-ask{margin:2rem 0}.help-ask label{display:block;font-weight:600;margin-bottom:.25rem}.help-ask textarea{width:100%;box-sizing:border-box;font:inherit;padding:.5rem}
.help-ask .hint{font-size:.9em}#answer:not(:empty){margin-top:1rem;padding:.75rem 1rem;border-left:3px solid currentColor}
/* G7-02 admin */
.admin-auth{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:20px 0}.admin-auth input,.admin-auth select{max-width:320px}
.admin-card{margin:16px 0;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:14px;width:100%}.admin-table th,.admin-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line)}
/* G7-10..G7-16 homepage */
.cta-sub{font-size:14px;color:var(--muted)}
.section-cta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:8px;padding-bottom:40px}
.results-line{font-weight:600;margin-top:16px}
.steps.steps4{grid-template-columns:repeat(4,1fr)}
.home-prices{list-style:none;padding:0;margin:16px 0 4px;display:flex;flex-wrap:wrap;gap:10px}.home-prices li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;font-weight:600}
.home-credits{color:var(--muted);font-size:14px}
.sb-verified{margin:10px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:960px){.steps.steps4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.steps.steps4{grid-template-columns:1fr}main{padding-bottom:96px}}
/* BUG-7 (WCAG 2.5.8): standalone tap targets are at least 24×24 px */
footer a,.linklike,header a.logo{display:inline-block;min-height:24px;line-height:24px;vertical-align:middle}
footer a{min-width:24px;padding:0 1px}
.sb-ref a,.sb-back{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;line-height:1;vertical-align:middle}
/* Homepage layout cleanup: 3 inline CTAs, hero visual, spacing, sticky CTA */
.hero{padding-bottom:40px}.hero .results-line{margin:12px 0 0}
#how .steps{padding-bottom:16px;align-items:start}.steps .step-note{margin:8px 0 0;font-size:14px;color:var(--muted)}
#how .results-more{margin:0 0 56px;font-weight:600;color:var(--accent)}
#common{padding-bottom:32px}
.section-cta{padding-top:24px;padding-bottom:56px}
.final-cta{align-items:center;text-align:center;padding-top:40px}
.sticky-mobile{transition:transform .2s}.sticky-mobile.is-off{transform:translateY(110%);visibility:hidden}
@media (prefers-reduced-motion:reduce){.sticky-mobile{transition:none}}
@media (max-width:760px){#how .results-more{margin-bottom:40px}}
/* Seven visual touchups (CSS only, no copy changes) */
/* 1. Type scale and heading hierarchy */
h1,h2{text-wrap:balance}h2{margin:0 0 .5em}h3{font-size:clamp(20px,2.2vw,24px);line-height:1.2}
p{text-wrap:pretty}.lede{font-size:clamp(18px,1.6vw,21px)}
/* 2. Consistent section spacing rhythm */
:root{--section:88px}@media(max-width:760px){:root{--section:56px}}
#how,#common,#price{padding-top:var(--section);padding-bottom:calc(var(--section) * .6)}
.band.privacy-strip{padding:calc(var(--section) * .75) 0;background:var(--accent)}
/* 3. Step cards: rounded, subtle shadow */
.steps li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:0 1px 0 rgba(28,27,34,.03),0 14px 30px -22px rgba(28,27,34,.3)}
.steps li p{margin:0}.steps li p+p{margin-top:8px}
/* 4. Simple icons on the how-it-works steps (self-hosted SVGs), number kept as a badge */
#how .steps li{position:relative;padding-top:84px}
#how .steps li::after{content:"";position:absolute;left:22px;top:22px;width:48px;height:48px;border-radius:14px;background:var(--accent-soft) center/30px no-repeat}
#how .steps li::before{position:absolute;left:58px;top:12px;width:24px;height:24px;font-size:13px;margin:0;background:var(--accent);box-shadow:0 0 0 3px var(--paper)}
#how .steps li:nth-child(1)::after{background-image:url("/assets/illus/upload.svg")}
#how .steps li:nth-child(2)::after{background-image:url("/assets/illus/review.svg")}
#how .steps li:nth-child(3)::after{background-image:url("/assets/illus/preview.svg")}
#how .steps li:nth-child(4)::after{background-image:url("/assets/illus/letters.svg")}
/* 5. Buttons: clear hover, active and focus-visible states */
.btn{transition:transform .15s,box-shadow .15s,background-color .15s}
.btn:hover{background:#0C5A4D;box-shadow:0 10px 22px -10px rgba(15,107,92,.7)}.btn:active{transform:translateY(0);box-shadow:0 4px 10px -6px rgba(15,107,92,.7)}
.btn.ghost:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--warm)}
@media (prefers-reduced-motion:reduce){.btn:hover,.btn:active{transform:none}}
/* 6. Soft tint on alternating sections */
#how{background:linear-gradient(180deg,rgba(226,241,236,.55),rgba(226,241,236,0));border-radius:0 0 32px 32px;max-width:none;padding-left:max(24px,calc((100% - 1072px) / 2));padding-right:max(24px,calc((100% - 1072px) / 2))}
#price{background:var(--paper);border:1px solid var(--line);border-radius:28px;margin-top:40px;margin-bottom:56px;padding-top:56px;padding-bottom:48px}
@media(max-width:1160px){#price{margin-left:16px;margin-right:16px}}
/* 7. Cleaner header and footer */
header.site{box-shadow:0 1px 0 rgba(28,27,34,.02),0 8px 24px -20px rgba(28,27,34,.35)}
footer{border-top:1px solid var(--line);margin-top:24px;padding-top:32px;line-height:1.8}
footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}footer a:hover{color:var(--accent);border-color:var(--accent)}
/* Touchup fixes: step badge clear of icon; FAQ disclosure marker inline with its question */
#how .steps li::before{left:auto;right:18px;top:22px;width:28px;height:28px;box-shadow:none;background:var(--ink)}
details{border-bottom:1px solid var(--line)}
details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:14px 0;min-height:44px}
details>summary::-webkit-details-marker{display:none}
details>summary>h2{font-size:clamp(20px,2.4vw,26px);margin:0}
details>summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:700 20px/1 var(--font)}
details[open]>summary::after{content:"−"}
@media(min-width:761px){.app header .cta-group .promise{max-width:none;white-space:nowrap}}
/* Preview still-checking state (#229 PartialPreview) */
.checking{margin:1rem 0}
.spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.15em;animation:br-spin .8s linear infinite}
@keyframes br-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation:none}}

.banner-deleted{margin:16px auto;max-width:960px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#eef7ee}
.wait{margin:16px 0;padding:16px}
/* Website edit 20: BillRight waiting panel (upload + review). Our own CSS; existing variables only. */
.wait-panel{display:flex;flex-direction:column;gap:4px;margin:16px 0;min-width:0}
.wait-panel[hidden]{display:none}
.wait-h{margin:0;font:600 21px/1.25 var(--serif);color:var(--ink)}
.br-progress{height:6px;width:100%;max-width:420px;border-radius:999px;background:var(--accent-soft);overflow:hidden;position:relative;margin:12px 0}
.br-progress::before{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:inherit;background:var(--accent);animation:br-slide 1.6s ease-in-out infinite}
@keyframes br-slide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
.wait-panel.is-stopped .br-progress::before{animation:none;transform:none;width:100%;opacity:.35}
.wait-steps{list-style:none;margin:2px 0 8px;padding:0;display:grid;gap:10px}
.wait-steps li{position:relative;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:16px}
.wait-steps li::before{content:"";flex:none;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);background:var(--paper)}
.wait-steps li[aria-current="step"]{color:var(--ink);font-weight:600}
.wait-steps li[aria-current="step"]::before{border-color:var(--accent);background:var(--accent-soft);animation:br-pulse 1.4s ease-in-out infinite}
@keyframes br-pulse{0%,100%{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft)}}
.wait-steps li.done{color:var(--ink)}
.wait-steps li.done::before{border-color:var(--accent);background:var(--accent)}
.wait-steps li.done::after{content:"";position:absolute;left:6px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}
.wait-panel.is-stopped .wait-hint{display:none}
@media (prefers-reduced-motion:reduce){.br-progress::before{animation:none;transform:none;width:100%;opacity:.35}.wait-steps li[aria-current="step"]::before{animation:none}}
/* G7-18: small-screen site menu (details/summary, closes via /assets/menu.js); hidden on desktop */
.site-menu{display:none}
@media(max-width:760px){
 .site-menu{display:block}
 .site-menu summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:15px;cursor:pointer}
 .site-menu summary::-webkit-details-marker{display:none}
 .site-menu summary::before{content:"";width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat}
 .site-menu summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
 .site-menu nav{position:absolute;left:0;right:0;top:100%;background:#FBF7F1;border-bottom:1px solid var(--line);box-shadow:0 12px 24px -16px rgba(28,27,34,.4)}
 .site-menu ul{list-style:none;margin:0;padding:8px 16px}
 .site-menu li a{display:flex;align-items:center;min-height:48px;padding:0 4px;color:inherit;text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
 .site-menu li:last-child a{border-bottom:0}
 header .cta-group{gap:8px}
}
/* G7-18: the whole consent row is the tap target (label wraps the box); keep it at least 44px tall, box vertically tidy */
.check{min-height:44px;box-sizing:border-box}
/* G7-18: footer "Delete now" buttons are full 44px tap targets */
footer #delete{min-height:44px;min-width:44px;line-height:44px}
/* Letter delivery options (four ways to send) */
.deliver{margin:32px 0}.deliver .lede{margin-top:4px}
.deliver-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin-top:16px}
.deliver-card{display:flex;flex-direction:column;gap:10px;padding:22px}.deliver-card h3{margin:0}
.deliver-card .actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.deliver .btn,.deliver button{min-height:44px;min-width:44px}
.copy-block{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;font:15px/1.5 var(--font);margin:0;max-height:22em;overflow:auto}
.bill-id{margin:0;font-size:15px}
.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.toast{min-height:1.5em;font-weight:600;color:var(--accent)}
.letter-peek{margin:20px 0}
/* Findings card (step 1 of 11/3 homepage edits). Reusable: /app/preview/ and the homepage hero mockup share these classes.
   .fcard > .fcard-head (.fcard-title, .fcard-total > .fcard-total-label + .fcard-amount) > ol.fcard-list > li.fcard-item (svg.fcard-icon, .fcard-item-title, .fcard-note) > p.fcard-fine */
.fcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 48px -32px rgba(28,27,34,.35);padding:24px 24px 18px;margin:20px 0}
.fcard[hidden]{display:none}
.fcard-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.fcard-title{margin:0;font:700 22px/1.2 var(--serif);color:var(--ink);display:flex;align-items:center;gap:10px}
.fcard-title::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 4px rgba(244,184,96,.25)}
.fcard-total{margin:0;display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-size:inherit}
.fcard-total-label{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.fcard .fcard-amount{font:700 32px/1.1 var(--serif);color:var(--accent)}
.fcard-list{margin:0;gap:0}
.fcard .fcard-item{display:grid;grid-template-columns:28px 1fr;column-gap:12px;align-items:start;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:16px 0}
.fcard .fcard-item>*:not(.fcard-icon){grid-column:2}
.fcard .fcard-item::before{display:none}
.fcard .fcard-item.finding-locked{background:none}
.fcard-icon{grid-column:1;grid-row:1 / span 3;margin-top:2px}
.fcard-icon-bg{fill:var(--warm)}.fcard-icon-mark{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.fcard .fcard-item-title{font-size:18px;line-height:1.3}
.fcard .finding-dollars{font-size:16px;margin:4px 0 0}
.fcard-note{margin:6px 0 0;color:var(--muted);line-height:1.5}
.fcard .fcard-more{display:block;border-bottom:0;padding:14px 0 0 40px;background:none}
.fcard-fine{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--muted)}
.fcard-list>.fcard-item:last-child{border-bottom:0}
@media(max-width:560px){.fcard{padding:18px 16px 14px}.fcard-total{align-items:flex-start;text-align:left}.fcard .fcard-amount{font-size:28px}}
/* Homepage edits (Jesse 11/3): hero, trust strip, sample bill + findings card, letter page, pricing tiers. Same fonts and colors. */
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;padding-top:64px;padding-bottom:56px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,66px)}.hero h1 em{display:block}
.hero-points{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:10px;font-size:clamp(17px,1.5vw,19px);color:var(--ink)}
.hero-points li{position:relative;padding-left:30px}
.hero-points li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft) url("/assets/illus/tick.svg") center/12px no-repeat}
.hero .results-line{margin:16px 0 0}
.hero-stat{margin:20px 0 0;padding:12px 16px;border-left:4px solid var(--warm);background:var(--paper);border-radius:0 12px 12px 0;font-weight:600;max-width:42ch;color:var(--accent);font-size:calc(1em + 2px)}
.sample-bill{margin:0;position:relative}
.sbill-tag{position:absolute;top:-12px;left:20px;z-index:2;background:var(--ink);color:#fff;font:700 12px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.sbill-doc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;font-size:13.5px;line-height:1.45;box-shadow:0 24px 48px -32px rgba(28,27,34,.4)}
.sbill-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.sbill-provider{margin:0;font:700 16px/1.2 var(--serif)}.sbill-meta{margin:2px 0 0;color:var(--muted);font-size:12px}
.sbill-kind{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}
.sbill-info{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:12px 0}
.sbill-info div{min-width:0}.sbill-info dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.sbill-info dd{margin:0;font-weight:600}
.sbill-table{width:100%;border-collapse:collapse}
.sbill-table th,.sbill-table td{text-align:left;padding:6px 4px;border-bottom:1px dashed var(--line);vertical-align:middle}
.sbill-table thead th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}
.sbill-table .sbill-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.sbill-table tfoot th,.sbill-table tfoot td{border-bottom:0;border-top:2px solid var(--ink);padding-top:8px;font-weight:700}
.sbill-row.is-flagged td{background:#FFF1D6}.sbill-row.is-flagged .sbill-item{font-weight:600}
.sbill-warn{vertical-align:-3px;margin-right:6px}.sbill-warn .fcard-icon-bg{fill:var(--warm)}
.sbill-item .sbill-warn path:last-child{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.sbill-note{width:1%;white-space:nowrap}.sbill-row .sbill-note span{display:inline-block;font:italic 600 12px/1.2 var(--serif);color:#8A3B12;border:1.5px solid #E0A23A;background:#fff;border-radius:999px;padding:3px 8px;transform:rotate(-2deg)}
/* hero: the findings card overlaps the bill's bottom-right corner */
.hero-visual{padding:0 0 150px}.hero-visual .sbill-doc{width:88%}
.hero-visual .fcard{position:absolute;right:0;bottom:0;width:min(330px,72%);margin:0;padding:18px 18px 14px;border-top:5px solid var(--accent);box-shadow:0 30px 60px -28px rgba(28,27,34,.55)}
.hero-visual .fcard-title{font-size:18px}.hero-visual .fcard .fcard-amount{font-size:30px}
.hero-visual .fcard .fcard-item{padding:8px 0;column-gap:10px}.hero-visual .fcard-item-title{margin:0;font-size:14.5px;font-weight:600;display:flex;justify-content:space-between;gap:8px}
.fcard-item-title .sbill-amt{font-variant-numeric:tabular-nums;white-space:nowrap}
.fcard-review{margin:10px 0 0;font-weight:700;color:var(--accent);font-size:14.5px}
.hero-visual .fcard-fine{font-size:11px;margin-top:10px;padding-top:8px}
/* how it works */
#how .step-h{font-weight:700;color:var(--ink)}#how .steps li p:not(.step-h){color:var(--muted)}
/* sample findings preview */
#sample-findings,#letter-page{padding-top:var(--section);padding-bottom:calc(var(--section) * .4)}
.section-sub{margin:-4px 0 28px;color:var(--muted);font-size:18px}
.preview-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start}
.preview-grid .fcard{margin:0}.preview-grid .fcard-item-title{margin:0;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.preview-bill{position:relative}
/* letter page */
.lp-intro{font-size:clamp(18px,1.7vw,22px);font-family:var(--serif);max-width:52ch;margin:0 0 28px}
.lp-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lp-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 14px 30px -22px rgba(28,27,34,.3)}
.lp-item h3{margin:0;font-size:20px}.lp-item p{margin:0;color:var(--muted);flex:1}
.lp-action{align-self:flex-start;margin-top:8px;padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent);font-weight:600;font-size:14px}
.lp-foot{margin:20px 0 0;font-weight:700;color:var(--accent)}
/* why it's worth checking: three cards */
.sb-sub{margin:-12px 0 28px;color:var(--muted);font-size:18px}
.stats-band .sb-list{grid-template-columns:repeat(3,minmax(0,1fr))}
/* pricing */
.price-tag{font:700 22px/1.3 var(--serif);margin:0 0 4px}
.home-tiers{list-style:none;padding:0;margin:24px 0 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ptier{border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;background:var(--bg)}
.ptier-name{margin:0;font-size:20px}.ptier-price{margin:6px 0 4px;font:700 40px/1 var(--serif);color:var(--accent)}.ptier-desc{margin:8px 0 0;color:var(--muted);font-size:15px}
.ptier-base{border:2px solid var(--accent);background:var(--accent-soft)}
@media(max-width:960px){.lp-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-band .sb-list{grid-template-columns:1fr}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px}.preview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.hero{padding-top:36px}.home-tiers{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.lp-list{grid-template-columns:1fr}
 .sbill-doc{padding:16px 14px 12px;font-size:12.5px}.hero-visual{padding-bottom:0}.hero-visual .sbill-doc{width:100%}
 .hero-visual .fcard{position:relative;width:auto;margin:-28px 10px 0 18px}.sbill-note{display:none}.sbill-info{grid-template-columns:1fr 1fr}}
/* homepage edits: spacing pass */
.sample-bill .fcard-list{list-style:none;padding:0}
/* Sample findings: results-page .conf pills (shared colors above); layout only so they fit under the title. */
.sample-bill .fcard-item>.conf{margin-top:6px;justify-self:start}
.hero-visual .fcard-item>.conf{margin-top:4px}
.hero h1{font-size:clamp(40px,4.6vw,60px)}
.hero-visual{padding-bottom:200px}.hero-visual .fcard{width:min(300px,64%)}
#how .results-more{margin-bottom:8px}
#sample-findings{padding-top:56px}
@media(max-width:560px){.hero-visual{padding-bottom:0}.hero-visual .fcard{width:auto}}
@media(max-width:560px){.hero-visual .fcard{margin-top:-8px}}

/* Jesse 11/3 10:05 PM: the demonstration line sits once at the bottom of the hero, below the bill image and its findings card */

/* Jesse 11/3 10:55 PM: inline stroke icons (How it works) and fuller pricing cards; existing tokens only */
#how .steps li{padding-top:24px}#how .steps li::after{content:none}
.step-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}.step-ico .ico{width:26px;height:26px}
#letter-page #lp-h{margin-bottom:8px}
.home-tiers{align-items:stretch}
.ptier{display:flex;flex-direction:column;background:var(--paper);box-shadow:0 1px 0 rgba(28,27,34,.03),0 18px 36px -24px rgba(28,27,34,.35)}
.ptier-base{background:var(--paper);box-shadow:0 1px 0 rgba(28,27,34,.03),0 22px 44px -22px rgba(15,107,92,.45)}
.ptier-list{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:15px}
.ptier-list li{display:flex;gap:10px;align-items:flex-start;min-width:0}.ptier-list li>span{min-width:0;overflow-wrap:break-word}.ptier-check{flex:none;margin-top:2px;color:var(--accent)}
.ptier-cta{margin:auto 0 0;padding:20px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
/* Jesse 11/3 11:23 PM "make them pop": alternating full-bleed bands, stronger cards, more rhythm; brand tokens only.
   Contrast: #fff on --accent #0F6B5C is 6.5:1 (AA); --ink/--muted on --paper and --accent-soft stay above 4.5:1. */
#how,#sample-findings,#letter-page{position:relative;padding-top:var(--section);padding-bottom:var(--section);clip-path:inset(0 -100vmax)}
#how{background:var(--paper);box-shadow:0 0 0 100vmax var(--paper)}
#sample-findings{background:var(--accent-soft);box-shadow:0 0 0 100vmax var(--accent-soft)}
#letter-page{background:var(--accent);box-shadow:0 0 0 100vmax var(--accent);color:var(--accent-ink)}
#how h2,#sample-findings h2,#letter-page h2,.stats-band h2{margin-top:0;font-size:clamp(34px,4.6vw,52px);letter-spacing:-.01em}
#how h2::after,#sample-findings h2::after,.stats-band h2::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin-top:14px;background:var(--warm)}
#letter-page h2,#letter-page .lp-intro,#letter-page .lp-foot{color:var(--accent-ink)}
#letter-page h2::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin-top:14px;background:var(--warm)}
#sample-findings .section-sub{color:var(--ink);font-family:var(--serif);font-size:clamp(20px,2vw,24px);margin:18px 0 32px}
#how .steps li,#sample-findings .fcard,#sample-findings .sbill-doc,.lp-item,.sb-item,.ptier{box-shadow:0 2px 0 rgba(28,27,34,.04),0 24px 48px -26px rgba(28,27,34,.45)}
#how .steps li{border-top:4px solid var(--accent)}
.lp-item{border:0;border-top:4px solid var(--warm);color:var(--ink);box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
.lp-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent);margin-bottom:6px}
#letter-page .lp-foot{margin-top:28px}
/* UI polish (Nov 5, 2026): layout, spacing and hierarchy only. Colors, fonts, logo and illustrations unchanged. */
.app main h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;margin:.15em 0 .35em}
.app main h2{line-height:1.2}.app main .checks h2,.app main #checks-h,.app main #bill-h,.app main #eob-h,.app main #disp-h{margin:1.6em 0 .6em}
.app .lede{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:48ch}
.app .mock{margin-bottom:20px}.app .progress.stepper{margin-bottom:36px}
/* Card fieldsets: the legend sits inside the card as its heading, not on the border */
.main-col fieldset:not(.tiers)>legend,.dispute>legend,.line>legend{float:left;width:100%;padding:0;margin:0 0 14px}
.main-col fieldset:not(.tiers)>legend+*,.dispute>legend+*,.line>legend+*{clear:both}
.main-col fieldset:not(.tiers){padding:24px 24px 14px;margin-bottom:20px}
.main-col fieldset:not(.tiers)>legend{font-size:19px}
.main-col fieldset .grid2{gap:14px 16px;margin-bottom:10px}.main-col fieldset label:not(.check){font-weight:600;font-size:15px}
.main-col fieldset .hint{margin:0 0 12px}
.check{transition:border-color .15s,background .15s}.check:hover{border-color:var(--accent)}.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
/* Funnel side column */
.split .side .illus{width:132px;margin-bottom:8px}
.split .side .card{padding:24px}.split .side .card h2{margin-top:0}
.processors{column-gap:24px;padding-left:18px}.processors li{break-inside:avoid;margin-bottom:4px}
/* Review page header: illustration beside the heading, confidence key as one row underneath */
.review-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"illus text" "legend legend";gap:20px 28px;align-items:center;margin-bottom:8px}
.review-head>.head-illus{grid-area:illus}.review-head>div:not(.head-illus){grid-area:text}.review-head>.legend{grid-area:legend}
.review-head .head-illus .illus{width:132px}
.review-head .legend{display:flex;flex-wrap:wrap;gap:10px 28px;padding:12px 18px}
@media(max-width:620px){.review-head{grid-template-columns:1fr;grid-template-areas:"illus" "text" "legend"}.review-head .head-illus .illus{width:96px}}
/* Review fields: even rows (six per row on desktop) */
.totals{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}
.field{padding:12px 14px;border-radius:14px;transition:border-color .15s}.field:focus-within{border-color:var(--accent)}
.line{padding:16px 18px 18px}.line>legend{margin-bottom:10px}
.dispute{padding:22px 24px 14px}
.lines h3,#lines+h3{margin-top:1.4em}
/* Preview and letters: breathing room between stacked cards */
.main-col>.card+.card,.main-col>section+section{margin-top:20px}
.app footer{padding-top:24px}
@media(min-width:901px){}
/* Letters page: the four ways to send sit in a 2 x 2 grid (no orphaned fourth card); bill details side by side */
@media(min-width:760px){.deliver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.deliver-card .copy-block{max-height:260px}
/* Content pages (how it works, pricing, about, help, packs, contact, hubs, legal): room under the header, a readable
   measure, even gaps between cards, and the closing call to action clear of the footer */
body:not(.app) main.wrap.narrow{padding-top:48px;padding-bottom:64px}
body:not(.app) main.narrow>.eyebrow{margin-bottom:4px}
body:not(.app) main.narrow>h1{margin:.2em 0 .3em;max-width:18ch}
body:not(.app) main.narrow>.lede{max-width:52ch;margin-bottom:32px}
body:not(.app) main.narrow>p:not(.lede),body:not(.app) main.narrow>section:not(.card)>p{max-width:72ch}
body:not(.app) main.narrow>.card{margin:0 0 16px;padding:24px 28px}
body:not(.app) main.narrow>.card h2{margin-top:0}
body:not(.app) main.narrow>section.wrap{padding-left:0;padding-right:0;margin-top:56px}
body:not(.app) main.narrow>h2{margin-top:1.8em}
body:not(.app) main.narrow>.cta-group:last-of-type{margin-top:40px}
/* Four steps read as a 2 x 2 grid rather than three and an orphan */
@media(min-width:761px){main.narrow .steps:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
main.narrow .steps{padding-bottom:40px}
body:not(.app) main.narrow>section.wrap{margin-top:40px}body:not(.app) main.narrow>section.wrap>h2:first-child{margin-top:0}
body:not(.app) main.narrow>h2{margin-top:1.4em}
/* Home: the four step cards share one height */
#how .steps{align-items:stretch}
/* Website edit 13 (Jesse, Nov 6): How it works. Cards equal height; step numbers centered above each card on a connecting
   line (desktop); stacked on a phone with each number centered on the card's left side, joined by a vertical line. */
#how .steps{position:relative;align-items:stretch;padding-top:58px}
#how .steps li{display:flex;flex-direction:column}
#how .steps li::before{left:50%;right:auto;top:-46px;transform:translateX(-50%);width:32px;height:32px;font-size:14px;background:var(--ink);box-shadow:0 0 0 6px var(--paper);z-index:1}
#how .steps::before{content:"";position:absolute;top:25px;height:2px;left:calc(12.5% - 7.5px);right:calc(12.5% - 7.5px);background:var(--accent);opacity:.35}
@media (max-width:960px){#how .steps::before{display:none}}
@media (max-width:760px){
 #how .steps{padding-top:24px;gap:16px}
 #how .steps li{margin-left:46px;overflow:visible}
 #how .steps li::before{left:-46px;top:50%;transform:translateY(-50%)}
 #how .steps li::after{content:"";position:absolute;left:-31px;width:2px;height:auto;top:-8px;bottom:-8px;background:var(--accent);background-image:none;opacity:.35;border-radius:0}
 #how .steps li:first-child::after{top:50%}
 #how .steps li:last-child::after{bottom:50%}
}
/* Website edits 23 + 27: the homepage stats band inside How it works and About */
body:not(.app) main.narrow>.stats-band{margin:56px 0 8px;border:1px solid var(--line);border-radius:var(--radius);padding:48px 0 40px}
/* Website edit 2: review page layout (no copy change) */
#band:has(.banner) .banner{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
.legend.legend-under-band{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--paper);font-size:13px}
.totals .field[data-key="provider"]{grid-column:1/-1}.totals .field[data-key="provider"] input{font-weight:700}
.lines{overflow-x:auto}
/* Website edit 3: preview page layout (no copy change) */
.fcard-unlock{margin:12px 0 0;padding:10px 12px;background:var(--bg);border-radius:10px}
.fcard .fcard-group{list-style:none;padding:16px 0 4px;border-bottom:0}
.fcard .fcard-group + .fcard-item{border-top:0}
.fcard .fcard-item{grid-template-columns:28px minmax(0,1fr) auto}
.fcard .fcard-item>.finding-dollars{grid-column:3;grid-row:1;margin:0;text-align:right;white-space:nowrap;font-size:16px}
.fcard .finding-open{border:0}
.fcard .finding-open .fcard-note{font-size:14px;margin-top:2px}
@media(max-width:560px){.fcard .fcard-item{grid-template-columns:28px minmax(0,1fr)}.fcard .fcard-item>.finding-dollars{grid-column:2;grid-row:auto;text-align:left;white-space:normal}}
/* Website edit 6: letters page layout (approved copy, no other wording change) */
.emailed-banner{display:flex;gap:12px;align-items:center;margin:24px 0 0;padding:16px 20px;background:var(--accent-soft);color:#0B4F44;border-radius:16px}
.emailed-banner::before{content:"";flex:none;width:28px;height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F6B5C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6l8.5 7 8.5-7'/%3E%3C/svg%3E") center/contain no-repeat}
.emailed-banner[hidden]{display:none}
.status-card{margin-top:20px;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.status-card .status-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}
.status-card .expiry{margin:0;padding:0;border:0;background:none;font-size:15px}
.status-card .amount-row{margin:0;font-size:15px;color:var(--muted)}.status-card .amount-row strong{font-size:20px;color:var(--ink)}
.app .status-card .progress.stepper{margin:0}
.letters-main{max-width:860px;margin:28px auto 0;display:flex;flex-direction:column;gap:14px}
.letters-main .letter-preview{margin:0}.letters-main .actions{margin:0}.letters-main .send-when{margin:0}
.letter-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.tab.letter-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;text-align:left}
.tab.letter-card[aria-selected="true"]{border:2px solid var(--accent);background:var(--accent-soft);color:var(--ink);padding:13px 15px}
.letter-card .lc-label{font-size:13px;font-weight:700;color:var(--muted)}.letter-card[aria-selected="true"] .lc-label{color:var(--accent)}
.letter-card .lc-title{font-size:17px}.letter-card .lc-to{font-size:14px;color:var(--muted)}
@media(min-width:960px){.deliver-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.letters-main .actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.letters-main .actions .promise{flex-basis:100%}
/* ===== Redesign, Nov 2026 (Jesse's canvas; docs/approvals/redesign-2026-11.md items 1-9, 12-16). Overrides earlier homepage rules. ===== */
@font-face{font-family:"Plus Jakarta Sans";src:url("/assets/fonts/plus-jakarta-sans.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
:root{--tile:"Plus Jakarta Sans",var(--font);--gold:#D9AE3A;--lp:#1A7F6B}
/* Header: desktop links; phone = logo, short CTA, icon-only menu that opens a full-width sheet */
.site-nav{display:flex;gap:28px;margin-left:40px;margin-right:auto}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.site-nav a:hover{color:var(--accent)}
@media(max-width:1020px){header.site .cta-group .promise{display:none}}
@media(max-width:760px){
 .site-nav{display:none}
 header.site .wrap{height:60px;padding:0 12px 0 20px}
 header.site .btn{min-height:44px;padding:0 16px;font-size:15px;white-space:nowrap}
 header .cta-group{gap:4px}
 .site-menu summary{width:44px;min-width:44px;height:44px;padding:0;justify-content:center;border:0;background:none;border-radius:12px}
 .site-menu summary::before{width:20px;height:14px}
 .site-menu[open] summary::before{height:2px;border:0;background:currentColor;transform:rotate(45deg);box-shadow:none}
 .site-menu[open] summary::after{content:"";position:absolute;width:20px;height:2px;background:currentColor;transform:rotate(-45deg)}
 .site-menu summary{position:relative}
 .site-menu nav{position:fixed;left:0;right:0;top:60px;bottom:0;display:flex;flex-direction:column;background:var(--bg);box-shadow:none;border-top:1px solid var(--line);overflow:auto}
 .site-menu ul{padding:8px 20px;flex:1}
 .site-menu li a{min-height:56px;font-size:19px;padding:0;justify-content:space-between}
 .site-menu li a::after{content:"";width:8px;height:8px;border-right:2px solid #9A94A0;border-top:2px solid #9A94A0;transform:rotate(45deg);margin-right:6px}
 .site-menu li:last-child a{border-bottom:1px solid var(--line)}
 .site-menu-cta{padding:20px 20px 32px;background:var(--paper);border-top:1px solid var(--line)}
 .site-menu-cta .btn{display:flex;width:100%;min-height:52px;font-size:17px}
}
@media(min-width:761px){.site-menu-cta{display:none}}
/* Type scale (item 12) */
@media(max-width:760px){
 main h2{font-size:26px;line-height:1.2}
 .hero h1{font-size:34px;line-height:1.12}
 .wrap{padding-left:20px;padding-right:20px}
}
/* 320px: the footer email is one long word. Let that line and the Single Bill Pack tile shrink instead of widening the page. */
@media(max-width:360px){
 .foot-contact{min-width:0}
 .foot-contact>span:last-child,.foot-contact a{min-width:0;overflow-wrap:anywhere}
 .ptier,.ptier-head,.ptier-name,.ptier-list,.ptier-list li,.ptier-list li>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
/* Hero (item 1): one column, centered on desktop */
.hero{grid-template-columns:1fr;text-align:left;padding-bottom:48px}
@media(min-width:761px){.hero{text-align:center;padding-top:80px;padding-bottom:80px}.hero-copy{max-width:860px;margin:0 auto}
 .hero h1{font-size:clamp(44px,5vw,60px)}.hero-points{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px}
 .hero .cta-group{align-items:center}}
@media(max-width:760px){.hero{padding-top:28px;padding-bottom:32px}.hero .cta-group{align-items:stretch}.hero .cta-group .btn{min-height:52px}.hero .cta-sub{text-align:center}}
/* Tile font (item 14) */
.sb-item,#how .steps li,.lp-item,.ptier{font-family:var(--tile)}
/* Why it's worth checking (item 3): white band, three colored cards, sources fold away */
.stats-band{background:var(--paper);padding:64px 0 48px}
.stats-band h2{margin:0 0 6px}.sb-sub{margin:0 0 28px}
.stats-band .sb-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sb-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"fig ico" "text text";align-items:center;padding:0;border-radius:18px;border:1px solid #D6E9E2;box-shadow:0 16px 36px -22px rgba(15,107,92,.55)}
.sb-item::before{display:none}
.sb-fig,.sb-count{grid-area:fig;padding:24px 0 24px 24px;margin:0;font-size:52px;background:#E2F1EC;align-self:stretch;display:flex;align-items:center}
.sb-ico{grid-area:ico;align-self:stretch;display:flex;align-items:center;padding:0 24px 0 12px;background:#E2F1EC;color:var(--accent)}
.sb-ico svg{width:48px;height:48px;padding:12px;box-sizing:border-box;border-radius:50%;background:var(--paper)}
.sb-text{grid-area:text;padding:20px 24px 24px;font-size:16px}
.sb-item:nth-child(2){background:var(--accent);border-color:var(--accent);color:#F2FAF7;box-shadow:0 20px 40px -20px rgba(15,107,92,.75)}
.sb-item:nth-child(2) .sb-fig,.sb-item:nth-child(2) .sb-count,.sb-item:nth-child(2) .sb-ico{background:#0B5246;color:#fff}
.sb-item:nth-child(2) .sb-ico{color:var(--warm)}.sb-item:nth-child(2) .sb-ico svg{background:rgba(255,255,255,.12)}
.sb-item:nth-child(2) .sb-ref a{color:#fff}
.sb-item:nth-child(3){border-color:#F1DDB4;box-shadow:0 16px 36px -22px rgba(166,110,0,.55)}
.sb-item:nth-child(3) .sb-fig,.sb-item:nth-child(3) .sb-count,.sb-item:nth-child(3) .sb-ico{background:#FDEBC8;color:#8A5A00}
.sb-item:nth-child(3) .sb-ref a{color:#8A5A00}
.sb-fig.is-counting{visibility:hidden}
.sb-sources{margin-top:16px}
.sb-sources summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15px;color:var(--muted);cursor:pointer;list-style:none}
.sb-sources summary::-webkit-details-marker{display:none}
.sb-sources summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.sb-sources[open] summary::after{transform:rotate(-135deg)}
@media(max-width:760px){.stats-band{padding:32px 0 24px}.stats-band .sb-list{grid-template-columns:1fr;gap:12px}
 .sb-item{grid-template-columns:104px 1fr;grid-template-areas:"ico text" "fig text";border-radius:16px}
 .sb-fig,.sb-count{padding:0 6px 14px;justify-content:center;align-items:flex-start;font-size:30px}
 .sb-ico{padding:14px 6px 6px;justify-content:center;align-items:flex-end}.sb-ico svg{width:24px;height:24px;padding:0;background:none}
 .sb-item:nth-child(2) .sb-ico svg{background:none}
 .sb-text{padding:14px 16px;font-size:14px;line-height:1.45;align-self:center}
 .sb-item:nth-child(2) .sb-fig,.sb-item:nth-child(2) .sb-count{font-size:28px}}
/* Four Steps to BillRight (item 5) */
#how.how-band{background:#F3ECDF;border-top:1px solid var(--line);border-radius:0;max-width:none;padding:64px 0 56px}
.brand-right{color:var(--accent)}
#how h2{margin:0 0 32px}
#how .steps{padding:0;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
#how .steps li{padding:22px 22px 24px;display:flex;flex-direction:column;gap:16px;border:0;border-radius:18px;border-bottom:4px solid var(--accent);background:#EEF7F3;box-shadow:0 2px 0 rgba(28,27,34,.04),0 16px 30px -20px rgba(28,27,34,.45);position:relative}
#how .steps li::after{content:none}
#how .steps li::before{position:static;width:auto;height:auto;margin:0;background:none;box-shadow:none;color:var(--accent);font:700 52px/1 var(--serif);display:block}
#how .step-ico{position:absolute;top:22px;right:22px;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff}
#how .step-h{font-size:17px;line-height:1.35;margin:0}
#how .steps li:nth-child(2){background:#DDEFE7}
#how .steps li:nth-child(3){background:#C3E2D5;border-bottom-color:var(--warm)}
#how .steps li:nth-child(3) .step-ico{background:var(--warm);color:var(--ink)}
#how .steps li:nth-child(4){background:#A5D3C1;border-bottom-color:var(--warm);box-shadow:0 0 0 3px rgba(244,184,96,.45),0 16px 30px -14px rgba(15,107,92,.8)}
#how .steps li:nth-child(4)::before{color:#0B3F35}
#how .steps li:nth-child(4) .step-ico{background:var(--gold);color:var(--ink)}
#how .results-more{margin:26px 0 0;color:#0B5246}
@media(max-width:960px){#how .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#how.how-band{padding:32px 0 30px}#how h2{margin-bottom:18px}#how .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #how .steps li{padding:14px 14px 16px;gap:10px;border-radius:16px}#how .steps li::before{font-size:40px}
 #how .step-ico{top:14px;right:14px;width:40px;height:40px;border-radius:12px}#how .step-h{font-size:15px}#how .results-more{margin-top:18px;font-size:14px}}
/* We give you what you need to ask (item 7) */
.lp-band{background:var(--lp);color:#fff;padding:64px 0}
.lp-band h2{color:#fff;margin:0}
.lp-band .lp-intro{color:#fff;font-family:var(--font);font-size:18px;margin:12px 0 30px}
.lp-list{grid-auto-rows:1fr}
.lp-item{border:0;border-radius:14px;padding:20px;box-shadow:none}
.lp-head{display:flex;align-items:center;gap:10px}
.lp-item .lp-ico{flex:none;width:auto;height:auto;background:none;color:var(--accent);margin:0}
.lp-item h3{font-family:var(--tile);font-size:17px;font-weight:700;letter-spacing:0;line-height:1.2}
.lp-item p{font-size:15px}
.lp-band .lp-foot{color:#fff;margin-top:24px}
@media(max-width:960px){.lp-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lp-band{padding:36px 0}.lp-band .lp-intro{font-size:15px;margin:10px 0 18px}.lp-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .lp-item{padding:14px;gap:6px}.lp-item h3{font-size:15px}.lp-item p{font-size:13px;line-height:1.4}.lp-band .lp-foot{font-size:14px;margin-top:16px}}
/* Pricing (item 8) */
#price{background:none;border:0;border-radius:0;margin:0 auto;padding-top:64px;padding-bottom:60px}
#price h2{margin:0}.price-tag{font:700 18px/1.3 var(--tile);margin:8px 0 32px}
.home-tiers{gap:24px;margin:0}
.ptier{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 16px 32px -22px rgba(28,27,34,.5)}
.ptier-head{display:flex;align-items:center;gap:12px}
.ptier-ico{flex:none;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent)}
.ptier-name{font-family:var(--tile);font-size:19px;font-weight:700;letter-spacing:0}
.ptier-price{margin:18px 0 0;font-size:48px}
.ptier-list{border-top:1px dashed var(--line);margin-top:20px;padding-top:20px}
.ptier-base{background:var(--accent);border:0;color:#F2FAF7;box-shadow:0 22px 40px -20px rgba(15,107,92,.8)}
.ptier-base .ptier-name,.ptier-base .ptier-price{color:#fff}.ptier-base .ptier-ico{background:var(--warm);color:var(--ink)}
.ptier-base .ptier-list{border-top-color:rgba(255,255,255,.3)}.ptier-base .ptier-check{color:var(--warm)}
.ptier-base .ptier-groups{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px dashed rgba(255,255,255,.3);display:grid;gap:18px;min-width:0}
.ptier-base .ptier-group{min-width:0;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}.ptier-base .ptier-group:first-child{padding-top:0;border-top:0}
.ptier-base .ptier-group-head{display:flex;align-items:center;gap:8px}.ptier-base .group-ico{flex:none;width:22px;height:22px;color:var(--warm)}
.ptier-base .ptier-group-label{font:700 11px/1.3 var(--tile);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.88)}
.ptier-base .ptier-group .ptier-list{border-top:0;margin-top:10px;padding-top:0;font-size:15px;line-height:1.45}
.ptier-base .ptier-group .ptier-list li,.ptier-base .ptier-group .ptier-list li>span{min-width:0;overflow-wrap:anywhere}
.ptier-base .ptier-groups{gap:12px;margin-top:16px;padding-top:14px}
.ptier-base .ptier-group{padding-top:10px}
.ptier-base .ptier-group .ptier-list{font-size:13.5px;line-height:1.35;margin-top:8px}
.ptier-base .ptier-list-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ptier-base .ptier-list-2 li{min-width:0}
.ptier-when{margin-top:12px;background:rgba(0,0,0,.16);border-radius:14px;border:1px solid rgba(255,255,255,.12);color:#F2FAF7}
.ptier-when>summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:14px}
.ptier-when>summary::-webkit-details-marker{display:none}
.ptier-when>summary:focus{outline:none}
.ptier-when>summary:focus-visible{outline:3px solid var(--warm);outline-offset:2px}
.ptier-when-sum{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.ptier-when .ptier-group-head{gap:8px}.ptier-when .group-ico{color:var(--warm)}
.ptier-when-chev{flex:none;color:var(--warm);transition:transform .15s}
.ptier-when[open]>summary .ptier-when-chev{transform:rotate(180deg)}
.ptier-when .ptier-list{border-top:0;margin:0;padding:0 14px 12px;display:grid;gap:8px;font-size:13.5px;line-height:1.35;color:rgba(242,250,247,.95)}
.ptier-when .ptier-check{color:var(--warm)}
@media(max-width:900px){.ptier-base .ptier-list-2{grid-template-columns:1fr}}
@media(max-width:760px){.ptier-base .ptier-list-2{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.ptier-base .ptier-list-2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ptier-when-chev{transition:none}}
.ptier-pack3{border:2px solid var(--warm);box-shadow:0 16px 32px -22px rgba(166,110,0,.6)}
.ptier-pack3 .ptier-ico{background:#FDEBC8;color:#8A5A00}.ptier-pack3 .ptier-price,.ptier-pack3 .ptier-check{color:#8A5A00}
@media(max-width:760px){#price{padding-top:36px;padding-bottom:32px;margin:0}.price-tag{font-size:16px;margin-bottom:18px}.home-tiers{gap:14px}
 .ptier{min-width:0;padding:18px;border-radius:18px}.ptier-head{gap:10px}.ptier-ico{width:36px;height:36px;border-radius:10px}.ptier-name{font-size:17px}
 .ptier{display:grid;grid-template-columns:1fr auto;align-items:center}.ptier-price{margin:0;font-size:34px}.ptier>*:not(.ptier-head):not(.ptier-price){grid-column:1/-1}}
/* Motion (item 15): only under html.motion (set by /assets/motion.js, never with reduced motion) */
@keyframes br-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes br-light{0%{opacity:.35;transform:scale(.96)}60%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:none}}
@keyframes br-glow{0%,100%{box-shadow:0 0 0 3px rgba(244,184,96,.45),0 16px 30px -14px rgba(15,107,92,.8)}50%{box-shadow:0 0 0 8px rgba(244,184,96,.25),0 16px 30px -14px rgba(15,107,92,.8)}}
@keyframes br-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes br-tick{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
html.motion [data-motion]:not(.in-view) :is(.sb-item,#how .steps li,.lp-item,.ptier){opacity:0}
html.motion .in-view :is(.lp-item,.ptier){animation:br-rise 1s cubic-bezier(.2,.7,.2,1) both}
html.motion .in-view :is(.lp-item,.ptier):nth-child(2){animation-delay:.3s}
html.motion .in-view :is(.lp-item,.ptier):nth-child(3){animation-delay:.6s}
html.motion .in-view .sb-item{animation:br-rise 1s cubic-bezier(.2,.7,.2,1) both}
html.motion .in-view .sb-item:nth-child(2){animation-delay:.3s}
html.motion .in-view .sb-item:nth-child(3){animation-delay:.6s}
html.motion .in-view .lp-item:nth-child(4){animation-delay:.9s}
html.motion #how.in-view .steps li{animation:br-light .9s ease both}
html.motion #how.in-view .steps li:nth-child(1){animation-delay:.3s}html.motion #how.in-view .steps li:nth-child(2){animation-delay:.9s}
html.motion #how.in-view .steps li:nth-child(3){animation-delay:1.5s}
html.motion #how.in-view .steps li:nth-child(4){animation:br-light .9s ease 2.1s both,br-glow 1.4s ease 3s 2}
html.motion .in-view .sb-item:nth-child(1) .sb-fig,html.motion .in-view .sb-item:nth-child(3) .sb-fig{animation:br-pop 1.1s ease .5s both}
html.motion .hero.in-view .hero-points li::before{animation:br-tick .9s ease both}
html.motion .hero.in-view .hero-points li:nth-child(2)::before{animation-delay:.3s}html.motion .hero.in-view .hero-points li:nth-child(3)::before{animation-delay:.6s}
:is(.sb-item,#how .steps li,.lp-item,.ptier){transition:transform .15s ease}
:is(.sb-item,#how .steps li,.lp-item,.ptier):active{transform:scale(.97)}
@media(hover:hover){:is(.sb-item,#how .steps li,.lp-item,.ptier):hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){:is(.sb-item,#how .steps li,.lp-item,.ptier){transition:none}
 :is(.sb-item,#how .steps li,.lp-item,.ptier):is(:hover,:active){transform:none}}
/* Redesign: undo edit 13's numbers-above-the-cards line and phone side rail, and the generic details "+" marker on the menu */
#how .steps::before{content:none}
#how .steps li{margin:0;overflow:visible}
#how .steps li::before{transform:none;z-index:auto;left:auto;top:auto}
#how .steps li::after{content:none}
#how .steps li:first-child::after,#how .steps li:last-child::after{content:none}
details.site-menu>summary::after{content:none}
@media(max-width:760px){details.site-menu[open]>summary::after{content:""}}
.sb-fig,.sb-count{text-transform:capitalize}
@media(max-width:760px){.site-menu nav{position:absolute;top:100%;bottom:auto;height:calc(100vh - 60px);height:calc(100dvh - 60px)}}
@media(min-width:761px){.hero-points{display:grid;justify-content:center;justify-items:start;text-align:left;gap:10px}}
.site-menu:not([open]) nav{display:none}
/* ===== Redesign item 17 (Nov 2026): upload step layout (#upload on /app/upload/). Wording unchanged. ===== */
#upload .progress.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:24px}
#upload .progress.stepper li{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;font-weight:500;font-size:13px}
#upload .progress.stepper li::after{content:none}
#upload .progress.stepper li::before{content:"";display:block;height:4px;border-radius:2px;background:var(--line)}
#upload .progress.stepper li.done::before,#upload .progress.stepper li[aria-current]::before{background:var(--accent)}
#upload .progress.stepper li[aria-current]{color:var(--accent);font-weight:700}
#upload .progress.stepper .n{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#upload .progress.stepper .t{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
#upload .side .illus{display:none}
#upload .drop{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;text-align:left;padding:20px;min-height:0;border-radius:16px;position:relative}
#upload .drop::before{content:"";grid-row:1/3;width:48px;height:48px;border-radius:12px;background:var(--accent-soft) url("/assets/illus/arrow-up.svg") center/24px no-repeat}
#upload #d-bill{border:2px dashed #8FC2B4}
#upload #d-eob{border:1px solid var(--line)}
#upload #d-eob::before{background-color:#F4EFE7;background-image:url("/assets/illus/plus.svg")}
#upload .drop strong{font-size:17px;align-self:end}#upload .drop .hint{margin:0;align-self:start;font-size:14px}
#upload .drop:focus-within{outline:3px solid var(--warm);outline-offset:3px}
#upload .side .lede+.lede{margin:20px 0 0;padding:16px 20px 8px;background:#F4EFE7;border-radius:16px 16px 0 0;font-size:14px;font-weight:600;color:#3E3A46}
#upload .tips{margin:0;padding:0 20px 16px;background:#F4EFE7;border-radius:0 0 16px 16px;gap:6px}
#upload .tips li{color:var(--ink);font-size:15px}
#upload .wait-panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 16px 36px -24px rgba(28,27,34,.45)}
#upload .wait-panel .wait-h{font:700 20px/1.25 var(--serif);margin:0 0 8px}
@media(max-width:899px){
 #upload h1{font-size:30px;line-height:1.15;margin:0}
 #upload .split{display:flex;flex-direction:column;gap:0}
 #upload .split>.side,#upload .split>#upload-form{display:contents}
 #upload .split .side{position:static}
 #upload h1{order:1}
 #upload .side .lede:first-of-type{order:2;margin:6px 0 20px;font-size:15px;color:#3E3A46}
 #upload .grid2{order:3;grid-template-columns:1fr;gap:10px}
 #upload .grid2+.hint{order:4;margin:10px 0 0;font-size:13px}
 #upload .side .lede+.lede{order:5}
 #upload .tips{order:6}
 #upload #u-warn{order:7}#upload #u-panel{order:8}#upload #u-err{order:9}#upload #u-help{order:10}
 #upload #u-help+.hint{order:12;text-align:center;font-size:13px;margin:10px 0 0}
 #upload .actions{order:11;margin-top:24px}
 #upload .actions .btn{width:100%;min-height:52px}
}
/* ===== Pricing, Help, Contact (Nov 2026): same tiles, colors, type and font as the redesigned homepage. Wording unchanged. ===== */
:is(.page-pricing,.page-help,.page-contact).narrow{max-width:1040px}
:is(.page-pricing,.page-help,.page-contact)>h1{font-size:clamp(34px,4.6vw,52px);line-height:1.1}
:is(.page-pricing,.page-help,.page-contact)>.lede{font-size:18px;color:#3E3A46}
.tile-ico{flex:none;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent)}
#packs .pack-lines{list-style:none;padding-left:0;display:grid;gap:6px}#packs .pack-lines strong{font-size:17px;color:#8A5A00}
/* Pricing: stat cards like the homepage band */
/* Help: each question is a tile */
.faq-list{display:grid;gap:12px;margin:8px 0 0}
details.faq-tile{font-family:var(--tile);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:4px 20px;box-shadow:0 10px 24px -20px rgba(28,27,34,.45);transition:transform .15s ease}
details.faq-tile>summary{padding:14px 0}
details.faq-tile>summary>h2{font-family:var(--tile);font-size:17px;font-weight:700;letter-spacing:0;line-height:1.35}
details.faq-tile>summary::after{content:"";width:32px;height:32px;border-radius:50%;background:#E2F1EC;position:relative}
details.faq-tile>summary::before{content:"";order:2;flex:none;width:9px;height:9px;margin:0 -27px 0 0;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-2px) rotate(45deg);position:relative;z-index:1;transition:transform .2s}
details.faq-tile>summary>h2{order:1;flex:1}details.faq-tile>summary::after{order:3}
details.faq-tile[open]>summary::before{transform:translateY(2px) rotate(-135deg)}
details.faq-tile[open]{border-color:#B9DCCF;background:#F7FBF9}
details.faq-tile>p{margin:0 0 16px;color:#3E3A46;font-size:15px;line-height:1.55}
details.faq-tile:nth-child(4n+2)[open]{background:#FFF9EC;border-color:#F1DDB4}
.page-help .help-ask{background:var(--lp);color:#fff;border-radius:20px;padding:28px;margin:40px 0}
.page-help .help-ask h2{color:#fff;margin-top:0}.page-help .help-ask .hint,.page-help .help-ask label{color:#fff}
.page-help .help-ask textarea{border-radius:12px;border:0;padding:12px;color:var(--ink)}
.page-help .help-ask a{color:#fff}
.page-help #answer:not(:empty){background:#fff;color:var(--ink);border-left:4px solid var(--warm);border-radius:0 12px 12px 0}
/* Contact: tiles */
.contact-lede{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:0 10px 24px -20px rgba(28,27,34,.45)}
.contact-lede a{font-weight:700}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:8px 0 20px}
.contact-tile{font-family:var(--tile);border-radius:20px;padding:24px;box-shadow:0 14px 28px -20px rgba(28,27,34,.45);display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.contact-tile>h2{font-family:var(--tile);font-size:19px;font-weight:700;letter-spacing:0;margin:0}
.contact-tile>:not(.tile-ico):not(h2){grid-column:1/-1}
.contact-tile ul{margin:16px 0 0;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.5}
.contact-tile p{margin:12px 0 0;font-size:15px}
.contact-include{background:#EEF7F3;border:1px solid #D6E9E2}.contact-include .tile-ico{background:var(--accent);color:#fff}
.contact-never{background:#FDEBC8;border:1px solid #F1DDB4;color:#4A3000}.contact-never .tile-ico{background:#8A5A00;color:#fff}
.contact-delete{background:var(--paper);border:1px solid var(--line);margin:0 0 8px}.contact-delete .tile-ico{background:#F4EFE7;color:var(--muted)}
.contact-delete p{margin-top:8px}
@media(hover:hover){:is(details.faq-tile,.contact-tile):hover{transform:translateY(-2px)}}
.contact-tile{transition:transform .15s ease}
@media(prefers-reduced-motion:reduce){:is(details.faq-tile,.contact-tile){transition:none}:is(details.faq-tile,.contact-tile):hover{transform:none}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:12px}
 details.faq-tile{padding:2px 16px}details.faq-tile>summary>h2{font-size:16px}
 .page-help .help-ask{padding:20px;border-radius:18px}
 .contact-tile{padding:18px;border-radius:18px}}
.contact-tile{align-content:start}

/* ===== Trust redesign (Jesse, Nov 7 2026; docs/approvals/trust-redesign-2026-11.md): ideas 1-12 ===== */
/* 8. One icon set: 1.75 stroke and an amber accent dot */
.ico-dot{fill:var(--warm);stroke:none}
/* 7. Signature check-line shape behind the hero and the section headings */
.hero{position:relative;isolation:isolate}
.hero-sig{position:absolute;left:0;top:12px;width:min(620px,92%);height:auto;z-index:-1;opacity:.55;pointer-events:none}
.hero-sig path{stroke:#CDE6DC;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
:is(.sig-h,#sb-h,#how-h){position:relative;isolation:isolate}
:is(.sig-h,#sb-h,#how-h)::before{content:"";position:absolute;z-index:-1;left:-8px;top:50%;width:260px;height:58px;transform:translateY(-38%);background:url("/assets/illus/sig.svg") left center/contain no-repeat;pointer-events:none}
#how-h::before{background-image:url("/assets/illus/sig-sand.svg");width:300px;height:66px}
/* 1 + 2. Hero: copy beside the animated sample walkthrough; prices beside the button */
.hero .hero-visual.sample-bill{padding:0;margin:0;align-self:center}
.hero-prices{order:2;list-style:none;margin:0;padding:0;display:flex;gap:10px}
.hero-prices li{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:6px 16px;text-align:center;line-height:1.2}
.hero-prices strong{display:block;font:700 26px/1.1 var(--serif);color:var(--accent)}
.hero-prices span{display:block;font:600 12px/1.3 var(--tile);color:var(--muted)}
#hero-cta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 16px}
#hero-cta .btn{order:1}#hero-cta .cta-sub{order:3;flex-basis:100%;margin:0}
@media(min-width:901px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;text-align:left;padding-top:64px;padding-bottom:64px}
 .hero-copy{max-width:none;margin:0}.hero h1{font-size:clamp(42px,4.4vw,58px)}
 .hero-points{display:grid;justify-content:start;justify-items:start}.hero .cta-group{align-items:center}}
.wt-card{position:relative;overflow:hidden;border-radius:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 50px -30px rgba(28,27,34,.55);font-family:var(--tile);text-align:left;padding-bottom:16px}
.wt-top{padding:18px 22px 0;display:flex;justify-content:space-between;align-items:center}
.wt-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;padding:3px 10px;border-radius:999px}
.wt-kind{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#77717E}
.wt-provider{margin:10px 22px 6px;font:700 18px/1.3 var(--serif)}
.wt-lines{list-style:none;margin:0 14px;padding:0;font-size:14.5px}
.wt-row{position:relative;display:flex;justify-content:space-between;gap:12px;padding:8px;border-bottom:1px solid #F1ECE3;border-radius:8px}
.wt-row:last-child{border-bottom:0}
.wt-row:not(.wt-flag){color:var(--muted)}
.wt-flag{background:#FDEBC8}
.wt-chip{position:absolute;right:96px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;background:#8A5A00;color:#fff;padding:2px 10px;border-radius:999px;white-space:nowrap}
.wt-flag{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:4px;align-items:center}
.wt-flag .wt-item{min-width:0;grid-column:1;grid-row:1}
.wt-flag .sbill-amt{grid-column:2;grid-row:1;white-space:nowrap}
.wt-badges{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.wt-flag .wt-chip{position:static;transform:none;right:auto;top:auto}
.wt-total{margin:10px 22px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:700;font-size:15px;color:var(--accent)}
.wt-total .sbill-sum{font:700 26px/1 var(--serif)}
.wt-letter{margin:14px 16px 0;padding:16px 20px;background:var(--paper);border:1px solid #D6E9E2;border-radius:16px;box-shadow:0 -16px 34px -18px rgba(15,107,92,.55);font-size:13.5px;line-height:1.5}
.wt-letter p{margin:0}
.wt-letter-h{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.wt-letter-re{margin-top:8px!important;color:var(--muted)}.wt-letter-s{margin-top:6px!important;font-weight:700}.wt-letter-b{margin-top:2px!important}
.hero-visual figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center}
@media(max-width:760px){.wt-top{padding:14px 16px 0}.wt-provider{margin:8px 16px 4px;font-size:16px}.wt-lines{margin:0 8px;font-size:13px}
 .wt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:3px;padding:6px 8px}
 .wt-chip{position:static;transform:none;grid-column:1/-1;justify-self:start;font-size:10.5px}
 .wt-total{margin:8px 16px 0;font-size:14px}.wt-total .sbill-sum{font-size:22px}
 .wt-letter{margin:12px 10px 0;padding:12px 14px;font-size:12.5px}}
/* Phone hero order: heading, checks, walkthrough, button, prices, sub-line */
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:20px}.hero-copy{display:contents}
 .hero h1{order:1}.hero-points{order:2;margin:0}.hero .hero-visual.sample-bill{order:3}#hero-cta{order:4}
 .hero-sig{width:100%;top:4px}}
@media(max-width:760px){#hero-cta{flex-direction:column;align-items:stretch}#hero-cta .btn{width:100%}.hero-prices{justify-content:center}.hero-prices li{flex:1}}
/* 1. Motion for the walkthrough: only under html.motion, once the hero is in view, on an 11-second loop.
   The letter card's fully-visible hold is 4.7s (was 2.7s on the 9s loop, plus 2s). Every other phase keeps
   the same absolute duration it had on the 9s loop; percentages are remapped to 11s. */
@keyframes br-wt-flag{0%,8.181818%{background:transparent}13.090909%,60.545455%{background:#FDEBC8}68.727273%,100%{background:transparent}}
@keyframes br-wt-chip{0%,8.181818%{opacity:0}13.090909%,60.545455%{opacity:1}68.727273%,100%{opacity:0}}
@keyframes br-wt-total{0%,32.727273%{opacity:0}39.272727%,91.818182%{opacity:1}97.545455%,100%{opacity:0}}
@keyframes br-wt-letter{0%,42.545455%{opacity:0;transform:translateY(105%)}49.090909%,91.818182%{opacity:1;transform:none}97.545455%,100%{opacity:0;transform:translateY(105%)}}
@keyframes br-draw-sig{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
html.motion .wt-letter{position:absolute;left:16px;right:16px;bottom:0;margin:0;border-bottom:0;border-radius:16px 16px 0 0}
html.motion .hero.in-view .wt-flag{animation:br-wt-flag 11s ease infinite both}
html.motion .hero.in-view :is(.wt-chip,.wt-badges){animation:br-wt-chip 11s ease infinite both}
html.motion .hero.in-view .wt-total{animation:br-wt-total 11s ease infinite both}
html.motion .hero.in-view .wt-letter{animation:br-wt-letter 11s cubic-bezier(.2,.75,.25,1) infinite both}
html.motion .hero:not(.in-view) :is(.wt-letter,.wt-chip,.wt-badges){opacity:0}
html.motion .hero .wt-flag-2,html.motion .hero .wt-flag-2 :is(.wt-chip,.wt-badges){animation-delay:.9s!important}
html.motion .hero .wt-flag-3,html.motion .hero .wt-flag-3 :is(.wt-chip,.wt-badges){animation-delay:1.8s!important}
html.motion .hero .wt-flag-4,html.motion .hero .wt-flag-4 :is(.wt-chip,.wt-badges){animation-delay:2.7s!important}
html.motion .hero.in-view .hero-sig path{stroke-dasharray:420;animation:br-draw-sig 1.4s ease .2s both} /* own name: a later br-draw (24px) overrode this one */
@media(max-width:760px){html.motion .wt-letter{left:8px;right:8px}}
/* 9. Four Steps: numbered circles on a line that draws in (across on desktop, down on phones and tablets) */
#how .steps{position:relative;padding-top:68px}
#how .steps::before{content:"";position:absolute;top:24.5px;left:26px;right:calc(25% - 41px);height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--gold));transform-origin:left;opacity:1}
#how .steps li::before{position:absolute;top:-68px;left:0;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font:700 24px/1 var(--serif);box-shadow:0 0 0 5px #F3ECDF;z-index:1}
#how .steps li:nth-child(3)::before{background:var(--warm);color:var(--ink)}
#how .steps li:nth-child(4)::before{background:var(--gold);color:var(--ink)}
#how .step-ico{position:static;width:48px;height:48px}
@keyframes br-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes br-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
html.motion #how:not(.in-view) .steps::before{transform:scaleX(0)}
html.motion #how.in-view .steps::before{animation:br-grow-x 2.7s ease .3s both}
@media(max-width:960px){#how .steps{grid-template-columns:1fr;padding-top:0;padding-left:68px;gap:14px}
 #how .steps::before{display:block;top:26px;bottom:26px;left:25px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--accent),var(--gold));transform-origin:top}
 #how .steps li::before{top:50%;left:-68px;transform:translateY(-50%)}
 #how .steps li{flex-direction:row;align-items:center}
 html.motion #how:not(.in-view) .steps::before{transform:scaleY(0)}
 html.motion #how.in-view .steps::before{animation:br-grow-y 2.7s ease .3s both}}
@media(max-width:760px){#how .steps{padding-left:58px;gap:12px}#how .steps::before{left:21px}
 #how .steps li::before{left:-58px;width:44px;height:44px;font-size:20px}#how .step-ico{width:40px;height:40px;flex:none}}
/* 6. See a real letter */
.letter-sample{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start;padding-top:64px;padding-bottom:16px}
.ls-copy h2{margin:0}.ls-intro{color:var(--muted);font-size:17px;margin:10px 0 20px}
.ls-badge{display:flex;gap:10px;align-items:center;padding:14px 16px;border-radius:14px;background:#E2F1EC;color:#0B3F35;font:700 15px/1.4 var(--tile);margin:0}
.ls-badge .ico{flex:none;color:var(--accent)}
.sample-letter{margin:0;display:flex;flex-direction:column}
.sl-paper{order:1;position:relative;background:#fff;border-radius:6px;box-shadow:0 2px 0 var(--line),0 26px 50px -28px rgba(28,27,34,.55);transform:rotate(-1deg);padding:30px 32px 20px;font:14px/1.55 var(--serif);max-height:440px;overflow:hidden}
.sl-paper::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff 75%)}
.sl-paper p{margin:0 0 12px}
.sl-fold{order:2;margin-top:14px}
.sl-fold>summary{display:inline-flex;justify-content:flex-start;gap:6px;padding:0;min-height:44px;font-weight:700;color:var(--accent)}
.sl-fold>summary::after{content:"↓";width:auto;height:auto;background:none;font:700 17px/1 var(--font);color:inherit;display:inline}
.sl-fold[open]>summary::after{content:"↑"}
.sample-letter:has(.sl-fold[open]) .sl-paper{max-height:none}
.sample-letter:has(.sl-fold[open]) .sl-paper::after{display:none}
@media(max-width:900px){.letter-sample{grid-template-columns:1fr;gap:20px;padding-top:40px}.ls-copy{display:contents}
 .ls-copy h2{order:1}.ls-intro{order:2;margin:0}.sample-letter{order:3}.ls-badge{order:4}
 .sl-paper{padding:22px 20px 14px;font-size:12.5px;max-height:380px;transform:rotate(-.6deg)}}
/* 4. Who's behind BillRight (rendered only from config/founder.json) */
.who{padding-top:56px}.who h2{margin:0 0 22px}
.who-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 18px 40px -28px rgba(28,27,34,.5);max-width:760px}
.who-head{display:flex;gap:18px;align-items:center}
.who-photo{flex:none;width:110px;height:110px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 2px var(--gold)}
.who-initial{display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent);font:700 44px/1 var(--serif)}
.who-name{margin:0;font:700 24px/1.2 var(--serif)}.who-role{margin:0;color:var(--muted)}
.who-quote{margin:20px 0 0;padding:18px 20px;border-radius:16px;background:var(--bg);border-left:4px solid var(--gold);font-size:17px;line-height:1.6}.who-quote p{margin:0}
.who-contact{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.more-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;margin-top:10px}.more-link::after{content:"→"}
@media(max-width:760px){.who{padding-top:36px}.who-card{padding:20px}.who-photo{width:84px;height:84px}.who-name{font-size:20px}.who-quote{font-size:15px}}
/* 11. Homepage FAQ tiles (answers word for word from /help/) */
.home-faq{padding-top:56px;padding-bottom:8px}.home-faq h2{margin:0 0 24px}
.home-faq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin:0}
details.faq-tile>summary>h3{font-family:var(--tile);font-size:17px;font-weight:700;letter-spacing:0;line-height:1.35;margin:0;order:1;flex:1}
@media(max-width:760px){.home-faq{padding-top:36px}.home-faq-list{grid-template-columns:1fr;gap:12px}details.faq-tile>summary>h3{font-size:16px}}
/* 10. Sources reviewed line */
.sb-reviewed{margin:12px 0 0;font-weight:700;color:var(--accent)}
/* 12. A human contact line in the footer and the Help header */
.foot-contact,.help-contact{display:flex;gap:14px;align-items:center;border-radius:16px;line-height:1.5}
.foot-contact{padding:16px 20px;background:#E2F1EC;color:#0B3F35;margin:0 0 16px;font-size:16px}
.foot-contact a{color:var(--accent);font-weight:700}
:is(.foot-contact,.help-contact) .foot-contact-ico,.help-contact-ico{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}
.foot-links{margin:0}
.help-contact{padding:14px 18px;background:var(--accent);color:#fff;margin:18px 0 24px;font-size:15px;box-shadow:0 14px 28px -18px rgba(15,107,92,.8)}
.help-contact a{color:#fff;font-weight:700}.help-contact .help-contact-ico{background:#fff;color:var(--accent)}
/* 5. Privacy icons under the upload box */
.upload-trust{list-style:none;margin:12px 0 0;padding:12px 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-radius:14px;background:#E2F1EC}
.upload-trust li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font:700 12.5px/1.25 var(--tile);color:#0B3F35}
.ut-ico{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center}
@media(max-width:899px){#upload .upload-trust{order:3}#upload .upload-trust+.hint{order:4;margin:10px 0 0;font-size:13px}}

/* Item 17 / acceptance: reduced motion turns off all animation and transitions */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* ===== Redesign fixes (Nov 7; docs/approvals/redesign-fixes-2026-11.md) ===== */
/* Item 7 miss: the letter band is the lighter green; the older #letter-page rule (ID) was winning */
#letter-page.lp-band{background:var(--lp);box-shadow:0 0 0 100vmax var(--lp)}
/* "We give you what you need to ask." (Jesse, Nov 8 2026): the full Single Bill Pack in three groups, with tile D's approved wording.
   Letters (white card) | Ways to reach them (the four cards, 2x2) | When it applies (darker strip, white text 6:1). */
#letter-page .lp-pack{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px 28px;align-items:stretch}
#letter-page .lp-label{margin:0 0 12px;font:700 13px/1.2 var(--tile);letter-spacing:.08em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:8px}
#letter-page .lp-group{min-width:0;display:flex;flex-direction:column}
#letter-page .lp-checks{list-style:none;margin:0;padding:8px 22px;background:var(--paper);border-radius:14px;border-top:4px solid var(--warm);flex:1;display:flex;flex-direction:column;justify-content:space-around;box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
#letter-page .lp-checks li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font:600 16px/1.35 var(--tile);color:var(--ink)}
#letter-page .lp-checks li:last-child{border-bottom:0}
#letter-page .lp-checks .lp-ico{flex:none;width:40px;height:40px;margin:0;border-radius:12px;background:var(--accent-soft);color:var(--accent)}
#letter-page .lp-ways .lp-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;flex:1}
#letter-page .lp-cond{grid-column:1 / -1;background:rgba(0,0,0,.12);border:1.5px dashed rgba(255,255,255,.6);border-radius:14px;padding:18px 22px}
#letter-page .lp-cond .lp-label{margin-bottom:10px}#letter-page .lp-cond .lp-ico{width:auto;height:auto;margin:0;background:none;color:#fff}
#letter-page .lp-cond-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}
#letter-page .lp-cond-list li{position:relative;padding-left:18px;color:#fff;font:500 15px/1.45 var(--tile)}
#letter-page .lp-cond-list li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--warm)}
@media(max-width:900px){#letter-page .lp-pack{grid-template-columns:1fr}#letter-page .lp-cond-list{grid-template-columns:1fr}}
@media(max-width:760px){#letter-page .lp-checks{padding:4px 16px}#letter-page .lp-checks li{padding:11px 0;font-size:15px;gap:12px}#letter-page .lp-checks .lp-ico{width:34px;height:34px}
 #letter-page .lp-cond{padding:14px 16px}#letter-page .lp-cond-list li{font-size:14px}}
html.motion #letter-page[data-motion]:not(.in-view) :is(.lp-checks,.lp-cond){opacity:0}
html.motion .in-view#letter-page .lp-checks{animation:br-rise 1s cubic-bezier(.2,.7,.2,1) both}
html.motion .in-view#letter-page .lp-cond{animation:br-rise 1s cubic-bezier(.2,.7,.2,1) 1.2s both}

/* Phone menu sheet: the 24-hour line under "Check my bill", as on the canvas */
header.site .site-menu-cta .promise{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 0;font-size:13px;color:var(--muted)}
.site-menu-cta .promise::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
/* Item 15 misses: the hero checks and the 73.7% check draw in (left-to-right wipe) instead of popping */
@keyframes br-draw-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
html.motion .hero.in-view .hero-points li::before{animation:br-draw-wipe .9s ease-out both}
html.motion .hero.in-view .hero-points li:nth-child(2)::before{animation-delay:.3s}
html.motion .hero.in-view .hero-points li:nth-child(3)::before{animation-delay:.6s}
html.motion #why-check.in-view .sb-item:nth-child(2) .sb-ico svg path{stroke-dasharray:24;animation:br-draw 1s ease 1s both}
@keyframes br-draw{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}

/* ===== Page redesign, Nov 2026 (How it works, Pricing, About, Contact). One block per page; each page's PR fills only its own block. ===== */
/* How it works: docs/approvals/pages-how-it-works-2026-11.md */
/* @page-css how-it-works (start) */
.hiw{max-width:1120px}
.hiw .sr-n,.hiw-n{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hiw-hero{position:relative;isolation:isolate;padding:40px 0 8px}
.page-sig{position:absolute;left:-16px;top:52px;width:min(620px,92%);height:auto;z-index:-1;opacity:.5;pointer-events:none}
.page-sig path{stroke:#CDE6DC;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.hiw-hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08;margin:12px 0 0}.hiw-hero .lede{font-size:clamp(17px,1.6vw,20px);max-width:680px}
/* idea 1: a screen at each step, numbered circles on one line */
.hiw-steps{list-style:none;margin:28px 0 56px;padding:68px 0 0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:hs}
.hiw-steps::before{content:"";position:absolute;top:24.5px;left:26px;right:calc(25% - 41px);height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--gold));transform-origin:left}
.hiw-steps li{counter-increment:hs;position:relative;display:flex;flex-direction:column;gap:16px;border-radius:20px;padding:22px;border-bottom:4px solid var(--accent);background:#EEF7F3;box-shadow:0 16px 30px -20px rgba(28,27,34,.45)}
.hiw-steps li::before{content:counter(hs);position:absolute;top:-68px;left:0;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font:700 24px/1 var(--serif);box-shadow:0 0 0 5px var(--bg)}
.hiw-steps li:nth-child(2){background:#DDEFE7}
.hiw-steps li:nth-child(3){background:#C3E2D5;border-bottom-color:var(--warm)}.hiw-steps li:nth-child(3)::before{background:var(--warm);color:var(--ink)}
.hiw-steps li:nth-child(4){background:#A5D3C1;border-bottom-color:var(--gold)}.hiw-steps li:nth-child(4)::before{background:var(--gold);color:var(--ink)}
.hiw-steps h2.hiw-step-h{margin:0;font:800 18px/1.3 var(--tile);color:var(--ink)}.hiw-step-copy p{margin:6px 0 0;font-size:15px;line-height:1.5;color:#2F2C36}.hiw-step-copy a{color:#0B3F35;font-weight:700}
.hiw-shot{display:flex;justify-content:center}
.hiw-phone{width:140px;height:244px;box-sizing:border-box;border-radius:24px;border:6px solid var(--ink);background:#fff;overflow:hidden;padding:16px 10px 10px;font:10.5px/1.3 var(--tile);color:var(--ink);box-shadow:0 14px 26px -16px rgba(28,27,34,.6);position:relative}
.hiw-phone::before{content:"";position:absolute;top:5px;left:50%;width:34px;height:4px;margin-left:-17px;border-radius:2px;background:var(--ink)}
.hiw-phone p{margin:0}.hs-h{font-weight:800;font-size:11.5px;margin:2px 0 8px!important}.hs-muted{color:var(--muted);font-size:10px}
.hs-drop{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px dashed #CFC6B8;border-radius:8px;padding:9px 4px;text-align:center;margin-top:6px;font-weight:700;color:var(--muted)}
.hs-main{border-color:var(--accent);background:#F2FAF7;color:var(--accent);padding:12px 4px}
.hs-btn{margin-top:10px;height:20px;border-radius:10px;background:var(--accent)}
.hs-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.hs-bar span{display:block;height:100%;width:100%;background:var(--accent)}
.hs-row{display:flex;align-items:center;gap:5px;margin-top:8px!important}
.hs-tick{flex:none;width:13px;height:13px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}
.hs-tag{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:#fff;padding:1px 7px;border-radius:999px;margin-bottom:6px}
.hs-amt{height:18px;width:70%;border-radius:5px;background:linear-gradient(90deg,var(--accent),#2E9A82);margin:2px 0}
.hs-flag{margin-top:8px;padding:6px;border-radius:6px;background:#FDEBC8;display:flex;flex-direction:column}
.hs-blur{margin-top:5px;padding:6px;border-radius:6px;background:#F3ECDF;filter:blur(1.2px);color:var(--muted)}
.hs-let{display:flex;align-items:center;gap:5px;margin-top:6px!important;padding:6px;border-radius:6px;background:#F2FAF7;color:#0B3F35;font-weight:700}.hs-let .ico{color:var(--accent)}
.hiw-two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding:56px 0;background:#1A7F6B;color:#fff;box-shadow:0 0 0 100vmax #1A7F6B;clip-path:inset(0 -100vmax)}
.hiw-two h2{margin:0;color:#fff;font-size:clamp(28px,3.2vw,40px)}.hiw-two-copy p{margin:12px 0 0;font-size:18px;color:#F2FAF7}.hiw-two-copy .hiw-note{font-size:13px;color:#FFFFFF}
/* Option A (Nov 8 2026): the sample findings card fills the band's right column; same .fcard as the homepage preview. */
.hiw-legend{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}.hiw-legend li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:16px;color:#F2FAF7}.hiw-legend .conf{flex:none}
.hiw-two-sample{margin:0;min-width:0}.hiw-two-sample .fcard{margin:0;color:var(--ink);box-shadow:0 24px 48px -24px rgba(0,0,0,.45)}
.hiw-two-sample .fcard .fcard-item{grid-template-columns:28px minmax(0,1fr);padding:14px 0}
.hiw-two-sample .fcard-item-title{margin:0;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.hiw-two-sample .fcard-note{margin:4px 0 0;font-size:15px;color:var(--muted)}.hiw-two-sample figcaption.hiw-note{margin:10px 0 0;font-size:13px;color:#FFFFFF;text-align:right}
/* idea 2: what we check, as tiles */
.hiw-checks{padding:56px 0;background:var(--accent-soft);box-shadow:0 0 0 100vmax var(--accent-soft);clip-path:inset(0 -100vmax)}
.hiw-checks h2{margin:0}.hiw-checks>p{margin:8px 0 24px;color:var(--muted);font-size:17px}
.hc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.hc-grid li{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:#fff;border:1px solid #DCEBE5;box-shadow:0 10px 22px -18px rgba(28,27,34,.45)}
.hc-grid li:nth-child(even){background:#F7FBF9}
.hc-grid strong{font-size:15px;line-height:1.3}.hc-eg{font-size:13.5px;line-height:1.4;color:var(--muted)}
.hc-ico{width:36px;height:36px;border-radius:10px;background:#E2F1EC;color:var(--accent);display:flex;align-items:center;justify-content:center}
.hc-grid .hc-fa{background:#FDEBC8!important;border-color:#F1DDB4;color:#4A3000}.hc-fa .hc-ico{background:#fff;color:#8A5A00}
/* idea 4: where our rules come from */
.hiw-rules{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;padding:56px 0;background:#F3ECDF;box-shadow:0 0 0 100vmax #F3ECDF;clip-path:inset(0 -100vmax);margin-bottom:40px}
.hiw-rules h2{margin:0}.hiw-rules-copy p{margin:8px 0 0;font-size:17px;color:#3E3A46}
.sig-sand::before{background-image:url("/assets/illus/sig-sand.svg")!important}
.hr-version{display:flex;align-items:center;gap:8px;margin-top:18px!important;font-weight:700;color:var(--accent)!important;font-size:15px!important}
.hr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hr-link{display:flex;align-items:center;gap:14px;height:100%;box-sizing:border-box;background:#fff;border-radius:16px;padding:16px 18px;color:var(--ink);text-decoration:none;box-shadow:0 10px 22px -18px rgba(28,27,34,.5)}
a.hr-link:hover{transform:translateY(-2px)}
.hr-ico{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff}
.hr-list li:nth-child(2) .hr-ico{background:#DDEFE7;color:var(--accent)}.hr-list li:nth-child(3) .hr-ico{background:var(--warm);color:var(--ink)}.hr-list li:nth-child(4) .hr-ico{background:#E2F1EC;color:var(--accent)}
.hr-txt{flex:1;display:flex;flex-direction:column}.hr-txt strong{font-size:16px}.hr-txt span{font-size:14px;color:var(--muted)}.hr-go{color:var(--accent)}
/* motion (html.motion, in view only) */
@keyframes hiw-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hiw-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes hiw-bar{0%{width:8%}60%,100%{width:100%}}
@keyframes hiw-tick{0%,30%{opacity:.25}40%,100%{opacity:1}}
html.motion .hiw-steps:not(.in-view)::before{transform:scaleX(0)}
html.motion .hiw-steps.in-view::before{animation:hiw-grow-x 1.8s ease .3s both}
html.motion .hiw-steps.in-view .hs-bar span{animation:hiw-bar 3s ease infinite both}
html.motion .hiw-steps.in-view .hs-row{animation:hiw-tick 3s ease infinite both}
html.motion .hiw-steps .hs-row-2{animation-delay:.5s!important}html.motion .hiw-steps .hs-row-3{animation-delay:1s!important}html.motion .hiw-steps .hs-row-4{animation-delay:1.5s!important}
/* tablets and phones */
@media(max-width:960px){.hiw-steps{grid-template-columns:1fr;padding:0 0 0 64px;gap:14px}
 .hiw-steps::before{top:26px;bottom:26px;left:23px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--accent),var(--gold));transform-origin:top}
 .hiw-steps li{flex-direction:row-reverse;align-items:center;padding:16px 14px}
 .hiw-steps li::before{top:50%;left:-64px;transform:translateY(-50%);width:48px;height:48px;font-size:21px}
 html.motion .hiw-steps:not(.in-view)::before{transform:scaleY(0)}html.motion .hiw-steps.in-view::before{animation:hiw-grow-y 1.8s ease .3s both}
 .hiw-step-copy{flex:1;min-width:0}
 .hiw-two,.hiw-rules{grid-template-columns:1fr;gap:24px}.hc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.hiw-hero{padding-top:20px}.page-sig{top:36px}
 .hiw-steps{padding-left:0;margin:20px 0 36px}.hiw-steps::before{display:none}
 .hiw-steps li::before{position:static;transform:none;width:36px;height:36px;font-size:18px;box-shadow:none;margin-bottom:-4px}
 .hiw-steps li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n shot" "copy shot";column-gap:12px;row-gap:8px}
 .hiw-steps li::before{grid-area:n}.hiw-step-copy{grid-area:copy}.hiw-shot{grid-area:shot}
 .hiw-steps h2.hiw-step-h{font-size:16px}.hiw-step-copy p{font-size:13.5px}
 .hiw-phone{width:112px;height:196px;border-width:5px;font-size:8.5px;padding:13px 8px 8px;border-radius:20px}.hs-h{font-size:9.5px}.hs-muted{font-size:8.5px}
 .hiw-two,.hiw-checks,.hiw-rules{padding:32px 0}.hiw-two-copy p{font-size:15px}.hiw-legend li{font-size:15px}
 .hc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hc-grid li{padding:12px}.hc-grid strong{font-size:13.5px}.hc-eg{font-size:12.5px}
 .hr-list{grid-template-columns:1fr;gap:10px}.hr-link{padding:12px 14px}.hr-ico{width:40px;height:40px}.hr-txt strong{font-size:14.5px}.hr-txt span{font-size:12.5px}}
/* HIW steps, desktop only (Jesse, Nov 8 2026): no phones, icon badges, one-off scroll-in sequence. Mobile and tablet rules above are untouched. */
.hiw-ico{display:none}
@media(min-width:961px){
 .hiw-steps .hiw-shot{display:none}
 .hiw-steps li{gap:20px;padding:30px 26px 28px;border-radius:22px}
 .hiw-steps .hiw-ico{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:22px;background:#F7FCFA;color:#0B3F35;box-shadow:0 10px 20px -14px rgba(28,27,34,.5)}
 .hiw-steps li:nth-child(3) .hiw-ico,.hiw-steps li:nth-child(4) .hiw-ico{color:var(--ink)}
 .hiw-steps li:nth-child(3) .hiw-ico{box-shadow:0 0 0 3px var(--warm),0 10px 20px -14px rgba(28,27,34,.5)}
 .hiw-steps li:nth-child(4) .hiw-ico{box-shadow:0 0 0 3px var(--gold),0 10px 20px -14px rgba(28,27,34,.5)}
 .hiw-steps h2.hiw-step-h{font-size:22px;line-height:1.25}
 .hiw-step-copy p{margin:10px 0 0;font-size:16px;line-height:1.55}
 .hiw-steps .hiw-ico svg{width:42px;height:42px}
 .hiw-ico .i-env{fill:#F7FCFA}
 .hiw-ico .i-letter{fill:#fff}
 .hiw-ico svg *{transform-box:view-box}
 @keyframes hiw-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
 @keyframes hiw-pop{0%{transform:scale(0)}65%{transform:scale(1.18)}100%{transform:scale(1)}}
 @keyframes hiw-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-3.5px)}}
 @keyframes hiw-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
 @keyframes hiw-swing{0%{transform:rotate(0)}25%{transform:rotate(-16deg)}55%{transform:rotate(10deg)}80%{transform:rotate(-4deg)}100%{transform:rotate(0)}}
 @keyframes hiw-out{from{transform:translateY(6px)}to{transform:translateY(0)}}
 html.motion .hiw-steps:not(.in-view) li{opacity:0}
 html.motion .hiw-steps:not(.in-view) li::before{transform:scale(0)}
 html.motion .hiw-steps.in-view li{animation:hiw-rise .55s cubic-bezier(.2,.7,.2,1) both}
 html.motion .hiw-steps.in-view li:nth-child(1){animation-delay:.15s}
 html.motion .hiw-steps.in-view li:nth-child(2){animation-delay:.28s}
 html.motion .hiw-steps.in-view li:nth-child(3){animation-delay:.41s}
 html.motion .hiw-steps.in-view li:nth-child(4){animation-delay:.54s}
 html.motion .hiw-steps.in-view li::before{animation:hiw-pop .45s cubic-bezier(.3,1.4,.5,1) both}
 html.motion .hiw-steps.in-view li:nth-child(1)::before{animation-delay:.4s}
 html.motion .hiw-steps.in-view li:nth-child(2)::before{animation-delay:.95s}
 html.motion .hiw-steps.in-view li:nth-child(3)::before{animation-delay:1.55s}
 html.motion .hiw-steps.in-view li:nth-child(4)::before{animation-delay:2.1s}
 html.motion .hiw-steps.in-view .i-arrow{animation:hiw-lift .8s ease-in-out .9s 1 both}
 html.motion .hiw-steps.in-view .i-t{stroke-dasharray:1;animation:hiw-draw .35s ease-out both}
 html.motion .hiw-steps.in-view .i-t1{animation-delay:1.1s}
 html.motion .hiw-steps.in-view .i-t2{animation-delay:1.35s}
 html.motion .hiw-steps.in-view .i-t3{animation-delay:1.6s}
 html.motion .hiw-steps.in-view .i-tag{transform-origin:8px 8px;animation:hiw-swing 1.1s ease-in-out 1.15s 1 both}
 html.motion .hiw-steps.in-view .i-letter{animation:hiw-out .7s cubic-bezier(.2,.7,.2,1) 1.4s 1 backwards}
 html.motion .hiw-steps:not(.in-view) .i-t{stroke-dasharray:1;stroke-dashoffset:1}
}
/* @page-css how-it-works (end) */

/* Pricing: docs/approvals/pages-pricing-2026-11.md */
/* @page-css pricing (start) */
.page-pricing.narrow{max-width:1120px}
.pr-hero{position:relative;isolation:isolate;padding-top:16px}
.pr-hero .page-sig,.page-pricing .page-sig{position:absolute;left:-16px;top:28px;width:min(620px,92%);height:auto;z-index:-1;opacity:.5;pointer-events:none}
.page-pricing .page-sig path{stroke:#CDE6DC;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.page-pricing .sig-sand::before{background-image:url("/assets/illus/sig-sand.svg")!important}
/* idea 6: pay only after you see what we found */
.pr-then{margin:28px 0 48px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:30px 34px;box-shadow:0 18px 38px -26px rgba(28,27,34,.5)}
.pr-time{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pr-time::before{content:"";position:absolute;left:28px;right:calc(33.3% - 2px);top:26.5px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--gold));transform-origin:left}
.pr-time li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-family:var(--tile)}
.pr-time strong{margin-top:8px;font-size:19px}.pr-time li>span:last-child{font-size:15.5px;color:var(--muted)}
.pt-ico{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 0 0 5px var(--paper);position:relative;z-index:1}
.pr-time li:nth-child(2) .pt-ico{background:#DDEFE7;color:var(--accent)}.pr-time li:nth-child(3) .pt-ico{background:var(--warm);color:var(--ink)}
.pr-badges{display:flex;flex-direction:column;gap:10px}
.pr-badges span{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;font:800 15px/1.2 var(--tile)}
.pr-b1{background:#E2F1EC;color:#0B3F35}.pr-b2{background:#FDEBC8;color:#4A3000}
/* idea 5: what $29 gets you */
.pr-get{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:56px 0;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);margin-bottom:48px}
.pr-get h2{margin:0}.pr-get-copy>p{margin:8px 0 20px;font-size:17px;color:var(--muted)}
.pr-get-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:16.5px}
.pr-get-list li{display:flex;gap:12px;align-items:center}.pr-get-list .ico{flex:none;color:var(--accent)}
.pr-stack{position:relative;height:320px}
.pp{position:absolute;left:50%;top:22px;width:216px;height:268px;margin-left:-108px;box-sizing:border-box;background:#fff;border-radius:10px;padding:16px;border:1px solid rgba(28,27,34,.06);box-shadow:0 1px 2px rgba(28,27,34,.06),0 12px 26px -8px rgba(28,27,34,.2),0 32px 50px -18px rgba(28,27,34,.28)}
.pp-h{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--accent);font:800 11px/1.2 var(--tile);letter-spacing:.04em;text-transform:uppercase}
.pp-l{display:block;height:6px;border-radius:3px;background:#C4B7A3;margin-top:9px;width:90%}.pp-l1{width:70%}.pp-l2{width:85%}.pp-l3{width:60%}.pp-l4{width:80%}
.pp-1{background:#EEF6F3;border-color:#D2E5DE;transform:rotate(-10deg) translate(-48px,14px);box-shadow:0 8px 18px -8px rgba(28,27,34,.26)}.pp-2{background:#FBF7EA;border-color:#E8DCC0;transform:rotate(10deg) translate(48px,14px);box-shadow:0 8px 18px -8px rgba(28,27,34,.26)}.pp-3{z-index:2;overflow:visible;box-shadow:0 1px 2px rgba(28,27,34,.05),0 14px 28px -8px rgba(28,27,34,.22),0 36px 52px -20px rgba(15,107,92,.22)}
.pp-3 .pp-l:nth-child(6){background:var(--warm);height:9px;box-shadow:0 0 0 3px rgba(244,184,96,.28)}
.pr-seal{position:absolute;z-index:3;right:-16px;bottom:-16px;width:86px;height:86px;border-radius:50%;background:var(--accent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px #fff,0 10px 22px rgba(15,107,92,.38);font:700 28px/1 var(--serif)}
.pr-seal small{font:700 10.5px/1.2 var(--tile);margin-top:3px}
@keyframes pr-fan-l{from{transform:none}to{transform:rotate(-10deg) translate(-48px,14px)}}
@keyframes pr-fan-r{from{transform:none}to{transform:rotate(10deg) translate(48px,14px)}}
html.motion .pr-get:not(.in-view) :is(.pp-1,.pp-2){transform:none}
html.motion .pr-get.in-view .pp-1{animation:pr-fan-l .9s cubic-bezier(.2,.75,.25,1) .2s both}
html.motion .pr-get.in-view .pp-2{animation:pr-fan-r .9s cubic-bezier(.2,.75,.25,1) .2s both}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .pr-stack .pp,.pr-stack .pr-seal{transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s}
 .pr-stack:hover .pp-3{transform:translateY(-6px)}
 .pr-stack:hover .pp-1{transform:rotate(-12deg) translate(-54px,10px)}
 .pr-stack:hover .pp-2{transform:rotate(12deg) translate(54px,10px)}
 .pr-stack:hover .pr-seal{transform:translateY(-3px) rotate(-3deg)}
}
@media(prefers-reduced-motion:reduce){
 html.motion .pr-get.in-view .pp-1,html.motion .pr-get.in-view .pp-2{animation:none}
}
/* idea 7: the pack picker (radio buttons + CSS) */
.pr-packs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;margin-top:48px;padding:56px 0;background:#F3ECDF;box-shadow:0 0 0 100vmax #F3ECDF;clip-path:inset(0 -100vmax)}
.pr-packs h2{margin:0}.pr-packs-copy p{margin:8px 0 0;font-size:17px;color:#3E3A46}.pr-packs-copy p.eyebrow{margin:0 0 8px}
.pk{position:relative}.pk input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pk-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pk-seg label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:76px;padding:10px 6px;border-radius:14px;cursor:pointer;background:#fff;border:2px solid #DCEBE5;color:#0B3F35;font-family:var(--tile);text-align:center}
.pk-n{font-weight:800;font-size:13px;line-height:1.2}.pk-p{font-size:13px;font-weight:700;color:var(--muted)}
.pk-tab-save{display:inline-block;margin-top:2px;background:var(--accent-soft);color:var(--accent);font:700 11px/1 var(--tile);border-radius:8px;padding:3px 7px}
#pk-a:checked~.pk-seg label[for=pk-a],#pk-b:checked~.pk-seg label[for=pk-b],#pk-c:checked~.pk-seg label[for=pk-c]{background:var(--accent);border-color:var(--accent);color:#fff}
#pk-a:checked~.pk-seg label[for=pk-a] .pk-p,#pk-b:checked~.pk-seg label[for=pk-b] .pk-p,#pk-c:checked~.pk-seg label[for=pk-c] .pk-p{color:#E2F1EC}
#pk-a:checked~.pk-seg label[for=pk-a] .pk-tab-save,#pk-b:checked~.pk-seg label[for=pk-b] .pk-tab-save,#pk-c:checked~.pk-seg label[for=pk-c] .pk-tab-save{background:#fff;color:var(--accent)}
#pk-a:focus-visible~.pk-seg label[for=pk-a],#pk-b:focus-visible~.pk-seg label[for=pk-b],#pk-c:focus-visible~.pk-seg label[for=pk-c]{outline:3px solid var(--warm);outline-offset:3px}
.pk-out{margin-top:14px;background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 16px 30px -22px rgba(28,27,34,.55)}
.pk-o{display:none}#pk-a:checked~.pk-out .pk-o-a,#pk-b:checked~.pk-out .pk-o-b,#pk-c:checked~.pk-out .pk-o-c{display:block}
.pk-big{display:flex;align-items:baseline;gap:12px;margin:0;flex-wrap:wrap}.pk-big>span:first-child{font:700 46px/1 var(--serif);color:var(--accent)}
.pk-per{font:500 14px/1.2 var(--tile);color:var(--muted)}
.pk-save{font:800 12.5px/1 var(--tile);background:#FDEBC8;color:#4A3000;padding:5px 10px;border-radius:999px}
.pk-each{margin:6px 0 0;font-weight:700}
.pk-line{margin:4px 0 0;font-size:14px;color:var(--muted)}
.pk-body{margin:14px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:14px;line-height:1.55;color:#3E3A46}.pk-body a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
.pk-note{margin:14px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:14px;color:var(--muted)}.pk-note a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
.pr-packs-copy .eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}
@media(max-width:960px){.pr-then,.pr-get,.pr-packs{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){
 .pr-then{padding:20px;margin:20px 0 32px}
 .pr-time{grid-template-columns:1fr;gap:18px}.pr-time::before{left:26.5px;right:auto;top:28px;bottom:28px;width:3px;height:auto;background:linear-gradient(180deg,var(--accent),var(--gold))}
 .pr-time li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start}.pr-time .pt-ico{grid-row:span 2;width:44px;height:44px;margin-left:5px}
 .pr-time strong{margin-top:2px;font-size:16px}.pr-time li>span:last-child{font-size:14px}
 .pr-badges{flex-direction:row}.pr-badges span{flex:1;justify-content:center;font-size:13px;padding:8px}
 .pr-get{padding:32px 0 120px;margin-bottom:32px;overflow-x:clip}.pr-stack{height:270px;order:2;scroll-margin-bottom:120px}.pp{width:176px;height:220px;margin-left:-88px}.pp-1{transform:rotate(-9deg) translate(-34px,12px)}.pp-2{transform:rotate(9deg) translate(34px,12px)}.pr-seal{right:-14px;bottom:-14px;width:78px;height:78px;font-size:24px}
 @keyframes pr-fan-l{from{transform:none}to{transform:rotate(-9deg) translate(-34px,12px)}}
 @keyframes pr-fan-r{from{transform:none}to{transform:rotate(9deg) translate(34px,12px)}}
 .pr-get-list{font-size:14.5px}
 .pr-packs{padding:32px 0;margin-top:32px}.pk-big>span:first-child{font-size:40px}}
/* @page-css pricing (end) */

/* About: docs/approvals/pages-about-2026-11.md; v3 Jesse Nov 9 2026 15:24 */
/* @page-css about (start) */
.ab{max-width:1120px}
.ab .sig-sand::before{background-image:url("/assets/illus/sig-sand.svg")!important}
/* v3 compact green hero: circle photo + short story, no timeline */
.v3-band{background:var(--accent);color:#fff;box-shadow:0 0 0 100vmax var(--accent);clip-path:inset(0 -100vmax);margin:0 0 8px;padding:18px 0 16px;position:relative}
.v3-band::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--warm);pointer-events:none}
.v3-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;align-items:center}
.v3-who{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.v3-who picture{flex:none;display:block;line-height:0}
.v3-photo{display:block;width:128px;height:128px;border-radius:50%;object-fit:cover;object-position:center 20%;background:#d7dde3;border:3px solid #fff;box-shadow:0 0 0 3px var(--gold),0 12px 28px -14px rgba(0,0,0,.45);flex:none}
.v3-photo.v3-initial{display:flex;align-items:center;justify-content:center;font:700 48px/1 var(--serif);color:var(--accent);background:#E2F1EC}
.v3-name{margin:8px 0 0;font:600 14px/1.25 var(--font);color:#E2F1EC}
.v3-copy{min-width:0}
.v3-copy .eyebrow{background:rgba(255,255,255,.16);color:#fff}
.v3-copy h1{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.5vw,32px);line-height:1.12;letter-spacing:-.025em;color:#fff;margin:8px 0 0;max-width:18ch}
.v3-copy p{margin:8px 0 0;font:400 16px/1.4 var(--serif);color:#fff;max-width:48ch}
.v3-write{display:inline-flex;margin-top:8px;color:#fff;font-weight:700;font-size:14px;text-decoration:none;min-height:28px;align-items:center;gap:6px}
.v3-write::after{content:"→"}
.v3-write:hover{text-decoration:underline}
/* idea 8: founder story (only from config/founder.json) */
.ab-founder{margin:28px 0 48px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:36px 40px;box-shadow:0 22px 46px -30px rgba(28,27,34,.5)}
.af-who{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.af-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 2px var(--gold)}
.af-initial{display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent);font:700 72px/1 var(--serif)}
.af-name{margin:8px 0 0;font:700 26px/1.2 var(--serif)}.af-role{margin:0;color:var(--muted)}
.af-story blockquote{margin:0;padding:24px 26px;border-radius:18px;background:var(--bg);border-left:4px solid var(--gold)}.af-story blockquote p{margin:0;font-size:20px;line-height:1.6}
.af-sign{margin:12px 0 0;font:32px/1.2 "Brush Script MT","Segoe Script",cursive;color:var(--accent)}
.more-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700}.more-link::after{content:"→"}
/* idea 9: values that link to proof */
.ab-values{padding:24px 0 4px;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax)}
.ab-values h2{margin:0 0 12px;font-size:clamp(24px,3vw,32px)}
.av-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.av-grid li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 26px -20px rgba(28,27,34,.5)}
.av-grid li:nth-child(2){background:#F7FBF9}
.av-grid p{margin:0;font-size:14.5px;line-height:1.4;color:#3E3A46}.av-grid strong{display:block;font-size:15.5px;color:var(--ink)}
.av-grid .more-link{min-height:28px;font-size:13px}
.av-ico{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff}
@media(min-width:1100px){.av-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.av-grid li:nth-child(2) .av-ico{background:#E2F1EC;color:var(--accent)}.av-grid li:nth-child(3) .av-ico{background:#FDEBC8;color:#8A5A00}.av-grid li:nth-child(4) .av-ico{background:var(--gold);color:var(--ink)}
/* idea 10: how BillRight came to be (only from config/milestones.json) */
.ab-story{padding:56px 0;background:#F3ECDF;box-shadow:0 0 0 100vmax #F3ECDF;clip-path:inset(0 -100vmax)}
.ab-story h2{margin:0 0 26px}
.am-line{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:20px}
.am-line::before{content:"";position:absolute;top:24.5px;left:26px;right:calc(100% / var(--n,4) - 46px);height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--gold));transform-origin:left}
.am-n2{--n:2}.am-n3{--n:3}.am-n4{--n:4}.am-n5{--n:5}
.am-line li{display:flex;flex-direction:column;gap:14px}
.am-dot{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 0 0 5px #F3ECDF}
.am-line li:nth-child(2) .am-dot{background:#2E9A82}.am-line li:nth-child(3) .am-dot{background:var(--warm);color:var(--ink)}.am-line li:nth-child(n+4) .am-dot{background:var(--gold);color:var(--ink)}
.am-card{flex:1;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 10px 22px -18px rgba(28,27,34,.5)}
.am-card p{margin:0}.am-when{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8A5A00}.am-title{margin-top:4px!important;font-weight:800;font-size:17px}.am-text{margin-top:4px!important;font-size:14.5px;color:var(--muted)}
@keyframes ab-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.motion .ab-story:not(.in-view) .am-line::before{transform:scaleX(0)}html.motion .ab-story.in-view .am-line::before{animation:ab-grow-x 1.6s ease .3s both}
/* What we're not */
.ab-not{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:16px;align-items:center;padding:16px 0 4px}.ab-not h2{margin:0;font-size:clamp(24px,3vw,32px)}
.ab-not-card{display:flex;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line)}.ab-not-card p{margin:0;font-size:15px;line-height:1.45}
.ab-not-card .av-ico{background:#E2F1EC;color:var(--accent)}
main.ab>.cta-group{margin:20px 0 0}
@media(max-width:960px){
 .am-line{grid-auto-flow:row;grid-auto-columns:auto;gap:18px}.am-line::before{top:26px;bottom:26px;left:24.5px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--accent),var(--gold));transform-origin:top}
 .am-line li{flex-direction:row}html.motion .ab-story:not(.in-view) .am-line::before{transform:scaleY(0)}html.motion .ab-story.in-view .am-line::before{animation:none}}
@media(max-width:720px){
  .v3-band{padding:16px 0 14px}
  .v3-row{grid-template-columns:1fr;grid-template-areas:"kicker" "who" "story";gap:10px}
  .v3-copy{display:contents}
  .v3-kicker{grid-area:kicker}
  .v3-who{grid-area:who;flex-direction:row;align-items:center;text-align:left;gap:12px}
  .v3-photo{width:96px;height:96px}
  .v3-name{margin:0}
  .v3-copy h1{font-size:24px;max-width:none}
  .v3-copy p{font-size:15.5px}
  .v3-story{grid-area:story}
  .ab-not{grid-template-columns:1fr;gap:8px}
}
@media(max-width:760px){.ab-story{padding:32px 0}.am-dot{width:44px;height:44px}.am-line::before{left:20.5px}}
@media(max-width:390px){main.ab.wrap,main.page-contact.wrap{padding-left:16px;padding-right:16px}.v3-photo{width:88px;height:88px}}
/* @page-css about (end) */

/* Contact: docs/approvals/pages-contact-2026-11.md */
/* @page-css contact (start) */
.page-contact.narrow{max-width:1120px}
.ct-hero{position:relative;isolation:isolate;padding-top:12px}
.page-contact .ct-hero h1{font-size:clamp(28px,3.4vw,40px);margin:8px 0 0;max-width:16ch}
.page-contact .page-sig{position:absolute;left:-16px;top:28px;width:min(620px,92%);height:auto;z-index:-1;opacity:.5;pointer-events:none}
.page-contact .page-sig path{stroke:#CDE6DC;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.more-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700}.more-link::after{content:"→"}
/* idea 11 + 12: compact green reply card beside the quick answers (v3) */
.ct-top{margin:14px 0 24px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.ct-top:not(:has(.ct-reply)){grid-template-columns:minmax(0,1fr)}
.ct-reply{background:var(--accent);color:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 24px 44px -24px rgba(15,107,92,.85);position:relative}
.ct-reply::before{content:"";position:absolute;left:20px;right:20px;top:0;height:4px;background:var(--warm);border-radius:0 0 3px 3px}
.cr-head{display:flex;gap:14px;align-items:center}.cr-head p{margin:6px 0 0;font:700 20px/1.25 var(--serif);color:#fff}
.cr-head picture{flex:none;display:block;line-height:0}
.cr-photo{flex:none;width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center 20%;border:3px solid #fff;box-shadow:0 0 0 3px var(--gold)}
.cr-initial{display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent);font:700 32px/1 var(--serif)}
.cr-btn{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;background:#fff;color:var(--accent);font-weight:800;font-size:17px;text-decoration:none}
.cr-btn, .contact-lede, footer, .cr-btn a{overflow-wrap:anywhere}
.cr-addr{margin:16px 0 0;display:flex;gap:8px;align-items:center;font-size:15px;color:#E2F1EC}
.ct-quick h2{margin:0;font-size:clamp(24px,3vw,32px)}.ct-sub{margin:2px 0 10px;color:var(--muted);font-size:15px}
.ct-faq{display:flex;flex-direction:column;gap:8px;margin:0}
.ct-faq details.faq-tile{padding:2px 14px}
.ct-faq details.faq-tile>summary{padding:10px 0}
.ct-faq details.faq-tile>summary>h3{font-family:var(--tile);font-size:16px;font-weight:700;letter-spacing:0;line-height:1.35;margin:0;order:1;flex:1}
/* idea 12: include / never send as green and amber tiles */
.ct-email-h{margin:0 0 12px;font-size:clamp(24px,3vw,32px)}
.page-contact .contact-grid{gap:12px;margin:0 0 12px}
.page-contact .contact-tile{padding:16px;border-radius:16px}
.page-contact .contact-tile ul{margin:10px 0 0;gap:6px;font-size:14.5px}
.page-contact .contact-include{background:#E2F1EC;border-top:5px solid var(--accent)}
.page-contact .contact-never{background:#FDEBC8;border-top:5px solid #8A5A00}
@media(max-width:900px){.ct-top{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.cr-head p{font-size:18px}.cr-photo{width:72px;height:72px}.page-contact .ct-hero h1{font-size:26px;max-width:none}}
/* @page-css contact (end) */

/* ===== App page redesign, Nov 2026 (Consent, Upload, Preview, Letters). One block per page; each page's PR fills only its own block. ===== */
/* Consent: docs/approvals/app-consent-2026-11.md */
/* @page-css app-consent (start) */
/* idea 1: the short version first, the full text one tap away */
.cs-sum{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.cs-sum li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 22px -18px rgba(28,27,34,.45);font-size:15px;line-height:1.45;color:#3E3A46}
.cs-sum li strong{display:block;color:var(--ink);font-size:16px}
.cs-sum li:nth-child(3){background:#FDEBC8;border-color:#F1DDB4;color:#4A3000}
.cs-ico{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E2F1EC;color:var(--accent)}
.cs-sum li:nth-child(3) .cs-ico{background:#fff;color:#8A5A00}
.split .side .cs-full{margin-top:12px;padding:0 20px}
.cs-full>summary{min-height:48px;display:flex;align-items:center;font-weight:700;color:var(--accent)}
.cs-full[open]{padding-bottom:16px}.cs-full h2{font-size:18px;margin:4px 0 8px}
/* About your coverage: state, then tap choices */
.cs-cov-grid{display:grid;gap:16px}
.main-col fieldset.chips{background:none;border:0;padding:0;margin:0;box-shadow:none}
.main-col fieldset.chips>legend{font:600 15px/1.4 var(--font);margin:0 0 8px}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border-radius:999px;border:2px solid #DCEBE5;background:#fff;font:700 15px/1.2 var(--tile);color:#0B3F35;cursor:pointer;transition:border-color .15s,background .15s}
.main-col fieldset label.chip{font-weight:700}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip .ico{color:var(--accent);flex:none}
.chip:hover{border-color:var(--accent)}
.chip:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}.chip:has(input:checked) .ico{color:#fff}
.chip:has(input:focus-visible){outline:3px solid var(--warm);outline-offset:2px}
#plan-chips[aria-invalid="true"] .chip{border-color:#B42318}
.why{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
.why-text{margin:0 0 4px!important}
#plan-chips .field-err{display:block;margin-top:4px}
/* idea 2: permission cards that confirm themselves, below the questions and right above the button */
.cs-count{clear:both;display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:#FDEBC8;color:#4A3000;font:800 13px/1.2 var(--tile)}
.cs-count::before{content:"";width:8px;height:8px;border-radius:50%;background:#8A5A00}
.cs-count.is-done{background:#E2F1EC;color:#0B3F35}.cs-count.is-done::before{background:var(--accent)}
.cs-perm .check{position:relative;padding:16px 16px 16px 16px;border-width:2px}
.cs-perm .check:has(input[required]:checked){border-color:var(--accent);background:#EEF7F3}
.cs-perm .check:has(input[required]:checked)::after{content:"";position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 0 3px #fff}
.cs-perm .cs-opt{margin-top:16px;border-style:dashed;border-width:1px;background:#FBF7F1}
.cs-perm .cs-opt:has(input:checked){background:var(--accent-soft)}
#consent-form .btn.is-waiting{background:#3F7D70;box-shadow:none}
#consent-form .btn.is-waiting:hover{background:var(--accent)}
/* @page-css app-consent (end) */

/* Upload: docs/approvals/app-upload-2026-11.md */
/* @page-css app-upload (start) */
/* idea 5: camera first on phones (hidden where there's no touch camera) */
.cam-btn,.cam-or{display:none}
@media (pointer:coarse) and (max-width:899px){
 #upload .cam-btn{order:3;position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 14px 28px -16px rgba(15,107,92,.8);margin-bottom:6px}
 #upload .cam-or{order:3;display:block;margin:4px 0 8px;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}}
.cam-btn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cam-btn:focus-within{outline:3px solid var(--warm);outline-offset:3px}
.cam-frame{position:relative;flex:none;width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.cam-frame::before,.cam-frame::after{content:"";position:absolute;width:14px;height:14px;border:3px solid var(--warm)}
.cam-frame::before{top:4px;left:4px;border-right:0;border-bottom:0;border-radius:4px 0 0 0}.cam-frame::after{bottom:4px;right:4px;border-left:0;border-top:0;border-radius:0 0 4px 0}
.cam-txt{display:flex;flex-direction:column;font-size:14px;line-height:1.35}.cam-txt strong{font-size:17px}
/* idea 4: a card per chosen file */
.file-lists{display:grid;gap:10px;margin-top:10px}
.file-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fl-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 18px -16px rgba(28,27,34,.5)}
.fl-thumb{flex:none;width:44px;height:56px;border-radius:6px;object-fit:cover;background:#F4EFE7;border:1px solid var(--line)}
.fl-doc{display:flex;align-items:center;justify-content:center}.fl-doc-label{font:800 11px/1 var(--tile);color:var(--accent)}
.fl-meta{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13px;line-height:1.35}
.fl-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-size{color:var(--muted)}
.fl-status{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent)}
.fl-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.fl-warn{border-color:#F1DDB4;background:#FFFBF2}.fl-warn .fl-status{color:#8A5A00}
.fl-sent .fl-status{color:var(--accent)}.fl-sent{border-color:#B9DCCF}
.fl-remove{flex:none;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;color:#5E5A66;font:600 14px/1 var(--font);cursor:pointer;text-decoration:underline}
.fl-remove:hover{color:var(--ink)}
.fl-sent .fl-remove{visibility:hidden}
/* idea 6: your pages in the waiting panel, with a scanning line */
.wait-pages{display:flex;gap:8px;margin:2px 0 10px;flex-wrap:wrap}
.wp-page{position:relative;width:52px;height:68px;border-radius:6px;overflow:hidden;background:#F4EFE7;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.wp-page img{width:100%;height:100%;object-fit:cover}
.wp-doc{font:800 11px/1 var(--tile);color:var(--accent)}
.wp-scan{position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent);box-shadow:0 0 10px 3px rgba(15,107,92,.45);opacity:.9}
@keyframes wp-scan{0%{top:0}50%{top:calc(100% - 3px)}100%{top:0}}
@media (prefers-reduced-motion:no-preference){.wp-scan{animation:wp-scan 2.4s ease-in-out infinite}.wp-page:nth-child(2) .wp-scan{animation-delay:.4s}.wp-page:nth-child(3) .wp-scan{animation-delay:.8s}.wp-page:nth-child(n+4) .wp-scan{animation-delay:1.2s}}
@media (prefers-reduced-motion:reduce){.wp-scan{top:50%}}
#u-panel.is-stopped .wp-scan{animation:none}
@media(max-width:899px){#upload .file-lists{order:3}}
/* @page-css app-upload (end) */

/* Preview: docs/approvals/app-preview-2026-11.md */
/* @page-css app-preview (start) */
/* idea 7: a results hero: the total counts up once and a bar splits it by likely error */
#fcard .fcard-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px 20px}
#fcard .fcard-head>.fcard-bar,#fcard .fcard-head>.fcard-fine{grid-column:1/-1}
#fcard .fcard-amount{font-size:44px;position:relative;font-variant-numeric:tabular-nums}
#fcard .fcard-amount.counting{color:transparent}
#fcard .fcard-amount.counting::after{content:var(--count);position:absolute;inset:0;text-align:inherit;color:var(--accent);white-space:nowrap}
.fcard-bar{display:flex;gap:3px;height:12px;border-radius:999px;overflow:hidden;background:var(--line)}
.fb-seg{min-width:6px}.fb-0{background:var(--accent)}.fb-1{background:#2E9A82}.fb-2{background:var(--warm)}.fb-3{background:var(--gold)}
#fcard .fcard-head>.fcard-fine{margin:4px 0 0;padding:10px 12px;border:0;border-radius:12px;background:#F7F3EC;font-size:13px}
@media(max-width:560px){#fcard .fcard-head{grid-template-columns:1fr}#fcard .fcard-amount{font-size:38px}}
/* idea 8: every finding as a card; locked ones say so plainly */
#fcard .fcard-list{display:grid;gap:10px;margin-top:16px}
#fcard .fcard-item{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff;box-shadow:0 10px 22px -18px rgba(28,27,34,.45)}
#fcard .fcard-item:last-child{border-bottom:1px solid var(--line)}
#fcard .fcard-item.finding-open{border:2px solid var(--accent);background:#F7FBF9}
#fcard .fcard-item.finding-locked{background:#FBF7F1}
#fcard .fcard-group{list-style:none;margin:6px 0 -2px}
.lock-badge{justify-self:start;width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;padding:4px 10px;border-radius:999px;background:#FDEBC8;color:#4A3000;font:700 12.5px/1.2 var(--tile)}
.lock-ico{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#fcard .fcard-more{border:1px dashed var(--line);border-radius:16px;padding:12px 16px;background:none;box-shadow:none}
/* idea 9: the order summary beside the button */
.order-sum{margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:#F7FBF9;border:1px solid #DCEBE5}
.os-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:15px}
.os-row dt{color:#3E3A46}.os-row dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.os-total{margin-top:6px;padding-top:10px;border-top:1px dashed #B9DCCF;font-size:17px}.os-total dt{font-weight:800;color:var(--ink)}.os-total dd{font:700 20px/1.2 var(--serif);color:var(--accent)}
.pay-help{display:block;margin-top:6px}
/* @page-css app-preview (end) */

/* Letters: docs/approvals/app-letters-2026-11.md */
/* @page-css app-letters (start) */
/* idea 10: your next steps */
.next-steps{margin-top:16px;padding:20px 22px;border-top:5px solid var(--accent)}
.next-steps h2{margin:0 0 8px;font-size:20px}.next-steps #ns-if{margin:0 0 8px}
.ns-list{list-style:none;margin:0 0 12px;padding:0;position:relative;display:grid;gap:12px}
.ns-list::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--gold))}
.ns-list li{position:relative;padding-left:36px;font-size:15.5px;line-height:1.45}
.ns-list li::before{content:"";position:absolute;left:0;top:1px;width:25px;height:25px;border-radius:50%;background:#fff;border:3px solid var(--gold);box-sizing:border-box}
.ns-list li.ns-now::before{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/15px no-repeat;border-color:var(--accent)}
.ns-list strong{display:block;color:var(--ink)}
#ns-cal{min-height:44px}
/* idea 11: the letter on real paper */
.letters-main .letter-preview{background:#fff;border:1px solid #E8E1D6;border-radius:6px;padding:40px 44px;box-shadow:0 2px 0 var(--line),0 26px 50px -30px rgba(28,27,34,.55);font:16px/1.7 var(--serif);color:#1C1B22}
.letters-main .letter-preview p{margin:0 0 14px}
.letter-preview mark.blank{background:#FDEBC8;color:#4A3000;border-radius:4px;padding:0 4px;box-shadow:inset 0 -2px 0 var(--warm)}
.letter-preview mark.blank.filled{background:#E2F1EC;color:#0B3F35;box-shadow:inset 0 -2px 0 #7DBBA6}
@media(max-width:600px){.letters-main .letter-preview{padding:24px 20px;font-size:15px}}
/* idea 12: download center: all letters first, and the time left as a bar */
.dl-center{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;padding:16px;border-radius:18px;background:#F7FBF9;border:1px solid #DCEBE5}
.dl-center #download-all{order:1}.dl-center #download{order:2}.dl-center #download-txt{order:3}.dl-center .promise{order:4;flex-basis:100%}
.exp-bar{flex-basis:100%;display:block;height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:4px}
.exp-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#2E9A82)}
.exp-low .exp-fill{background:var(--warm)}
/* @page-css app-letters (end) */

/* Privacy strip: shield badge + centered trust panel */
.band.privacy-strip{padding:40px 0;background:var(--accent);color:#fff}
.privacy-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);gap:28px 40px;align-items:center;background:var(--paper);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:32px 36px;box-shadow:0 24px 48px -28px rgba(0,0,0,.45);max-width:980px;margin:0 auto;color:var(--ink)}
.pc-lead{display:flex;align-items:flex-start;gap:16px;min-width:0}
.pc-shield{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.pc-shield svg{width:28px;height:28px}
.privacy-card .pc-head{margin:0;font-size:clamp(26px,3.2vw,32px);line-height:1.15;letter-spacing:-.025em;color:var(--ink);font-weight:700}
.pc-head span{display:block}
.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pc-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;min-width:0}
.pc-check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);margin-top:1px}
.pc-check svg{width:16px;height:16px}
.pc-list p{margin:0;font-size:16px;line-height:1.45;color:var(--ink)}
@media(max-width:760px){.privacy-card{grid-template-columns:1fr;padding:24px 20px;gap:22px}.pc-lead{align-items:center}.pc-head{font-size:24px}.pc-list p{font-size:15px}}
/* What happens after you upload: full-bleed green band (Jesse, Nov 8). Same --lp green as .lp-band; AA on #1A7F6B. */
.after-band{background:var(--lp);color:#fff;border-top:0;padding:48px 0}
.after-band .wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:center}
.after-head h2{font-size:28px;line-height:1.2;margin:0;color:#fff}.after-head h2::after{content:none}
.after-sub{margin:8px 0 0;font-size:15px;color:#F2FAF7}
.after-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.after-steps::before{content:"";position:absolute;top:26px;left:12.5%;right:12.5%;height:2px;background:rgba(255,255,255,.3)}
.after-steps li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font:600 15px/1.3 var(--tile);color:#fff}
.after-ico{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px var(--lp)}
.after-steps li:last-child .after-ico{background:var(--warm);color:var(--ink)}
@media(max-width:760px){.after-band{padding:32px 0}.after-band .wrap{grid-template-columns:1fr;gap:20px}.after-head h2{font-size:24px}
 .after-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.after-steps::before{content:none}
 .after-steps li{font-size:14px;min-height:44px}.after-ico{width:48px;height:48px;box-shadow:none}}
/* Homepage pricing Option 2 (Jesse Nov 9): three equal-height columns; "When it applies" is tap-to-open. */
@media(min-width:761px){.home-tiers{align-items:stretch}.home-tiers>.ptier{height:100%}}

/* Homepage pricing pop Option 3 (Jesse Nov 9): detail polish — warm top stripe on every card, filled-circle checks, gold gradient border on 3-Bill, bolder gradient prices. Styling only; wording unchanged. */
.ptier{position:relative;overflow:hidden}
.ptier::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#F4B860,#E0A23A 55%,#F4B860)}
.ptier-base::before{background:linear-gradient(90deg,#F6D59A,#F4B860 50%,#E0A23A)}
.ptier-price{font-size:54px;font-weight:800;letter-spacing:-.035em;background:linear-gradient(180deg,#1C1B22 0%,#3A3540 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ptier-free .ptier-price{background:linear-gradient(180deg,#0F6B5C 0%,#0A5448 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ptier-base .ptier-price{background:linear-gradient(180deg,#FFFFFF 0%,#D8F0E8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ptier-pack3 .ptier-price{background:linear-gradient(180deg,#8A5A00 0%,#6B4500 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ptier-check{width:22px;height:22px;padding:3px;border-radius:50%;background:var(--accent-soft);color:var(--accent);box-sizing:border-box}
.ptier-base .ptier-check{background:rgba(255,255,255,.18);color:#fff}
.ptier-when .ptier-check{background:rgba(255,255,255,.18);color:#fff}
.ptier-pack3 .ptier-check{background:#FDEBC8;color:#8A5A00}
.ptier-pack3{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#F4B860,#E0A23A 40%,#C98A1A 70%,#F4B860) border-box;box-shadow:0 18px 36px -22px rgba(166,110,0,.45)}
.ptier-free{border:1px solid #DDD4C8;box-shadow:0 16px 32px -22px rgba(28,27,34,.5)}
.ptier-base{background:linear-gradient(165deg,#127A69,#0F6B5C 60%,#0C5A4D);box-shadow:0 24px 44px -20px rgba(10,84,72,.7)}
@media(max-width:760px){.ptier-price{font-size:36px}.ptier-free .ptier-price,.ptier-base .ptier-price,.ptier-pack3 .ptier-price{font-size:36px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .ptier{transition:transform .18s ease,box-shadow .18s ease}
 .ptier:hover{transform:translateY(-4px)}
 .ptier-base:hover{box-shadow:0 28px 50px -18px rgba(10,84,72,.8)}
 .ptier-pack3:hover{box-shadow:0 22px 40px -18px rgba(166,110,0,.55)}
}
@media(prefers-reduced-motion:reduce){.ptier{transition:none!important}.ptier:hover{transform:none}}
/* CA-10 /review/ capture (email link; noindex). Mobile-first; equal star hit targets; no overflow at 320. */
.page-review .site{border-bottom:1px solid var(--line)}
.page-review main.wrap{padding-top:28px;padding-bottom:48px;max-width:560px}
.page-review .rev-panel{display:flex;flex-direction:column;align-items:stretch;gap:0}
.page-review .rev-illus{display:block;margin:0 auto 8px;width:140px;height:auto}
.page-review h1{font-size:clamp(26px,5vw,34px);line-height:1.15;letter-spacing:-.02em;margin:8px 0 18px}
.page-review .rev-form{display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px 20px 20px;box-shadow:0 18px 40px -28px rgba(28,27,34,.35)}
.page-review .rev-stars{margin:0;padding:0;border:0;min-width:0;scroll-margin-top:72px}
.page-review .rev-stars-legend{font:700 13px/1.3 var(--font);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;padding:0}
.page-review .rev-star-row{display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between}
.page-review .rev-star{position:relative;flex:1 1 0;min-width:0;min-height:52px;display:grid;place-items:center;border-radius:14px;border:2px solid #E6DDD0;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.page-review .rev-star input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.page-review .rev-star-ico{width:28px;height:28px;display:block;background:var(--warm);opacity:.35;clip-path:polygon(50% 4%,61% 35%,95% 35%,68% 55%,79% 88%,50% 70%,21% 88%,32% 55%,5% 35%,39% 35%);transition:opacity .15s,transform .15s;pointer-events:none}
.page-review .rev-star:hover{border-color:var(--warm)}
.page-review .rev-star:has(input:checked){border-color:var(--warm);background:#FFF6E6;box-shadow:0 0 0 3px rgba(244,184,96,.28)}
.page-review .rev-star:has(input:checked) .rev-star-ico{transform:scale(1.08)}
.page-review .rev-star:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.page-review .rev-field{margin:0}
.page-review .rev-field textarea{min-height:120px;resize:vertical;padding:10px 12px;border:1px solid #CFC6B8;border-radius:10px;font:inherit;width:100%;box-sizing:border-box;background:#fff}
.page-review .rev-field textarea:focus,.page-review .rev-field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.page-review .rev-check{margin:2px 0 0}
.page-review .actions{margin-top:4px}
.page-review .actions .btn{width:100%}
.page-review .rev-done{text-align:center;align-items:center;padding:28px 12px 12px}
.page-review .rev-done h1{margin-top:12px}
.page-review #err:not([hidden]),.page-review #rating-err:not([hidden]){margin:0}
.page-review footer.wrap{padding:24px 0 40px;color:var(--muted);font-size:14px}
@media(max-width:360px){.page-review .rev-form{padding:18px 14px}.page-review .rev-star-ico{width:24px;height:24px}.page-review .rev-star{min-height:48px;border-radius:12px}}
@media(hover:hover){.page-review .rev-star:hover .rev-star-ico{opacity:.7}}
@media(prefers-reduced-motion:reduce){.page-review .rev-star,.page-review .rev-star-ico{transition:none}}
/* Fill all stars up to the selected one (row is 1..5 left to right). */
.page-review .rev-star-row:has(input[value="1"]:checked) .rev-star:nth-child(-n+1),
.page-review .rev-star-row:has(input[value="2"]:checked) .rev-star:nth-child(-n+2),
.page-review .rev-star-row:has(input[value="3"]:checked) .rev-star:nth-child(-n+3),
.page-review .rev-star-row:has(input[value="4"]:checked) .rev-star:nth-child(-n+4),
.page-review .rev-star-row:has(input[value="5"]:checked) .rev-star:nth-child(-n+5){border-color:var(--warm);background:#FFF6E6}
.page-review .rev-star-row:has(input[value="1"]:checked) .rev-star:nth-child(-n+1) .rev-star-ico,
.page-review .rev-star-row:has(input[value="2"]:checked) .rev-star:nth-child(-n+2) .rev-star-ico,
.page-review .rev-star-row:has(input[value="3"]:checked) .rev-star:nth-child(-n+3) .rev-star-ico,
.page-review .rev-star-row:has(input[value="4"]:checked) .rev-star:nth-child(-n+4) .rev-star-ico,
.page-review .rev-star-row:has(input[value="5"]:checked) .rev-star:nth-child(-n+5) .rev-star-ico{opacity:1}
/* Closing CTA band + shared marketing footer (claude/home-closing-cta-footer). Compact: Jesse 10:59 no extra green space. */
.final-band{background:var(--accent);color:#fff;margin-top:12px}
/* 100vw includes classic scrollbars; clip (not hidden) so position:sticky keeps working. Scoped to pages that have the band so upload critical CSS — and the /app/* CSP hash — stay unchanged. */
html:has(.final-band),body:has(.final-band){overflow-x:clip}
/* Full-bleed when the band is inside main.wrap (homepage main has no .wrap). Inner .wrap.final-inner keeps the same measure and padding. */
main.wrap>.final-band{width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw}
main:has(>.final-band){padding-bottom:0}
.final-inner{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:16px;padding-bottom:16px}
.final-band h2{color:#fff;margin:0;font-size:clamp(22px,2.6vw,32px);line-height:1.15;min-height:0;display:flex;align-items:center}
.final-band .final-cta{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:0;margin:0}
.final-band .btn{background:#fff;color:var(--accent);box-shadow:none}
.final-band .cta-sub{color:#E2F1EC;font-size:13px;line-height:1.2;margin:0}
footer.foot-home{margin-top:0;border-top:0;padding-top:28px}
.foot-home{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px 40px;align-items:start}
.foot-home .foot-brand{min-width:0}
.foot-home .foot-brand .logo{border-bottom:0;margin-bottom:10px}
.foot-home .foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:15px}
.foot-home .foot-legal{grid-column:1/-1;margin:4px 0 0;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:760px){.final-inner{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding-top:18px;padding-bottom:18px}.final-band h2{display:block;font-size:clamp(22px,6.5vw,28px)}.final-band .final-cta{align-self:stretch;align-items:stretch}.final-band .cta-sub{text-align:center}.foot-home{grid-template-columns:1fr 1fr;gap:16px 24px}.foot-home .foot-brand{grid-column:1/-1}footer.foot-home{padding-top:24px}main:has(>.final-band){padding-bottom:0}}

/* Share-your-bill card (free preview results, SHARE_CARD flag). Desktop two-column (min-width 900px, same as .split): fixed bottom-left over the findings column so it never covers the checkout sidebar, pack total, or "Get my letters". Below 900px the sidebar stacks; the card stays bottom-right until the mobile sheet. Mobile: bottom sheet above the sticky pay CTA, never overlapping it. */
.share-card{position:fixed;z-index:7;right:24px;bottom:24px;width:min(340px,calc(100vw - 32px));max-width:340px;max-height:min(28rem,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;box-shadow:0 18px 40px -18px rgba(28,27,34,.4);font:16px/1.5 var(--font)}
@media(min-width:900px){.share-card{left:24px;right:auto}}
.share-card:focus{outline:none}.share-card:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
.share-card-x{position:absolute;top:6px;right:6px;z-index:1;width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);font:600 22px/1 var(--font);border-radius:999px;cursor:pointer}
.share-card-x:hover{background:var(--accent-soft);color:var(--ink)}
.share-card-who{display:flex;align-items:center;gap:12px;margin:0 28px 12px 0;flex:none;min-width:0;overflow:hidden}
.share-card-who>div{min-width:0;overflow:hidden}
.share-card-photo{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 20%;background:#d7dde3;border:2px solid #fff;box-shadow:0 0 0 2px var(--accent-soft);flex:none}
.share-card-name{margin:0;font:700 17px/1.2 var(--serif);color:var(--ink);min-width:0;overflow-wrap:anywhere}
.share-card-role{margin:2px 0 0;font:600 13px/1.3 var(--font);color:var(--muted);min-width:0;overflow-wrap:anywhere}
.share-card-scroll{overflow-x:hidden;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.share-card-body{margin:0 0 12px;font-size:15px;line-height:1.45}
.share-card-body p{margin:0}
.share-card-confirm{margin:0;font-weight:600}
.share-card-actions{display:flex;flex-direction:column;gap:8px}
.share-card-actions .btn{width:100%;min-height:44px}
.share-card-consent{margin:10px 0 0;font:12px/1.4 var(--font);color:var(--muted)}
.share-card-consent a{color:inherit;text-underline-offset:2px}
@media(max-width:760px){
  .share-card{left:0;right:0;width:auto;max-width:none;bottom:calc(var(--sticky-h, 0px) + 8px);max-height:calc(100dvh - var(--sticky-h, 0px) - 16px);border-radius:var(--radius) var(--radius) 0 0;padding:20px 16px 16px}
}
@media(prefers-reduced-motion:no-preference){
  .share-card{animation:share-card-in .28s ease-out}
  @keyframes share-card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @media(max-width:760px){@keyframes share-card-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}
}
@media(prefers-reduced-motion:reduce){.share-card{animation:none}}
/* Coverage + plan type choices on phones: even rows instead of a ragged wrap (Jesse Nov 9). Desktop unchanged.
   Never break a chip label mid-word; a label that still can't fit one column takes the full row. */
@media (max-width:599px){#cov-chips .chip-row,#plan-chips .chip-row{display:grid;gap:8px}
#cov-chips .chip-row{grid-template-columns:minmax(0,1fr)}
#plan-chips .chip-row{display:flex;flex-wrap:wrap;gap:8px}
#cov-chips .chip,#plan-chips .chip{width:100%;min-width:0;box-sizing:border-box;justify-content:flex-start;padding:8px 10px;border-radius:16px;font-size:14.5px;line-height:1.25}
#plan-chips .chip{width:auto;flex:1 1 calc((100% - 8px) / 2);min-width:min-content;max-width:100%}
#cov-chips .chip span,#plan-chips .chip span{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:none}}
