:root{
  /* PlanScout has one theme and it is light: every surface below is a light hex. Without this
     declaration a visitor whose OS is in dark mode gets UA-themed form controls — the browser
     paints inputs with a dark background while our CSS keeps painting text with --ink (near
     black), so the one-time sign-in code became dark-on-dark and unreadable. */
  color-scheme: light;
  --paper:#f6f1e7; --paper2:#efe8d9; --card:#ffffff; --ink:#17241d; --ink2:#53625a;
  --brand:#0c6b4f; --brand-dk:#084d38; --brand-tint:#e7f2ec; --brand-line:rgba(12,107,79,.28);
  --gold:#b5731a; --gold-tint:#f6ecd7; --gold-line:rgba(181,115,26,.3);
  --coral:#b23a1e;
  --line:rgba(23,36,29,.13); --line2:rgba(23,36,29,.07);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shadow:0 1px 2px rgba(23,36,29,.05),0 14px 34px rgba(23,36,29,.09);
  --shadow-sm:0 1px 2px rgba(23,36,29,.06),0 6px 16px rgba(23,36,29,.06);
}
/* Extra text steps beyond the six design-system steps below (kept outside that byte-synced block): lede and number. */
:root{--t-lede:19px; --t-number:22px}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;
  background:
    radial-gradient(120% 80% at 100% -10%,#fbf7ee 0%,transparent 55%),
    radial-gradient(90% 60% at -10% 0%,#eef4ee 0%,transparent 50%),
    var(--paper);
  color:var(--ink);
  font-family:var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:var(--t-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input{font-family:inherit}
/* design-system:start — PlanScout visual system (CONSISTENCY-AUDIT.md). This block is copied byte-for-byte in
   public/site-v1.css and public/home-v1.css; lib/design-system.test.ts fails if the two drift.
   Six type steps, 4/8 spacing, three radii. Georgia is for H1/H2 only; numbers are always sans lining figures. */
:root{
  --t-display:clamp(34px,4vw,44px); --t-title:clamp(24px,2.6vw,28px); --t-heading:20px;
  --t-body:17px; --t-small:15px; --t-label:13px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px;
  --r-sm:8px; --r-md:14px; --r-pill:999px;
}
body{font-variant-numeric:lining-nums tabular-nums}
h1,h2{font-family:var(--display),Georgia,"Times New Roman",serif;font-weight:600}
h1{font-size:var(--t-display);line-height:1.1}
h2{font-size:var(--t-title);line-height:1.2}
h3,h4{font-family:var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;line-height:1.3}
h3{font-size:var(--t-heading)}
h4{font-size:var(--t-body)}
/* Georgia has only old-style figures, so a number inside an H1/H2 is wrapped in .num. */
.num{font-family:var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:lining-nums tabular-nums}
/* Containers own spacing: children of a flow container carry no margins (the doubled class outranks module rules like .page p). */
.flow{display:grid;gap:var(--s-4);align-content:start;min-width:0}
.flow.flow>*{margin:0}
/* One card. Nothing bordered goes inside it: nested content uses .inset or dividers. */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);min-width:0}
@media (max-width:640px){.card{padding:var(--s-4)}}
.inset{background:var(--paper2);border-radius:var(--r-sm);padding:var(--s-4)}
/* One callout: tinted, 4px bar, ink text. Tones: info (default) and caution. */
.callout{border-left:4px solid var(--brand);border-radius:var(--r-md);background:var(--brand-tint);color:var(--ink);padding:var(--s-3) var(--s-4);font-size:var(--t-small)}
.callout[data-tone="caution"]{border-left-color:var(--gold);background:var(--gold-tint)}
/* One chip (interactive) and one pill (status, not interactive). */
.chip{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);font:600 var(--t-small)/1.2 var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;text-decoration:none;font-variant-numeric:lining-nums tabular-nums}
.chip[aria-pressed="true"],.chip.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-dk)}
.chip:focus-visible{outline:3px solid #1a5fd0;outline-offset:3px}
.pill{display:inline-flex;align-items:center;min-height:24px;padding:2px var(--s-3);border-radius:var(--r-pill);background:var(--paper2);color:var(--ink);font:700 var(--t-label)/1.3 var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:lining-nums tabular-nums}
.pill.on,.pill[data-tone="brand"]{background:var(--brand-tint);color:var(--brand-dk)}
.pill[data-tone="gold"]{background:var(--gold-tint)}
.pill[data-tone="coral"]{background:#fdecea}
/* design-system:end */
/* Widened 600px -> 1040px to match .shell. At 600px this squeezed /about, /help and every /care
   page, which is why the SAME footer component measured 369px tall there but 265px on /partners.
   Editorial paragraphs are capped separately below so reading measure stays near 65 characters —
   widening the shell must not widen the prose. */
.wrap{max-width:1040px;margin:0 auto;padding:0 22px;min-height:100vh;display:flex;flex-direction:column}
.wrap>p,.wrap>.lede,.wrap>.disc{max-width:65ch}

/* header */
.top{display:flex;align-items:center;gap:9px;padding:26px 0 8px}
.logo{font-family:var(--display),serif;font-weight:700;letter-spacing:-.015em;font-size:var(--t-title);color:var(--ink);display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:44px;height:44px;border-radius:11px;box-shadow:var(--shadow-sm);flex:none}
.printhead .logo-mark{width:36px;height:36px}
.logo b{color:var(--brand);font-weight:700}
.free{margin-left:auto;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand-dk);background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-pill);padding:5px 12px}
.dots{display:flex;gap:6px;margin:12px 0 4px}
.dots i{height:5px;flex:1;border-radius:var(--r-pill);background:var(--line2);transition:background .3s}
.dots i.on{background:var(--brand)}
.stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding:22px 0 40px;animation:rise .5s cubic-bezier(.2,.7,.3,1)}
.stage:focus,.stage:focus-visible{outline:none!important}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.eyebrow{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:8px}
.eyebrow-top{margin-top:var(--s-4)}
.helpgrid .cc-d{color:var(--ink);font-size:max(var(--t-small),var(--fs-2nd,0px))}
#have-today small{font-size:max(var(--t-small),var(--fs-2nd,0px))}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--brand);border-radius:var(--r-sm);display:inline-block}
h1.q{font-size:var(--t-display);line-height:1.1;margin:14px 0 8px;letter-spacing:-.02em;text-wrap:balance;font-weight:600}
p.sub{color:var(--ink2);font-size:max(var(--t-body),var(--fs-body,0px));margin:0 0 24px;max-width:46ch;line-height:1.55}
p.sub b{color:var(--ink);font-weight:700}

/* inputs */
.bigin{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:18px 18px;font-size:var(--t-title);font-weight:700;color:var(--ink);letter-spacing:.01em;box-shadow:var(--shadow-sm)}
.bigin::placeholder{color:#9aa79f;font-weight:600}
.bigin:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.row2{display:flex;gap:10px}
.row2 .bigin{font-size:var(--t-heading)}
.hint{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin-top:12px}
.cta{margin-top:24px;width:100%;background:var(--brand);color:#fff;border:0;border-radius:var(--r-md);
  padding:18px;font-size:var(--t-body);font-weight:800;letter-spacing:-.01em;cursor:pointer;
  box-shadow:0 10px 22px rgba(12,107,79,.28);transition:transform .1s,box-shadow .1s}
.cta:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(12,107,79,.34)}
.cta:disabled{opacity:.38;cursor:default;transform:none;box-shadow:none}
.ghost{background:none;border:0;color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin-top:15px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ghost:hover{color:var(--brand)}

/* ── AREA-MATCHED PLAN CARDS ── */
.cardlead{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:2px 0 12px;line-height:1.5}
.cardlead b{color:var(--ink)}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px;margin:6px 0 6px}
.cardmore{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin:2px 0 6px;font-weight:600}
.coinsnote{margin-top:8px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.45} .coinsnote b{color:var(--ink)}
.macard{background:#fff;color:#1a2330;border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line2);display:flex;flex-direction:column;
  animation:cardin .5s cubic-bezier(.2,.7,.3,1) backwards}
@keyframes cardin{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.mc-head{background:linear-gradient(115deg,var(--acc),var(--acc2));color:#fff;padding:15px 16px 13px;display:flex;align-items:center;gap:11px}
.mc-logo{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none;font-weight:800;font-size:max(var(--t-small),var(--fs-body,0px))}
.mc-brand{font-weight:800;font-size:max(var(--t-small),var(--fs-body,0px));letter-spacing:-.01em;line-height:1.15}
.mc-tag{font-size:max(var(--t-label),var(--fs-floor,0px));opacity:.92;margin-top:1px;font-weight:600}
.mc-body{padding:14px 16px 4px;display:flex;flex-direction:column;gap:10px;position:relative}
.mc-row{display:flex;flex-direction:column;gap:2px}
.mc-l{font-size:max(var(--t-label),var(--fs-floor,0px));text-transform:uppercase;letter-spacing:.1em;color:#8493a3;font-weight:800}
.mc-v{font-size:max(var(--t-small),var(--fs-body,0px));font-weight:700;color:#1a2330} .mc-v.mono{font-family:var(--mono);font-weight:600;letter-spacing:.02em}
.mc-v.big{font-size:var(--t-lede)}
/* the contract-number teaching highlight */
.mc-contract{margin:4px 0 2px;padding:9px 11px;border-radius:var(--r-md);background:var(--brand-tint);
  border:2px solid var(--brand);position:relative}
.mc-contract .mc-l{color:var(--brand-dk)}
.mc-contract .mc-v{color:var(--brand-dk);font-family:var(--mono);font-size:var(--t-heading);letter-spacing:.05em;font-weight:700}
.mc-tip{display:inline-block;margin-top:5px;background:var(--brand);color:#fff;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;border-radius:var(--r-sm);padding:3px 9px}
.mc-foot{margin-top:8px;background:#f1f4f2;padding:9px 16px;display:flex;gap:12px;flex-wrap:wrap;
  font-family:var(--mono);font-size:max(var(--t-label),var(--fs-floor,0px));color:#8493a3}
.cardhint{text-align:center;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin:4px 0 8px;line-height:1.5}
.cardhint b{color:var(--ink)}
.cardskel{width:100%;height:230px;border-radius:var(--r-md);background:linear-gradient(100deg,#efe9dc 30%,#f6f1e7 50%,#efe9dc 70%);
  background-size:200% 100%;animation:shim 1.3s linear infinite}
@keyframes shim{to{background-position:-200% 0}}

/* meds chips + typeahead */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}

.chip b{font-weight:700} .chip button{background:none;border:0;color:var(--ink2);cursor:pointer;font-size:max(var(--t-body),var(--fs-body,0px));line-height:1}
.chip button:hover{color:var(--coral)}
.typeahead{position:relative;margin-bottom:14px}
.addrow{display:flex;gap:8px}
.addrow input{flex:1;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:15px;font-size:var(--t-body);color:var(--ink);box-shadow:var(--shadow-sm)}
.addrow input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.addrow button{background:var(--brand-tint);border:1.5px solid var(--brand);color:var(--brand-dk);border-radius:var(--r-md);padding:0 20px;font-size:var(--t-title);font-weight:800;cursor:pointer}
.sugs{margin-top:6px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow)}
.sug{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ink);padding:13px 15px;font-size:max(var(--t-small),var(--fs-body,0px));cursor:pointer;border-bottom:1px solid var(--line2)}
.sug:hover,.sug[aria-selected="true"]{background:var(--brand-tint)} .sug:last-child{border-bottom:0}
.sugform{color:var(--ink2)}

/* condition/DME picker */
.grouplbl{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);margin:18px 0 9px}
.pickgrid{display:flex;flex-wrap:wrap;gap:8px}
.pick{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:10px 15px;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s}
.pick:hover{border-color:var(--brand);transform:translateY(-1px)}
.pick.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}

/* ── RESULTS ── */
.reveal{text-align:center;padding:6px 0 2px}
.reveal .lead{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px));font-weight:600}
.reveal .big{font-family:var(--display),serif;font-size:72px;font-weight:900;letter-spacing:-.03em;color:var(--brand);line-height:.95;margin:6px 0;font-variant-numeric:tabular-nums}
.reveal .big.zero{color:var(--ink);font-size:32px;line-height:1.1}
.reveal .peryr{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px))}
.spin{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;
  animation:sp .8s linear infinite;margin:32px auto}
@keyframes sp{to{transform:rotate(360deg)}}
.err{color:var(--coral);font-size:max(var(--t-small),var(--fs-body,0px));margin-top:12px}

