/* ============================================================================
   GoCheckMyParents — shared design system (LOCKED direction)
   Background #F7F5F0 · primary dusty blue #5B7A96 · CTA slate blue #4E6E8C ·
   headings #33414F in serif (Fraunces) · body soft charcoal #565B5E.
   Never pure black text. Never clinical white page backgrounds. No red
   anywhere except facility red-flag banners in the checker (--flag).
   No stock photography — inline SVG line illustrations in muted tones only.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  color-scheme:light;
  --bg:#F7F5F0;            /* locked background */
  --surface:#FFFEFB;
  --ink:#33414F;           /* deep heading color */
  --body:#565B5E;          /* body text — never pure black */
  --muted:#565B5E;
  --line:#E5E1D8;
  --sage:#5B7A96;          /* primary dusty blue (legacy var name kept site-wide) */
  --sage-deep:#4E6E8C;     /* CTA slate blue */
  --sagesoft:#E9EEF2;
  --blue:#5B7A96;
  --blue-deep:#4E6E8C;
  --bluesoft:#E7EDF2;
  --sand:#B98F52;          /* muted gold, small doses (eyebrows, crisis card) */
  --sandsoft:#F3EBDC;
  --flag:#A8513F;          /* reserved: facility red-flag banners ONLY */
  --flagsoft:#F7E8E2;
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--body);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.7;min-height:100vh}
h1,h2,h3,h4,.serif{color:var(--ink)}
.wrap{max-width:620px;margin:0 auto;padding:22px 22px 44px}
.wrap.wide{max-width:1040px}
.serif{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.18;letter-spacing:-.01em}
a{color:var(--sage-deep)}

/* ===== Marketing type scale (articles + homepage); tool stays compact ===== */
article{font-size:17px;line-height:1.72}
article p,article li{font-size:17px;line-height:1.72}
article li{margin-bottom:6px}
article h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:32px;line-height:1.22;margin-top:34px;letter-spacing:-.01em}
article h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:24px;line-height:1.28;margin-top:26px}

.pill{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
h1.hero{font-size:40px;font-weight:600;margin:14px 0 0}
.lead{font-size:17px;line-height:1.62;color:var(--muted);margin-top:14px;max-width:540px}
.chips{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.chip{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;background:var(--surface);border:1px solid var(--line);padding:8px 12px;border-radius:99px}

.btn{cursor:pointer;border:none;border-radius:14px;padding:16px 24px;font-weight:600;font-size:16px;font-family:'Fraunces',Georgia,serif;display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--sage-deep),var(--sage));color:#fff;box-shadow:0 12px 28px -10px rgba(51,65,79,.5)}
.btn-ghost{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}
.btn-block{width:100%;justify-content:center}

.opt{width:100%;text-align:left;cursor:pointer;margin-bottom:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:15px 17px;font-weight:600;font-size:15.5px;font-family:'Inter',system-ui,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border-color .14s,background .14s}
.opt:hover{border-color:var(--sage)}
.opt.on{border-color:var(--sage);background:var(--sagesoft)}

.card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:20px;margin-top:20px}
.fine{font-size:11.5px;color:var(--muted);margin-top:22px;line-height:1.55}

.progress{flex:1;height:7px;background:var(--line);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--blue-deep));transition:width .3s}

