: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);
}
*{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:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input{font-family:inherit}
h1,h2,h3,h4{font-family:var(--display),Georgia,"Times New Roman",serif;font-weight:600}
/* 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:25px;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:10.5px;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:999px;padding:5px 12px}
.dots{display:flex;gap:6px;margin:12px 0 4px}
.dots i{height:5px;flex:1;border-radius:99px;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:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--brand);border-radius:2px;display:inline-block}
h1.q{font-size:39px;line-height:1.06;margin:14px 0 8px;letter-spacing:-.02em;text-wrap:balance;font-weight:600}
p.sub{color:var(--ink2);font-size:16.5px;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:15px;
  padding:18px 18px;font-size:26px;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:20px}
.hint{color:var(--ink2);font-size:14px;margin-top:12px}
.cta{margin-top:24px;width:100%;background:var(--brand);color:#fff;border:0;border-radius:15px;
  padding:18px;font-size:17.5px;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:14.5px;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:14.5px;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:13px;margin:2px 0 6px;font-weight:600}
.coinsnote{margin-top:8px;font-size:12.5px;color:var(--ink2);line-height:1.45} .coinsnote b{color:var(--ink)}
.macard{background:#fff;color:#1a2330;border-radius:15px;
  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:15px}
.mc-brand{font-weight:800;font-size:15.5px;letter-spacing:-.01em;line-height:1.15}
.mc-tag{font-size:11px;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:9px;text-transform:uppercase;letter-spacing:.1em;color:#8493a3;font-weight:800}
.mc-v{font-size:15px;font-weight:700;color:#1a2330} .mc-v.mono{font-family:var(--mono);font-weight:600;letter-spacing:.02em}
.mc-v.big{font-size:19px}
/* the contract-number teaching highlight */
.mc-contract{margin:4px 0 2px;padding:9px 11px;border-radius:11px;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:20px;letter-spacing:.05em;font-weight:700}
.mc-tip{display:inline-block;margin-top:5px;background:var(--brand);color:#fff;font-size:10.5px;font-weight:800;border-radius:7px;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:9.5px;color:#8493a3}
.cardhint{text-align:center;color:var(--ink2);font-size:13px;margin:4px 0 8px;line-height:1.5}
.cardhint b{color:var(--ink)}
.cardskel{width:100%;height:230px;border-radius:15px;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{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;
  font-size:15px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow-sm)}
.chip b{font-weight:700} .chip button{background:none;border:0;color:var(--ink2);cursor:pointer;font-size:16px;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:14px;padding:15px;font-size:17px;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:14px;padding:0 20px;font-size:24px;font-weight:800;cursor:pointer}
.sugs{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;background:#fff;border:1px solid var(--line);
  border-radius:14px;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:15.5px;cursor:pointer;border-bottom:1px solid var(--line2)}
.sug:hover{background:var(--brand-tint)} .sug:last-child{border-bottom:0}

/* condition/DME picker */
.grouplbl{font-size:12px;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:999px;padding:10px 15px;font-size:14.5px;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:15px;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:15px}
.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:15px;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:15px;padding:14px 15px;box-shadow:var(--shadow-sm)}
.cmpcol.best{border:2px solid var(--brand);background:var(--brand-tint)}
.cmp-k{font-size:10.5px;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:26px;font-weight:700;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.cmp-s{font-size:13px;color:var(--ink2)}
.cmp-arrow{align-self:center;color:var(--brand);font-size:22px;font-weight:800;flex:none}

/* plan card */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:16px;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:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand)}
.pcard .tag.cur{color:var(--ink2)}
.pcard .pn{font-family:var(--display),serif;font-size:20px;font-weight:600;margin:4px 0 2px;letter-spacing:-.01em;line-height:1.15}
.pcard .meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink2);font-size:13px;margin-top:9px}
.pcard .meta span{display:flex;flex-direction:column;gap:1px}
.pcard .meta b{color:var(--ink);font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--display),serif}
.pcard .meta .premadd{font-style:normal;font-size:11px;font-weight:600;color:var(--ink2);line-height:1.3;max-width:180px;margin-top:1px}
.pcard .meta .enrdelta{font-style:normal;font-size:11px;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)}
/* 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:10px;font-weight:800;letter-spacing:.03em;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:2px 8px;white-space:nowrap}
.yearbanner{font-size:12.5px;color:var(--ink2);margin:-4px 0 8px}
.pcard .more{color:var(--brand);font-weight:700;font-size:13px;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:12.5px}
.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)}
.cov-bad{color:var(--coral)}
.covcheck{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:16px 0;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.covcheck-intro{flex:1;min-width:180px}
.covcheck-intro b{font-size:14.5px;color:var(--ink)}
.covcheck-intro p{margin:2px 0 0;font-size:12.5px}
.covcheck-actions{display:flex;gap:8px;flex:1.6;flex-wrap:wrap}
.covcheck-action{flex:1;min-width:140px;border:1px solid var(--line);background:var(--paper2);text-align:left;border-radius:9px;padding:9px 12px;color:var(--ink);cursor:pointer}
.covcheck-action:hover{border-color:var(--brand)}
.covcheck-action b{display:block;font-size:13.5px}
.covcheck-action span{font-size:11.5px;color:var(--ink2)}
@media (max-width:600px){.covcheck{display:block;padding:12px}.covcheck-actions{margin-top:8px}}
.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:13px;color:var(--ink2)}
.pcard-metric b{color:var(--ink);font-size:16px;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:8px;padding:6px 9px;margin:-6px -9px}
.pcard-enroll{color:var(--ink2);font-size:13px;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:11px;font-weight:700;margin-left:4px}
.pcard-enroll .enrdelta.up{color:var(--brand-dk)} .pcard-enroll .enrdelta.down{color:var(--gold)}
.pcard-reason{margin-top:12px;padding-top:10px;border-top:1px solid var(--line2)}
.pcard-reason small{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}
.pcard-reason p{margin:4px 0 0;font-size:13px;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}
/* 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:14px;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:14px;cursor:pointer;font-weight:600}
.priority-editor{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;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:12.5px;color:var(--gold);background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:9px;padding:7px 11px}
.disc{color:#8593893b;color:#5f6a61;font-size:12px;margin-top:20px;line-height:1.55}
.foot{color:#5f6a61;font-size:12px;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:11.5px;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:999px;padding:8px 14px;font-size:13.5px;color:var(--ink);cursor:pointer}
.starfilter button:hover{border-color:var(--gold)}
.starfilter button.on{background:var(--gold);color:#fff;border-color:var(--gold);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:16px;padding:16px 18px;margin:8px 0 12px}
.csnpbanner .cb-t{font-family:var(--display),serif;font-weight:700;color:var(--brand-dk);font-size:18px;letter-spacing:-.01em}
.csnpbanner .cb-b{color:var(--ink2);font-size:14px;margin:7px 0 9px;line-height:1.55}
.csnpbanner .cb-p{font-size:15px;font-weight:700;color:var(--ink);padding:10px 12px;border-radius:11px;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:14px;padding:13px 16px;margin:0 0 12px;color:#6b4a12;font-size:13.5px;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:12px;padding:11px 15px;font-size:14px;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:16px;padding:15px 17px;margin:0 0 14px}
.dmesup-h{font-family:var(--display),serif;font-size:17px;font-weight:600;color:var(--brand-dk);letter-spacing:-.01em;margin-bottom:11px}
.dmesup-load{color:var(--ink2);font-size:14px;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:11px;padding:11px 13px}
.ds-name{font-weight:800;font-size:14.5px;color:var(--ink)}
.ds-meta{font-size:13px;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:11.5px;font-weight:700}
.ds-ok{color:var(--brand-dk)} .ds-warn{color:#8a5a12} .ds-cba{color:var(--ink2)}
.dmesup-note{font-size:11.5px;color:var(--ink2);line-height:1.5;margin-top:11px} .dmesup-note b{color:var(--ink)}
.dmesup-empty{font-size:13.5px;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:16px;padding:15px 17px;margin:0 0 14px}
.otp-h{font-family:var(--display),serif;font-size:17px;font-weight:600;color:var(--brand-dk);letter-spacing:-.01em;margin-bottom:6px}
.otp-p{font-size:13.5px;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:20px;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:2px;display:inline-block}
.ns-card{background:var(--card);border:1px solid var(--line);border-radius:14px;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:9px;background:var(--brand-tint);display:grid;place-items:center;font-size:17px}
.ns-t{flex:1;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4}
.ns-x{color:var(--brand);font-weight:800;font-size:16px}
.ns-carehead{padding:13px 16px 4px;font-weight:800;font-size:13px;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:12px;padding:12px 13px;font-size:15.5px;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:11.5px;color:var(--ink2);line-height:1.5}
.ns-done{padding:15px 16px;font-size:14px;font-weight:600;color:var(--brand-dk)}
.ns-eq{padding:14px 16px}
.ns-eqh{font-size:13.5px;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:12px;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:14px;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:7px;padding:2px 9px}

/* recap + analysis + OM */
.recap{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:15px 17px;margin:6px 0 12px;box-shadow:var(--shadow-sm)}
.recap .rc-h{font-family:var(--display),serif;font-size:15px;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:14px;flex:none;font-weight:600} .rc-v{color:var(--ink);font-size:14.5px;font-weight:600}
.rc-note{color:var(--ink2);font-size:14px}
.analysis{background:linear-gradient(135deg,var(--brand-tint),#fff);border:1.5px solid var(--brand-line);border-radius:15px;padding:16px 18px;margin:0 0 14px}
.analysis .an-h{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:7px}
.analysis p{margin:0;color:var(--ink);font-size:15.5px;line-height:1.6}
.ombox{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;margin:14px 0;box-shadow:var(--shadow-sm)}
.ombox .om-h{font-family:var(--display),serif;font-size:18px;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:12px;padding:13px 15px}
.omcol.best{border:1.5px solid var(--brand);background:var(--brand-tint)}
.omcol .om-t{font-weight:800;font-size:14.5px;color:var(--ink);margin-bottom:9px}
.omcol ul{margin:0;padding-left:17px;color:var(--ink2);font-size:13.5px;line-height:1.6} .omcol li{margin:5px 0} .omcol b{color:var(--ink)}
.om-note{color:#5f6a61;font-size:12px;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:14px;padding:14px 16px;margin:0 0 16px;box-shadow:var(--shadow-sm)}
.covguide .cg-h{font-family:var(--display),serif;font-size:17px;font-weight:600;margin:0 0 4px;color:var(--ink)}
.covguide .cg-intro{font-size:14.5px;color:var(--ink2);margin:0}
.covguide .cg-timing{font-size:13.5px;line-height:1.5;color:#6b4a12;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:10px;padding:9px 12px;margin:11px 0 0}
.covguide .cg-neutral{font-size:12.5px;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:16px;padding:17px 18px;margin:22px 0 6px}
.leadbox.done{color:var(--brand-dk);font-size:15.5px}
.leadbox .lb-t{font-family:var(--display),serif;font-weight:600;color:var(--ink);font-size:19px;letter-spacing:-.01em}
.leadbox .lb-s{color:var(--ink2);font-size:14px;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:12px;padding:14px;font-size:15.5px;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:14px;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:12px;padding:12px 16px;margin:16px 0}
.comparebar p{margin:0;font-size:14px;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:20px;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:21px;font-weight:600;color:var(--ink)}
.modalhead button{background:none;border:0;color:var(--ink2);font-size:20px;cursor:pointer}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px}
.mgrid>div{background:var(--paper);border-radius:12px;padding:11px 13px;min-width:0}
.mgrid .mv{overflow-wrap:anywhere}
.mgrid .ml{color:var(--ink2);font-size:12px;font-weight:600} .mgrid .mv{font-family:var(--display),serif;font-size:24px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px}
.modal h4{margin:18px 20px 8px;color:var(--ink);font-size:15px;font-family:var(--display),serif;font-weight:600}
/* P1 "Details & why" panel inside PlanDetail — factors/decidedBy/tradeoff/unresolved. */
.pdet-why{margin:0 20px 16px;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:12px;padding:14px 16px}
.pdet-why h4{margin:0 0 6px;font-family:var(--display),serif;font-size:16px;font-weight:600;color:var(--brand-dk)}
.pdet-decided{margin:0 0 8px;font-size:14px;color:var(--ink);font-weight:600}
.pdet-factors{margin:0 0 8px;padding-left:18px;font-size:13px;color:var(--ink2)}
.pdet-tradeoff{margin:0 0 8px;font-size:13px;color:var(--ink2)}
.pdet-unresolved{margin:0;padding-left:18px;font-size:12.5px;color:var(--gold)}
.dtbl{width:100%;border-collapse:collapse;font-size:14.5px;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}
.modal .snpnote{margin:8px 20px 0}
/* Keep Close reachable and stop the dialog outgrowing small screens. */
.modalhead{position:sticky;top:0;background:#fff;z-index:1;border-radius:20px 20px 0 0}
.modalhead button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px}
.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}
}

/* 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:7px;font-size:13px;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:14px}
.comparison th,.comparison td{padding:11px 10px;border-bottom:1px solid var(--line2);vertical-align:top;text-align:left;overflow-wrap:anywhere}
.comparison thead th{background:var(--paper);color:var(--ink);font-size:14.5px;position:sticky;top:0}
.comparison tbody th{font-weight:600;color:var(--ink2);white-space:nowrap}
@media (max-width:600px){
  .modal-wide{width:100%}
  .compare-controls{flex-direction:column;align-items:flex-start}
  .comparison{font-size:12.5px}
  .comparison th,.comparison td{padding:9px 6px}
  .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:22px} .printhead .phmeta{color:#555;font-size:12px;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:11.5px;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:13px;font-weight:600;text-decoration:none}
.footlinks a:hover{text-decoration:underline;text-underline-offset:3px}
.footcopy{color:#5f6a61;font-size:11.5px}
.footnet{color:var(--ink2);font-size:12.5px;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{font-size:34px;line-height:1.1;margin:18px 0 4px;letter-spacing:-.02em}
.legal .eff{color:var(--ink2);font-size:14px;margin:0 0 20px;font-weight:600}
.legal h2{font-family:var(--display),serif;font-size:21px;font-weight:600;margin:26px 0 8px;letter-spacing:-.01em}
.legal p{color:var(--ink);font-size:15.5px;line-height:1.65;margin:0 0 12px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{color:var(--ink);font-size:15.5px;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:13px;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:12px;padding:13px 14px;font-size:16px;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:999px;padding:13px 18px;font-size:15px;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:17px}
/* 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. */
@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}
}
.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:20px;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:17px;font-weight:600}
.ch-sub{font-size:11.5px;opacity:.9;margin-top:1px}
.ch-head button{background:rgba(255,255,255,.18);border:0;color:#fff;width:28px;height:28px;border-radius:8px;font-size:15px;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:15px;font-size:15px;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:5px;align-self:flex-start}
.ch-msg.me{background:var(--brand);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.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:999px;padding:9px 13px;font-size:13.5px;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:12px;padding:11px 13px;margin:6px 0}
.ch-card-name{font-weight:700;font-size:14.5px}
.ch-card-row{font-size:13.5px;color:var(--ink2);margin-top:3px}
.ch-card-foot{font-size:12.5px;color:var(--ink2);margin-top:4px}
.ch-msg.typing{display:flex;gap:5px;align-items:center;padding:14px}
.ch-msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--ink2);opacity:.4;animation:blink 1.2s infinite}
.ch-msg.typing i:nth-child(2){animation-delay:.2s} .ch-msg.typing i:nth-child(3){animation-delay:.4s}
@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:12px;padding:12px 13px;font-size:15px;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:12px;padding:0 16px;font-size:14.5px;font-weight:800;cursor:pointer}
.ch-input button:disabled{opacity:.4;cursor:default}
.ch-disc{padding:8px 14px 11px;font-size:10.5px;color:#5f6a61;background:#fff;line-height:1.4;border-top:1px solid var(--line2)}

/* cookie consent bar */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(23,36,29,.14);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:13px;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:12px;padding:12px 14px}
.cb-opt{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;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:11px;padding:11px 16px;font-size:14px;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:13px;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:16px;padding:16px 17px;margin:6px 0 12px}
.wiw-h{font-family:var(--display),serif;font-size:19px;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:12px;padding:11px 13px;font-size:15px;color:var(--ink);font-weight:600}
.wiw-ic{font-size:18px;line-height:1.2;flex:none}
/* friendly coach summary (replaces the analysis blob) */
.coach{background:var(--card);border:1px solid var(--line);border-radius:15px;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:17px;color:var(--ink)}
.coach-av{font-size:22px}
.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:15px;line-height:1.5;color:var(--ink)}
.coach-ic{font-size:17px;flex:none;line-height:1.3}