/* comparison strip: current -> best */
.compare{display:flex;align-items:stretch;gap:10px;margin:16px 0 6px}
.cmpcol{flex:1;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 15px;box-shadow:var(--shadow-sm)}
.cmpcol.best{border:2px solid var(--brand);background:var(--brand-tint)}
.cmp-k{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.cmpcol.best .cmp-k{color:var(--brand-dk)}
.cmp-n{font-family:var(--display),serif;font-size:var(--t-title);font-weight:700;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.cmp-s{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.cmp-arrow{align-self:center;color:var(--brand);font-size:var(--t-number);font-weight:800;flex:none}

/* plan card */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin:12px 0;box-shadow:var(--shadow-sm);position:relative}
.pcard.best{border:2px solid var(--brand);box-shadow:0 2px 4px rgba(12,107,79,.08),0 16px 34px rgba(12,107,79,.14)}
.pcard.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}
.pcard.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pcard .tag{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand)}
.pcard .tag.cur{color:var(--ink2)}
.pcard .pn{font-size:var(--t-heading);font-weight:700;margin:4px 0 2px;line-height:1.3}
.pcard .meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:9px}
.pcard .meta span{display:flex;flex-direction:column;gap:1px}
.pcard .meta b{color:var(--ink);font-size:var(--t-body);font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--display),serif}
.pcard .meta .premadd{font-style:normal;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:600;color:var(--ink2);line-height:1.3;max-width:180px;margin-top:1px}
.pcard .meta .enrdelta{font-style:normal;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;line-height:1.3;margin-top:1px;font-variant-numeric:tabular-nums}
.pcard .meta .enrdelta.up{color:var(--brand-dk)} .pcard .meta .enrdelta.down{color:var(--gold-text,#8a5510)}
/* Card header in normal flow: tag left, actions right, wrapping when tight. "details" was
   position:absolute top/right and overlapped the Save control on narrow cards. */
.pcard-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.pcard-actions{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
/* F04a: benefit-year honesty chip — reused on PlanCard/PlanDetail/ResultsView print header. */
.yearchip{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.03em;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 8px;white-space:nowrap}
.yearbanner{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin:-4px 0 8px}
.pcard .more{color:var(--brand);font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));white-space:nowrap}
.plist{margin-top:8px}

/* P5 Design B card sub-structure — layered onto the existing .pcard root (kept unrenamed so
   e2e/tests/comparison-flow.spec.ts + save-share.spec.ts selectors keep working). Token values
   (spacing/radii/colors) reuse the existing --brand/--ink2/--line/--card custom properties rather
   than importing the design target's raw palette. */
.pcard-status{margin-top:8px}
.pcard-status:empty{margin-top:0}
/* P2 coverage-check strip (Doctors/Medications/Pharmacy) — three-state vocabulary, unknown never
   upgrades to verified. .cov-good=verified, .cov-pending=needs-checking, .cov-bad=conflict. */
.pcard-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;display:grid;gap:6px}
.cov-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:max(var(--t-label),var(--fs-floor,0px))}
.cov-row>span:first-child{color:var(--ink2);flex:none}
.cov-state{display:inline-flex;align-items:center;gap:5px;font-weight:600;text-align:right}
.cov-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.cov-good{color:var(--brand-dk)}
.cov-pending{color:var(--gold-text,#8a5510)}
.cov-bad{color:var(--coral)}
.pcard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 18px;margin-top:10px}
.pcard-metric{display:flex;flex-direction:column;gap:1px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.pcard-metric b{color:var(--ink);font-size:max(var(--t-body),var(--fs-body,0px));font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--display),serif}
/* Selected-priority emphasis — matches the design target's `.metrics .key` treatment. */
.pcard-metric.key{background:var(--brand-tint);border-radius:var(--r-sm);padding:6px 9px;margin:-6px -9px}
.pcard-enroll{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:9px}
.pcard-enroll b{color:var(--ink);font-weight:800;font-family:var(--display),serif}
.pcard-enroll .enrdelta{font-style:normal;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;margin-left:4px}
.pcard-enroll .enrdelta.up{color:var(--brand-dk)} .pcard-enroll .enrdelta.down{color:var(--gold-text,#8a5510)}
.pcard-reason{margin-top:12px;padding-top:10px;border-top:1px solid var(--line2)}
.pcard-reason small{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}
.pcard-reason p{margin:4px 0 0;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);line-height:1.5}
.pcard-actions-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.pcard-actions-row .ghost{margin-top:0;min-height:44px;padding:0 6px}
.pcard-metric small{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.35}
/* P3: "Add to comparison" toggle — selected reads brand-colored + no underline (an active state,
   not a link); disabled (3-plan cap reached, unselected) dims rather than hiding, so the cap reads
   as "full" not "broken". */
.pcard-actions-row .ghost.selected{color:var(--brand-dk);font-weight:700;text-decoration:none}
.pcard-actions-row .ghost:disabled{color:var(--line);cursor:not-allowed;text-decoration:none}
.pcard-actions-row .ghost:disabled:hover{color:var(--line)}

/* Priorities bar — "Set priorities"/"Edit priorities" above the results cards. */
.priority{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;font-size:max(var(--t-small),var(--fs-2nd,0px));flex-wrap:wrap}
.priority p{margin:0;color:var(--ink2)}
.priority b{color:var(--ink)}
.linkbtn{border:0;background:none;color:var(--brand);padding:6px 0;text-decoration:underline;text-underline-offset:4px;font-size:max(var(--t-small),var(--fs-2nd,0px));cursor:pointer;font-weight:600}
.priority-editor{width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-top:4px;box-shadow:var(--shadow-sm)}
.priority-editor-actions{display:flex;gap:10px;margin-top:12px}
.priority-editor-actions .cta{width:auto;padding:10px 20px}
.snpnote{margin-top:10px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--gold-text,#8a5510);background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-sm);padding:7px 11px}
.disc{color:#8593893b;color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px));margin-top:20px;line-height:1.55}
.foot{color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px));text-align:center;padding:18px 0 28px;border-top:1px solid var(--line2);margin-top:8px}

/* star filter */
.starfilter{display:flex;align-items:center;gap:8px;margin:18px 0 4px;flex-wrap:wrap}
.starfilter span{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.starfilter button{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink);cursor:pointer}
.starfilter button:hover{border-color:var(--gold-text,#8a5510)}
.starfilter button.on{background:var(--gold);color:#fff;border-color:var(--gold-text,#8a5510);font-weight:700}

/* C-SNP + DME banners */
.csnpbanner{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:16px 18px;margin:8px 0 12px}
.csnpbanner .cb-t{font-family:var(--display),serif;font-weight:700;color:var(--brand-dk);font-size:var(--t-lede);letter-spacing:-.01em}
.csnpbanner .cb-b{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:7px 0 9px;line-height:1.55}
.csnpbanner .cb-p{font-size:max(var(--t-small),var(--fs-body,0px));font-weight:700;color:var(--ink);padding:10px 12px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);margin-top:7px;cursor:pointer}
.csnpbanner .cb-p:hover{border-color:var(--brand)}
.dmebanner{background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:13px 16px;margin:0 0 12px;color:#6b4a12;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.55}
.dmebanner b{color:#4a3208}
.dmefind{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--brand-line);color:var(--brand-dk);border-radius:var(--r-md);padding:11px 15px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:700;cursor:pointer;margin:0 0 14px}
.dmefind:hover{background:var(--brand-tint)}
.dmesup{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:15px 17px;margin:0 0 14px}
.dmesup-h{font-family:var(--display),serif;font-size:var(--t-body);font-weight:600;color:var(--brand-dk);letter-spacing:-.01em;margin-bottom:11px}
.dmesup-load{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));padding:6px 0}
.dmesup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.dmesup-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px}
.ds-name{font-weight:800;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink)}
.ds-meta{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-top:2px} .ds-meta a{color:var(--brand-dk);font-weight:700;text-decoration:none}
.ds-tags{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700}
.ds-ok{color:var(--brand-dk)} .ds-warn{color:#8a5a12} .ds-cba{color:var(--ink2)}
.dmesup-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.5;margin-top:11px} .dmesup-note b{color:var(--ink)}
.dmesup-empty{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);line-height:1.55;padding:4px 0}
.otphelp{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:15px 17px;margin:0 0 14px}
.otp-h{font-family:var(--display),serif;font-size:var(--t-body);font-weight:600;color:var(--brand-dk);letter-spacing:-.01em;margin-bottom:6px}
.otp-p{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);line-height:1.55;margin:0 0 11px} .otp-p b{color:var(--ink)} .otp-p a{color:var(--brand-dk);font-weight:700;text-decoration:none}
.otp-list{margin-top:4px}
/* Post-plan "What's next" quiet cards */
.nextsteps{margin:22px 0 6px;display:flex;flex-direction:column;gap:10px}
.ns-h{font-family:var(--display),serif;font-size:var(--t-heading);font-weight:600;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:10px;margin-bottom:2px}
.ns-h span{width:26px;height:2px;background:var(--brand);border-radius:var(--r-sm);display:inline-block}
.ns-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.ns-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;padding:15px 16px;cursor:pointer;text-decoration:none;color:inherit;font-family:inherit}
.ns-row:hover{background:var(--brand-tint)}
.ns-row + .ns-row{border-top:1px solid var(--line2)}
.ns-i{flex:none;width:34px;height:34px;border-radius:var(--r-sm);background:var(--brand-tint);display:grid;place-items:center;font-size:var(--t-body)}
.ns-t{flex:1;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--ink);line-height:1.4}
.ns-x{color:var(--brand);font-weight:800;font-size:max(var(--t-body),var(--fs-body,0px))}
.ns-carehead{padding:13px 16px 4px;font-weight:800;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.ns-email{padding:14px 16px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.ns-email input{flex:1;min-width:180px;border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 13px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);background:#fff}
.ns-email input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.ns-note{flex-basis:100%;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.5}
.ns-done{padding:15px 16px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--brand-dk)}
.ns-eq{padding:14px 16px}
.ns-eqh{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-bottom:11px;line-height:1.5}
/* Nursing-home inspection & enforcement (clear bad-report surfacing) */
.enforce{display:flex;flex-direction:column;gap:1px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:4px 0 6px}
.enf-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;background:var(--card);font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2)}
.enf-row + .enf-row{border-top:1px solid var(--line2)}
.enf-row b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.enf-row b.bad{color:#a2400f;background:#fbe3d6;border-radius:var(--r-sm);padding:2px 9px}

/* recap + analysis + OM */
.recap{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 17px;margin:6px 0 12px;box-shadow:var(--shadow-sm)}
.recap .rc-h{font-family:var(--display),serif;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:600;color:var(--ink);margin-bottom:9px}
.rc-row{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--line2)}
.rc-l{width:130px;color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));flex:none;font-weight:600} .rc-v{color:var(--ink);font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600}
.rc-note{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px))}
.analysis{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:16px 18px;margin:0 0 14px}
.analysis .an-h{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:7px}
.analysis p{margin:0;color:var(--ink);font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.6}
.ombox{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:17px;margin:14px 0;box-shadow:var(--shadow-sm)}
.ombox .om-h{font-family:var(--display),serif;font-size:var(--t-lede);font-weight:600;color:var(--ink);margin-bottom:13px;letter-spacing:-.01em}
.omgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.omgrid{grid-template-columns:1fr}}
.omcol{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px}
.omcol.best{border:1.5px solid var(--brand);background:var(--brand-tint)}
.omcol .om-t{font-weight:800;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink);margin-bottom:9px}
.omcol ul{margin:0;padding-left:17px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.6} .omcol li{margin:5px 0} .omcol b{color:var(--ink)}
.om-note{color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px));margin-top:11px}
/* Coverage-path education on the shopfor step (facts + constraints, never a recommendation). */
.covguide{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;margin:0 0 16px;box-shadow:var(--shadow-sm)}
.covguide .cg-h{font-family:var(--display),serif;font-size:var(--t-body);font-weight:600;margin:0 0 4px;color:var(--ink)}
.covguide .cg-intro{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);margin:0}
.covguide .cg-timing{font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5;color:#6b4a12;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-sm);padding:9px 12px;margin:11px 0 0}
.covguide .cg-neutral{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin:10px 0 0}
.cg-caution{color:var(--ink)}

/* lead form */
.leadbox{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:17px 18px;margin:22px 0 6px}
.leadbox.done{color:var(--brand-dk);font-size:max(var(--t-small),var(--fs-body,0px))}
.leadbox .lb-t{font-family:var(--display),serif;font-weight:600;color:var(--ink);font-size:var(--t-lede);letter-spacing:-.01em}
.leadbox .lb-s{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:7px 0 13px;line-height:1.55}
.lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px}
/* Grid items default to min-width:auto, so these inputs refused to shrink below their intrinsic
   width and pushed /help 92px past the viewport at 390px. min-width:0 lets them shrink. */
.lb-grid input{min-width:0;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink)}
.lb-grid input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
/* TCPA consent is legally operative text read by older adults — 11.5px was too small. */
.lb-consent{display:flex;gap:10px;align-items:flex-start;color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.55;margin-bottom:10px}
@media (max-width:560px){
  .lb-grid{grid-template-columns:1fr} /* stack name/phone/email/address on narrow screens */
}
.lb-consent input{margin-top:2px;flex:none;width:18px;height:18px;accent-color:var(--brand)}

/* share */
/* P3: "N plans selected to compare" bar — appears once >=2 plans are picked. */
.comparebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:12px 16px;margin:16px 0}
.comparebar p{margin:0;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink)}

.share{display:flex;flex-direction:column;gap:8px;margin-top:20px}

/* drill-down modal */
/* F08: modalbg must float above the fixed fabs (chatfab/savedfab, z-index 30) AND the fixed
   cookiebar/saveddrawer-backdrop (z-index 40) — a plan-detail dialog is the most "on top" surface
   in the app, so it sits one above the highest existing fixed layer rather than tying with it. */
.modalbg{position:fixed;inset:0;grid-template-columns:minmax(0,1fr);background:rgba(23,36,29,.5);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px;z-index:41;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border-radius:var(--r-md);width:540px;max-width:100%;min-width:0;max-height:88vh;overflow:auto;padding:6px 6px 20px;box-shadow:0 30px 70px rgba(23,36,29,.35);animation:rise .3s}
.modalhead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px}
.modalhead b{font-family:var(--display),serif;font-size:var(--t-heading);font-weight:600;color:var(--ink)}
.modalhead button{background:none;border:0;color:var(--ink2);font-size:var(--t-heading);cursor:pointer}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px}
.mgrid>div{background:var(--paper);border-radius:var(--r-md);padding:11px 13px;min-width:0}
.mgrid .mv{overflow-wrap:anywhere}
.mgrid .ml{color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:600} .mgrid .mv{font-size:var(--t-title);font-weight:700;color:var(--ink);margin-top:2px}
.mgrid .mv-text{font-size:var(--t-small);font-weight:600;line-height:1.35;margin-top:var(--s-1)} .mgrid .mv-none{color:var(--ink2);font-weight:500}
.mgrid .linkbtn{padding:var(--s-1) 0 0;font-size:var(--t-label)}
.modal h4{margin:18px 20px 8px;color:var(--ink);font-size:max(var(--t-small),var(--fs-body,0px));font-family:var(--display),serif;font-weight:600}
/* P1 "Details & why" panel inside PlanDetail — factors/decidedBy/tradeoff/unresolved. */
.pdet-why{margin:0 20px 16px}
.pdet-why h4{margin:0 0 6px;font-family:var(--display),serif;font-size:max(var(--t-body),var(--fs-body,0px));font-weight:600;color:var(--brand-dk)}
.pdet-decided{margin:0 0 8px;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink);font-weight:600}
.pdet-factors{margin:0 0 8px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink);font-weight:600}
.pdet-tradeoff{margin:0 0 8px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.pdet-unresolved{margin:0;padding-left:18px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--gold-text,#8a5510)}
.dtbl{width:100%;border-collapse:collapse;font-size:max(var(--t-small),var(--fs-2nd,0px));margin:0 0 6px}
.dtbl td{padding:10px 20px;border-top:1px solid var(--line2);color:var(--ink2)}
.dtbl .dn{font-weight:700;color:var(--ink)} .dtbl .cov{color:var(--brand);font-weight:700} .dtbl .nocov{color:var(--coral)} .dtbl .dt{color:var(--ink2)} .dtbl .dc{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
.dtbl .dnote{font-weight:400;color:var(--ink2);font-size:.9em;margin-top:2px}
.modal .snpnote{margin:8px 20px 0}
/* Plan detail sheet: header pinned, body scrolls to its end above the iOS home bar. */
.modal.pdet{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:88vh;max-height:88dvh}
.pdet .modalhead{flex:none;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-3) var(--s-3) 20px;border-bottom:1px solid var(--line2)}
.pdet-head{min-width:0;flex:1;padding-top:var(--s-2)}
.pdet .modalhead .pdet-title{display:block;overflow-wrap:anywhere;line-height:1.25}
.pdet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3);margin-top:var(--s-2);color:var(--ink2);font-size:var(--t-label);font-weight:600}
.pdet .modalhead button{flex:none}
.pdet-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--s-4) 0 calc(var(--s-5) + env(safe-area-inset-bottom))}
.pdet .givenote{margin:9px 20px 0}
.pdet .data-asof{margin:var(--s-5) 20px 0;font-size:var(--t-label);line-height:1.5;color:var(--ink2)}
/* Pharmacy chooser rows (2026-09-28). Tighter cell padding than the drug-line .dtbl so the
   name/phone/distance/action columns all fit inside the 680px sheet, and the action column can
   never shear off the right edge. "Preferred" badge is per-plan truth from the network bitmap. */
.pharmtbl td{padding:10px 12px}
.pharmtbl td:first-child{padding-left:0}
.pharmtbl td:last-child{padding-right:0}
.pharmtbl .dn{overflow-wrap:anywhere}
.pharmtbl td.da{white-space:nowrap}
.prefbadge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--r-pill);background:var(--brand-tint);border:1px solid var(--brand-line);color:var(--brand-dk);font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;vertical-align:1px}
@media (max-width:640px){
  /* Stack each pharmacy as a card row: name full-width, phone + distance side by side, the
     Set-as-my-pharmacy action on its own line — nothing clipped, nothing one-word-per-line. */
  .pharmtbl,.pharmtbl tbody{display:block}
  .pharmtbl tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-top:1px solid var(--line2)}
  .pharmtbl td{display:block;padding:0;border-top:0;text-align:left}
  .pharmtbl td.dn{grid-column:1 / -1}
  .pharmtbl td.dc{text-align:left;font-weight:500}
  .pharmtbl td.da{grid-column:1 / -1;margin-top:6px;white-space:normal}
}
/* Keep Close reachable and stop the dialog outgrowing small screens. */
.modalhead{position:sticky;top:0;background:#fff;z-index:1;border-radius:var(--r-md) var(--r-md) 0 0}
.modalhead button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm)}
.modalhead button:hover{background:var(--paper)}
.modalhead button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media (max-width:560px){
  .modalbg{padding:10px}
  .mgrid{grid-template-columns:1fr;padding:0 14px}
  .dtbl td{padding:10px 14px}
  .modal h4,.modal .snpnote{margin-left:14px;margin-right:14px}
  .pdet .modalhead{padding-left:14px} .pdet-why{margin-left:14px;margin-right:14px}
  .pdet .givenote,.pdet .data-asof{margin-left:14px;margin-right:14px}
}

/* P3 (Design B wave 3): order-preserving comparison table. Widens the shared .modal so a 3-column
   table has room without changing PlanDetail's 540px sizing. */
.modal-wide{width:900px}
.compare-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.pair{display:flex;gap:6px}
.pair button{border:1px solid var(--line);background:#fff;min-height:40px;padding:6px 10px;color:var(--brand);border-radius:var(--r-sm);font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer}
.pair button[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand-line)}
.compare-table-wrap{overflow-x:auto}
.comparison{width:100%;border-collapse:collapse;font-size:max(var(--t-small),var(--fs-2nd,0px))}
/* Caregiver walk 2026-10-26: overflow-wrap:anywhere + a nowrap label column squeezed plan names to one
   letter per line at 390px. Words wrap normally now; on phones the label column is a fixed, sticky
   110px and each plan column keeps 150px, so the table scrolls sideways inside its own box. */
.comparison th,.comparison td{padding:11px 10px;border-bottom:1px solid var(--line2);vertical-align:top;text-align:left;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.comparison thead th{background:var(--paper);color:var(--ink);font-size:max(var(--t-small),var(--fs-2nd,0px));position:sticky;top:0}
.comparison tbody th{font-weight:600;color:var(--ink2)}
.compare-controls .checklabel{min-height:44px;display:inline-flex;align-items:center;gap:8px}
.pair button{min-height:44px}
@media (max-width:600px){
  .modal-wide{width:100%}
  .compare-controls{flex-direction:column;align-items:flex-start}
  .compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .comparison{font-size:max(var(--t-label),var(--fs-floor,0px));table-layout:fixed;width:auto;min-width:100%}
  .comparison th,.comparison td{padding:9px 8px;width:150px}
  .comparison tr>:first-child{position:sticky;left:0;z-index:1;width:110px;background:var(--card,#fff);box-shadow:1px 0 0 var(--line2)}
  .comparison thead tr>:first-child{z-index:2;background:var(--paper)}
  .comparison [data-mobile-hidden=true]{display:none}
}

/* print report */
.printhead{display:none}
@media print{
  html,body{background:#fff!important}
  .noprint{display:none!important}
  .wrap{max-width:none}
  .printhead{display:block;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:16px}
  .printhead .logo{font-size:var(--t-number)} .printhead .phmeta{color:#555;font-size:max(var(--t-label),var(--fs-floor,0px));margin-top:4px}
  .pcard,.recap,.ombox,.leadbox{box-shadow:none!important;break-inside:avoid}
  .cta,.ghost{display:none!important}
}
/* ── shared site footer ── */
.sitefoot{margin-top:14px;padding:20px 0 30px;border-top:1px solid var(--line2)}
.sitefoot .disc{color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.6;margin:0 0 12px}
.footlinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:10px}
.footlinks a{color:var(--brand-dk);font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;text-decoration:none}
.footlinks a:hover{text-decoration:underline;text-underline-offset:3px}
.footcopy{color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px))}
.footnet{color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));margin:2px 0 6px;line-height:1.5}
.footnet a{color:var(--brand-dk);font-weight:700;text-decoration:none} .footnet a:hover{text-decoration:underline}
.footcopy a{color:var(--brand-dk);font-weight:600;text-decoration:none} .footcopy a:hover{text-decoration:underline}