.rise{animation:rise .4s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

input[type=text],input[type=email],input[type=tel]{font-family:'Inter',system-ui,sans-serif;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-size:16px;font-weight:600;background:#fff;color:var(--ink)}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{outline:none;border-color:var(--sage)}

/* ===== WCAG 2.4.7 Focus Visible: explicit, consistent keyboard focus ring
   (replaces reliance on inconsistent browser defaults; input fields also get a
   visible ring, not only a subtle border-color shift) ===== */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4E6E8C;outline-offset:2px;border-radius:4px}
input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=tel]:focus-visible{outline:3px solid #4E6E8C;outline-offset:1px;border-color:var(--sage)}
/* ===== WCAG 2.4.1 Bypass Blocks: skip link (injected by a11y.js), off-screen
   until it receives keyboard focus ===== */
.gcm-skip{position:fixed;left:8px;top:-56px;z-index:1000;background:var(--sage-deep,#4E6E8C);color:#fff;padding:11px 18px;border-radius:0 0 10px 10px;font:600 14px/1 'Inter',system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 18px -6px rgba(51,65,79,.5);transition:top .16s}
.gcm-skip:focus{top:0}

/* encouraging reassurance line */
.reassure{margin:12px 0 2px;background:var(--sagesoft);border:1px solid #D3DCE4;border-left:4px solid var(--sage);border-radius:12px;padding:11px 14px;font-size:14px;line-height:1.5;color:var(--ink)}
.reassure b{color:var(--sage-deep)}

/* red-flag banner — the ONLY place alarm color is allowed */
.redflag{background:var(--flagsoft);border:1.5px solid var(--flag);border-radius:14px;padding:14px 16px}
.redflag b{color:var(--flag)}
.redflag p{margin:4px 0 0;font-size:14.5px;color:var(--ink);line-height:1.55}

/* contextual affiliate slot (content pages; rendered by affiliates.js) */
.aff-slot{margin:26px 0}
.aff-disc{font-size:11px;color:var(--muted);line-height:1.45;margin:0 0 8px}
.aff-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--sagesoft);border:1px solid #D3DCE4;border-radius:14px;padding:15px 17px}
.aff-card b{display:block;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.02rem;color:var(--ink);line-height:1.3}
.aff-card .aff-why{display:block;font-size:.84rem;color:var(--muted);line-height:1.45;margin-top:2px}
.aff-go{flex-shrink:0;display:inline-flex;background:var(--sage-deep);color:#fff;font-weight:700;font-size:.85rem;padding:10px 16px;border-radius:10px;text-decoration:none;white-space:nowrap}
.aff-go.soon{background:var(--bg);color:var(--muted);border:1px solid var(--line)}

/* ============================================================================
   PRESENTATION SYSTEM (redesign) — shell, bands, kicker, CareSpectrum, CostBars
   Palette adds: linen #EFE9DD · accent blue-gray #EDF0F3 · gold kicker #B98F52
   ============================================================================ */
:root{--linen:#EFE9DD;--accentband:#EDF0F3;--kicker:#85601C;--csTrack:#DCD6C8;--csMark:#C08A4E;--cbTrack:#E4DFD3}

/* content shell + prose measure */
.shell{max-width:1100px;margin:0 auto;padding:0 24px}
.measure{max-width:740px}
.measure-c{max-width:740px;margin-left:auto;margin-right:auto}

/* full-width alternating bands */
.band{width:100%}
.band>.shell{padding:66px 24px}
.band-linen{background:var(--linen)}
.band-std{background:var(--bg)}
.band-accent{background:var(--accentband)}
@media(max-width:720px){.band>.shell{padding:44px 20px}}

/* gold kicker label above serif heads */
.kicker{display:block;font-family:'Inter',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kicker);margin:0 0 10px}
.serif-head{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.16;margin:0}
.serif-head em{font-style:italic;color:var(--sage)}

/* ---- CareSpectrum: five icon nodes on a track (track behind the circles) ---- */
.carespectrum{position:relative;width:100%;padding:2px 0}
.cs-track{position:absolute;left:10%;right:10%;top:25px;height:5px;border-radius:99px;background:var(--csTrack)}
.cs-trackfill{height:100%;border-radius:99px;background:var(--sage);transition:width .8s cubic-bezier(.2,.8,.3,1)}
.cs-row{position:relative;display:flex}
.cs-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;padding:0 4px}
.cs-node{width:46px;height:46px;border-radius:50%;background:#E4DFD3;border:1.5px solid #C9C2B2;color:var(--body);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:background .3s,border-color .3s}
.cs-node svg{width:23px;height:23px}
.cs-node.on{background:var(--sage);border-color:var(--sage);color:#F5F3EC}
.cs-node.on.soft{background:#7E97AC;border-color:#7E97AC}
.cs-node.mark{background:var(--csMark);border-color:var(--csMark);color:#fff;box-shadow:0 0 0 4px #F7F5F0,0 0 0 7px rgba(192,138,78,.35);z-index:2}
.cs-lbl{margin-top:10px;font-family:'Inter',system-ui,sans-serif;font-size:11.5px;line-height:1.3;color:var(--muted);text-align:center;font-weight:600}
.cs-node.on+.cs-lbl{color:var(--sage-deep);font-weight:700}
.cs-node.mark+.cs-lbl{color:var(--ink);font-weight:700}
.carespectrum.teaser .cs-node.on+.cs-lbl{color:var(--ink);font-weight:700}
.cs-lbl .cs-ab{display:none}
.cs-caption{margin:14px auto 0;font-style:italic;font-size:12.5px;line-height:1.5;color:var(--muted);text-align:center}
@media(max-width:600px){
  .cs-node{width:38px;height:38px}
  .cs-node svg{width:19px;height:19px}
  .cs-track{top:21px}
  .cs-col{padding:0 4px}
  .cs-lbl{font-size:11px;margin-top:8px}
  .cs-lbl .cs-full{display:none}.cs-lbl .cs-ab{display:block}
}

/* ---- CostBars ---- */
.costbars{margin:2px 0 0}
.cb-row{display:grid;grid-template-columns:132px 1fr 96px;align-items:center;gap:12px;margin-bottom:11px}
.cb-lbl{font-size:13px;font-weight:600;color:var(--ink);line-height:1.25}
.cb-track{height:22px;border-radius:6px;background:var(--cbTrack);overflow:hidden}
.cb-bar{display:block;height:100%;border-radius:6px;transition:width .8s cubic-bezier(.2,.8,.3,1)}
.cb-val{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:15px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cb-src{font-size:11px;color:var(--muted);line-height:1.45;margin-top:9px}
@media(max-width:560px){
  .cb-row{grid-template-columns:1fr auto;gap:4px 10px}
  .cb-track{grid-column:1 / -1;order:3;height:18px}
  .cb-val{order:2}
}

/* ---- two-up secondary offramp rows (desktop) ---- */
@media(min-width:680px){.rs-rows-2up{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rs-rows-2up .rs-row{margin-top:0}}

/* ============================================================================
   CHECKER TOOL (facility + home-care) — shared by both checker pages
   ============================================================================ */
.ck{margin-top:28px}
.ck-search{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.ck-lbl{display:block;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:8px}
.ck-row{display:flex;gap:8px}
.ck-row #ckzip{flex:1;min-width:0;font-size:16px}
.ck-row .btn{padding:13px 22px;min-height:44px}
.ck-hint{font-size:12px;color:var(--muted);margin:9px 0 0;line-height:1.5}
.ck-fresh{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 2px 0}
.ck-status{margin-top:14px}
.ck-msg{font-size:14px;line-height:1.55;border-radius:12px;padding:12px 15px;background:var(--sagesoft);color:var(--ink)}
.ck-msg.warn{background:var(--sandsoft);border:1px solid var(--sand)}
.ck-msg.ok{background:var(--bluesoft);color:var(--blue-deep);font-weight:600}
.ck-spin{display:inline-block;width:13px;height:13px;border:2px solid var(--blue);border-top-color:transparent;border-radius:50%;animation:ckspin .7s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes ckspin{to{transform:rotate(360deg)}}
.ck-results{margin-top:14px;display:grid;gap:14px}
@media(min-width:760px){.ck-results{grid-template-columns:1fr 1fr}}
.ck-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px 18px;display:flex;flex-direction:column;gap:10px}
.ck-card.flagged{border-color:var(--flag)}
.ck-name{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.08rem;color:var(--ink);line-height:1.25;margin:0}
.ck-city{font-size:12.5px;color:var(--muted);margin:2px 0 0}
.ck-stars{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ck-star{color:var(--csTrack);font-size:16px;line-height:1}
.ck-star.on{color:#85601C}
.ck-starlbl{font-size:12.5px;font-weight:700;color:var(--ink)}
.ck-metric{font-size:12.5px;color:var(--ink);line-height:1.4}
.ck-metric .mh{font-weight:700;display:block;margin-bottom:5px;color:var(--ink)}
.ck-bar{position:relative;height:16px;background:var(--cbTrack);border-radius:5px;overflow:visible}
.ck-bar-fill{height:100%;border-radius:5px;background:var(--blue)}
.ck-bar-avg{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.ck-bar-cap{font-size:10.5px;color:var(--muted);margin-top:3px;display:flex;justify-content:space-between}
.ck-defs{font-size:12.5px;color:var(--ink);line-height:1.45}
.ck-chips{display:flex;flex-wrap:wrap;gap:5px}
.ck-chip{font-size:10.5px;font-weight:700;color:var(--sage-deep);background:var(--sagesoft);border-radius:99px;padding:3px 9px}
.ck-own{font-size:11.5px;color:var(--muted);line-height:1.45;border-top:1px dashed var(--line);padding-top:9px}
.ck-flag{background:var(--flagsoft);border:1.5px solid var(--flag);border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.45;color:var(--ink)}
.ck-flag b{color:var(--flag)}
.ck-actions{display:flex;gap:8px;margin-top:2px;align-items:center}
.ck-pin{cursor:pointer;font-size:12px;font-weight:700;color:var(--sage-deep);background:var(--sagesoft);border:1px solid #D3DCE4;border-radius:9px;padding:8px 14px;min-height:44px}
.ck-pin.on{background:var(--sage);color:#fff;border-color:var(--sage)}
.ck-cclink{font-size:12px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.ck-tray{position:sticky;bottom:0;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:16px;box-shadow:0 -8px 26px -18px rgba(51,65,79,.4)}
.ck-tray-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ck-tray-h{font-weight:700;font-size:13px;color:var(--ink)}
.ck-tray-clear{cursor:pointer;font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px 14px;min-height:38px}
.ck-tray-clear:hover{color:var(--ink);border-color:var(--sage)}
.ck-tray-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck-tray-share{cursor:pointer;font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--sage-deep);background:var(--sagesoft);border:1px solid #D3DCE4;border-radius:9px;padding:8px 14px;min-height:38px}
.ck-tray-share:hover{border-color:var(--sage)}
.ck-tray-note{font-size:12px;color:#85601C;line-height:1.5;margin-top:9px}
.ck-tray-priv{font-size:11px;color:var(--muted);line-height:1.45;margin-top:8px}
.ck-cmp{width:100%;border-collapse:collapse;font-size:12px}
.ck-cmp th,.ck-cmp td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.ck-cmp th{color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}
.ck-cmp td.nm{font-weight:700;color:var(--ink)}
.ck-tech{margin-top:9px}
.ck-tech summary{cursor:pointer;font-size:11.5px;font-weight:700;color:var(--muted)}
.ck-tech code{display:block;margin-top:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--ink);background:rgba(0,0,0,.04);border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-word;line-height:1.4}

/* ---- senior usability controls (a11y.js) ---- */
.a11y-widget{position:fixed;left:14px;bottom:14px;z-index:80}
.a11y-toggle{width:46px;height:46px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line);color:var(--ink);font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;cursor:pointer;box-shadow:0 6px 18px -8px rgba(51,65,79,.45);display:flex;align-items:baseline;justify-content:center;line-height:1;gap:1px}
.a11y-toggle span{font-size:13px}
.a11y-panel{position:absolute;left:0;bottom:54px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 16px 40px -20px rgba(51,65,79,.5);width:186px}
.a11y-cap{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.a11y-grp{display:flex;gap:6px;margin-bottom:8px}
.a11y-b{flex:1;min-height:44px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;font-family:'Inter',system-ui,sans-serif}
.a11y-b:hover{border-color:var(--sage)}
.a11y-b.on{background:var(--sage);color:#fff;border-color:var(--sage)}
.a11y-wide{width:100%;font-size:13px;min-height:44px}
html.a11y-contrast{--body:#2B333B;--muted:#3C444C}
html.a11y-contrast a:not(.btn):not([class*="cta"]):not([class*="-go"]){text-decoration:underline}
@media print{.a11y-widget{display:none}}

/* ---- placement consent interstitial (opt-in handoff; built in affiliates.js) ---- */
.gcm-consent-ov{position:fixed;inset:0;background:rgba(51,65,79,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.gcm-consent-box{background:var(--surface);border-radius:18px;max-width:460px;width:100%;padding:24px 24px 20px;box-shadow:0 24px 60px -18px rgba(51,65,79,.55);max-height:92vh;overflow:auto;outline:none}
.gcm-consent-box h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.28rem;color:var(--ink);margin:0 0 12px;line-height:1.2}
.gcm-consent-box p{font-size:14px;line-height:1.6;color:var(--body);margin:0 0 12px}
.gcm-consent-comp{background:var(--sagesoft);border:1px solid #D3DCE4;border-left:4px solid var(--sage);border-radius:12px;padding:12px 14px;color:var(--ink) !important}
.gcm-consent-btns{display:flex;gap:10px;margin-top:16px}
.gcm-consent-yes,.gcm-consent-no{flex:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:.95rem;padding:13px 16px;border-radius:12px;font-family:inherit;cursor:pointer;line-height:1.2}
.gcm-consent-yes{background:var(--sage-deep);color:#fff;text-decoration:none;border:1.5px solid var(--sage-deep)}
.gcm-consent-yes.soon{background:var(--bg);color:var(--muted);border-color:var(--line);cursor:default}
.gcm-consent-no{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}
.gcm-consent-no:hover{border-color:var(--sage)}
@media(max-width:440px){.gcm-consent-btns{flex-direction:column}}

/* ---- Amazon product picks (gap-matched; rendered by affiliates.js amzCard) ---- */
.rs-amz{margin-top:26px}
.amz-wrap{margin-top:10px}
.amz-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 16px;text-decoration:none;transition:border-color .15s,transform .15s}
.amz-card:hover{border-color:var(--sage);transform:translateY(-1px)}
.amz-n{display:block;font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.3}
.amz-w{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:3px}
.amz-l{display:block;font-size:11.5px;color:#8A6D3B;background:var(--sandsoft);border-radius:7px;padding:4px 8px;margin-top:6px;line-height:1.45}
.amz-p{display:inline-flex;margin-top:8px;font-size:12px;font-weight:700;color:var(--sage-deep)}
.amz-alt{display:block;font-size:12px;color:var(--muted);margin:5px 2px 0}
.amz-alt a{font-weight:600}

/* ===== DESKTOP COMPOSITION SWEEP (2026-07-17): tool + article pages =====
   Desktop-only; mobile is byte-identical. Same medicine as the homepage's
   composition layer: wider shells, side-by-side elements, centered prose. */
@media(min-width:1024px){
  /* checker results become a two-across card grid; search stays a centered unit */
  .ck-results{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
  .ck-search{max-width:640px;margin-left:auto;margin-right:auto}
  .ck-fresh{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
  .ck-status{max-width:760px;margin-left:auto;margin-right:auto}
  /* article prose (guides, crisis page, glossary): widen the measure */
  .wrap:has(> article){max-width:768px}
}

/* shared footer */
.gc-foot{border-top:1px solid var(--line);margin-top:0;padding:26px 22px 34px;background:var(--surface)}
.gc-foot .fin{max-width:1040px;margin:0 auto;display:flex;flex-wrap:wrap;gap:18px 34px;align-items:flex-start;justify-content:space-between}
.gc-foot .fbrand{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:16px;color:var(--ink)}
.gc-foot .flinks{flex:1;min-width:280px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 22px}
.gc-foot .fcol{display:flex;flex-direction:column;gap:8px;min-width:0}
.gc-foot .fcol b{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.gc-foot .flinks a{font-size:13px;color:var(--muted);text-decoration:none;line-height:1.35}
.gc-foot .flinks a:hover{color:var(--ink)}
@media(max-width:680px){.gc-foot .flinks{grid-template-columns:1fr 1fr;gap:16px 18px}}
@media(max-width:400px){.gc-foot .flinks{grid-template-columns:1fr}}
.gc-foot .fnote{width:100%;font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:6px}

/* shared free-advisor referral (value-first, disclosure adjacent) */
.aff-advisor{background:linear-gradient(150deg,var(--sagesoft),var(--sandsoft));border:1px solid #D8DFE6;border-radius:18px;padding:22px 24px 20px;margin:28px auto 6px;max-width:720px}
.aff-advisor h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.2rem;color:var(--ink);margin:0 0 8px}
.aff-advisor p{font-size:14.5px;line-height:1.6;color:var(--ink);margin:0 0 14px;max-width:640px}
.aff-advisor .aff-btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue-deep);color:#fff;font-weight:700;font-size:15px;text-decoration:none;border-radius:12px;padding:13px 22px;min-height:44px}
.aff-advisor .aff-btn:hover{background:#3F5C77;color:#fff}
.aff-advisor .aff-disc{font-size:11.5px !important;line-height:1.55;color:var(--muted) !important;margin:12px 0 0 !important;max-width:660px}