.cnum{font-size:11.5px;color:var(--ink2);margin-top:2px;font-weight:600}
.cnum b{font-family:var(--mono);font-weight:700;color:var(--ink);letter-spacing:.02em}
.modalhead .cnum{margin-top:3px}

.disclose{border:1px solid var(--line);border-radius:14px;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:wrap;gap:4px 10px;padding:15px 16px;font-weight:700;color:var(--ink)}
.disclose>summary::-webkit-details-marker{display:none}
.ds-t{font-size:16px} .ds-p{color:var(--ink2);font-size:13px;font-weight:500;margin-left:2px}
.ds-cv{margin-left:auto;color:var(--brand);font-size:22px;font-weight:800;transition:transform .2s}
.disclose[open]>summary .ds-cv{transform:rotate(90deg)}
.ds-body{padding:0 16px 16px}
@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:14px;padding:15px;font-size:16px;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:14px;padding:15px;font-size:15px;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:6px}
.skiplink{position:absolute;left:-999px;top:0;z-index:100;background:var(--brand);color:#fff;padding:12px 16px;border-radius:0 0 10px 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:14px;padding:14px 18px;margin:10px 0 4px;font-size:14px;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:20px;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:15.5px;color:var(--ink)}
.enroll .en-sub{color:var(--ink2);font-size:13.5px}
.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:999px;padding:5px 13px;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.en-ends{border:1.5px solid rgba(255,255,255,.6);color:#fff;border-radius:999px;padding:6px 15px;font-weight:700;font-size:13px;white-space:nowrap}
.en-link{color:var(--gold);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-ico{filter:brightness(0) invert(1);opacity:.9}
.enroll.open .en-title{color:#fff} .enroll.open .en-sub{color:rgba(255,255,255,.82)}
.en-fema{flex-basis:100%;font-size:12.5px;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:13.5px;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:11px;padding:11px 12px;font-size:15px;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:12px;color:var(--coral);font-weight:600}
.aepremind.done{margin-top:11px;font-size:13.5px;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:15px;padding:15px 16px;margin:18px 0 16px;box-shadow:var(--shadow-sm)}
.sc-h{font-family:var(--display),serif;font-size:18px;font-weight:600;color:var(--ink)}
.sc-s{color:var(--ink2);font-size:14px;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:11px;padding:10px 12px;font-size:14px;color:var(--brand-dk);font-weight:600}
.sc-no{margin-top:11px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:11px;padding:10px 12px;font-size:14px;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:21px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.cw-s{color:var(--ink2);font-size:14.5px;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:14px;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:15.5px;color:var(--ink)}
.of-b{color:var(--ink2);font-size:13.5px;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:11px;padding:10px 14px;font-size:14.5px;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:10px;padding:12px;font-size:15px;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:11px;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:14px}
.of-call{display:inline-block;background:var(--brand);color:#fff;border-radius:11px;padding:11px 15px;font-size:15px;font-weight:800;text-decoration:none}
.fence-note{color:#5f6a61;font-size:11.5px;margin-top:10px;line-height:1.45}
.about .lede{font-size:19px;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:15px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.acard .ac-k{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:7px}
.acard p{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}
.storyhead{font-family:var(--display),serif;font-size:24px;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:15px;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:16.5px;color:var(--ink);margin-bottom:4px}
.chapter p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink2)} .chapter b{color:var(--ink)}
.aboutcta{margin:24px 0 8px}
/* Salute to Caregivers page */
.salute .lede{font-size:19px;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:18px;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:15px;color:var(--ink2);text-align:center}
.sfig .sdedication{font-size:13.5px;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:22px;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:16.5px;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:18px;color:#ffe9b3;margin-top:6px}
.truststrip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 18px;font-size:13px;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:12.5px;color:#6b4a12;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:9px;padding:7px 11px;line-height:1.45}
.planwarn b{color:#4a3208}
.givenote{margin-top:9px;font-size:12.5px;color:var(--brand-dk);background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:9px;padding:7px 11px;line-height:1.45} .givenote b{color:var(--brand-dk)}
.lowperf{margin-top:9px;font-size:12.5px;color:#9a3d10;background:#fbeee7;border:1px solid #e2b7a8;border-radius:9px;padding:8px 11px;line-height:1.45} .lowperf b{color:#7a2f0a}
.highperf{margin-top:9px;font-size:12.5px;color:var(--brand-dk);background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:9px;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:13px;color:var(--ink2)}
.dom-n{flex:1;min-width:0}
.dom-b{flex:none;width:88px;height:8px;border-radius:99px;background:var(--paper2);overflow:hidden}
.dom-b i{display:block;height:100%;background:var(--brand);border-radius:99px}
.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:11.5px;color:var(--ink2);line-height:1.5;margin-top:10px}
.premnote{font-size:12.5px;color:var(--ink2);background:var(--card);border:1px solid var(--line);border-radius:11px;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:14px;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:19px;line-height:1.55;color:var(--ink);margin:6px 0 22px;max-width:60ch}
.q{font-family:var(--display),serif;font-size:21px;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:16px;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:12px;background:var(--brand-tint);display:grid;place-items:center;font-size:21px}
.cc-t{font-weight:800;font-size:16px;color:var(--ink);display:flex;align-items:center;gap:8px}
.cc-d{font-size:13px;color:var(--ink2);margin-top:3px;line-height:1.5}
.tag{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px}
.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:12px;padding:12px 14px;font-size:15.5px;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:14px;padding:15px 18px}
.changed-h{font-weight:800;font-size:13px;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:22px;margin:0 0 3px}
.pathway-blurb{color:var(--ink2);font-size:14.5px;margin:0}
/* Care Pathways guide modules */
.crumbs{font-size:13px;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:12px;padding:12px 16px;margin:14px 0}
.emergency-strip h3{color:#7a1712;margin:0 0 6px;font-size:16px}
.emergency-strip ul{margin:0;padding-left:18px}
.guide-orientation{font-size:16px;color:var(--ink);background:var(--brand-tint);border-radius:12px;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:14px}
.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:12px;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:12px;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:10px;padding:8px 22px;font-weight:700;font-size:14px;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:13.5px;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:16px;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:19px;line-height:1.25;color:var(--ink);text-wrap:balance}
.gc-d{font-size:14.5px;line-height:1.5;color:var(--ink2);flex:1}
.gc-more{font-size:14px;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:999px;padding:8px 13px;font-size:13px;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:14px;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:20px}
.rob-t{font-size:13.5px;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:13.5px;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:16px}
.nextsteps{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:14px;padding:15px 17px;margin:26px 0 14px;display:flex;flex-direction:column;gap:8px}
.nextsteps .ns-h{font-size:12px;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:15px}
.nextsteps a:hover{text-decoration:underline}
.sources{margin:18px 0 6px}
.sources .src-h{font-size:12px;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:14px;line-height:1.6;margin:4px 0}
.legal .disclaimer{color:var(--ink2);font-size:13px;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:15px;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:12px;background:var(--card);font-size:16px;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:14px;padding:14px 16px;margin:14px 0;font-size:15px;line-height:1.55}
.subnote{color:#7a6f60;font-size:12.5px;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:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
.filt.on{background:var(--brand-tint);border-color:var(--brand-line);color:var(--brand-dk)}
.filt-sort{font-size:13px;color:var(--ink2)}
.filt-sort select{font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;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:16px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.fac-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}
.fac-l{min-width:0}
.pill{display:inline-block;background:var(--paper2);color:var(--ink2);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;margin-bottom:8px}
.pill.on{background:var(--brand-tint);color:var(--brand-dk)}
.fac-n{font-family:var(--display),Georgia,serif;font-weight:600;font-size:22px;line-height:1.2;color:var(--ink)}
.fac-loc{color:var(--ink2);font-size:14px;margin-top:2px}
.fac-facts{color:#7a6f60;font-size:13px;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-family:var(--display),Georgia,serif;font-size:40px;font-weight:700;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.hero-of{font-size:16px;color:var(--ink2)}
.hero-stars{color:var(--brand);font-size:15px;letter-spacing:1px}
.hero-band{background:var(--brand-tint);color:var(--brand-dk);font-style:italic;font-size:12px;border-radius:999px;padding:3px 10px;margin-top:2px}
.hero-na{font-family:var(--display),Georgia,serif;font-size:22px;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:12px;border-radius:999px;padding:3px 10px;margin-top:2px}
.siglist{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.sig-h{font-weight:700;font-size:14px;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:14px;font-weight:600;color:var(--ink)}
.sig-txt{font-size:14px;color:var(--ink)}
.sig-gap .sig-txt{color:var(--ink2);font-style:italic}
.sig-note{font-size:12.5px;color:var(--ink2);margin-top:2px}
.sig-attr{font-size:11.5px;color:#7a6f60;margin-top:2px}
.sig-gaphead{font-size:13px;font-weight:700;color:var(--ink2);margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}
.sig-cov{font-size:12.5px;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:12px;padding:10px 13px;font-size:13.5px;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)}
.alert.cand b,.alert.cand a{color:var(--gold)}

.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:10px;padding:8px 13px;font-size:14px;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)}

.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:14px;padding:10px;box-shadow:var(--shadow);margin:14px 0}
.comparepanel{background:var(--card);border:1px solid var(--line);border-radius:16px;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:13.5px;overflow-x:auto}
.cmp-l{font-weight:700;color:var(--ink2);font-size:12px}
.cmp-v{color:var(--ink);font-variant-numeric:tabular-nums}
.cmp-v.fac-n{font-size:15px}

.disc{color:var(--ink2);font-size:12.5px;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:11.5px;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}
.soonnote{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:12px;padding:13px 16px;margin-top:18px;font-size:14px;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:14px}
.detail-hero{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
.hbar-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;margin:8px 0}
.hbar-lbl{font-size:14px;color:var(--ink2)}
.hbar{height:10px;background:var(--paper2);border-radius:999px;overflow:hidden}
.hbar-fill{height:100%;background:var(--brand);border-radius:999px}
/* 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:13px;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:15px;line-height:1.6;margin:6px 0}
.ref{margin:18px 0 6px;color:var(--ink2);font-size:13px;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:12px;margin-bottom:6px}

/* ── Save / Your Profile ─────────────────────────────────────────── */
.saveheart{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 13px;font-size:14px;font-weight:600;cursor:pointer;line-height:1}
.saveheart span{color:var(--brand);font-size:16px}
.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:999px;padding:11px 18px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.savedfab:hover{background:var(--brand-dk)}
.savedfab span{font-size:16px}
/* 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:16px}
.saveddrawer-head button{background:none;border:none;font-size:18px;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:12px;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:14px}
.saveddrawer-rsub{font-size:13px;color:var(--ink2)}
.saveddrawer-open{font-size:13px;font-weight:600;color:var(--brand);text-decoration:none}
.saveddrawer-x{background:none;border:none;color:var(--ink2);font-size:15px;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:13px;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:10px;padding:9px 11px;font-size:14px;background:#fff;color:var(--ink)}
.saveddrawer-inputrow button{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:9px 13px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.saveddrawer-inputrow button:disabled{opacity:.55;cursor:default}
.saveddrawer-err{color:#b4231e;font-size:13px;margin-top:8px}
.saveddrawer-consent{font-size:12px;color:var(--ink2);margin-top:8px;line-height:1.5}
.saveddrawer-synced{font-size:14px;color:var(--brand-dk)}
.saveddrawer-synced a{color:var(--brand);font-weight:600}
.mysec{margin:22px 0}
.mysec h2{font-size:15px;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:15px}
.pnr-navlinks a{color:var(--ink);text-decoration:none}
.pnr-navlinks a:hover{color:var(--brand)}
.pnr-back{color:var(--gold)!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:clamp(36px,4.4vw,58px);line-height:1.05;letter-spacing:-.025em;color:var(--brand-dk);margin:14px 0 16px;text-wrap:balance}
.pnr-lede{font-size:19px;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:18px;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:11.5px;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:30px;letter-spacing:-.02em;color:var(--brand-dk);margin:0 0 10px}
.pnr-cardp{font-size:16.5px;line-height:1.5;color:var(--ink2);margin:0 0 20px}
.pnr-cta{display:block;text-align:center;border-radius:12px;padding:15px 18px;font-size:17px;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:14px;color:var(--ink2);margin-top:12px}
.pnr-disc{font-size:12.5px;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-uh{font-family:var(--display),serif;font-weight:600;font-size:30px;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:16.5px;color:var(--ink);margin-bottom:6px}
.pnr-u p{margin:0;font-size:15px;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:17px;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:24px;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:16px;color:var(--ink)}
.pnr-step p{margin:2px 0 0;font-size:14.5px;color:var(--ink2);line-height:1.45}
.pnr-nextnote{font-size:13.5px;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:14px;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:14.5px;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:11px;padding:13px 14px;font-size:16px;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:13px;color:var(--ink2);margin-top:6px}
.aaf-more{border:1px solid var(--line);border-radius:12px;padding:0;margin:4px 0 18px;background:var(--card)}
.aaf-more summary{cursor:pointer;padding:15px 18px;font-size:16.5px;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:22px;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:12px}
.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:10px;padding:12px 14px;font-size:14.5px;margin-bottom:14px}
.aaf-submit{background:var(--brand-dk);color:#fff;border:0;border-radius:12px;padding:16px;font-size:17px;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:14px}
  .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:16px}
}

/* ===== 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:15px}
.ded-navlinks a{color:var(--ink);text-decoration:none}
.ded-navlinks a:hover{color:var(--brand)}
.ded-back{color:var(--gold)!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:clamp(38px,4.6vw,62px);line-height:1.04;letter-spacing:-.025em;color:var(--brand-dk);margin:16px 0 22px;text-wrap:balance}
.ded-lede{font-size:19px;line-height:1.55;color:var(--ink2);margin:0 0 16px;max-width:34ch}
.ded-lede2{font-size:19px;line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 22px}
.ded-read{display:inline-block;color:var(--ink);font-size:17px;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:4px;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:22px;font-weight:600;color:var(--brand-dk)}
.ded-meta{font-size:14.5px;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:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.ded-chapnav a{font-family:var(--display),serif;font-size:17px;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:17.5px;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:20px;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:18px;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:14px;color:#6b756c;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:14px;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:17px;color:#17241d}
.ss-loc{font-size:13px;color:#6b756c;margin-top:2px}
.ss-ex{font-size:15px;line-height:1.55;color:#3a443a;margin:10px 0 12px}
.ss-read{font-size:14px;font-weight:600;color:var(--brand)}
.sb-eyebrow{font-size:12px;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:19px;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:2px}
.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:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-tint)}
.sb-note{font-size:16px;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:18px;color:var(--ink2);margin:0}
.ks-privacy{font-size:13px;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:16.5px;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:13.5px;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:17px}
  .ded-photo{max-width:100%}
  .ded-back{border-left:0;padding-left:0}
  .ded-navlinks{gap:16px;font-size:14px}
  .chap{grid-template-columns:1fr;gap:18px;padding:34px 0}
  .chap-body{border-left:0;padding-left:0}
  .chap-body p{font-size:16.5px}
  .salute-band{padding:44px 22px 40px;border-radius:16px}
  .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:12px;padding:16px;font-size:17px;font-weight:700;cursor:pointer}
.badge-dl:hover{background:var(--brand)}
.badge-fmt{font-size:13px;color:var(--ink2);margin-top:8px}
.badge-prevlbl{align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}
.badge-prevnote{font-size:14px;color:var(--ink2);margin-top:14px;text-align:center}
.badge-in{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;font-size:16px;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:16px;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:12px;padding:16px;background:var(--card)}
.rv-card-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rv-badge{font-size:.72rem;background:var(--brand-tint);color:var(--brand-dk);border-radius:999px;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:.9rem}
.rv-foot{margin-top:22px}
.rv-form-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:var(--card);margin-top:28px;max-width:640px}
.rv-form-card h2{font-size:22px;margin-bottom:4px}
.rv-snip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;font-size:.95rem;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:11px;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:.9rem}
.rvf-done{background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:10px;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:12px;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:.9rem}
.pt-agent-loc{color:var(--ink2);font-size:.82rem;margin:6px 0}
.pt-agent-sp{font-size:.85rem;margin:4px 0}
.pt-agent-bio{font-size:.9rem;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:24px;letter-spacing:-.015em;color:var(--ink);white-space:nowrap}
.home-logotext b{color:var(--brand);font-weight:700}
.home-logosub{font-size:8.5px;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:14px;color:var(--ink2);max-width:120px;line-height:1.2}
.home-navlinks{display:flex;align-items:center;gap:22px;font-size:15px}
.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:999px;padding:7px 16px;font-weight:700;font-size:13.5px}
.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:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance;color:var(--ink)}
.hero-sub{font-size:19px;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:15px;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.hero-cms{font-size:13.5px;color:var(--ink2)}

.sh-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 30px 26px;box-shadow:0 18px 50px -24px rgba(23,36,29,.28)}
.sh-eyebrow{font-size:12px;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:15.5px;margin:0 0 20px}
.sh-label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:7px}
.sh-in{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:15px 16px;font-size:18px;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:12px;padding:16px;font-size:17px;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:13.5px;margin-top:12px}
.sh-divider{height:1px;background:var(--line);margin:18px 0 14px}
.sh-dottie{text-align:center;color:var(--ink2);font-size:14.5px}
.sh-dottielink{background:none;border:0;color:var(--ink);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14.5px;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:16px;padding:18px 22px;text-decoration:none;color:inherit;margin-bottom:14px}
.helpstrip:hover{background:var(--card)}
.hs-ico{font-size:22px;flex:none}
.hs-txt{flex:1;font-size:15.5px;color:var(--ink2)}
.hs-txt b{color:var(--ink);font-family:var(--display),serif;font-weight:600;font-size:18px;display:block;margin-bottom:1px}
.hs-cta{flex:none;color:var(--brand-dk);font-weight:700;font-size:15px;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:14px}
  .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:11px;box-shadow:var(--shadow-sm);flex:none}
.sh-name{font-family:var(--display),serif;font-weight:700;font-size:25px;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:15px;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:3px}
.sh-pill{background:var(--brand-tint);border:1px solid var(--brand-line);color:var(--brand-dk);
         border-radius:999px;padding:5px 12px;font-size:12.5px;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:14px}
.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:23px}
.fb-brand .sh-name b{color:#8fd3b6}
.psfoot .fb-tag{font-size:15px;color:#cfe3d8;margin:10px 0 0;max-width:34ch;line-height:1.6}
.psfoot .fb-h{font-size:12px;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:16px;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:3px}

/* 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:11.5px;line-height:1.5;margin:0 0 12px;max-width:none}
.psfoot .fd-text p{margin:0 0 6px;font-size:11.5px;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:14px}
.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:13.5px;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:12.5px;color:#4f5a52;margin:0}
/* KX21 demoted to a quieter secondary credit, per the footer brief. */
.psfoot .fd-kx{font-size:12px;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:14px}
}
@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr}
  .sh{padding:16px 0 12px}
  .sh-name{font-size:21px}
  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:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.sh-tagline{font-family:var(--display),serif;font-size:15px;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:13px;margin-top:10px}
.refchip button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:2px 10px;font-size:12px;color:var(--ink2);cursor:pointer}
.report-link{background:none;border:none;padding:0;margin-top:6px;color:var(--ink2);font-size:13px;text-decoration:underline;cursor:pointer;display:block}
.report-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px 16px;margin-top:10px}
.report-panel label{display:block;font-size:13px;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:8px;padding:8px 10px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.report-note{font-size:12.5px;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:14px;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:15px}
.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:12px;padding:12px 14px;margin:10px 0;font-size:14.5px}
.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:12px;padding:12px 14px;margin:10px 0 0;border:1px solid var(--line);background:var(--card)}
.pharmfit-h{display:block;font-size:14.5px;font-weight:800;color:var(--ink)}
.pharmfit-d{margin:5px 0 0;font-size:13.5px;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:10px;padding:8px 12px;font-size:13.5px;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:14px;text-align:left;max-width:270px;padding:11px 15px}
.picksub{display:block;font-size:12.5px;font-weight:400;opacity:.78;line-height:1.35}
.pick.on .picksub{opacity:.92}
.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:14px;padding:1.4rem}
.quality-card.suppressed{background:var(--paper2);border-style:dashed}
.quality-number{display:block;font-family:var(--display),Georgia,serif;font-weight:700;font-size:2.8rem;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums;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;font-size:16px}
.quality-card p{margin:0 0 8px;color:var(--ink2);font-size:13.5px;line-height:1.55}
.quality-attr{font-size:11.5px;color:#7a6f60;line-height:1.5}
.quality-note{font-size:12.5px;color:var(--ink2);margin:4px 0 8px}

/* ── Sources block (Build 2) ─────────────────────────────────────────────────────────────────── */
.sources-table{background:var(--card);border:1px solid var(--line);border-radius:12px;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:13.5px}
.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:13px;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:14px;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:13.5px;line-height:1.5}
.interview-cta a{display:inline-block;background:#fff;color:var(--brand-dk);border-radius:10px;padding:9px 14px;font-weight:700;font-size:13.5px;text-decoration:none}

/* ── Interview page (Build 4) ────────────────────────────────────────────────────────────────── */
.interview-progress{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem;margin:14px 0}
.interview-progress-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:14px}
.interview-progress progress{width:100%;accent-color:var(--brand)}
.interview-progress small{display:block;margin-top:8px;color:var(--ink2);font-size:12.5px}
.device-note{background:var(--brand-tint);border:1px solid var(--brand-line);color:var(--brand-dk);border-radius:10px;padding:10px 13px;font-size:13px;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:11px}
.q-card.answered{border-left-color:var(--brand)}
.q-card.follow-up{border-left-color:var(--gold)}
.q-copy label{display:block;font-weight:700;font-size:14.5px;line-height:1.4;color:var(--ink)}
.q-copy p{margin:4px 0 0;color:var(--ink2);font-size:12.5px;line-height:1.5}
.q-card select{align-self:start;width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:13px}
.q-card textarea{grid-column:1/-1;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:13.5px;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:14px;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:12.5px;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:8px;background:var(--card);color:var(--ink);font-size:13.5px}
.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:14px;padding:1.1rem}
.tab-toggle{display:flex;gap:6px;background:var(--paper2);border-radius:10px;padding:4px;margin-bottom:10px}
.tab-toggle button{flex:1;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--ink2);font-weight:700;font-size:13px;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:14.5px;line-height:1.5;color:var(--ink)}
.email-copy{margin:8px 0;padding:10px;background:var(--paper2);border-radius:8px;white-space:pre-line;font-size:12.5px;color:var(--ink)}
.copy-btn{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-weight:700;font-size:13px;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:13.5px}
.summary-counts dd{margin:0;font-weight:800}
.summary-save-btn{width:100%;padding:10px;border:1px solid var(--brand);border-radius:9px;background:var(--brand);color:#fff;font-weight:700;font-size:13.5px;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:10px;background:var(--brand-dk);color:#fff;box-shadow:var(--shadow);font-weight:700;font-size:13.5px}

@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:14px;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:14.5px;line-height:1.5;color:var(--ink)}
.tour-booking p{margin:0;color:var(--ink2);font-size:13px;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}
}


/* ── 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:13px;font-weight:700;color:var(--ink2)}
.cg-prov>summary .ds-t{font-size:13px}
.cg-prov>summary .ds-cv{font-size:18px}
.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:13px;line-height:1.55;color:var(--ink2)}
.cg-prov .cg-caveat{margin:0 0 10px;font-size:12.5px;line-height:1.55;color:var(--ink2)}
.cg-prov .cg-src{margin:0;font-size:12px;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}}