/* ── legal pages ── */
.legal{padding-bottom:0}
.legal h1{margin:18px 0 4px;letter-spacing:-.02em}
.legal .eff{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:0 0 20px;font-weight:600}
.legal h2{font-family:var(--display),serif;font-weight:600;margin:26px 0 8px;letter-spacing:-.01em}
.legal p{color:var(--ink);font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.65;margin:0 0 12px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{color:var(--ink);font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.6;margin:7px 0}
.legal a{color:var(--brand-dk);font-weight:600}
/* Anchors styled as solid buttons must keep their button text colour. `.legal a` (0,1,1) was
   beating `.cta` (0,1,0), painting dark-green text on the green button — roughly 1.4:1 contrast,
   effectively unreadable. White on --brand is ~6.5:1 and passes WCAG AA. */
.legal a.cta,a.cta{color:#fff}
.legal .top{padding:24px 0 4px}
.reqform{margin-top:18px}
.reqform .fl{display:block;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:800;letter-spacing:.03em;color:var(--ink2);margin:16px 0 7px}
.fin{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px 14px;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink);box-shadow:var(--shadow-sm)}
.fin:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
textarea.fin{resize:vertical;font-family:inherit}

/* ── AI chat helper ── */
.chatfab{position:fixed;right:18px;bottom:18px;z-index:30;display:flex;align-items:center;gap:8px;
  background:var(--brand);color:#fff;border:0;border-radius:var(--r-pill);padding:13px 18px;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:800;
  box-shadow:0 10px 26px rgba(12,107,79,.36);cursor:pointer;transition:transform .1s}
.chatfab:hover{transform:translateY(-2px)} .chatfab span{font-size:var(--t-body)}
/* Mobile: lift the help button clear of the sticky Save-report action bar so they don't overlap. */
@media(max-width:560px){.chatfab{bottom:86px}}
/* F08: below 820px, .chatfab/.savedfab/.stickybar collide in the bottom ~75px, and the cookie bar
   (position:fixed, ~233-300px tall per the data-cookiebar note above) intercepted Saved/Ask-Dottie
   taps entirely when open. Lift BOTH fabs above the stickybar at 820px (not just 560px), and stack
   them further above the cookie bar's own height whenever CookieBanner has it open. */
/* Lift Ask Dottie clear of the sticky directory compare tray at every width (phones override below). */
body:has([data-testid="compare-tray"]) .chatfab{bottom:calc(var(--tray-h,110px) + 24px)}
@media(max-width:820px){
  .chatfab,.savedfab{bottom:86px}
  /* The consent bar is the active dialog. Keep floating actions out of its way without moving
     them after hydration: changing bottom from 86px to 320px created the homepage's entire CLS. */
  html[data-cookiebar="1"] .chatfab,html[data-cookiebar="1"] .savedfab{visibility:hidden;pointer-events:none}
  /* Phones: icon-only round Ask Dottie (name stays via aria-label), plus a spacer so the last
     content is never stuck under it, and lifted clear of the directory compare tray. */
  .chatfab:has(.chatfab-t){width:48px;height:48px;padding:0;justify-content:center;right:12px}
  .chatfab .chatfab-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .wrap{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}
.chatpanel{position:fixed;right:16px;bottom:16px;z-index:31;width:min(390px,calc(100vw - 32px));height:min(560px,calc(100vh - 32px));
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 30px 70px rgba(23,36,29,.32);
  display:flex;flex-direction:column;overflow:hidden;animation:rise .28s cubic-bezier(.2,.7,.3,1)}
.ch-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;
  background:linear-gradient(120deg,var(--brand),var(--brand-dk));color:#fff}
.ch-head b{font-family:var(--display),serif;font-size:var(--t-body);font-weight:600}
.ch-sub{font-size:max(var(--t-label),var(--fs-floor,0px));opacity:.9;margin-top:1px}
.ch-head button{background:rgba(255,255,255,.18);border:0;color:#fff;width:28px;height:28px;border-radius:var(--r-sm);font-size:max(var(--t-small),var(--fs-body,0px));cursor:pointer}
.ch-body{flex:1;overflow-y:auto;padding:15px 15px 6px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.ch-msg{max-width:85%;padding:11px 14px;border-radius:var(--r-md);font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.5;white-space:pre-wrap;animation:rise .25s}
.ch-msg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:var(--r-sm);align-self:flex-start}
.ch-msg.me{background:var(--brand);color:#fff;border-bottom-right-radius:var(--r-sm);align-self:flex-end}
/* Dottie fact cards (lib/dottie-cards-core.ts): data-sourced numbers with a source line */
.ch-card{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;white-space:normal;color:var(--ink)}
.ch-card-t{margin:0 0 6px;font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.ch-card dl{margin:0}
.ch-card-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-top:1px solid var(--line);font-size:max(var(--t-small),var(--fs-2nd,0px))}
.ch-card-row:first-child{border-top:0}
.ch-card-row dt,.ch-card-row dd{margin:0}
.ch-card-row dd{font-weight:700;text-align:right;overflow-wrap:anywhere}
.ch-card .ch-card-t{margin:0 0 6px;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.45}
.ch-card .ch-card-np,.ch-card .ch-card-src{margin:6px 0 0;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.45;color:var(--ink2)}
/* Dottie agent introduction (components/DottieAgentIntro.tsx): one field per row, full width. */
.ch-intro{display:grid;gap:8px;margin-top:8px}.ch-intro label{display:grid;gap:4px;font-size:max(var(--t-small),var(--fs-2nd,0px))}.ch-intro input{min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;font:inherit}.ch-intro .ch-chips button,.ch-place>button.ch-link{cursor:pointer;font:inherit;border:1px solid var(--line);background:#fff}.ch-place>button.ch-link{border:0;padding:0;margin-top:6px;text-decoration:underline}
/* Dottie place lists (owner-approved 2026-10-10, components/DottieFactCard.tsx + app/home-script.ts): ≤3 places, chips, one link each */
.ch-card:has(.ch-places){background:transparent;border:0;padding:0}
.ch-msg:has(.ch-places){max-width:100%;white-space:normal}
.ch-places{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ch-place{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px 2px;display:grid;gap:4px;min-width:0}
.ch-card .ch-place-t{margin:0;font:700 max(15px,var(--fs-body,0px))/1.25 var(--display,Georgia),Georgia,"Times New Roman",serif;color:var(--ink);overflow-wrap:anywhere}
.ch-card .ch-place-sub{margin:0;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);overflow-wrap:anywhere}
.ch-card .ch-chips{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.ch-chip{font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;border-radius:var(--r-pill);padding:1px 9px;border:1px solid var(--line);color:var(--ink2);overflow-wrap:anywhere}
.ch-chip.good{background:var(--brand-tint);border-color:transparent;color:var(--brand-dk);font-weight:600}
.ch-link{display:flex;align-items:center;min-height:44px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:700;color:var(--brand-dk);text-decoration:none}
.ch-link:hover{text-decoration:underline}
.ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ch-starters{display:flex;flex-direction:column;gap:7px;align-items:flex-start;margin-top:2px}
.ch-starters button{background:#fff;border:1px solid var(--brand-line);color:var(--brand-dk);border-radius:var(--r-pill);padding:9px 13px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;cursor:pointer;text-align:left}
.ch-starters button:hover{background:var(--brand-tint)}
.ch-starters button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.ch-guided{display:flex;flex-direction:column;gap:7px}
.ch-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;margin:6px 0}
.ch-card-name{font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.ch-card-row{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-top:3px}
.ch-card-foot{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:4px}
.dottie-typing{display:flex;gap:5px;align-items:center;padding:14px}
.dottie-typing i{width:7px;height:7px;border-radius:50%;background:var(--ink2);opacity:.4;animation:blink 1.2s infinite}
.dottie-typing i:nth-child(2){animation-delay:.2s} .dottie-typing i:nth-child(3){animation-delay:.4s}
.dottie-typing-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.dottie-typing i{display:none}.dottie-typing .dottie-typing-t{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2)}}
@keyframes blink{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}
.ch-input{display:flex;gap:8px;padding:11px 13px;border-top:1px solid var(--line);background:#fff}
.ch-input input{flex:1;border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 13px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);background:#fff}
.ch-input input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.ch-input button{background:var(--brand);color:#fff;border:0;border-radius:var(--r-md);padding:0 16px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:800;cursor:pointer}
.ch-input button:disabled{opacity:.4;cursor:default}
.ch-disc{padding:8px 14px 11px;font-size:max(var(--t-label),var(--fs-floor,0px));color:#5f6a61;background:#fff;line-height:1.4;border-top:1px solid var(--line2)}
/* ONE Dottie (components/DottieChat.tsx), every page and both start modes. Desktop: right-side panel; phones: full-screen
   sheet; /coffee: in-page; .embed: fills the homepage's chat frame (/dottie-embed). */
.chatpanel.cf{top:0;right:0;bottom:0;height:auto;width:min(460px,100vw);border-radius:0;border-width:0 0 0 1px;z-index:60}
.chatpanel.cf.page{position:relative;inset:auto;z-index:auto;width:100%;height:min(780px,calc(100dvh - 120px));min-height:520px;margin:12px 0 28px;border-radius:var(--r-md);border-width:1px;box-shadow:none;animation:none}
@media(max-width:640px){.chatpanel.cf.panel{left:0;width:auto;border:0}.chatpanel.cf.page{height:calc(100dvh - 96px);min-height:460px;border-radius:var(--r-md)}}
.chatpanel.cf.embed{position:fixed;inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;animation:none}
/* The notice is one line + "more" until opened (components/ChatNotice.tsx). */
.ch-notice:not(.open){display:flex;gap:4px;align-items:baseline}
.ch-notice:not(.open) .ch-notice-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ch-notice button{flex-shrink:0;min-height:24px}
.cf .ch-head{padding:10px 12px 10px 16px}
.cf .ch-head h1,.cf .ch-head h2{margin:0;font:600 18px/1.2 var(--display),serif;color:#fff}
.cf .ch-head button{width:auto;min-width:44px;height:44px;padding:0 12px;font-weight:700}
.cf-hb{display:flex;gap:6px;align-items:center;flex-shrink:0}
.cf .cf-help{font-size:max(var(--t-label),var(--fs-2nd,0px))}
.cf-safe{margin:0;padding:10px 14px;background:#fbefdc;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.45;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.cf-safe a{color:inherit;font-weight:700}
.cf-plan{flex-shrink:0;border-bottom:1px solid var(--line);background:#fff;font-size:max(var(--t-label),var(--fs-2nd,0px));max-height:45%;overflow-y:auto}
.cf-plan summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;overflow:hidden}
.cf-plan summary b{flex-shrink:0;color:var(--brand-dk)}
.cf-plan-l{color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cf-plan dl{margin:0;padding:0 14px 8px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px}
.cf-plan dt{color:var(--ink2)} .cf-plan dd{margin:0;overflow-wrap:anywhere}
.cf-plan ol{margin:0;padding:0 14px 10px 32px;display:grid;gap:4px} .cf-plan a{color:var(--brand-dk)}
/* One Dottie panel: the summary's focus ring never covers the first row (QA of #536). */
.cf-plan[data-one] summary:focus-visible{outline-offset:-3px}.cf-plan[data-one] dl{padding-top:6px}
.cf .ch-msg{overflow-wrap:anywhere}
.cf .ch-msg:has(.ch-card){max-width:100%}
.cf-plancard{border-left:4px solid var(--brand)}
.cf-plancard ol{margin:0;padding-left:20px} .cf-plancard .ch-link{min-height:44px;font-weight:600}
.cf-chips{flex-direction:row;flex-wrap:wrap}
.cf .ch-starters button,.cf-resume{min-height:44px;font-size:max(var(--t-small),var(--fs-body,0px))}
.cf .ch-input input{font-size:max(var(--t-body),var(--fs-body,0px));min-width:0}
.cf .ch-input button{min-height:44px}
.cf .ch-disc{font-size:max(var(--t-label),var(--fs-floor,0px))}
.cf-linkbtn{background:none;border:0;padding:0 4px;min-height:44px;color:var(--brand-dk);font:inherit;font-size:max(var(--t-label),var(--fs-2nd,0px));text-decoration:underline;cursor:pointer}
.cf-toast{margin:0;font-size:max(var(--t-label),var(--fs-2nd,0px));background:var(--brand-tint);border-radius:var(--r-sm);padding:8px 12px}
.cf-mail{border-top:1px solid var(--line);background:#fff;padding:8px 0 0}
.cf-mail label{display:block;padding:0 14px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700}
.cf-mail .ch-input{border-top:0}
.cf-err{margin:0;padding:0 14px;color:#b3261e;font-size:max(var(--t-label),var(--fs-2nd,0px))}
.cf-away{display:grid;gap:10px;justify-items:center;text-align:center;padding:48px 16px;margin:12px 0 28px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.cf-away p{margin:0;font-size:max(var(--t-body),var(--fs-body,0px))}
.cf-resume{background:var(--brand);color:#fff;border:0;border-radius:var(--r-pill);padding:0 20px;font-weight:800;cursor:pointer}
.cf :focus-visible{outline:3px solid #1a5fd0;outline-offset:2px}

/* cookie consent bar */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:3px solid var(--brand);border-radius:var(--r-md) var(--r-md) 0 0;box-shadow:0 -12px 36px rgba(23,36,29,.24);animation:cbup .35s cubic-bezier(.2,.7,.3,1);font-family:ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
html[data-ps-consent-saved="1"] .cookiebar{display:none}
.cookiebar[hidden],.cb-manage[hidden],.cb-actions[hidden]{display:none}
@keyframes cbup{from{transform:translateY(100%)}to{transform:none}}
.cb-inner{max-width:900px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.cb-text{flex:1;min-width:240px;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5;color:var(--ink2)} .cb-text b{color:var(--ink)} .cb-text a{color:var(--brand-dk);font-weight:700}
.cb-manage{flex-basis:100%;display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}
.cb-opt{display:flex;gap:10px;align-items:flex-start;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);line-height:1.4} .cb-opt b{color:var(--ink)}
.cb-opt input{margin-top:1px;flex:none;width:17px;height:17px;accent-color:var(--brand)}
.cb-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cb-btn{border-radius:var(--r-md);padding:11px 16px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:800;cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--ink);white-space:nowrap}
.cb-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.cb-btn.ghost:hover{border-color:var(--brand)}
.footlink-btn{background:none;border:0;color:var(--brand-dk);font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;cursor:pointer;padding:0;font-family:inherit;text-decoration:none}
.footlink-btn:hover{text-decoration:underline;text-underline-offset:3px}

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

/* why-it-wins hero */
.wiw{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:var(--r-md);padding:16px 17px;margin:6px 0 12px}
.wiw-h{font-family:var(--display),serif;font-size:var(--t-lede);font-weight:600;color:var(--brand-dk);letter-spacing:-.01em;margin-bottom:10px}
.wiw-chips{display:flex;flex-direction:column;gap:8px}
.wiw-chip{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);font-weight:600}
.wiw-ic{font-size:var(--t-lede);line-height:1.2;flex:none}
/* friendly coach summary (replaces the analysis blob) */
.coach{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 16px;margin:0 0 14px;box-shadow:var(--shadow-sm)}
.coach-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-family:var(--display),serif;font-size:var(--t-body);color:var(--ink)}
.coach-av{font-size:var(--t-number)}
.coach-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.coach-rows li{display:flex;gap:11px;align-items:flex-start;font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.5;color:var(--ink)}
.coach-ic{font-size:var(--t-body);flex:none;line-height:1.3}

.cnum{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:2px;font-weight:600}
.cnum b{font-family:var(--mono);font-weight:700;color:var(--ink);letter-spacing:.02em}

.disclose{border:1px solid var(--line);border-radius:var(--r-md);margin:10px 0;background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden}
.disclose>summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:nowrap;gap:4px 10px;padding:15px 16px;font-weight:700;color:var(--ink)}
.disclose>summary::-webkit-details-marker{display:none}
.ds-t{flex:1 1 auto;min-width:0;font-size:max(var(--t-body),var(--fs-body,0px))} .ds-p{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:500;margin-left:2px}
.ds-cv{flex:none;margin-left:auto;color:var(--brand);font-size:var(--t-number);font-weight:800;transition:transform .2s}
.disclose[open]>summary .ds-cv{transform:rotate(90deg)}
.ds-body{padding:0 16px 16px}
.disclose>summary h2{margin:0;line-height:1.3}
@media print{.disclose{border:none;box-shadow:none}.disclose>summary{display:none}.ds-body{padding:0}}

.stickybar{position:sticky;bottom:0;left:0;right:0;z-index:15;display:flex;gap:10px;padding:12px 0 14px;margin-top:8px;
  background:linear-gradient(180deg,transparent,var(--paper) 24%);backdrop-filter:blur(2px)}
.sb-primary{flex:2;background:var(--brand);color:#fff;border:0;border-radius:var(--r-md);padding:15px;font-size:max(var(--t-body),var(--fs-body,0px));font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(12,107,79,.3)}
.sb-secondary{flex:1;background:#fff;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-md);padding:15px;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:700;cursor:pointer}

/* a11y */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand-dk);outline-offset:2px;border-radius:var(--r-sm)}
.skiplink{position:absolute;left:-999px;top:0;z-index:100;background:var(--brand);color:#fff;padding:12px 16px;border-radius:0 0 var(--r-sm) 0;font-weight:700;font-family:ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.skiplink:focus{left:0}
.enroll{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-radius:var(--r-md);padding:14px 18px;margin:10px 0 4px;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.45;border:1px solid var(--line)}
.enroll .en-main{display:flex;gap:12px;align-items:center;min-width:0;flex:1}
.enroll .en-ico{font-size:var(--t-heading);line-height:1;flex:none;opacity:.85}
.enroll .en-txt{display:flex;flex-direction:column;min-width:0}
.enroll .en-title{font-weight:700;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink)}
.enroll .en-sub{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px))}
.enroll .en-aside{display:flex;align-items:center;gap:14px;flex:none}
.en-days{background:#fff;border:1px solid var(--brand-line);color:var(--brand-dk);border-radius:var(--r-pill);padding:5px 13px;font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));font-variant-numeric:tabular-nums;white-space:nowrap}
.en-ends{border:1.5px solid rgba(255,255,255,.6);color:#fff;border-radius:var(--r-pill);padding:6px 15px;font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));white-space:nowrap}
.en-link{color:var(--gold-text,#8a5510);font-weight:700;text-decoration:none;white-space:nowrap}
.en-link:hover{text-decoration:underline;text-underline-offset:3px}
.enroll.preaep{background:var(--brand-tint);border-color:var(--brand-line)}
.enroll.sep{background:var(--gold-tint);border-color:var(--gold-line)}
.enroll.open{background:var(--brand-dk);border-color:var(--brand-dk)}
.enroll.open .en-title{color:#fff} .enroll.open .en-sub{color:rgba(255,255,255,.82)}
.en-fema{flex-basis:100%;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2)}
/* Server-pass placeholder for the enrollment banner. Its text depends on the viewer's LOCAL date,
   which the server cannot know, so the banner renders client-side after mount. This reserves the
   banner's measured height so content below does not jump when the real banner appears.
   box-sizing is border-box globally (line 11), so min-height is the FULL outer height — 72px, not
   the 42px content box. Getting that wrong shifted everything below down by exactly 30px. */
.en-skeleton{min-height:72px}
.aepremind{margin-top:11px}
.aepremind-btn{background:none;border:0;color:var(--brand-dk);font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}
.aepremind-btn:hover{text-decoration:underline;text-underline-offset:3px}
.aepremind-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.aepremind-form input{flex:1;min-width:170px;border:1.5px solid var(--line);border-radius:var(--r-md);padding:11px 12px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);background:#fff}
.aepremind-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.aepremind-err{flex-basis:100%;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--coral);font-weight:600}
.aepremind.done{margin-top:11px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;color:var(--brand-dk)}
@media(prefers-reduced-motion:reduce){.cd-box b{transition:none}}
.en-fema{margin-top:8px;padding-top:8px;border-top:1px solid var(--line2);color:#6b4a12;font-weight:600}
.sepcheck{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 16px;margin:18px 0 16px;box-shadow:var(--shadow-sm)}
.sc-h{font-family:var(--display),serif;font-size:var(--t-lede);font-weight:600;color:var(--ink)}
.sc-s{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:5px 0 11px;line-height:1.5}
.sc-ok{margin-top:11px;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:10px 12px;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--brand-dk);font-weight:600}
.sc-no{margin-top:11px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:10px 12px;font-size:max(var(--t-small),var(--fs-2nd,0px));color:#6b4a12;font-weight:600}
.coachwrap{margin:28px 0 6px;padding-top:24px;border-top:2px solid var(--line)}
.cw-h{font-family:var(--display),serif;font-size:var(--t-heading);font-weight:600;color:var(--ink);letter-spacing:-.01em}
.cw-s{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:5px 0 12px;line-height:1.5}
.offergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.offer{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 15px;box-shadow:var(--shadow-sm);min-width:0}
.offer.done{border-color:var(--brand-line);background:var(--brand-tint)}
.of-t{font-weight:800;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink)}
.of-b{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5;margin:5px 0 10px}
.of-cta{background:var(--brand-tint);border:1.5px solid var(--brand);color:var(--brand-dk);border-radius:var(--r-md);padding:10px 14px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:800;cursor:pointer}
.of-cta:disabled{opacity:.5;cursor:default}
.of-form{margin-top:4px}
.of-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:9px}
.of-grid input{width:100%;min-width:0;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink)}
.of-grid input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.of-consent{display:flex;gap:9px;align-items:flex-start;color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.45;margin-bottom:8px}
.of-consent input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--brand)}
.of-ok{color:var(--brand-dk);font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.of-call{display:inline-block;background:var(--brand);color:#fff;border-radius:var(--r-md);padding:11px 15px;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:800;text-decoration:none}
.fence-note{color:#5f6a61;font-size:max(var(--t-label),var(--fs-floor,0px));margin-top:10px;line-height:1.45}
.about .lede{font-size:var(--t-lede);line-height:1.55;color:var(--ink);margin:6px 0 22px;max-width:60ch}
.aboutgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
@media(max-width:560px){.aboutgrid{grid-template-columns:1fr}}
.acard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-sm)}
.acard .ac-k{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:7px}
.acard p{margin:0;font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.6;color:var(--ink)}
.storyhead{font-family:var(--display),serif;font-size:var(--t-title);font-weight:600;color:var(--ink);margin:28px 0 14px;letter-spacing:-.01em}
.story{display:flex;flex-direction:column;gap:14px}
.chapter{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,var(--brand-tint),#fff);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:16px 18px}
.ch-n{font-family:var(--display),serif;font-size:30px;font-weight:700;color:var(--brand);line-height:1;flex:none;opacity:.6}
.ch-t{font-weight:800;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink);margin-bottom:4px}
.chapter p{margin:0;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.6;color:var(--ink2)} .chapter b{color:var(--ink)}
.aboutcta{margin:24px 0 8px}
/* Media & press */
.press-identity{display:grid;grid-template-columns:176px 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,var(--brand-tint),#fff);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:24px;margin:0 0 18px;box-shadow:var(--shadow-sm)}
.press-identity img{display:block;width:176px;height:176px;border-radius:var(--r-pill);box-shadow:var(--shadow);background:#fff}
.press-identity h2{font-size:28px;line-height:1.15;margin:4px 0 8px}
.press-identity p{margin:0;max-width:55ch;color:var(--ink2)}
.press-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.press-actions a{display:inline-block;background:var(--brand);color:#fff;border-radius:var(--r-md);padding:10px 14px;text-decoration:none;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:800;box-shadow:var(--shadow-sm)}
.press-actions a+ a{background:#fff;color:var(--brand-dk);border:1px solid var(--brand-line)}
.press-social-note{margin-top:10px!important;color:var(--ink2)!important;font-size:max(var(--t-label),var(--fs-2nd,0px))!important}
.press-email-image{display:block;width:fit-content;max-width:100%;margin:4px 0 8px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:var(--r-sm)}
.press-email-image:focus-visible{outline:3px solid var(--brand-line);outline-offset:3px}
.press-email-image canvas{display:block;max-width:100%;height:auto}
.press-mailing-address{margin-top:8px!important}
.press-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px}
.press-facts div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 15px;box-shadow:var(--shadow-sm)}
.press-facts span{display:block;color:var(--brand);font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.press-facts strong{display:block;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.4}
.presspage .soonnote h2{margin-top:0}
.presspage .soonnote p{margin-bottom:0;max-width:75ch}
.press-contact-link{margin-top:24px}
@media(max-width:760px){.press-facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.press-identity{grid-template-columns:1fr;padding:20px}.press-identity img{width:132px;height:132px}.press-facts{grid-template-columns:1fr}}
/* Salute to Caregivers page */
.salute .lede{font-size:var(--t-lede);line-height:1.55;color:var(--ink);margin:6px 0 22px;max-width:60ch}
.salute h1{max-width:16ch}
.sfig{margin:6px 0 26px;display:flex;flex-direction:column;align-items:center;gap:10px}
.sfig .sphoto{width:100%;max-width:340px;height:auto;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:0 18px 44px -22px rgba(23,36,29,.5),0 2px 8px -3px rgba(23,36,29,.25)}
.sfig figcaption{font-family:var(--display),serif;font-style:italic;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink2);text-align:center}
.sfig .sdedication{font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700;letter-spacing:.02em;color:var(--brand-dk);text-align:center;text-transform:none}
.sstory{margin-bottom:8px}
.saluteclose{margin:30px 0 8px;text-align:center;background:linear-gradient(150deg,var(--brand),var(--brand-dk));color:#fff;border-radius:var(--r-pill);padding:34px 26px}
.saluteclose .sc-mark{font-size:34px;line-height:1;color:#ffe9b3;margin-bottom:10px}
.saluteclose h2{font-family:var(--display),serif;font-size:27px;font-weight:600;letter-spacing:-.01em;margin:0 0 12px;color:#fff}
.saluteclose p{color:rgba(255,255,255,.92);font-size:max(var(--t-body),var(--fs-body,0px));line-height:1.65;margin:0 auto 10px;max-width:52ch}
.saluteclose p b{color:#fff}
.saluteclose .sc-sign{font-family:var(--display),serif;font-style:italic;font-size:var(--t-lede);color:#ffe9b3;margin-top:6px}
.truststrip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 18px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--brand-dk);font-weight:600}
.truststrip span{white-space:nowrap}
.ts-link{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.planwarn{margin-top:9px;font-size:max(var(--t-label),var(--fs-floor,0px));color:#6b4a12;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-sm);padding:7px 11px;line-height:1.45}
.planwarn b{color:#4a3208}
.givenote{margin-top:9px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--brand-dk);background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-sm);padding:7px 11px;line-height:1.45} .givenote b{color:var(--brand-dk)}
.lowperf{margin-top:9px;font-size:max(var(--t-label),var(--fs-floor,0px));color:#9a3d10;background:#fbeee7;border:1px solid #e2b7a8;border-radius:var(--r-sm);padding:8px 11px;line-height:1.45} .lowperf b{color:#7a2f0a}
.highperf{margin-top:9px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--brand-dk);background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-sm);padding:7px 11px;line-height:1.45} .highperf b{color:var(--brand-dk)}
.domains{display:flex;flex-direction:column;gap:8px}
.dom-row{display:flex;align-items:center;gap:11px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.dom-n{flex:1;min-width:0}
.dom-b{flex:none;width:88px;height:8px;border-radius:var(--r-pill);background:var(--paper2);overflow:hidden}
.dom-b i{display:block;height:100%;background:var(--brand);border-radius:var(--r-pill)}
.dom-row b{flex:none;width:34px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.dom-row b.dom-bad{color:#9a3d10}
.dom-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.5;margin-top:10px}
.premnote{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 13px;margin:10px 0;line-height:1.5} .premnote b{color:var(--ink)}

/* Aging & Care hub */
.nav{margin-left:auto;display:flex;gap:16px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600}
.nav a{color:var(--ink2);text-decoration:none}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--brand-dk)}
.lede{font-size:var(--t-lede);line-height:1.55;color:var(--ink);margin:6px 0 22px;max-width:60ch}
.q{font-family:var(--display),serif;font-size:var(--t-heading);font-weight:600;margin:2px 0 14px;letter-spacing:-.01em}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.care-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:17px 18px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.care-card:hover{border-color:var(--brand-line);transform:translateY(-2px)}
.cc-ico{flex:none;width:42px;height:42px;border-radius:var(--r-md);background:var(--brand-tint);display:grid;place-items:center;font-size:var(--t-heading)}
.cc-t{font-weight:800;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink);display:flex;align-items:center;gap:8px}
.cc-d{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-top:3px;line-height:1.5}
.tag{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-pill)}
.cards.hub .cc-d{display:block;font-weight:400;color:var(--ink);font-size:max(var(--t-body),var(--fs-2nd,0px))}
.more-care{margin-top:16px}
.more-care>summary{cursor:pointer;min-height:48px;padding-block:10px;display:flex;align-items:center;font-weight:800;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--brand-dk)}
.more-care[open]>summary{margin-bottom:10px}
.care-links{font-size:max(var(--t-body),var(--fs-2nd,0px))}
.tag.live{background:var(--brand-tint);color:var(--brand-dk)}
.tag.guide{background:var(--gold-tint);color:#7a5a12}
.tag.new{background:var(--brand);color:#fff}
.tag.watched{background:#ecefe9;color:var(--ink2);text-transform:none;letter-spacing:.02em}
.vsearch{margin:0 0 16px}
.vsearch input{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 14px;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);box-shadow:var(--shadow-sm)}
.vsearch input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.linklike{background:none;border:none;padding:0;color:var(--brand);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.care-card.first{grid-column:1 / -1;background:linear-gradient(120deg,var(--brand),var(--brand-dk));border-color:transparent}
.care-card.first .cc-t,.care-card.first .cc-d{color:#fff}
.care-card.first .cc-d{color:rgba(255,255,255,.9)}
.care-card.first .cc-ico{background:rgba(255,255,255,.16)}
.changed{margin-top:22px;background:var(--paper2);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 18px}
.changed-h{font-weight:800;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink);margin-bottom:9px}
/* Care guides index — guide cards are the focal point of /care/guides. */
.pathway{margin:30px 0 6px}
.pathway-h{font-family:var(--display),serif;font-size:var(--t-number);margin:0 0 3px}
.pathway-blurb{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin:0}
/* Care Pathways guide modules */
.crumbs{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-bottom:6px}
.crumbs a{color:var(--brand);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.emergency-strip{border:2px solid #b3261e;background:#fdeceb;border-radius:var(--r-md);padding:12px 16px;margin:14px 0}
.emergency-strip h3{color:#7a1712;margin:0 0 6px;font-size:max(var(--t-body),var(--fs-body,0px))}
.emergency-strip ul{margin:0;padding-left:18px}
.guide-orientation{font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink);background:var(--brand-tint);border-radius:var(--r-md);padding:12px 14px;margin:14px 0}
.guide-timeline{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.guide-timeline .tl{display:grid;grid-template-columns:150px 1fr;gap:10px;border-left:3px solid var(--brand);padding:6px 12px}
@media(max-width:560px){.guide-timeline .tl{grid-template-columns:1fr;gap:2px}}
.decision-aid-wrap{overflow-x:auto;margin:16px 0}
.decision-aid{width:100%;border-collapse:collapse;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.decision-aid th,.decision-aid td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.adjacent{margin:20px 0;background:#fcfbf7;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}
.adjacent .adj-h{font-weight:700;margin-bottom:6px}
.adjacent ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.adjacent a{color:var(--brand);text-decoration:none}
.nsfb{margin:22px 0;background:var(--brand-tint);border-radius:var(--r-md);padding:14px 16px;text-align:center}
.nsfb-q{font-weight:700;margin:0 0 10px}
.nsfb-btns{display:flex;gap:10px;justify-content:center}
.nsfb-btns button{border:1.5px solid var(--brand);background:#fff;color:var(--brand-dk);border-radius:var(--r-sm);padding:8px 22px;font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px));cursor:pointer}
.nsfb-btns button:hover{background:var(--brand);color:#fff}
.nsfb-thanks{margin:0;color:var(--ink)}
.trust-block{border-top:1px solid var(--line);margin-top:22px;padding-top:12px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.trust-block .reviewer-name{color:var(--ink);font-weight:700}
@media print{
  .sh-nav,.sh-pagenav,.sitefoot,.nsfb,.nextsteps,.crumbs{display:none}
  body{background:#fff;color:#000}
  .checklist li{page-break-inside:avoid}
  a[href]::after{content:""}
}
.guidegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:22px}
.guidecard{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--brand-line);border-radius:var(--r-md);padding:20px 22px;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s}
.guidecard:hover{border-color:var(--brand-dk);box-shadow:0 8px 24px rgba(23,36,29,.08)}
.gc-t{font-family:var(--display),serif;font-weight:600;font-size:var(--t-lede);line-height:1.25;color:var(--ink);text-wrap:balance}
.gc-d{font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.5;color:var(--ink2);flex:1}
.gc-more{font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:700;color:var(--brand-dk);margin-top:2px}
.carechips{display:flex;flex-wrap:wrap;gap:8px}
.carechip{background:#fff;border:1px solid var(--brand-line);color:var(--brand-dk);border-radius:var(--r-pill);padding:8px 13px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;text-decoration:none}
.carechip:hover{background:var(--brand-tint)}
.roberta{margin-top:22px;display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}
.rob-av{flex:none;width:46px;height:46px;border-radius:50%;background:var(--gold-tint);display:grid;place-items:center;font-size:var(--t-heading)}
.rob-t{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);line-height:1.5}
.rob-t b{color:var(--ink)}
.rob-t a{color:var(--brand-dk);font-weight:700;text-decoration:none}

/* Aging & Care guide pages */
.legal .byline{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;margin:-8px 0 20px}
.legal .checklist{list-style:none;padding-left:0}
.legal .checklist li{padding-left:26px;position:relative}
.legal .checklist li::before{content:"☐";position:absolute;left:0;color:var(--brand-dk);font-size:max(var(--t-body),var(--fs-body,0px))}
.nextsteps{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:15px 17px;margin:26px 0 14px;display:flex;flex-direction:column;gap:8px}
.nextsteps .ns-h{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-dk);margin-bottom:2px}
.nextsteps a{color:var(--brand-dk);font-weight:700;text-decoration:none;font-size:max(var(--t-small),var(--fs-body,0px))}
.nextsteps a:hover{text-decoration:underline}
.sources{margin:18px 0 6px}
.sources .src-h{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.sources ul{margin:0;padding-left:20px}
.sources li{font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.6;margin:4px 0}
.legal .disclaimer{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.55;border-top:1px solid var(--line);padding-top:14px;margin-top:22px}

/* ── /care/facilities — nursing-home directory (Increment 3) ───────────── */
.searchrow{margin:18px 0 10px}
.searchlbl{display:block;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:600;color:var(--ink);margin-bottom:8px}
.searchbar{display:flex;gap:8px}
.searchbar input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink)}
.searchbar input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}

.costpanel{background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:14px 16px;margin:14px 0;font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.55}
.subnote{color:#53625a;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;margin:6px 0}

.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.filt{background:var(--card);border:1px solid var(--line);color:var(--ink2);border-radius:var(--r-pill);padding:8px 14px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;cursor:pointer}
.filt.on{background:var(--brand-tint);border-color:var(--brand-line);color:var(--brand-dk)}
.filt-sort{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.filt-sort select{font-family:inherit;font-size:max(var(--t-label),var(--fs-2nd,0px));padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink)}

.flist{display:flex;flex-direction:column;gap:14px;margin:14px 0}
.fac{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-sm)}
.fac:target,.fac-target{outline:3px solid var(--teal,#0f766e);outline-offset:3px;background:#f0fdfa;scroll-margin-top:90px}
.fac-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}
.fac-l{min-width:0}
.pill{margin-bottom:var(--s-2)}

.fac-n{font-family:var(--sans),ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:var(--t-heading);line-height:1.3;color:var(--ink)}
.fac-loc{color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px));margin-top:2px}
.fac-facts{color:#53625a;font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:2px}

.hero-rate{flex:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px}
.hero-num{font-size:var(--t-display);font-weight:700;line-height:1;color:var(--brand)}
.hero-of{font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink2)}
.hero-stars{color:var(--brand);font-size:max(var(--t-small),var(--fs-body,0px));letter-spacing:1px}
.hero-band{background:var(--brand-tint);color:var(--brand-dk);font-style:italic;font-size:max(var(--t-label),var(--fs-floor,0px));border-radius:var(--r-pill);padding:3px 10px;margin-top:2px}
.hero-na{font-family:var(--display),Georgia,serif;font-size:var(--t-number);font-weight:600;color:var(--ink2)}
/* Care-directory presentation standard — see components/CareSignals.tsx and lib/care-signal-core.ts.
   A gap is MUTED: no brand-tint (that is the green "we checked and it was fine" treatment used by
   .pill.on and .hero-band) and no red (that would read as a bad result). The dashed border is the
   whole visual argument — it says "nothing here" in a way a solid filled pill cannot. */
.sig-band{background:transparent;border:1px dashed var(--line);color:var(--ink2);font-style:italic;font-size:max(var(--t-label),var(--fs-floor,0px));border-radius:var(--r-pill);padding:3px 10px;margin-top:2px}
.siglist{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.sig-h{font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink)}
.sig{border-left:3px solid var(--line);padding:2px 0 2px 12px}
.sig-val{border-left-color:var(--brand)}
.sig-gap{border-left-style:dashed}
.sig-lbl{font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--ink)}
.sig-txt{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink)}
.sig-gap .sig-txt{color:var(--ink2);font-style:italic}
.sig-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:2px}
.sig-attr{font-size:max(var(--t-label),var(--fs-floor,0px));color:#53625a;margin-top:2px}
.sig-gaphead{font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700;color:var(--ink2);margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}
.sig-cov{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:4px}
.sig-cov-partial{font-weight:700;color:var(--ink)}

.alerts{margin:12px 0 4px;display:flex;flex-direction:column;gap:8px}
.alert{background:#fbeee7;border:1px solid #e2b7a8;color:#9a3d10;border-radius:var(--r-md);padding:10px 13px;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5}
.alert b{color:#9a3d10}
.alert a{color:#9a3d10;font-weight:700}
.alert.cand{background:var(--gold-tint);border-color:var(--gold-line);color:var(--gold-text,#8a5510)}
.alert.cand b,.alert.cand a{color:var(--gold-text,#8a5510)}

.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.act{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:8px 13px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;text-decoration:none;cursor:pointer}
.act:hover{border-color:var(--brand-line)}
.act[disabled]{opacity:.5;cursor:default}
.act.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.act.primary:hover{background:var(--brand-dk);border-color:var(--brand-dk)}
.nursing-suggestions{margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper2)}
.nursing-suggestions h2{margin-top:4px}
.nursing-priorities{border:0;padding:0;margin:18px 0;min-width:0}
.nursing-priorities legend{font-weight:700}
.nursing-priorities .actions{margin-top:10px}
.nursing-medicaid{display:inline-flex;align-items:center;gap:9px;margin-top:16px;line-height:1.5;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer;border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;background:var(--card);max-width:100%}
.nursing-medicaid.is-selected{background:#e6f2ed;border-color:#b7d7c9;color:#075b40}
.nursing-medicaid input{margin:0;flex-shrink:0;accent-color:var(--brand);width:16px;height:16px}
.medicaid-status-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #b7d7c9;border-radius:var(--r-md);padding:10px 14px;background:#e6f2ed;color:#075b40;max-width:100%;margin:12px 0 0;vertical-align:middle}
.medicaid-status-icon{display:grid;place-items:center;border-radius:50%;background:#0b6c4d;color:#fff;width:26px;height:26px;flex-shrink:0;font-size:var(--t-body);font-weight:700;line-height:1}
.medicaid-status-copy{min-width:0;overflow-wrap:anywhere}
.medicaid-status-copy strong{display:block;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.35}
.medicaid-status-copy small{display:block;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.4;letter-spacing:.03em;text-transform:uppercase;margin-top:3px}
.medicaid-status-neutral{background:#f4f2ec;border-color:#d7d2c5;color:#635d50}
.medicaid-status-neutral .medicaid-status-icon{background:#ded9cf;color:#635d50}
.nursing-suggestion-status{margin:16px 0;line-height:1.6}
.nursing-suggestion-card .fac-n{margin:12px 0 4px;overflow-wrap:anywhere}
.nursing-suggestion-card h4{font-size:max(var(--t-body),var(--fs-body,0px));margin:18px 0 8px}
.nursing-suggestion-card ul{padding-left:20px;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.6;color:var(--ink2)}
.nursing-suggestion-source{border-top:1px solid var(--line);padding-top:12px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2)}
.nursing-policy,.nursing-more{margin-top:18px;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.6}
.nursing-policy summary,.nursing-more summary{cursor:pointer;font-weight:700;color:var(--brand-dk)}
.nursing-suggestions :is(button,input,a,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:600px){.nursing-suggestions{padding:16px}.nursing-suggestion-card .actions .act{width:100%;justify-content:center;white-space:normal;text-align:center}}

.comparebar{position:sticky;bottom:16px;z-index:5;display:flex;gap:8px;justify-content:center;background:var(--card);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:10px;box-shadow:var(--shadow);margin:14px 0}
.comparepanel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin:14px 0;box-shadow:var(--shadow-sm)}
.cmp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cmp-cols{display:grid;gap:8px 12px;font-size:max(var(--t-label),var(--fs-2nd,0px));overflow-x:auto}
.cmp-l{font-weight:700;color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px))}
.cmp-v{color:var(--ink);font-variant-numeric:tabular-nums}
.cmp-v.fac-n{font-size:max(var(--t-small),var(--fs-body,0px))}

.disc{color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.55;border-top:1px solid var(--line);padding-top:14px;margin-top:22px}
/* Compact single-block footnote -- one hairline, tight leading, no stacked bordered blocks. */
.disc-compact{color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;border-top:1px solid var(--line);padding-top:12px;margin-top:20px;max-width:70ch}
.provider-state-directory{margin:32px 0 18px;padding-top:24px;border-top:1px solid var(--line)}
.provider-state-directory h2{margin-bottom:8px}
.provider-state-directory .carechips{margin-top:14px}
.provider-directory-grid{margin-bottom:24px}
.provider-city-insights{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:20px 22px;margin:20px 0 24px}
.provider-city-insights h2{margin:4px 0 8px}
.provider-city-insights p{max-width:74ch;line-height:1.6}
.provider-city-insights summary,.quality-card summary{cursor:pointer;font-weight:700;color:var(--brand-dk)}
.provider-city-insights[open] summary,.quality-card[open] summary{margin-bottom:12px}
.eyebrow.sentence{text-transform:none;letter-spacing:0;font-weight:700;font-size:max(var(--t-small),var(--fs-floor,0px))}
.provider-city-fold{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:0 18px;margin:14px 0}
.provider-city-fold>summary{cursor:pointer;min-height:48px;padding-block:10px;display:flex;align-items:center;font-weight:800;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--brand-dk)}
.provider-city-fold[open]{padding-bottom:16px}
.provider-city-fold[open]>summary{margin-bottom:6px}
.provider-city-fold .eyebrow{text-transform:none;letter-spacing:0;font-size:max(var(--t-small),var(--fs-floor,0px))}
.provider-city-fold .provider-city-insights,.provider-city-fold .nursing-suggestions{border:0;padding:0;margin:0;background:none}
.provider-link-list{margin:24px 0}
.provider-link-list ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0 22px}
.provider-link-list li a{display:inline-flex;align-items:center;min-height:36px;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--brand-dk);text-underline-offset:3px}
.provider-city-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.provider-rating-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.provider-city-stat{background:var(--card);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:4px}
.provider-city-stat strong{font-family:var(--display),serif;font-size:var(--t-title);line-height:1;color:var(--brand-dk)}
.provider-city-stat span{font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.4;color:var(--ink2)}
.provider-city-guide{margin:10px 0 8px;padding-left:20px}
.provider-city-guide li{margin:7px 0;line-height:1.55}
.provider-market-benchmark{background:rgba(255,255,255,.7);border-left:4px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:12px 14px;margin:2px 0 20px}
.provider-market-card{scroll-margin-top:90px}
.provider-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.provider-fact-grid>div{background:var(--paper2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;min-width:0}
.provider-fact-grid dt{color:#53625a;font-size:max(var(--t-small),var(--fs-floor,0px));font-weight:700}
.provider-fact-grid dd{color:var(--ink);font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.45;margin:4px 0 0;overflow-wrap:anywhere}
.provider-market-faq{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}
.provider-market-faq>div{border-bottom:1px solid var(--line);padding:5px 0 12px}
.provider-market-faq h3{font-size:var(--t-body);margin:12px 0 5px}
.provider-market-faq p{color:var(--ink2);line-height:1.6;margin:0;max-width:78ch}
@media(max-width:760px){.provider-city-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.provider-fact-grid{grid-template-columns:1fr}}
@media(max-width:440px){.provider-city-insights{padding:17px 16px}.provider-city-stats{grid-template-columns:1fr}}
@media(max-width:440px){.provider-rating-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.soonnote{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:13px 16px;margin-top:18px;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.5;color:var(--ink)}
.soonnote a{color:var(--brand-dk);font-weight:600}

/* detail page */
.crumb{margin:12px 0 4px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.detail-hero{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
.detail-hero .pill{font-size:max(var(--t-small),var(--fs-floor,0px));letter-spacing:0;text-transform:none}
.rating-help summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:var(--t-lede);color:var(--brand-dk)}
.rating-help summary::-webkit-details-marker{display:none}
.rating-help summary>span{width:28px;height:28px;border:2px solid var(--brand);border-radius:50%;display:grid;place-items:center}
.rating-help[open]{flex-basis:100%}
.rating-help p,.rating-help .sig-cov{margin:6px 0;font-size:max(var(--t-small),var(--fs-floor,0px));color:var(--ink2);line-height:1.5}
.hbar-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;margin:8px 0}
.hbar-lbl{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2)}
.hbar{height:10px;background:var(--paper2);border-radius:var(--r-pill);overflow:hidden}
.hbar-fill{height:100%;background:var(--brand);border-radius:var(--r-pill)}
/* white-space:nowrap kept ONLY for the numeric case it exists for (keeping "3.2 / 5" on one
   line). A suppressed measure renders a full sentence here — "Not enough data to report — too
   few cases for the source to publish a figure." — and nowrap forced that to ~458px inside a
   ~346px grid cell, blowing document width out to 642px and giving the WHOLE PAGE horizontal
   scroll below ~660px. That is every phone in portrait. Found by browser QA at 390px on
   /care/facilities/025019; invisible at desktop width, which is why nothing else caught it. */
.hbar-val{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;overflow-wrap:anywhere}
.hbar-val.sig-txt{white-space:normal}
.paylist{margin:8px 0;padding-left:20px}
.paylist li{font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.6;margin:6px 0}
.ref{margin:18px 0 6px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.7;border-top:1px solid var(--line);padding-top:14px}
.ref-h{font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:max(var(--t-label),var(--fs-floor,0px));margin-bottom:6px}

/* ── Save / Your Profile ─────────────────────────────────────────── */
.saveheart{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:8px 13px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;cursor:pointer;line-height:1}
.saveheart span{color:var(--brand);font-size:max(var(--t-body),var(--fs-body,0px))}
.saveheart:hover{border-color:var(--brand-line)}
.saveheart.on{background:var(--brand-tint);border-color:var(--brand-line);color:var(--brand-dk)}
.saveheart.on span{color:var(--brand-dk)}

.savedfab{position:fixed;left:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:var(--r-pill);padding:11px 18px;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.savedfab:hover{background:var(--brand-dk)}
.savedfab span{font-size:max(var(--t-body),var(--fs-body,0px))}
/* F08: superseded by the shared ≤820px chatfab/savedfab lift + data-cookiebar stacking above. */

.saveddrawer-backdrop{position:fixed;inset:0;z-index:40;background:rgba(23,36,29,.34);display:flex;justify-content:flex-end;animation:sd-fade .18s ease}
.saveddrawer{width:100%;max-width:380px;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:sd-slide .22s ease}
@keyframes sd-fade{from{opacity:0}to{opacity:1}}
@keyframes sd-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.saveddrawer-backdrop,.saveddrawer{animation:none}}
.saveddrawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.saveddrawer-head b{font-size:max(var(--t-body),var(--fs-body,0px))}
.saveddrawer-head button{background:none;border:none;font-size:var(--t-lede);cursor:pointer;color:var(--ink2);line-height:1}
.saveddrawer-body{flex:1;overflow-y:auto;padding:10px 18px}
.saveddrawer-group{margin:14px 0}
.saveddrawer-gh{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:8px}
.saveddrawer-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2)}
.saveddrawer-rl{flex:1;min-width:0}
.saveddrawer-rlbl{font-weight:600;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.saveddrawer-rsub{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.saveddrawer-open{font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;color:var(--brand);text-decoration:none}
.saveddrawer-x{background:none;border:none;color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px));cursor:pointer;line-height:1;padding:2px 4px}
.saveddrawer-foot{border-top:1px solid var(--line);padding:16px 18px;background:var(--paper)}
.saveddrawer-lbl{display:block;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:600;margin-bottom:8px}
.saveddrawer-inputrow{display:flex;gap:8px}
.saveddrawer-inputrow input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font-size:max(var(--t-small),var(--fs-2nd,0px));background:#fff;color:var(--ink)}
.saveddrawer-inputrow button{background:var(--brand);color:#fff;border:none;border-radius:var(--r-sm);padding:9px 13px;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:700;cursor:pointer;white-space:nowrap}
.saveddrawer-inputrow button:disabled{opacity:.55;cursor:default}
.saveddrawer-err{color:#b4231e;font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:8px}
.saveddrawer-consent{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:8px;line-height:1.5}
.saveddrawer-synced{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--brand-dk)}
.saveddrawer-synced a{color:var(--brand);font-weight:600}
.mysec{margin:22px 0}
.mysec h2{font-size:max(var(--t-small),var(--fs-body,0px));font-weight:800;margin-bottom:6px}

/* ===== Partners / agent network ===== */
.pnr{max-width:1180px;margin:0 auto;padding:0 30px 10px}
.pnr-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pnr-nav .logo{text-decoration:none}
.pnr-navlinks{display:flex;align-items:center;gap:26px;font-size:max(var(--t-small),var(--fs-body,0px))}
.pnr-navlinks a{color:var(--ink);text-decoration:none}
.pnr-navlinks a:hover{color:var(--brand)}
.pnr-back{color:var(--gold-text,#8a5510)!important;font-weight:600;border-left:1px solid var(--line);padding-left:26px}
.pnr-hero{padding:44px 0 30px;max-width:64ch}
.pnr-h1{font-family:var(--display),serif;font-weight:600;font-size:var(--t-display);line-height:1.1;letter-spacing:-.025em;color:var(--brand-dk);margin:14px 0 16px;text-wrap:balance}
.pnr-lede{font-size:var(--t-lede);color:var(--ink2);margin:0;line-height:1.5}

.pnr-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:40px}
.pnr-card{border:1px solid var(--line);border-radius:var(--r-md);padding:28px;display:flex;flex-direction:column}
.pnr-card.fam{background:var(--card)}
.pnr-card.agt{background:var(--brand-tint);border-color:var(--brand-line)}
.pnr-cardk{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-bottom:10px}
.pnr-cardh{font-family:var(--display),serif;font-weight:600;font-size:var(--t-title);letter-spacing:-.02em;color:var(--brand-dk);margin:0 0 10px}
.pnr-cardp{font-size:max(var(--t-body),var(--fs-body,0px));line-height:1.5;color:var(--ink2);margin:0 0 20px}
.pnr-cta{display:block;text-align:center;border-radius:var(--r-md);padding:15px 18px;font-size:var(--t-body);font-weight:700;text-decoration:none;cursor:pointer}
.pnr-cta.solid{background:var(--brand-dk);color:#fff;border:2px solid var(--brand-dk)}
.pnr-cta.solid:hover{background:var(--brand);border-color:var(--brand)}
.pnr-cta.outline{background:transparent;color:var(--brand-dk);border:2px solid var(--brand-dk)}
.pnr-cta.outline:hover{background:var(--brand-dk);color:#fff}
.pnr-cardnote{text-align:center;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);margin-top:12px}
.pnr-disc{font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;color:var(--ink2);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}

.pnr-understand{border-top:1px solid var(--line);padding:34px 0}
.pnr-filter{margin:0 0 var(--s-4)}
.pnr-filter-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);border:1.5px solid var(--brand);border-radius:var(--r-pill);background:var(--card);color:var(--brand-dk);font-weight:700;font-size:var(--t-small);text-decoration:none}
.pnr-filter-btn:hover{background:var(--brand-tint)}
.pnr-uh{font-family:var(--display),serif;font-weight:600;font-size:var(--t-title);letter-spacing:-.02em;color:var(--brand-dk);margin:0 0 20px}
.pnr-ugrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.pnr-u b{display:block;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink);margin-bottom:6px}
.pnr-u p{margin:0;font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.55;color:var(--ink2)}
.pnr-dir{border-top:1px solid var(--line);padding:30px 0}

.pnr-apply{display:grid;grid-template-columns:1.35fr .65fr;gap:44px;border-top:1px solid var(--line);padding:38px 0 30px;align-items:start}
.pnr-applyh{font-family:var(--display),serif;font-weight:600;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.02em;color:var(--brand-dk);margin:0 0 6px}
.pnr-applysub{font-size:var(--t-body);color:var(--ink2);margin:0 0 6px}
.pnr-next{border-left:1px solid var(--line);padding-left:32px}
.pnr-nexth{font-family:var(--display),serif;font-weight:600;font-size:var(--t-title);color:var(--brand-dk);margin:0 0 18px}
.pnr-step{display:flex;gap:12px;margin-bottom:18px}
.pnr-stepn{flex:none;width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand-dk);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--display),serif}
.pnr-step b{display:block;font-size:max(var(--t-body),var(--fs-body,0px));color:var(--ink)}
.pnr-step p{margin:2px 0 0;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);line-height:1.45}
.pnr-nextnote{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);border-top:1px solid var(--line);padding-top:14px;margin-top:6px}

/* Agent application form */
.aaf{display:flex;flex-direction:column;gap:0;max-width:560px;margin-top:20px}
.aaf-req{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);margin:0 0 16px}
.aaf-star{color:var(--coral);font-weight:700}
.aaf-opt{color:var(--ink2);font-weight:400}
.aaf-field{display:flex;flex-direction:column;margin-bottom:16px}
.aaf-field label{font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--ink);margin-bottom:6px}
.aaf-field input,.aaf-field textarea{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px 14px;font-size:max(var(--t-body),var(--fs-body,0px));font-family:inherit;color:var(--ink)}
.aaf-field input:focus,.aaf-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.aaf-hint{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-top:6px}
.aaf-more{border:1px solid var(--line);border-radius:var(--r-md);padding:0;margin:4px 0 18px;background:var(--card)}
.aaf-more summary{cursor:pointer;padding:15px 18px;font-size:max(var(--t-body),var(--fs-body,0px));font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;justify-content:space-between}
.aaf-more summary::-webkit-details-marker{display:none}
.aaf-more summary::after{content:"+";font-size:var(--t-number);color:var(--ink2);font-weight:400}
.aaf-more[open] summary::after{content:"–"}
.aaf-more summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:var(--r-md)}
.aaf-more[open] summary{border-bottom:1px solid var(--line)}
.aaf-morehint{padding:12px 18px 0;margin:0}
.aaf-more .aaf-field{padding:0 18px}
.aaf-more .aaf-field:last-of-type{padding-bottom:16px}
.aaf-err{background:#fdecea;border:1px solid #f3c2bd;color:#8a2418;border-radius:var(--r-sm);padding:12px 14px;font-size:max(var(--t-small),var(--fs-2nd,0px));margin-bottom:14px}
.aaf-submit{background:var(--brand-dk);color:#fff;border:0;border-radius:var(--r-md);padding:16px;font-size:var(--t-body);font-weight:700;cursor:pointer}
.aaf-submit:hover:not(:disabled){background:var(--brand)}
.aaf-submit:disabled{opacity:.6;cursor:not-allowed}
.aaf-foot{margin-top:10px}

@media (max-width:820px){
  .pnr{padding:0 18px 10px}
  .pnr-navlinks{gap:14px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
  .pnr-back{border-left:0;padding-left:0}
  .pnr-paths{grid-template-columns:1fr;gap:18px;padding-bottom:26px}
  .pnr-hero{padding:26px 0 22px}
  .pnr-apply{grid-template-columns:1fr;gap:26px}
  .pnr-next{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}
  .aaf{max-width:100%}
  .aaf-field input,.aaf-field textarea{font-size:max(var(--t-body),var(--fs-body,0px))}
}

/* ===== Salute / dedication page ===== */
.ded{max-width:1180px;margin:0 auto;padding:0 30px 10px}
.ded-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 16px;border-bottom:1px solid var(--gold-line);flex-wrap:wrap}
.ded-nav .logo{text-decoration:none}
.logo-name{white-space:nowrap}
.ded-navlinks{display:flex;align-items:center;gap:26px;font-size:max(var(--t-small),var(--fs-body,0px))}
.ded-navlinks a{color:var(--ink);text-decoration:none}
.ded-navlinks a:hover{color:var(--brand)}
.ded-back{color:var(--gold-text,#8a5510)!important;font-weight:600;border-left:1px solid var(--line);padding-left:26px}

.ded-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:52px 0 44px}
.ded-h1{font-family:var(--display),serif;font-weight:600;font-size:var(--t-display);line-height:1.1;letter-spacing:-.025em;color:var(--brand-dk);margin:16px 0 22px;text-wrap:balance}
.ded-lede{font-size:var(--t-lede);line-height:1.55;color:var(--ink2);margin:0 0 16px;max-width:34ch}
.ded-lede2{font-size:var(--t-lede);line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 22px}
.ded-read{display:inline-block;color:var(--ink);font-size:var(--t-body);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:3px}
.ded-read:hover{color:var(--brand)}
.ded-figure{margin:0;text-align:center}
.ded-photo{width:100%;height:auto;max-width:430px;border-radius:var(--r-sm);background:#fff;padding:10px;border:1px solid var(--gold-line);box-shadow:0 20px 50px -28px rgba(23,36,29,.45)}
.ded-figure figcaption{margin-top:16px;display:flex;flex-direction:column;gap:3px}
.ded-names{font-family:var(--display),serif;font-size:var(--t-number);font-weight:600;color:var(--brand-dk)}
.ded-meta{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2)}

.ded-chapnav{display:flex;align-items:center;gap:30px;flex-wrap:wrap;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);padding:16px 0;margin:12px 0 0}
.ded-chaplabel{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text,#8a5510)}
.ded-chapnav a{font-family:var(--display),serif;font-size:var(--t-body);color:var(--ink);text-decoration:none}
.ded-chapnav a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:5px}

.chap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;padding:46px 0;border-bottom:1px solid var(--line2)}
.chap-h{font-family:var(--display),serif;font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1.06;letter-spacing:-.02em;color:var(--brand-dk);margin:0}
.chap-body{border-left:1px solid var(--gold-line);padding-left:40px}
.chap-body p{font-size:var(--t-body);line-height:1.62;color:var(--ink);margin:0 0 18px;max-width:62ch}
.chap-body p:last-child{margin-bottom:0}

.salute-band{background:var(--brand-dk);border-radius:var(--r-md);color:#fff;text-align:center;padding:64px 30px 58px;margin:44px 0 0}
.salute-invite{max-width:640px;margin:40px auto 0;text-align:center}
.salute-invite .eyebrow{justify-content:center}
.salute-invite .si-h{font-family:var(--display),serif;font-weight:600;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.02em;margin:12px 0 12px;color:var(--brand-dk)}
.salute-invite .si-body{font-size:var(--t-lede);color:#40493f;line-height:1.55;margin:0 auto 8px;max-width:52ch}
.salute-invite .cta{display:inline-block;width:auto;margin-top:18px;padding:14px 28px;text-decoration:none}
.salute-invite .si-note{font-size:max(var(--t-small),var(--fs-2nd,0px));color:#53625a;margin-top:12px}
.salute-stories{max-width:1040px;margin:52px auto 0;text-align:center}
.salute-stories .ss-h{font-family:var(--display),serif;font-weight:600;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.02em;margin:10px 0 22px;color:var(--brand-dk)}
.ss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;text-align:left}
.ss-card{display:block;background:#fffdf7;border:1px solid #e4ddcb;border-radius:var(--r-md);padding:20px 22px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.ss-card:hover{border-color:var(--brand-line);box-shadow:0 6px 20px rgba(12,107,79,.08)}
.ss-name{font-weight:700;font-size:var(--t-body);color:#17241d}
.ss-loc{font-size:max(var(--t-label),var(--fs-2nd,0px));color:#53625a;margin-top:2px}
.ss-ex{font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.55;color:#3a443a;margin:10px 0 12px}
.ss-read{font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--brand)}
.sb-eyebrow{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-tint);margin-bottom:18px}
.sb-h{font-family:var(--display),serif;font-weight:600;font-size:clamp(36px,5vw,64px);line-height:1.04;letter-spacing:-.025em;margin:0 0 20px;color:#fff}
.sb-sub{font-size:var(--t-lede);color:rgba(255,255,255,.88);margin:0 auto;max-width:58ch;line-height:1.5}
.sb-rule{display:block;width:74px;height:2px;background:var(--gold);margin:28px auto 24px;border-radius:var(--r-sm)}
.sb-quote{margin:0 auto 26px;max-width:52ch;border:0;padding:0}
.sb-quote p{font-family:var(--display),serif;font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.34;color:#fff;margin:0 0 12px;text-wrap:balance}
.sb-quote cite{display:block;font-style:normal;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-tint)}
.sb-note{font-size:max(var(--t-body),var(--fs-body,0px));color:rgba(255,255,255,.8);max-width:66ch;margin:0 auto;line-height:1.6}

.keepsake{padding:50px 0 34px}
.ks-head{margin-bottom:6px}
.ks-h{font-family:var(--display),serif;font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1.06;letter-spacing:-.02em;color:var(--brand-dk);margin:14px 0 8px}
.ks-sub{font-size:var(--t-lede);color:var(--ink2);margin:0}
.ks-privacy{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin:8px 0 0}

.afterhelp{border-top:1px solid var(--line);padding:30px 0 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.ah-h{font-family:var(--display),serif;font-weight:600;font-size:30px;letter-spacing:-.015em;color:var(--brand-dk);margin:0;flex:1;min-width:240px}
.ah-links{display:flex;gap:30px;flex-wrap:wrap}
.ah-links a{color:var(--ink);font-size:max(var(--t-body),var(--fs-body,0px));text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:3px}
.ah-links a:hover{color:var(--brand)}
.ah-note{flex-basis:100%;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin:6px 0 0}

@media (max-width:820px){
  .ded{padding:0 18px 10px}
  .ded-hero{grid-template-columns:1fr;gap:26px;padding:26px 0 30px}
  .ded-h1{margin-bottom:16px}
  .ded-lede,.ded-lede2{font-size:var(--t-body)}
  .ded-photo{max-width:100%}
  .ded-back{border-left:0;padding-left:0}
  .ded-navlinks{gap:16px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
  .chap{grid-template-columns:1fr;gap:18px;padding:34px 0}
  .chap-body{border-left:0;padding-left:0}
  .chap-body p{font-size:max(var(--t-body),var(--fs-body,0px))}
  .salute-band{padding:44px 22px 40px;border-radius:var(--r-md)}
  .afterhelp{gap:14px}
  .ah-links{flex-direction:column;gap:12px}
}

/* Caregiver badge */
.badgesec{margin:44px 0 8px}
.badge-wrap{display:flex;gap:46px;flex-wrap:wrap;align-items:flex-start;margin-top:26px}
.badge-form{flex:1;min-width:270px;max-width:420px;display:flex;flex-direction:column}
.badge-dl{margin-top:18px;background:var(--brand-dk);color:#fff;border:0;border-radius:var(--r-md);padding:16px;font-size:var(--t-body);font-weight:700;cursor:pointer}
.badge-dl:hover{background:var(--brand)}
.badge-fmt{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin-top:8px}
.badge-prevlbl{align-self:flex-start;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}
.badge-prevnote{font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);margin-top:14px;text-align:center}
.badge-in{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:11px 13px;font-size:max(var(--t-body),var(--fs-body,0px));font-weight:600;color:var(--ink);font-family:inherit}
.badge-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.badge-in-sm{max-width:130px}
.badge-preview{flex:1;min-width:280px;display:flex;flex-direction:column;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:22px}
.badge-canvas{width:100%;max-width:360px;height:auto;filter:drop-shadow(0 8px 24px rgba(23,36,29,.15))}
@media (max-width:640px){.badge-wrap{flex-direction:column}.badge-preview{order:-1}}

/* Reviews */
.rv-wrap{max-width:760px;margin:0 auto;padding:24px 18px 60px}
.rv-agg{display:flex;align-items:center;gap:10px;margin:12px 0 20px;flex-wrap:wrap}
.rv-agg-num{font-size:2rem;font-weight:700;font-family:var(--display),serif}
.rv-agg-count{color:var(--ink2)}
.rv-stars{letter-spacing:2px;color:#f5a623}
.rv-stars-off{color:#d9d9d9}
.rv-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;margin:16px 0}
.rv-card{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--card)}
.rv-card-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rv-badge{font-size:max(var(--t-label),var(--fs-floor,0px));background:var(--brand-tint);color:var(--brand-dk);border-radius:var(--r-pill);padding:2px 8px}
.rv-card-title{font-weight:700;margin:2px 0}
.rv-card-body{margin:4px 0;color:var(--ink)}
.rv-card-by{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px))}
.rv-foot{margin-top:22px}
.rv-form-card{border:1px solid var(--line);border-radius:var(--r-md);padding:22px 24px;background:var(--card);margin-top:28px;max-width:640px}
.rv-form-card h2{font-size:var(--t-number);margin-bottom:4px}
.rv-snip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;font-size:max(var(--t-small),var(--fs-body,0px));margin:2px 0 14px}
.rv-snip-star{color:#f5a623}
.rv-snip-txt{color:var(--ink2)}
.rvf{display:flex;flex-direction:column;gap:10px;max-width:520px;margin-top:12px}
.rvf-stars{display:flex;gap:4px}
.rvf-star{font-size:1.7rem;line-height:1;background:none;border:none;cursor:pointer;color:#d9d9d9;padding:0}
.rvf-star.on{color:#f5a623}
.rvf-row{display:flex;gap:10px}
.rvf-ta{padding:11px 13px;border:1.5px solid var(--line);border-radius:var(--r-md);font:inherit;width:100%;color:var(--ink);background:#fff}
.rvf-ta:focus,.badge-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.rvf-err{color:var(--coral);font-size:max(var(--t-small),var(--fs-body,0px))}
.rvf-done{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-sm);padding:14px 16px;color:var(--brand-dk)}

/* Agent network / partners */
.pt-sec{margin:30px 0;padding-top:22px;border-top:1px solid var(--line)}
.pt-sec h2{margin-bottom:6px}
.pt-agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:14px 0}
.pt-agent{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--card)}
.pt-agent-n{font-weight:700;font-family:var(--display),serif;font-size:1.05rem}
.pt-agent-ag{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px))}
.pt-agent-loc{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin:6px 0}
.pt-agent-sp{font-size:max(var(--t-label),var(--fs-2nd,0px));margin:4px 0}
.pt-agent-bio{font-size:max(var(--t-small),var(--fs-body,0px));margin:6px 0 10px;color:var(--ink)}

/* ===== Homepage / landing ===== */
.home{max-width:1140px;margin:0 auto;padding:0 28px 8px;min-height:100vh;display:flex;flex-direction:column;
  /* The first-visit page uses metric-compatible local faces so its primary text paints without
     waiting on two webfont files. The planner and editorial routes retain the branded webfonts. */
  --display:Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-family:var(--sans)}
/* Keep the complete crawlable footer in the server HTML while deferring below-the-fold layout and
   paint work until it approaches the viewport. The intrinsic block size prevents scroll jumps. */
/* Same defect, home-specific rule: 1100px declared against the same ~1438px footer. */
.home .psfoot{}
.home-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 14px;flex-wrap:wrap}
.home-brand{display:flex;align-items:center;gap:16px}
.home-logoname{display:inline-flex;flex-direction:column;line-height:1.02}
.home-logotext{font-family:var(--display),serif;font-weight:700;font-size:var(--t-title);letter-spacing:-.015em;color:var(--ink);white-space:nowrap}
.home-logotext b{color:var(--brand);font-weight:700}
.home-logosub{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2);margin-top:3px}
.home-brand-div{width:1px;height:34px;background:var(--line)}
.home-tagline{font-family:var(--display),serif;font-style:italic;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--ink2);max-width:120px;line-height:1.2}
.home-navlinks{display:flex;align-items:center;gap:22px;font-size:max(var(--t-small),var(--fs-body,0px))}
.home-navlinks a{color:var(--ink);text-decoration:none;font-weight:500}
.home-navlinks a:hover{color:var(--brand)}
.home-freepill{border:1.5px solid var(--brand);color:var(--brand-dk);border-radius:var(--r-pill);padding:7px 16px;font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px))}
.home-enrollwrap{margin:2px 0 8px}

.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;padding:40px 0 44px}
.hero-copy .eyebrow{margin-bottom:16px}
.hero-h1{font-family:var(--display),serif;font-weight:600;font-size:var(--t-display);line-height:1.1;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance;color:var(--ink)}
.hero-sub{font-size:var(--t-lede);line-height:1.5;color:var(--ink2);max-width:30ch;margin:0 0 22px}
.hero-checks{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:16px}
.hero-checks span{font-weight:600;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.hero-cms{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}

.sh-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:30px 30px 26px;box-shadow:0 18px 50px -24px rgba(23,36,29,.28)}
.sh-eyebrow{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}
.sh-h{font-family:var(--display),serif;font-weight:600;font-size:30px;letter-spacing:-.015em;margin:0 0 6px;color:var(--ink)}
.sh-sub{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px));margin:0 0 20px}
.sh-label{display:block;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:600;color:var(--ink);margin-bottom:7px}
.sh-in{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:15px 16px;font-size:var(--t-lede);font-weight:600;color:var(--ink);letter-spacing:.01em}
.sh-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.sh-cta{margin-top:14px;width:100%;background:var(--brand);color:#fff;border:0;border-radius:var(--r-md);padding:16px;font-size:var(--t-body);font-weight:700;cursor:pointer;transition:background .15s}
.sh-cta:hover:not(:disabled){background:var(--brand-dk)}
.sh-cta:disabled{opacity:.5;cursor:not-allowed}
.sh-note{text-align:center;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:12px}
.sh-divider{height:1px;background:var(--line);margin:18px 0 14px}
.sh-dottie{text-align:center;color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px))}
.sh-dottielink{background:none;border:0;color:var(--ink);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:max(var(--t-small),var(--fs-2nd,0px));padding:0}
.sh-dottielink:hover{color:var(--brand)}

.helpstrip{display:flex;align-items:center;gap:16px;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:18px 22px;text-decoration:none;color:inherit;margin-bottom:14px}
.helpstrip:hover{background:var(--card)}
.hs-ico{font-size:var(--t-number);flex:none}
.hs-txt{flex:1;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink2)}
.hs-txt b{color:var(--ink);font-family:var(--display),serif;font-weight:600;font-size:var(--t-lede);display:block;margin-bottom:1px}
.hs-cta{flex:none;color:var(--brand-dk);font-weight:700;font-size:max(var(--t-small),var(--fs-body,0px));white-space:nowrap}

@media (max-width:820px){
  .home{padding:0 18px 8px}
  .hero{grid-template-columns:1fr;gap:26px;padding:22px 0 30px}
  .home-tagline,.home-brand-div{display:none}
  .home-navlinks{gap:14px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
  .home-navlinks a[href="/about"]{display:none}
  .cn-steps{grid-template-columns:1fr;gap:16px}
  .helpstrip{flex-wrap:wrap;gap:8px}
  .hs-txt{flex-basis:100%}
  .enroll{gap:10px;padding:12px 14px}
  .enroll .en-aside{flex-basis:100%;justify-content:flex-start}
  /* Taller here because .en-aside wraps to its own row: measured 134px outer at 390px. */
  .en-skeleton{min-height:134px}
}

/* ============================================================================
   SHARED SHELL + FOOTER
   Appended at the end deliberately: these rules must win over the five legacy
   nav blocks (.home-nav .pnr-nav .ded-nav .top) they replace, and appending
   makes that ordering explicit instead of relying on specificity games.
   ============================================================================ */

/* One container for header, body and footer. Replaces .wrap's 600px cap on the
   editorial pages; .wrap itself is widened below so /about, /help and /care stop
   squeezing the same footer into 369px while /partners rendered it at 265px. */
.shell{max-width:1040px;margin:0 auto;padding:0 22px}

/* ---- shared header ---- */
/* width:100% is load-bearing. .wrap is display:flex;flex-direction:column, and on a flex item
   `margin:0 auto` with no width makes auto margins absorb the free space and shrink the item to
   fit-content — the header collapsed to 715px instead of filling 996px. */
.sh-wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 22px}
.sh{display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:20px 0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sh-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.sh-mark{width:44px;height:44px;border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex:none}
.sh-name{font-family:var(--display),serif;font-weight:700;font-size:var(--t-title);letter-spacing:-.015em;color:var(--ink)}
.sh-name b{color:var(--brand);font-weight:700}
.sh-nav{display:flex;align-items:center;gap:22px;font-size:max(var(--t-small),var(--fs-body,0px));flex-wrap:wrap}
.sh-nav a{color:var(--ink);text-decoration:none;font-weight:500}
.sh-nav a:hover{color:var(--brand)}
.sh-nav a.on{color:var(--brand-dk);font-weight:700;box-shadow:inset 0 -2px 0 var(--brand)}
.sh-nav a:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:var(--r-sm)}
.sh-pill{background:var(--brand-tint);border:1px solid var(--brand-line);color:var(--brand-dk);
         border-radius:var(--r-pill);padding:5px 12px;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;white-space:nowrap}
/* Secondary in-page jump links, so /partners and /salute keep their anchors
   without forking the primary bar again. */
.sh-pagenav{display:flex;gap:22px;flex-wrap:wrap;padding:10px 0 0;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.sh-pagenav a{color:var(--ink2);text-decoration:none;font-weight:600}
.sh-pagenav a:hover{color:var(--brand-dk);text-decoration:underline;text-underline-offset:3px}

/* ---- footer: deep-green nav band, then light cream disclosure ---- */
/* Renamed from .foot: that class ALREADY existed at line ~165 with text-align:center, and since
   my rule only set width/margin the centring silently applied to the whole footer — every row
   centred at a different max-width, so no two rows shared a visual left edge.
   Full-bleed via 100vw + negative margin: the brief asks for a full-width green band, but .wrap
   caps at 1040px so the band rendered as a 996px box floating in a 1280px viewport. */
/* Renamed from .foot: that class ALREADY existed (~line 165) with text-align:center. My rule only
   set width/margin, so the centring silently applied to the entire footer — and because each row
   has a different max-width, centred rows share no visual left edge. That was the misalignment.

   Alignment strategy: the page containers are all DIFFERENT widths (.wrap 1040, .home 1140,
   .pnr/.ded 1180, .rv-wrap 760), so a fixed-width footer can never line up everywhere. Instead the
   footer inherits whatever container it sits in, and only the BACKGROUND bleeds to the viewport
   edges (box-shadow + clip-path below). Content therefore aligns with the page it is on, by
   construction, and there is no 100vw scrollbar overflow. */
/* content-visibility:auto REMOVED HERE, deliberately. It reserved contain-intrinsic-size 800px as a
   placeholder for a footer whose real content is ~1438px (foot-band 948 + foot-disc 490). The 638px
   shortfall became DEAD BLANK SCROLL at the bottom of every page at <=820px — roughly 1650px of
   nothing before the document actually ended — and the same mismatch produced blank trailing pages
   in print output. Found by browser QA at 390px on /care/facilities/025018/visit, but it was never
   specific to that page: .psfoot is the SITEWIDE footer, so this affected every mobile page.
   The perf win it bought was small (a footer is below the fold; the browser already defers painting
   it) and it was paid for with a layout bug on the devices most of our users are on. If this is
   reintroduced for a Lighthouse score, the intrinsic size MUST be measured against the real
   rendered height, not estimated — see lib/footer-layout-guard.test.ts. */
.psfoot{width:100vw;margin-left:calc(50% - 50vw);margin-top:28px;text-align:left}
/* Footer/header inner containers must not re-apply max-width or padding: their parent page
   container already positions the content. Doing both is what pushed the header content to x=164
   while the footer sat at x=142. */
.psfoot .shell,.sh-wrap{max-width:none;padding:0}
/* box-shadow paints the band edge-to-edge; clip-path stops that shadow from adding scroll area. */
.foot-band{background:var(--brand-dk);color:#f3ece0;
  box-shadow:0 0 0 100vmax var(--brand-dk);clip-path:inset(0 -100vmax)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;padding-top:48px;padding-bottom:48px}
.fb-brand .sh-name{color:#fff;font-size:var(--t-number)}
.fb-brand .sh-name b{color:#8fd3b6}
.psfoot .fb-tag{font-size:max(var(--t-small),var(--fs-body,0px));color:#cfe3d8;margin:10px 0 0;max-width:34ch;line-height:1.6}
.psfoot .fb-h{font-family:var(--display),Georgia,"Times New Roman",serif;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#8fd3b6;margin:0 0 12px}
.psfoot .fb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.psfoot .fb-list a{color:#f3ece0;text-decoration:none;font-size:max(var(--t-body),var(--fs-body,0px));font-weight:400}
.psfoot .fb-list a:hover{text-decoration:underline;text-underline-offset:3px;color:#fff}
.psfoot .fb-list a:focus-visible{outline:2px solid #8fd3b6;outline-offset:3px;border-radius:var(--r-sm)}

/* No border-top: the element is only as wide as the page container while its background bleeds,
   so a border would draw a short line that stops short of the viewport edges. The green-to-cream
   colour change is the separator. */
.foot-disc{background:var(--paper2);color:#4c564e;
  box-shadow:0 0 0 100vmax var(--paper2);clip-path:inset(0 -100vmax)}
.foot-disc>.shell{padding-top:26px;padding-bottom:30px}
/* 14px / 1.6, up from 11.5px. Legal text people cannot read protects nobody. */
/* Legal disclaimer is required but should read as fine print, not body copy — smaller, lighter,
   more muted so it recedes below the footer nav (Jordan: down-weight to tighten the page). */
.psfoot .fd-text{font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;margin:0 0 12px;max-width:none}
.psfoot .fd-text p{margin:0 0 6px;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;color:#4f5a52}
.psfoot .fd-text a{color:#435048;font-weight:600}
.psfoot .fd-legal{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.fd-legal a,.fd-legal-btn{color:var(--brand-dk);font-weight:600;text-decoration:none;
  background:none;border:0;padding:0;font:inherit;cursor:pointer}
.fd-legal a:hover,.fd-legal-btn:hover{text-decoration:underline;text-underline-offset:3px}
.psfoot .fd-res{font-size:max(var(--t-label),var(--fs-2nd,0px));margin:0 0 10px}
.psfoot .fd-res a{color:var(--brand-dk);font-weight:700;text-decoration:none}
.psfoot .fd-res a:hover{text-decoration:underline}
.psfoot .fd-copy{font-size:max(var(--t-label),var(--fs-floor,0px));color:#4f5a52;margin:0}
/* KX21 demoted to a quieter secondary credit, per the footer brief. */
.psfoot .fd-kx{font-size:max(var(--t-label),var(--fs-floor,0px));color:#4f5a52;margin:6px 0 0}
.psfoot .fd-kx a{color:#435048;font-weight:600;text-decoration:none}

/* The cookie bar is position:fixed with no reserved space, so it sat on top of the
   last footer row even when scrolled fully to the bottom — measured 233px tall at
   390px and 300px at 320px, burying the final line entirely. This reserves that
   height while the bar is showing; CookieBanner sets data-cookiebar on <html>. */
html[data-cookiebar="1"] .foot-disc>.shell{padding-bottom:260px}

@media (max-width:820px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px;padding-top:28px;padding-bottom:28px}
  .fb-brand{grid-column:1/-1}
  .sh-nav{gap:14px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
}
@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr}
  .sh{padding:16px 0 12px}
  .sh-name{font-size:var(--t-heading)}
  html[data-cookiebar="1"] .foot-disc>.shell{padding-bottom:320px}
}
/* Homepage brand variant: keeps the approved moniker + tagline inside the shared header. */
.sh-brandfull{display:inline-flex;flex-direction:column;gap:1px}
.sh-moniker{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.sh-tagline{font-family:var(--display),serif;font-size:max(var(--t-small),var(--fs-body,0px));color:var(--ink2);font-style:italic;
            padding-left:16px;border-left:1px solid var(--line);margin-right:auto}
@media (max-width:820px){ .sh-tagline{display:none} }

/* Ranking reproducibility — quiet ref chip + report-a-problem panel (footer-weight, calm) */
.refchip{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));margin-top:10px}
.refchip button{border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:2px 10px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);cursor:pointer}
.report-link{background:none;border:none;padding:0;margin-top:6px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));text-decoration:underline;cursor:pointer;display:block}
.report-panel{border:1px solid var(--line);background:var(--card);border-radius:var(--r-md);padding:14px 16px;margin-top:10px}
.report-panel label{display:block;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin:10px 0 4px}
.report-panel select,.report-panel textarea,.report-panel input{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-size:max(var(--t-small),var(--fs-2nd,0px));background:#fff;color:var(--ink)}
.report-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin-top:8px}
.report-actions{display:flex;gap:10px;align-items:center}

/* Priorities entry — a visible card, not a footnote (Jordan 2026-09-15). */
.priority-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin:16px 0;box-shadow:var(--shadow-sm)}
.priority-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.priority-card-head p{margin:6px 0 0;color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px))}
.priority-card-head b{color:var(--ink)}
.priority-cta{width:auto;padding:10px 22px;white-space:nowrap}
/* Lead-change notice after a priorities apply. Calm brand tint, not an alarm. */
.leadchange{display:flex;align-items:flex-start;gap:10px;background:var(--brand-tint,#e7f2ec);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin:10px 0;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.leadchange p{margin:0;flex:1;color:var(--ink)}

/* Full-bleed footer: the shell has no padding of its own, so give both bands viewport-edge
   breathing room directly. */
.psfoot .foot-band .shell,.psfoot .foot-disc .shell{padding-left:clamp(18px,4vw,56px);padding-right:clamp(18px,4vw,56px)}


/* Pharmacy fit — the "this plan doesn't include your pharmacy" sentence plus its two ways out.
   Tone maps to the same semantic vocabulary the coverage strip uses: problem = real conflict,
   caution = works but not the cheapest, unknown = we could not confirm. Never green: a fit block
   only renders when there is something to act on. */
.pharmfit{border-radius:var(--r-md);padding:12px 14px;margin:10px 0 0;border:1px solid var(--line);background:var(--card)}
.pharmfit-h{display:block;font-size:max(var(--t-small),var(--fs-2nd,0px));font-weight:800;color:var(--ink)}
.pharmfit-d{margin:5px 0 0;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5;color:var(--ink2)}
.pharmfit-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pharmfit-acts .act{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:8px 12px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700;cursor:pointer}
.pharmfit-acts .act:hover{border-color:var(--brand-line);color:var(--brand-dk)}
.pharmfit-problem{background:#fdf2f1;border-color:rgba(180,35,30,.28)}
.pharmfit-problem .pharmfit-h{color:#8d1b17}
.pharmfit-caution{background:var(--gold-tint);border-color:var(--gold-line)}
.pharmfit-caution .pharmfit-h{color:#7a4d11}
.pharmfit-unknown{background:var(--paper2);border-color:var(--line)}

/* "Not sure" pre-fills several coverage chips. They are a starting point the tool chose, not
   answers the person gave, so they must not wear the same solid ✓ as a deliberate selection —
   three ticked chips read as three contradictory answers. */
.pick.suggested{background:var(--paper2);border-color:var(--line);color:var(--ink2);font-weight:600}
/* A .pick that carries a .picksub is a two-line choice, not a pill — used by the pharmacy channel
   chooser, where "By mail" needs "A 90-day supply is delivered to your door" to be a real choice.
   Scoped with :has() so every other pill on the site keeps its pill shape. */
.pick:has(.picksub){display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;border-radius:var(--r-md);text-align:left;max-width:270px;padding:11px 15px}
.picksub{display:block;font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:400;opacity:.78;line-height:1.35}
.pick.on .picksub{opacity:.92}
/* Pharmacy step v2: full-width tap cards (a .pick with .picksub is a two-line choice, capped at 270px above). */
.phlist{display:grid;gap:8px}
.pick.phcard{max-width:none;width:100%}
.pick.suggested:hover{border-color:var(--brand-line);color:var(--brand-dk)}

/* ── Hospice quality cards (task #112 Build 1) — "Four different views of care" ────────────────
   Reuses .sig-band's dashed/muted vocabulary for the suppressed state rather than inventing a
   second grey. Colour + the Georgia/var(--display) serif numeral are reserved for a real score —
   see components/CareSignals.tsx's own rule and lib/care-signal-core.ts formatSignal(). */
.quality-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
.quality-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:1.4rem}
.quality-card.suppressed{background:var(--paper2);border-style:dashed}
.quality-number{display:block;font-weight:700;font-size:var(--t-display);line-height:1;color:var(--brand);margin-bottom:6px}
.quality-never{display:block;font-family:var(--display),Georgia,serif;font-weight:600;font-size:1.15rem;line-height:1;color:var(--ink2);font-style:italic;margin-bottom:6px}
.quality-card h3{margin:0 0 6px}
.quality-card p{margin:0 0 8px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.55}
.quality-attr{font-size:max(var(--t-label),var(--fs-floor,0px));color:#53625a;line-height:1.5}
.quality-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin:4px 0 8px}

/* ── Sources block (Build 2) ─────────────────────────────────────────────────────────────────── */
.sources-table{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.sources-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:max(var(--t-label),var(--fs-2nd,0px))}
.sources-row:last-child{border-bottom:0}
.sources-row span{color:var(--ink2)}

/* ── Care Compare pointer (Build 3) — never a verdict, always a neutral link out ────────────── */
.oversight-pointer{margin-top:10px;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.oversight-pointer a{color:var(--brand);font-weight:600}

/* ── "Ratings cannot answer" sidebar block (links to /interview) ────────────────────────────── */
.interview-cta{background:var(--brand-dk);color:#fff;border-radius:var(--r-md);padding:1.3rem;margin:18px 0}
.interview-cta .eyebrow{color:#9ed3c3}
.interview-cta .eyebrow::before{background:#9ed3c3}
.interview-cta h3{margin:0 0 8px;color:#fff;font-size:1.2rem}
.interview-cta p{margin:0 0 12px;color:#cddeda;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5}
.interview-cta a{display:inline-block;background:#fff;color:var(--brand-dk);border-radius:var(--r-sm);padding:9px 14px;font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));text-decoration:none}

/* ── Interview page (Build 4) ────────────────────────────────────────────────────────────────── */
.interview-progress{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem;margin:14px 0}
.interview-progress-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.interview-progress progress{width:100%;accent-color:var(--brand)}
.interview-progress small{display:block;margin-top:8px;color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px))}
.device-note{background:var(--brand-tint);border:1px solid var(--brand-line);color:var(--brand-dk);border-radius:var(--r-sm);padding:10px 13px;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5;margin:10px 0}

.interview-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin-top:18px}
.q-group{margin:0 0 16px;padding:0;border:0}
.q-group legend{font-family:var(--display),Georgia,serif;font-weight:700;font-size:1.25rem;padding:0 0 10px;width:100%}
.q-group legend span{color:var(--brand);margin-right:8px}
.q-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px 14px;margin-bottom:10px;padding:1rem;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line2);border-radius:var(--r-md)}
.q-card.answered{border-left-color:var(--brand)}
.q-card.follow-up{border-left-color:var(--gold-text,#8a5510)}
.q-copy label{display:block;font-weight:700;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.4;color:var(--ink)}
.q-copy p{margin:4px 0 0;color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5}
.q-card select{align-self:start;width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-size:max(var(--t-label),var(--fs-2nd,0px))}
.q-card textarea{grid-column:1/-1;width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font:inherit;font-size:max(var(--t-label),var(--fs-2nd,0px));resize:vertical}
.q-card select:focus-visible,.q-card textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.call-record{padding:1.2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-top:6px}
.call-record h3{margin:0 0 10px}
.call-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.call-fields label{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:700;color:var(--ink)}
.call-fields input{display:block;margin-top:5px;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-size:max(var(--t-label),var(--fs-2nd,0px))}
.call-fields input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.interview-sidebar{position:sticky;top:16px;display:grid;gap:12px}
.interview-sidebar section{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem}
.tab-toggle{display:flex;gap:6px;background:var(--paper2);border-radius:var(--r-sm);padding:4px;margin-bottom:10px}
.tab-toggle button{flex:1;padding:8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink2);font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer}
.tab-toggle button.active{background:var(--card);color:var(--brand-dk);box-shadow:var(--shadow-sm)}
.tab-toggle button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.phone-open blockquote{margin:0 0 8px;padding-left:12px;border-left:3px solid var(--brand);font-family:var(--display),Georgia,serif;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.5;color:var(--ink)}
.email-copy{margin:8px 0;padding:10px;background:var(--paper2);border-radius:var(--r-sm);white-space:pre-line;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink)}
.copy-btn{width:100%;padding:9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer}
.copy-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.summary-counts{display:grid;gap:6px;margin:0 0 10px}
.summary-counts div{display:flex;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:max(var(--t-label),var(--fs-2nd,0px))}
.summary-counts dd{margin:0;font-weight:800}
.summary-save-btn{width:100%;padding:10px;border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--brand);color:#fff;font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer}
.summary-save-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.interview-toast{position:fixed;right:16px;bottom:16px;z-index:30;padding:10px 16px;border-radius:var(--r-sm);background:var(--brand-dk);color:#fff;box-shadow:var(--shadow);font-weight:700;font-size:max(var(--t-label),var(--fs-2nd,0px))}

@media (max-width:820px){
  .quality-cards{grid-template-columns:1fr}
  .interview-layout{grid-template-columns:1fr}
  .interview-sidebar{position:static}
  .q-card{grid-template-columns:1fr}
  .call-fields{grid-template-columns:1fr}
}

@media print{
  .interview-sidebar,.summary-save-btn,.crumb{display:none!important}
  .interview-layout{display:block}
  .q-group{break-inside:avoid}
  .q-card{break-inside:avoid}
}

/* ── Nursing-home tour sheet (facility-tour, mirrors the interview page above) ──────────────────
   Print matters MORE here than for the hospice interview: this page is meant to be printed and
   carried in a pocket on the walk-through, not read on a screen next to a phone. Every long
   sentence in a q-card must WRAP, never `white-space:nowrap` — that broke on phones before (a
   horizontal-scroll regression on a narrow q-card column), and a folded printed sheet is an even
   narrower reading column than a phone screen. */
.tour-booking{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem;margin:14px 0}
.tour-booking h2{margin:0 0 8px;font-size:1.1rem}
.tour-booking blockquote{margin:0 0 8px;padding-left:12px;border-left:3px solid var(--brand);font-family:var(--display),Georgia,serif;font-size:max(var(--t-small),var(--fs-2nd,0px));line-height:1.5;color:var(--ink)}
.tour-booking p{margin:0;color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.5}
.tour-section-h{margin-top:22px}

@media print{
  /* Force the two-column q-card back to one column on paper — the tour sheet is read in a pocket,
     narrower than any screen this site supports, so nothing on the printed page should assume the
     170px status-select column has room beside a long question label. */
  .q-card{grid-template-columns:1fr}
  .q-card textarea{min-height:2.4em}
}


/* Pharmacy reasoning inside the card's "Details & why" block. Borrows the existing pharmfit tone
   palette (.pharmfit-problem/-caution/-unknown already set background + border-color) and only adds
   the box model, so this introduces no second pharmacy visual language. Scoped to
   .pcard-reason-pharm so the .pharmfit-good rule below can't leak onto the mail-order block. */
.pcard-reason-pharm{margin-top:8px;border-radius:var(--r-sm);padding:8px 10px;border:1px solid var(--line);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5}
.pcard-reason-pharm.pharmfit-good{background:var(--paper2);border-color:var(--line)}
/* ── Medigap timing provenance (planner "what are you shopping for?" step) ─────────────────────
   The audit trail behind the state-specific Medigap claim in .cg-timing: the verbatim statute
   wording and our research caveats. It used to be concatenated into the timing paragraph itself,
   which made that paragraph 1,000-1,200 characters of statute text and methodology in front of
   someone choosing health coverage. Split out here as a low-chrome disclosure, reusing the
   .disclose/.ds-* pattern from this same step so it reads as the site's existing "more detail"
   affordance rather than a new visual language. Deliberately quieter than a standalone .disclose
   card — it sits INSIDE .covguide, so no second border/shadow competing with the card it's in. */
.cg-prov{border:0;border-radius:0;background:transparent;box-shadow:none;margin:8px 0 0;border-top:1px solid var(--line)}
.cg-prov>summary{padding:10px 0 8px;font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700;color:var(--ink2)}
.cg-prov>summary .ds-t{font-size:max(var(--t-label),var(--fs-2nd,0px))}
.cg-prov>summary .ds-cv{font-size:var(--t-lede)}
.cg-prov .ds-body{padding:0 0 8px}
.cg-prov .cg-quote{margin:0 0 10px;padding-left:12px;border-left:3px solid var(--line);font-family:var(--display),Georgia,serif;font-size:max(var(--t-label),var(--fs-2nd,0px));line-height:1.55;color:var(--ink2)}
.cg-prov .cg-caveat{margin:0 0 10px;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.55;color:var(--ink2)}
.cg-prov .cg-src{margin:0;font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.5;color:var(--ink2)}
.cg-prov .cg-src a{color:var(--brand)}
/* On paper the disclosure is worthless closed, so show the body and drop the toggle affordance —
   matches the @media print rule .disclose already carries. */
@media print{.cg-prov{border-top:1px solid var(--line)}.cg-prov>summary{display:none}.cg-prov .ds-body{padding:0}}

/* ── Care-needs journey card (components/CareNeedsCard.tsx). One question per step; all .cn-* ── */
.cn-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:22px;display:grid;gap:16px;margin:18px 0 24px;max-width:760px}
.cn-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.cn-bar{height:4px;border-radius:var(--r-pill);background:var(--paper2);overflow:hidden;margin-top:8px}
.cn-bar i{display:block;height:100%;background:var(--brand);transition:width .25s}
.cn-step h2{font-size:var(--t-number);line-height:1.2;margin:0 0 4px;text-wrap:balance}
.cn-step h2:focus{outline:none}
.cn-hint{margin:0 0 12px;color:var(--ink2);font-size:max(var(--t-small),var(--fs-2nd,0px))}
.cn-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cn-chip{appearance:none;font:inherit;font-size:max(var(--t-small),var(--fs-body,0px));font-weight:600;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 16px;cursor:pointer;min-height:44px}
.cn-chip:hover{border-color:var(--brand-line)}
.cn-chip[aria-pressed="true"]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-dk)}
.cn-chip[aria-pressed="true"]::before{content:"✓ ";content:"✓ " / ""} /* empty alt: aria-pressed already says it */
.cn-chip:focus-visible,.cn-btn:focus-visible,.cn-link:focus-visible,.cn-tog input:focus-visible+.cn-sw{outline:3px solid var(--brand-line);outline-offset:2px}
.cn-alert{border-left:4px solid var(--coral);background:#fbeee9;border-radius:var(--r-sm);padding:10px 14px;font-size:max(var(--t-small),var(--fs-2nd,0px));margin:0 0 14px}
.cn-alert b{color:var(--coral)}
.cn-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cn-right{display:flex;gap:14px;align-items:center;margin-left:auto}
.cn-btn{appearance:none;border:0;background:var(--brand);color:#fff;font:inherit;font-weight:700;font-size:max(var(--t-small),var(--fs-body,0px));border-radius:var(--r-sm);padding:11px 18px;cursor:pointer;min-height:44px}
.cn-btn:hover{background:var(--brand-dk)}
.cn-btn[disabled]{opacity:.45;cursor:default}
.cn-link{appearance:none;background:none;border:0;padding:6px 2px;font:inherit;font-size:max(var(--t-small),var(--fs-2nd,0px));color:var(--brand-dk);text-decoration:underline;cursor:pointer}
.cn-tog{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;margin:0 0 14px;position:relative}
.cn-tog input{position:absolute;opacity:0;width:1px;height:1px}
.cn-sw{flex:none;width:40px;height:24px;border-radius:var(--r-pill);background:#c9c2b3;position:relative;transition:background .15s}
.cn-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}
.cn-tog input:checked+.cn-sw{background:var(--brand)}
.cn-tog input:checked+.cn-sw::after{transform:translateX(16px)}
.cn-tog b{display:block;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.cn-tog small{color:var(--ink2);font-size:max(var(--t-label),var(--fs-2nd,0px));display:block;margin-top:2px}
.cn-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.cn-summary li{font-size:max(var(--t-label),var(--fs-2nd,0px));background:var(--paper2);border-radius:var(--r-pill);padding:4px 10px;color:var(--ink2)}
.cn-need1{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin:0 0 10px}
.cn-priv{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin:0}
.cn-res ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.cn-res a{display:flex;justify-content:space-between;gap:10px;align-items:center;text-decoration:none;color:var(--ink);background:var(--paper);border-radius:var(--r-sm);padding:12px 14px;font-weight:600}
.cn-res a span{color:var(--ink2);font-weight:500;font-size:max(var(--t-label),var(--fs-2nd,0px));white-space:nowrap}
.cn-res a:hover{background:var(--brand-tint)}
.cn-forget{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);margin:0 0 6px}
@media (max-width:480px){.cn-card{padding:18px 16px}.cn-step h2{font-size:var(--t-heading)}}
@media (prefers-reduced-motion:reduce){.cn-bar i,.cn-sw,.cn-sw::after{transition:none}}

/* Plan-year switch + 2027 cards (Phase 2b). Only rendered once 2027 plans are live (lib/plan-year-ui-core.ts). */
.py-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:4px;gap:4px;margin:0 0 14px}
.py-switch button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-sm);padding:10px 12px;display:grid;gap:2px;min-width:0}
.py-switch button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.py-switch .yr{font-size:var(--t-body)}
.py-switch .sub{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);overflow-wrap:anywhere}
.py-switch [aria-pressed="true"]{background:var(--brand);color:#fff}
.py-switch [aria-pressed="true"] .sub{color:rgba(255,255,255,.88)}
.py-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.py-fact{border:1px solid var(--line2);border-radius:var(--r-sm);padding:10px 12px;background:var(--paper);min-width:0}
.py-fact .k{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.py-fact .v{font-size:var(--t-heading);font-weight:700;overflow-wrap:anywhere}
.py-fact .v.none{font-size:1rem;color:var(--ink2)}
.py-fact .n{margin-top:3px;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);line-height:1.35}
.py-badge{display:inline-block;margin:2px 0 8px;padding:3px 10px;border-radius:var(--r-pill);background:var(--paper2);border:1px solid var(--line);font-size:max(var(--t-label),var(--fs-2nd,0px));font-weight:700;color:var(--ink)}
.py-hero .v{font-size:1.4rem}
.py-minor{margin-top:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.py-minor .py-fact{padding:7px 9px;background:none}
.py-minor .v{font-size:1.05rem}
.py-terms{margin-top:8px;font-size:max(var(--t-small),var(--fs-2nd,0px))}
.py-terms summary{min-height:44px;display:flex;align-items:center;color:var(--brand);font-weight:700;cursor:pointer}
.py-terms dl{margin:4px 0 0;display:grid;gap:4px}
.py-terms dt{font-weight:700;color:var(--ink)}
.py-terms dd{margin:0 0 6px;color:var(--ink2);line-height:1.45}
.py-pending{display:grid;gap:4px;border:1px dashed var(--gold-line);background:var(--gold-tint);border-radius:var(--r-sm);padding:10px 12px;margin-top:10px}
.py-pending .k{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2)}
.py-pending .v{font-size:max(var(--t-small),var(--fs-body,0px))}
.py-pending a,.py-pending button{color:var(--brand-dk);text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.py-note{color:var(--ink2);font-size:max(var(--t-small),var(--fs-body,0px));margin:10px 0 0}
.py-current{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:18px;margin:12px 0;display:grid;gap:10px}
.py-current h2{margin:0;font-size:1.2rem}
.py-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.py-compare .arrow{color:var(--ink2)}
.py-save{font-family:var(--display),Georgia,serif;font-size:1.1rem;color:var(--brand-dk)}
.py-ctx{font-size:max(var(--t-label),var(--fs-2nd,0px));color:var(--ink2);border-top:1px solid var(--line2);padding-top:10px;margin:0}
.py-warn{border:1px solid var(--gold-line);background:var(--gold-tint);border-radius:var(--r-sm);padding:12px}
@media (max-width:480px){.py-compare{grid-template-columns:1fr}.py-compare .arrow{display:none}}
.pick:disabled{opacity:.55;cursor:not-allowed;transform:none;border-color:var(--line)}
.pick.wait:disabled{opacity:1;cursor:progress}
.pick .pick-why{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:400}

/* Find-an-agent status notice: spans the card grid, clear gap above the cards (was half-width and touching). */
.pnr-notice{display:flex;gap:14px;align-items:flex-start;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:var(--r-md);padding:18px 22px;margin:0 0 24px;color:var(--ink)}
.pnr-notice p{margin:0;font-size:max(var(--t-small),var(--fs-body,0px));line-height:1.6}
.pnr-tag{flex:none;font:700 max(11px,var(--fs-floor,0px))/1 var(--sans,inherit);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dk);background:var(--card,#fff);border:1px solid var(--brand-line);border-radius:var(--r-pill);padding:7px 11px;margin-top:2px;white-space:nowrap}
@media(max-width:760px){.pnr-notice{flex-direction:column;gap:10px;padding:16px 16px;margin-bottom:18px}}
.pnr-notice a{color:var(--brand-dk);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.nh-fact{flex-wrap:wrap}
.nh-fact-l{flex:1 1 55%;min-width:0;overflow-wrap:anywhere}
.nh-fact b{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.nh-fact-m{flex:1 0 100%;color:var(--ink2);font-size:max(var(--t-label),var(--fs-floor,0px));line-height:1.4}

/* Doctor picker: independent ZIP search, reusable Quave provider suggestions. */
.doctor-note{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);margin:10px 0;line-height:1.5}
.doctor-home{font:600 max(13px,var(--fs-2nd,0px)) var(--sans, sans-serif)!important;white-space:nowrap;padding:10px 12px!important}
.doctor-option{display:block;text-align:left;width:100%}
.doctor-option small,.doctor-chip small{display:block;font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--ink2);font-weight:400;margin-top:3px}
.doctor-option[aria-selected="true"]{background:var(--brand-tint)}
.doctor-chip{border-radius:var(--r-md)!important;display:flex;align-items:center;justify-content:space-between;max-width:100%}
.doctor-name-only{background:none;border:0;color:var(--brand);text-decoration:underline;font:inherit;font-size:max(var(--t-label),var(--fs-2nd,0px));cursor:pointer;padding:6px 0}
.doctor-evidence{font-size:max(var(--t-label),var(--fs-floor,0px));color:var(--brand);margin:6px 0}
/* Clarity P1 type scale: phone floors for the max() font sizes above. The tokens are unset on desktop, so desktop is unchanged. */
@media (max-width:640px){:root{--fs-floor:15px;--fs-2nd:16px;--fs-body:17px}html,body{font-size:var(--t-lede)}}
:root{--gold-text:#8a5510}
/* Header: four task links, each at least 44px tall (WCAG 2.5.8). Phones get one row of four equal cells. */
.sh-nav{gap:4px 18px}
.sh-nav a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:560px){.sh-nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.sh-nav a{justify-content:center;text-align:center;font-size:var(--t-small);line-height:1.2;padding:4px 2px;min-height:48px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}.sh-nav a.on{box-shadow:inset 0 -3px 0 var(--brand)}.sh-pill{display:none}}
/* Cookie bar: one short line and three equal buttons on a phone. */
@media (max-width:640px){.cb-inner{padding:5px 16px;gap:5px}.cb-text{min-width:0;flex-basis:100%;font-size:var(--t-small);line-height:1.25}.cb-actions-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.cb-btn{min-height:44px;margin:0;padding:6px 4px;font-size:var(--t-small);white-space:nowrap;text-decoration:none}}

/* Clarity round 3: footer headings are links that match the header; footer links, breadcrumbs and chips are 44px tap targets. */
.psfoot .fb-h{margin:0 0 2px}
.psfoot .fb-h a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.psfoot .fb-h a:hover{text-decoration:underline;text-underline-offset:3px}
.psfoot .fb-list{gap:0}
.psfoot .fb-list a,.psfoot .fd-legal a,.psfoot .fd-legal-btn,.psfoot .fd-copy a{display:inline-flex;align-items:center;min-height:44px}
.psfoot .fd-legal{gap:0 18px}
.foot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{gap:4px 18px}}
.crumb a,.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.carechip{display:inline-flex;align-items:center;min-height:44px}
.filt{min-height:44px}
.filt-sort select{min-height:44px}
.act{min-height:44px}
.psfoot .fb-h{text-transform:none;letter-spacing:0;font-size:max(var(--t-body),var(--fs-body,0px))}

/* Guide answer table (lib/guides.ts compare): 16px, row header on its own line on a phone. */
.guide-compare-wrap{margin:14px 0 18px}
.guide-compare{width:100%;border-collapse:collapse;font-size:var(--t-body);line-height:1.4;background:var(--card)}
.guide-compare caption{text-align:left;padding:0 0 8px;color:var(--ink2);font-size:var(--t-body)}
.guide-compare th,.guide-compare td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.guide-compare thead th{background:var(--paper2,#f4f1ea)}
@media (max-width:560px){.guide-compare thead td{display:none}.guide-compare thead tr,.guide-compare tbody tr{display:grid;grid-template-columns:1fr 1fr}.guide-compare tbody th{grid-column:1/-1;background:var(--brand-tint,#eef6f2);border-bottom:0}.guide-compare th,.guide-compare td{padding:7px 9px}}
.state-fold>summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;color:var(--brand-dk)}

/* Plan card: plain network line under the plan name (HMO/PPO explained). */
.pnet{font-size:var(--t-body);line-height:1.35;color:var(--ink2);margin:0 0 6px}

/* Clarity P10: compact phone footer + guide end blocks. Nothing hidden or folded; text stays >=16px and links >=44px tall. */
.nextsteps .adjacent{margin:4px 0 0;padding:6px 0 0;border:0;border-top:1px solid var(--brand-line,var(--line));border-radius:0;background:none}
.nextsteps .adjacent .adj-h{font-size:max(var(--t-label),var(--fs-floor,0px));font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-dk);margin:0}
.nextsteps .adjacent ul{gap:0}
.nextsteps .adjacent li{margin:0}
.nextsteps .adjacent a{color:var(--brand-dk);font-weight:700;font-size:max(var(--t-small),var(--fs-body,0px))}
@media (max-width:560px){
  .nextsteps{gap:0;padding:10px 14px;margin:16px 0 8px}
  .nextsteps>a,.nextsteps .adjacent a{display:flex;align-items:center;min-height:44px;font-size:var(--t-body);line-height:1.25}
  .nextsteps .adjacent{margin:0;padding:0;border:0}
  .nextsteps .adj-h{display:none}
  .nsfb{margin:8px 0;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
  .nsfb-q{margin:0;font-size:var(--t-body)}
  .nsfb-btns button{padding:8px 14px;min-height:44px;font-size:var(--t-body)}
  .foot-grid{display:flex;flex-wrap:wrap;gap:0 10px;padding-top:2px;padding-bottom:2px}
  .psfoot .foot-band .shell{padding-left:14px;padding-right:14px}
  .foot-grid>div,.foot-grid .fb-list{display:contents}
  .psfoot .fb-h,.psfoot .fb-list li{margin:0;display:flex}
  .psfoot .fb-list a,.psfoot .fb-h a{line-height:1.2;padding:0}
  .foot-disc>.shell{padding-top:12px;padding-bottom:10px}
  .psfoot .fd-text{margin:0 0 4px}
  .psfoot .fd-text p{margin:0 0 6px;font-size:var(--t-body);line-height:1.4}
  .psfoot .fd-legal{margin:0 0 2px;gap:0 16px}
  .psfoot .fd-copy{font-size:var(--t-body);line-height:1.3}
  .psfoot .fd-copy a{min-height:44px}
}
/* Guide data tables (components/GuideView.tsx): wide tables scroll inside their box on phones, never the page. */
.guide-table{margin:14px 0 18px;overflow-x:auto}
.guide-table table{width:100%;border-collapse:collapse;font-size:var(--t-body);line-height:1.4;background:var(--card)}
.guide-table caption{text-align:left;padding:0 0 8px;color:var(--ink2);font-weight:700}
.guide-table th,.guide-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.guide-table thead th{background:var(--paper2,#f4f1ea)}
.guide-table-note{font-size:var(--t-small);color:var(--ink2);margin:6px 0 0}
.guide-key-figure{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-md);background:var(--card);padding:12px 14px;margin:14px 0}
.gkf-eyebrow{font-size:var(--t-label);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2)}
.gkf-value{font-size:28px;font-weight:800;line-height:1.2;color:var(--ink);margin:4px 0 2px;overflow-wrap:anywhere}
.gkf-label{font-size:var(--t-body);color:var(--ink)}
.ask-dottie-guide{margin:10px 0 14px}

/* ==== UX-to-100 area E: sitewide chrome (header, footer, cookie bar, type scale) ==== */
/* Type scale: body/help text is 16px everywhere; meta text (captions, chips, legal) never drops below 15px. */
:root{--fs-floor:15px;--fs-2nd:16px;--fs-body:16px}
@media (max-width:640px){:root{--fs-floor:15px;--fs-2nd:16px;--fs-body:17px}}
/* Header: phone label swap. Desktop shows the full task label; phones show the short one (full stays for screen readers). */
.sh-short{display:none}
/* Disclaimer: the CMS TPMO sentence is regular weight everywhere (also covers the homepage's hand-built <b>). */
.psfoot .fd-text,.psfoot .fd-text p{font-size:var(--t-body);line-height:1.5}
.psfoot .fd-tpmo,.psfoot .fd-tpmo b{font-weight:400;color:#3d4740}
.psfoot .fd-copy{font-size:max(var(--t-small),var(--fs-floor,0px))}
/* Footer: three labeled groups. */
.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 40px;padding-top:32px;padding-bottom:28px}
@media (max-width:820px){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}}
/* Cookie bar: Reject is as easy as Accept (same style, size and row). */
.cb-btn[data-cookie-action="essential"]{background:var(--brand);color:#fff;border-color:var(--brand)}
.cb-text{font-size:max(var(--t-small),var(--fs-floor,0px))}
@media (max-width:640px){
  /* One-row header, 61px: mark + name on the left, four short pills on the right. No tagline, no moniker. */
  .sh.sh-compact{flex-wrap:nowrap;gap:6px;padding:8px 0;align-items:center}
  .sh-compact .sh-brand{gap:6px;flex:none}
  .sh-compact .sh-mark{width:36px;height:36px}
  .sh-compact .sh-name{font-size:var(--t-body)}
  .sh-compact .sh-moniker,.sh-compact .sh-tagline{display:none}
  .sh-compact .sh-nav{flex:1 1 auto;min-width:0;width:auto;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:3px}
  .sh-compact .sh-nav a{flex:0 1 auto;min-height:44px;padding:0 6px;font-size:14.5px;font-weight:600;border:0;background:none;border-radius:var(--r-sm)}
  .sh-compact .sh-nav a.on{box-shadow:inset 0 -3px 0 var(--brand)}
  .sh-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .sh-short{display:inline}
  /* Cookie bar: one line + three buttons, about 62px. */
  .cookiebar{border-top-width:2px;border-radius:0}
  .cb-inner{padding:3px 12px;gap:3px}
  .cb-text{font-size:var(--t-small);line-height:1.2}
  .cb-btn{min-height:34px;padding:2px 4px}
  html[data-cookiebar="1"] .foot-disc>.shell{padding-bottom:84px}
  html[data-cookiebar="1"]:has(.cb-manage:not([hidden])) .foot-disc>.shell{padding-bottom:320px}
}
@media (max-width:380px){.sh-compact .sh-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (max-width:560px){
  /* Footer on a phone: each group is a labeled block, links wrap inline. */
  .foot-grid{display:grid;grid-template-columns:1fr;gap:0;padding-top:4px;padding-bottom:4px}
  .foot-grid>div{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;padding:6px 0;border-top:1px solid rgba(255,255,255,.16)}
  .foot-grid>div:first-child{border-top:0}
  .foot-grid .fb-list{display:contents}
  .psfoot .fb-h{flex-basis:100%;min-height:32px;display:flex;font-size:var(--t-body)}
  .psfoot .fb-h a{min-height:32px}
  .psfoot .fb-list li{display:flex}
  .psfoot .fb-list a{min-height:40px;line-height:1.2}
  .psfoot .fd-legal a,.psfoot .fd-legal-btn{min-height:40px;font-size:var(--t-small)}
}
.psfoot .fd-copy a{color:var(--brand-dk)}

/* One body link style site-wide (UX round 2): unclassed links in running text are brand green and underlined, never the
   browser's default blue. :where() keeps specificity at zero, so every classed link style above still wins. */
:where(p,li,dd,td,figcaption,blockquote) a:where(:not([class])){color:var(--brand-dk);text-decoration:underline;text-underline-offset:3px}
:where(p,li,dd,td,figcaption,blockquote) a:where(:not([class])):hover{color:var(--brand)}
.psfoot .fd-copy a{text-decoration:underline;text-underline-offset:3px}
