/* ------------------------------------------------------------------
   Vista Verde Homes — design tokens
   Type: Zilla Slab (display) + Atkinson Hyperlegible (body/UI, designed
   for low-vision readers). Palette: spruce, meadow, connect-blue, wheat.
   ------------------------------------------------------------------ */
:root{
  /* Earth tones: desert cream, terracotta, sandstone gold, mesa brown; the logo's greens for actions */
  --bg:#F3EBDC; --surface:#FCF8F0; --surface-2:#EADFCB; --surface-3:#DCCDB4;
  --ink:#2A221D; --ink-2:#5B4B42; --ink-3:#7E6E64; --line:#DACCB8; --line-2:#BFA98F;
  --spruce:#6B3A26; --spruce-2:#7F4A33; --spruce-line:#9A6048; --spruce-ink:#F6ECDD; --spruce-muted:#E7D3BF; --spruce-link:#F2C27B;
  --primary:#1F6B52; --primary-hover:#17553F; --primary-ink:#FFFFFF; --primary-soft:#DCEBE1;
  --connect:#7A4A2A; --connect-hover:#5F381F; --connect-bg:#F1E3D2;
  --wheat:#B8842A; --wheat-bg:#F7E9CF; --wheat-line:#E0C182;
  --clay:#A8421B; --clay-bg:#F6E1D6; --clay-line:#E2A98F;
  --rust:#B5491F; --gold:#D9A441; --sand:#F0B98A;
  --focus:#1F6B52;
  --radius:12px; --radius-s:7px; --radius-l:22px; --pill:999px;
  --font-display:'Fredoka','Atkinson Hyperlegible','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:'Atkinson Hyperlegible','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --measure:66ch;
  --max:1120px;
  --pad:20px;
  --section:56px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1B1512; --surface:#251D18; --surface-2:#2F251F; --surface-3:#3B2E26;
    --ink:#F1E8DC; --ink-2:#CDBBAB; --ink-3:#A08E80; --line:#4A3A30; --line-2:#665145;
    --spruce:#140F0C; --spruce-2:#2A1F1A; --spruce-line:#3F2E26; --spruce-ink:#F1E8DC; --spruce-muted:#CDBBAB; --spruce-link:#F2C27B;
    --primary:#4CB08A; --primary-hover:#62C39C; --primary-ink:#06130C; --primary-soft:#1E3F2C;
    --connect:#D9A46F; --connect-hover:#E8B987; --connect-bg:#3A2A1C;
    --wheat:#E4B95B; --wheat-bg:#33290F; --wheat-line:#6B5520;
    --clay:#F08A6B; --clay-bg:#3F1C13; --clay-line:#7A3B2B;
    --focus:#4CB08A;
  }
}
:root[data-theme="dark"]{
  --bg:#1B1512; --surface:#251D18; --surface-2:#2F251F; --surface-3:#3B2E26;
  --ink:#F1E8DC; --ink-2:#CDBBAB; --ink-3:#A08E80; --line:#4A3A30; --line-2:#665145;
  --spruce:#140F0C; --spruce-2:#2A1F1A; --spruce-line:#3F2E26; --spruce-ink:#F1E8DC; --spruce-muted:#CDBBAB; --spruce-link:#F2C27B;
  --primary:#4CB08A; --primary-hover:#62C39C; --primary-ink:#06130C; --primary-soft:#1E3F2C;
  --connect:#D9A46F; --connect-hover:#E8B987; --connect-bg:#3A2A1C;
  --wheat:#E4B95B; --wheat-bg:#33290F; --wheat-line:#6B5520;
  --clay:#F08A6B; --clay-bg:#3F1C13; --clay-line:#7A3B2B;
  --focus:#4CB08A;
}
@media (min-width:760px){ :root{ --pad:32px; --section:88px; } }

html{ font-size:112.5%; scroll-padding-top:calc(72px + env(safe-area-inset-top,0px)); -webkit-text-size-adjust:100%; }
*,*::before,*::after{ box-sizing:inherit; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); line-height:1.55; }
body{ min-height:100vh; min-height:100svh; display:flex; flex-direction:column; } #main{ flex:1 0 auto; }   /* short pages: footer at the bottom, not mid-screen */
img,svg{ max-width:100%; }
a{ color:var(--connect); text-underline-offset:3px; }
a:hover{ color:var(--connect-hover); }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.1; margin:0 0 .5em; letter-spacing:0; color:var(--ink); }
h1{ font-size:2.5rem; }
h2{ font-size:1.9rem; }
h3{ font-size:1.35rem; }
h4{ font-size:1.1rem; font-family:var(--font-body); font-weight:700; line-height:1.3; }
@media (min-width:760px){ h1{ font-size:3.3rem; } h2{ font-size:2.3rem; } h3{ font-size:1.5rem; } }
p,ul,ol{ margin:0 0 1em; max-width:var(--measure); }
ul,ol{ padding-left:1.25em; }
li{ margin-bottom:.35em; }
small,.small{ font-size:.89rem; }
.lead{ font-size:1.2rem; line-height:1.5; color:var(--ink-2); max-width:var(--measure); }
.muted{ color:var(--ink-2); }
.measure{ max-width:var(--measure); }
strong{ font-weight:700; }
hr{ border:0; border-top:1px solid var(--line); margin:2rem 0; }
button{ font:inherit; color:inherit; }
input,select,textarea{ font:inherit; color:var(--ink); }
:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible{ outline:none; }   /* programmatic focus after navigation: announce, don't draw a box */
/* Nothing may widen a phone page: grid/flex children can shrink, code blocks scroll inside their box, and the document clips sideways overflow */
html,body{ overflow-x:clip; }
.wrap > *,.split > *,.grid > *,.panel,.hero__card,.card,.res,.item{ min-width:0; }
pre,.embed{ max-width:100%; }
.skip{ position:absolute; left:-999px; top:0; background:var(--surface); color:var(--ink); padding:12px 16px; z-index:100; border:2px solid var(--focus); border-radius:var(--radius-s); }
.skip:focus{ left:12px; top:calc(12px + env(safe-area-inset-top,0px)); }
.visually-hidden{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wrap{ max-width:var(--max); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.section{ padding-top:var(--section); padding-bottom:var(--section); }
.section--tight{ padding-top:calc(var(--section) * .6); padding-bottom:calc(var(--section) * .6); }
.section--surface{ background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section--spruce{ background:var(--spruce); color:var(--spruce-ink); }
.section--spruce h1,.section--spruce h2,.section--spruce h3,.section--spruce h4{ color:#fff; }
.section--spruce .lead,.section--spruce .muted{ color:var(--spruce-muted); }
.section--spruce a{ color:var(--spruce-link); }
.section--wheat{ background:var(--wheat-bg); border-top:1px solid var(--wheat-line); border-bottom:1px solid var(--wheat-line); }
.grid{ display:grid; gap:20px; }
.grid--2{ grid-template-columns:1fr; }
.grid--3{ grid-template-columns:1fr; }
@media (min-width:640px){ .grid--2{ grid-template-columns:1fr 1fr; } .grid--3{ grid-template-columns:1fr 1fr; } }
@media (min-width:960px){ .grid--3{ grid-template-columns:1fr 1fr 1fr; } }
.split{ display:grid; gap:32px; }
@media (min-width:860px){ .split{ grid-template-columns:5fr 4fr; align-items:start; } .split--eq{ grid-template-columns:1fr 1fr; align-items:stretch; } }

/* Buttons ---------------------------------------------------------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:48px; padding:10px 20px; border-radius:var(--radius); border:2px solid transparent; font-weight:700; text-decoration:none; cursor:pointer; line-height:1.2; text-align:center; background:var(--surface); color:var(--ink); border-color:var(--line-2); }
.btn:hover{ border-color:var(--ink-2); color:var(--ink); }
.btn--primary{ background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.btn--primary:hover{ background:var(--primary-hover); border-color:var(--primary-hover); color:var(--primary-ink); }
.btn--secondary{ background:transparent; color:var(--primary); border-color:var(--primary); }
.btn--secondary:hover{ background:var(--primary-soft); color:var(--primary); border-color:var(--primary); }
.btn--connect{ background:var(--connect-bg); color:var(--connect); border-color:var(--connect-bg); }
.btn--connect:hover{ background:var(--connect); color:#fff; border-color:var(--connect); }
.btn--clay{ background:var(--clay); color:#fff; border-color:var(--clay); }
.btn--clay:hover{ background:#8C2F1D; border-color:#8C2F1D; color:#fff; }
.btn--lg{ min-height:56px; font-size:1.1rem; padding:12px 26px; }
.btn--sm{ min-height:40px; padding:6px 14px; font-size:.95rem; }
.btn--block{ width:100%; }
.btn .icon{ font-size:1.15em; }
.btn[aria-pressed="true"]{ background:var(--primary-soft); border-color:var(--primary); color:var(--primary); }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; margin:1.25rem 0 0; }
.icon{ display:inline-block; width:1em; height:1em; vertical-align:-.15em; flex:none; }
.icon svg{ width:100%; height:100%; display:block; }

/* Header ----------------------------------------------------------- */
.preview{ background:var(--wheat-bg); border-bottom:1px solid var(--wheat-line); color:var(--ink); font-size:.92rem; padding:8px var(--pad); text-align:center; }
.preview strong{ color:var(--wheat); }
.header{ position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--surface); border-bottom:1px solid var(--line); }
.header__in{ display:flex; align-items:center; gap:10px; min-height:68px; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-family:var(--font-display); font-weight:600; font-size:1.2rem; line-height:1; margin-right:auto; letter-spacing:.02em; text-transform:uppercase; min-width:0; }
.brand > span{ white-space:nowrap; }
@media (max-width:759px){ .brand{ font-size:1rem; gap:8px; } .brand__mark{ width:38px; height:38px; } .brand span .tag{ display:none; } .brand small{ font-size:.62rem; letter-spacing:.22em; margin-top:3px; } .lang button{ padding:6px 9px; min-height:38px; font-size:.9rem; } .menu-btn{ padding:8px 10px; min-height:40px; } .header__actions{ gap:6px; } .header__in{ gap:10px; min-height:62px; } }
.brand__mark{ width:44px; height:44px; flex:none; }
.brand span{ display:block; }
.brand small{ display:block; font-family:var(--font-display); font-weight:600; font-size:.7rem; color:var(--primary); margin-top:4px; letter-spacing:.28em; text-transform:uppercase; }
.brand span .tag{ display:block; font-family:var(--font-body); text-transform:none; letter-spacing:0; font-weight:400; font-size:.72rem; color:var(--ink-2); margin-top:3px; }
.nav{ display:none; align-items:center; gap:2px; }
.nav > a,.nav details > summary{ display:inline-flex; align-items:center; gap:4px; padding:10px 5px; font-size:.88rem; white-space:nowrap; border-radius:var(--radius-s); text-decoration:none; color:var(--ink); font-weight:700; cursor:pointer; list-style:none; }
.nav details > summary::-webkit-details-marker{ display:none; }
.nav > a:hover,.nav details > summary:hover{ background:var(--surface-2); color:var(--ink); }
.nav > a[aria-current="page"]{ box-shadow:inset 0 -3px 0 var(--primary); }
.nav details{ position:relative; }
.nav details[open] > summary{ background:var(--surface-2); }
.nav__menu{ position:absolute; top:100%; left:0; min-width:260px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:8px; margin-top:6px; display:grid; gap:2px; z-index:60; }
.nav__menu a{ display:block; padding:10px 12px; border-radius:var(--radius-s); text-decoration:none; color:var(--ink); }
.nav__menu a:hover{ background:var(--surface-2); }
.nav__menu a small{ display:block; color:var(--ink-2); font-weight:400; }
.nav__menu--wide{ min-width:520px; grid-template-columns:1fr 1fr; }
.nav__menu--wide a{ padding:8px 12px; }
.nav__menu .nav__menu-all{ grid-column:1 / -1; border-top:1px solid var(--line); margin-top:4px; padding-top:10px; }
.header__actions{ display:flex; align-items:center; gap:8px; }
.lang{ display:inline-flex; border:2px solid var(--line-2); border-radius:var(--pill); overflow:hidden; }
.lang button{ background:transparent; border:0; padding:6px 10px; min-height:40px; font-weight:700; color:var(--ink-2); cursor:pointer; }
.lang button[aria-pressed="true"]{ background:var(--spruce); color:#fff; }
.menu-btn{ display:inline-flex; align-items:center; gap:6px; background:transparent; border:2px solid var(--line-2); border-radius:var(--radius-s); padding:8px 12px; min-height:44px; font-weight:700; cursor:pointer; }
.donate-link{ display:none; padding-left:14px; padding-right:14px; }
@media (min-width:1320px){ .nav{ display:flex; } .menu-btn{ display:none; } .donate-link{ display:inline-flex; } }
.mobile-nav{ display:none; background:var(--surface); border-bottom:1px solid var(--line); }
.mobile-nav[data-open="true"]{ display:block; }
.mobile-nav__in{ padding:8px var(--pad) 20px; display:grid; gap:4px; }
.mobile-nav h4{ margin:14px 0 4px; color:var(--ink-2); font-size:.85rem; }
.mobile-nav a{ display:block; padding:12px 10px; border-radius:var(--radius-s); text-decoration:none; color:var(--ink); font-weight:700; }
.mobile-nav a:hover{ background:var(--surface-2); }
.mobile-nav .btn{ margin-top:10px; }

/* Front door -------------------------------------------------------- */
.door{ padding-top:36px; padding-bottom:var(--section); }
.door__kicker{ font-family:var(--font-display); font-size:1.15rem; color:var(--primary); margin:0 0 12px; }
.door h1{ margin-bottom:.35em; max-width:16ch; }
.door .lead{ margin-bottom:1.6rem; }
.needs{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:none; }
@media (min-width:640px){ .needs{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:960px){ .needs{ grid-template-columns:repeat(4,1fr); gap:14px; } }
.needs li{ margin:0; display:flex; }
.needs .need{ flex:1 1 auto; }
.need{ display:flex; flex-direction:column; gap:8px; width:100%; min-height:112px; padding:16px 14px; background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-l); text-align:left; text-decoration:none; color:var(--ink); cursor:pointer; }
.need:hover,.need:focus-visible{ border-color:var(--primary); background:var(--surface); }
.need .icon{ font-size:1.7rem; color:var(--primary); }
.need b{ display:block; font-size:1.02rem; line-height:1.25; }
.need span{ display:block; font-size:.84rem; color:var(--ink-2); line-height:1.3; }
.ask{ margin-top:28px; max-width:760px; }
.ask h2{ font-size:1.4rem; margin-bottom:.4em; }
.ask__row{ display:flex; gap:10px; flex-wrap:wrap; }
.ask__input{ flex:1 1 280px; min-height:60px; padding:12px 16px; font-size:1.1rem; border:2px solid var(--line-2); border-radius:var(--radius); background:var(--surface); }
.ask__input:focus{ border-color:var(--connect); outline:3px solid var(--focus); outline-offset:1px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; padding:0; list-style:none; max-width:none; }
.chips li{ margin:0; }
.chip{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:6px 14px; border-radius:var(--pill); border:1.5px solid var(--line-2); background:var(--surface); color:var(--ink); font-size:.95rem; cursor:pointer; text-decoration:none; }
.chip:hover{ border-color:var(--primary); color:var(--primary); }
.chip--need{ border-color:var(--primary); color:var(--primary); font-weight:700; }
.chip--need:hover{ background:var(--primary); color:#fff; }
.answer{ margin-top:20px; border:2px solid var(--primary); border-radius:var(--radius-l); background:var(--surface); padding:18px 18px 16px; }
.answer h3{ font-size:1.2rem; margin-bottom:.35em; }
.answer p{ margin-bottom:.6em; }
.answer .chips{ margin-top:8px; margin-bottom:8px; }
@media (prefers-reduced-motion:no-preference){
  .answer{ animation:answer-in .28s ease-out; }
  @keyframes answer-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
}
.notice{ border-radius:var(--radius); padding:14px 16px; margin:0 0 1rem; border:1.5px solid var(--line); background:var(--surface-2); max-width:var(--measure); }
.notice p:last-child,.notice ul:last-child{ margin-bottom:0; }
.notice--urgent{ background:var(--clay-bg); border-color:var(--clay-line); }
.notice--urgent h3,.notice--urgent strong{ color:var(--clay); }
.notice--crisis{ background:var(--connect-bg); border-color:var(--connect); }
.notice--info{ background:var(--connect-bg); border-color:transparent; }
.notice--wheat{ background:var(--wheat-bg); border-color:var(--wheat-line); }
.notice .btn-row{ margin-top:.75rem; }

/* Bands / lists ----------------------------------------------------- */
.motto{ font-family:var(--font-display); font-size:1.7rem; line-height:1.2; margin:0 0 .5em; }
@media (min-width:760px){ .motto{ font-size:2.2rem; } }
.steps{ list-style:none; padding:0; margin:0; counter-reset:step; display:grid; gap:14px; max-width:none; }
@media (min-width:760px){ .steps{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1000px){ .steps--6{ grid-template-columns:repeat(6,1fr); } .steps--7{ grid-template-columns:repeat(7,1fr); } }
.steps li{ margin:0; padding:16px 16px 16px 18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); position:relative; counter-increment:step; }
.steps li::before{ content:counter(step); display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--spruce); color:#fff; font-weight:700; font-size:.95rem; margin-bottom:8px; font-family:var(--font-display); }
.steps li b{ display:block; font-family:var(--font-display); font-size:1.25rem; font-weight:600; margin-bottom:4px; }
.steps li span{ display:block; color:var(--ink-2); font-size:.95rem; line-height:1.4; }
.section--spruce .steps li{ background:var(--spruce-2); border-color:var(--spruce-line); }
.section--spruce .steps li b{ color:#fff; }
.section--spruce .steps li span{ color:var(--spruce-muted); }
.section--spruce .steps li::before{ background:var(--gold); color:#1B1405; }
.dirlist{ list-style:none; padding:0; margin:0; max-width:none; border-top:1px solid var(--line); }
.dirlist li{ margin:0; border-bottom:1px solid var(--line); }
.dirlist a{ display:grid; grid-template-columns:1fr auto; gap:6px 16px; align-items:center; padding:18px 4px; text-decoration:none; color:var(--ink); }
.dirlist a:hover b{ color:var(--primary); }
.dirlist b{ display:block; font-family:var(--font-display); font-size:1.3rem; font-weight:600; }
.dirlist span{ display:block; color:var(--ink-2); font-size:.95rem; grid-column:1; }
.dirlist .icon{ color:var(--primary); font-size:1.4rem; grid-row:1 / span 2; }
@media (min-width:760px){ .dirlist--2{ display:grid; grid-template-columns:1fr 1fr; column-gap:40px; } }
.checklist{ list-style:none; padding:0; margin:0 0 1em; max-width:var(--measure); }
.checklist li{ position:relative; padding-left:30px; margin-bottom:.5em; }
.checklist li::before{ content:""; position:absolute; left:0; top:.32em; width:18px; height:18px; border-radius:50%; background:var(--primary-soft); border:2px solid var(--primary); }
.checklist li::after{ content:""; position:absolute; left:6px; top:.55em; width:6px; height:3px; border-left:2.5px solid var(--primary); border-bottom:2.5px solid var(--primary); transform:rotate(-45deg); }
.section--spruce .checklist li::before{ background:transparent; border-color:var(--gold); }
.section--spruce .checklist li::after{ border-color:var(--gold); }
.cols{ columns:1; column-gap:40px; }
@media (min-width:640px){ .cols{ columns:2; } }
@media (min-width:960px){ .cols--3{ columns:3; } }
.cols ul{ max-width:none; break-inside:avoid; }
.pathways{ display:grid; gap:14px; grid-template-columns:1fr; list-style:none; padding:0; margin:0; max-width:none; }
.pathways li{ display:flex; }
.pathways .pathway{ flex:1 1 auto; }
@media (min-width:760px){ .pathways{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .pathways{ grid-template-columns:repeat(5,1fr); } }
.pathway{ display:block; padding:18px; background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--primary); border-radius:var(--radius); text-decoration:none; color:var(--ink); }
.pathway:hover{ border-left-color:var(--wheat); }
.pathway b{ display:block; font-family:var(--font-display); font-size:1.25rem; font-weight:600; margin-bottom:4px; }
.pathway span{ color:var(--ink-2); font-size:.95rem; display:block; }
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:22px; }
.panel--spruce{ background:var(--spruce); color:var(--spruce-ink); border-color:var(--spruce); }
.panel--spruce h2,.panel--spruce h3{ color:#fff; }
.panel--spruce a{ color:var(--spruce-link); }
.panel h3{ margin-top:0; }
.kv{ display:grid; grid-template-columns:auto 1fr; gap:8px 18px; margin:0 0 1em; max-width:var(--measure); }
.kv dt{ font-weight:700; }
.kv dd{ margin:0; }
.table{ width:100%; border-collapse:collapse; margin:0 0 1.5rem; font-size:.97rem; }
.table th,.table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.table th{ font-weight:700; background:var(--surface-2); }
.table-wrap{ overflow-x:auto; }
.breadcrumb{ font-size:.92rem; color:var(--ink-2); margin:0 0 14px; }
.breadcrumb a{ color:var(--ink-2); }
.eyebrow{ font-family:var(--font-display); color:var(--clay); font-size:1.1rem; margin:0 0 8px; }
.section--spruce .eyebrow{ color:var(--spruce-link); }
.pagehead{ padding-top:32px; padding-bottom:28px; }
.pagehead h1{ max-width:18ch; }
.pagehead .lead{ margin-bottom:.5rem; }
.tagline{ font-family:var(--font-display); font-size:1.35rem; color:var(--primary); margin:0 0 .6em; }
.section--spruce .tagline{ color:var(--spruce-link); }
.prose{ max-width:var(--measure); }
.prose h2{ margin-top:1.8em; font-size:1.55rem; }
.prose h3{ margin-top:1.4em; }
.prose h2:first-child{ margin-top:0; }
.toc{ list-style:none; padding:0; margin:0 0 1.5rem; display:flex; flex-wrap:wrap; gap:8px; max-width:none; }
.toc a{ display:inline-block; padding:6px 12px; border:1.5px solid var(--line-2); border-radius:var(--pill); text-decoration:none; color:var(--ink); font-size:.92rem; }
.toc a:hover{ border-color:var(--primary); color:var(--primary); }

/* Discovery flow ---------------------------------------------------- */
.flow{ display:grid; gap:16px; margin:0 0 1.5rem; max-width:820px; }
.flow__step{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:18px; }
.flow__step h3{ font-size:1.15rem; margin-bottom:.3em; }
.flow__step p{ color:var(--ink-2); font-size:.95rem; margin-bottom:.8em; }
.zip{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.zip input{ width:150px; min-height:48px; padding:8px 12px; border:2px solid var(--line-2); border-radius:var(--radius); background:var(--surface); font-size:1.1rem; letter-spacing:.06em; }
.zip input:focus{ border-color:var(--connect); }
.who{ display:flex; flex-wrap:wrap; gap:8px; }
.who button{ min-height:44px; padding:8px 16px; border-radius:var(--pill); border:1.5px solid var(--line-2); background:var(--surface); cursor:pointer; }
.who button[aria-pressed="true"]{ background:var(--spruce); color:#fff; border-color:var(--spruce); }
.rlist{ list-style:none; padding:0; margin:0 0 1.5rem; display:grid; gap:14px; max-width:none; }
.res{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:18px; }
.res__head{ display:flex; flex-wrap:wrap; gap:8px 12px; align-items:baseline; justify-content:space-between; }
.res h3{ font-size:1.25rem; margin:0; }
.res p{ margin:.5rem 0 .75rem; color:var(--ink-2); font-size:.97rem; max-width:none; }
.res__meta{ font-size:.86rem; color:var(--ink-3); margin-bottom:10px; }
.res__actions{ display:flex; flex-wrap:wrap; gap:8px; }
.badge{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:var(--pill); font-size:.8rem; font-weight:700; letter-spacing:.01em; border:1px solid transparent; white-space:nowrap; }
.badge::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
.badge--government{ background:var(--connect-bg); color:var(--connect); }
.badge--verified{ background:var(--primary-soft); color:var(--primary); }
.badge--partner{ background:var(--primary-soft); color:var(--primary); }
.badge--community{ background:var(--wheat-bg); color:var(--wheat); }
.badge--needs{ background:var(--surface-2); color:var(--ink-2); }
.badge--vv{ background:var(--spruce); color:#fff; }
.related{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; max-width:none; }
.related a{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--radius); border:1.5px solid var(--line-2); background:var(--surface); text-decoration:none; color:var(--ink); font-weight:700; }
.related a:hover{ border-color:var(--primary); color:var(--primary); }
.related .icon{ color:var(--primary); font-size:1.3rem; }

/* Forms ------------------------------------------------------------- */
.form{ display:grid; gap:16px; max-width:640px; }
.field{ display:grid; gap:6px; }
.field label,.field .label{ font-weight:700; }
.field .hint{ font-size:.9rem; color:var(--ink-2); }
.field input,.field select,.field textarea{ min-height:48px; padding:10px 12px; border:2px solid var(--line-2); border-radius:var(--radius); background:var(--surface); width:100%; }
.field textarea{ min-height:110px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--connect); }
.field--row{ display:grid; gap:12px; }
@media (min-width:640px){ .field--row{ grid-template-columns:1fr 1fr; } }
.consent{ display:grid; grid-template-columns:auto 1fr; gap:10px 12px; align-items:start; padding:14px; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--surface); font-size:.95rem; }
.consent input{ width:24px; height:24px; margin:2px 0 0; accent-color:var(--primary); }
.consent label{ font-weight:400; }
.consent b{ display:block; margin-bottom:2px; }
.consent--required{ border-color:var(--line-2); }
.form__note{ font-size:.88rem; color:var(--ink-2); }
.form__status{ padding:14px 16px; border-radius:var(--radius); background:var(--primary-soft); border:1.5px solid var(--primary); }
.form__status--preview{ background:var(--wheat-bg); border-color:var(--wheat-line); }
.form__status--error{ background:var(--clay-bg); border-color:var(--clay-line); }
.fieldset{ border:0; padding:0; margin:0; }
.fieldset legend{ font-weight:700; margin-bottom:8px; padding:0; }
.amounts{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (min-width:640px){ .amounts{ grid-template-columns:repeat(6,1fr); } }
.amounts button{ min-height:52px; border-radius:var(--radius); border:2px solid var(--line-2); background:var(--surface); font-weight:700; font-size:1.05rem; cursor:pointer; }
.amounts button[aria-pressed="true"]{ background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.seg{ display:inline-flex; border:2px solid var(--line-2); border-radius:var(--radius); overflow:hidden; }
.seg button{ min-height:48px; padding:8px 18px; background:transparent; border:0; font-weight:700; cursor:pointer; color:var(--ink-2); }
.seg button[aria-pressed="true"]{ background:var(--spruce); color:#fff; }
.toggle{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.toggle b{ display:block; }
.toggle span{ display:block; color:var(--ink-2); font-size:.92rem; }
.toggle input{ width:26px; height:26px; flex:none; accent-color:var(--primary); }
.toggle select{ flex:0 1 180px; min-height:44px; padding:8px 10px; border:2px solid var(--line-2); border-radius:var(--radius-s); background:var(--surface); }
/* long emails, URLs, and ids never push a phone layout sideways */
.meta,.res__meta,td,.small,.footer,.ask-panel,.notice,.item,.tribes .meta,.kv dd{ overflow-wrap:anywhere; }
.wallet-empty{ padding:24px; border:2px dashed var(--line-2); border-radius:var(--radius-l); color:var(--ink-2); }

/* Channels / cards used sparingly ----------------------------------- */
.channels{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; max-width:none; }
@media (min-width:760px){ .channels{ grid-template-columns:repeat(4,1fr); } }
.channels li{ margin:0; padding:14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); display:flex; gap:10px; align-items:flex-start; }
.channels .icon{ color:var(--primary); font-size:1.4rem; margin-top:2px; }
.channels b{ display:block; }
.channels span{ display:block; font-size:.86rem; color:var(--ink-2); }
.section--spruce .channels li{ background:var(--spruce-2); border-color:var(--spruce-line); }
.section--spruce .channels .icon{ color:var(--gold); }
.section--spruce .channels span{ color:var(--spruce-muted); }
.section--spruce .channels b{ color:#fff; }

/* Footer ------------------------------------------------------------ */
.footer{ background:var(--spruce); color:var(--spruce-muted); padding:48px 0 32px; margin-top:0; }
.footer a{ color:#DDE9DF; }
.footer h4{ color:#fff; margin-bottom:10px; }
.footer__grid{ display:grid; gap:28px; grid-template-columns:1fr 1fr; }
@media (min-width:860px){ .footer__grid{ grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; } }
.footer ul{ list-style:none; padding:0; margin:0; }
.footer li{ margin-bottom:8px; }
.footer__brand{ grid-column:1 / -1; }
@media (min-width:860px){ .footer__brand{ grid-column:auto; } }
.footer__legal{ border-top:1px solid var(--spruce-line); margin-top:36px; padding-top:22px; font-size:.86rem; color:#A9BCAE; }
.footer__legal p{ max-width:none; margin-bottom:.6em; }
.footer .brand{ color:#fff; }
.footer .brand small{ color:var(--spruce-muted); }

/* Full-width photo band (home) */
.photo-band{ position:relative; min-height:340px; display:flex; align-items:flex-end; overflow:hidden; background:var(--spruce); }
.photo-band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.photo-band__text{ position:relative; width:100%; padding:110px 0 44px; background:linear-gradient(180deg, rgba(42,34,29,0) 0%, rgba(42,34,29,.62) 45%, rgba(42,34,29,.85) 100%); color:#fff; }
.photo-band__text .eyebrow{ color:var(--spruce-link); }
.photo-band__text h2{ color:#fff; margin:.2em 0 .4em; max-width:640px; }
.photo-band__text p{ max-width:640px; color:rgba(255,255,255,.92); margin:0 0 1em; }
/* Rural Funding Link */
.fund .chips .chip{ pointer-events:none; }
/* Enrollment guide */
.enroll-form{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:18px; }
.enroll-more{ margin:8px 0 14px; } .enroll-more summary{ cursor:pointer; font-weight:700; color:var(--primary); padding:6px 0; }
.enroll .why{ margin:6px 0 4px; padding-left:18px; font-size:.95rem; } .enroll .why li{ margin:2px 0; }
.badge--ok{ background:var(--primary-soft); color:var(--primary); } .badge--wheat{ background:var(--wheat-bg); color:var(--wheat); } .badge--muted{ background:var(--surface-2); color:var(--ink-2); } .badge--bad{ background:var(--clay-bg); color:var(--clay); }
.chip input{ margin-right:4px; }
.docs h4{ margin:10px 0 4px; } .docs ul{ margin:0 0 6px; }
.notice--bad{ background:var(--clay-bg); border-color:var(--clay-line); }
/* Search bar + Tribal directory list */
.searchbar{ display:grid; gap:10px; grid-template-columns:1fr; max-width:none; margin:0 0 18px; }
@media (min-width:720px){ .searchbar{ grid-template-columns:2fr 1fr auto; align-items:stretch; } }
.searchbar input,.searchbar select{ width:100%; min-height:48px; padding:10px 12px; border:2px solid var(--line-2); border-radius:var(--radius-s); background:var(--surface); color:var(--ink); font:inherit; }
.searchbar .btn{ width:100%; }
@media (min-width:720px){ .searchbar .btn{ width:auto; } }
.tribes{ list-style:none; padding:0; margin:0; display:grid; gap:10px; max-width:none; }
.tribes li{ margin:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px; display:grid; gap:6px; }
.tribes b{ font-family:var(--font-display); font-weight:600; font-size:1.08rem; line-height:1.25; }
.tribes .meta{ color:var(--ink-2); font-size:.92rem; line-height:1.4; }
.tribes .actions{ display:flex; flex-wrap:wrap; gap:8px; }
/* AI navigator explanation panel */
.ask-out{ margin-top:12px; }
.ask-panel{ background:var(--wheat-bg); border:1px solid var(--wheat-line); border-radius:var(--radius); padding:14px 16px; }
.ask-panel h4{ margin:10px 0 4px; font-family:var(--font-display); font-size:1rem; }
.ask-panel h4:first-child{ margin-top:0; }
.ask-panel p,.ask-panel ul{ margin:0 0 .5em; font-size:.95rem; }
.badge--partner{ background:var(--primary-soft); color:var(--primary); }
.thinking{ margin:8px 0 0; }
/* Equal-height cards everywhere: grid cells stretch, links fill them */
.needs,.cardrow,.pathways,.steps,.channels,.impact,.medallions,.grid,.dirlist--2,.tree ul ul{ align-items:stretch; }
.panel{ box-sizing:border-box; }  /* never height:100% here: a panel stacked with others inside a grid cell would inherit the whole column's height and spill over the footer */
/* Hero (home) ------------------------------------------------------ */
.hero{ position:relative; padding-top:56px; padding-bottom:56px; background:#7A3E22; color:var(--spruce-ink); border-bottom:0; overflow:hidden; isolation:isolate; }
.hero__bg{ position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,#F3C9A2 0%,#E39A5C 28%,#C85E2A 55%,#8C3A17 100%); }
.hero__bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__bg svg{ position:absolute; left:0; right:0; bottom:-2px; width:100%; height:46%; }
.hero__shade{ position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(38,20,12,.86) 0%,rgba(38,20,12,.74) 60%,rgba(38,20,12,.55) 100%); }
@media (min-width:900px){ .hero__shade{ background:linear-gradient(90deg,rgba(38,20,12,.88) 0%,rgba(38,20,12,.72) 55%,rgba(38,20,12,.38) 100%); } }
.hero h1,.hero .lead{ color:var(--spruce-ink); }
.hero .lead{ color:#F6ECDD; }
.hero h1,.hero .lead,.hero__kicker{ text-shadow:0 2px 14px rgba(30,15,8,.55); }
.hero .btn--secondary{ color:var(--spruce-ink); border-color:var(--spruce-ink); background:rgba(0,0,0,.15); }
.hero .btn--secondary:hover{ background:var(--spruce-ink); color:var(--spruce); border-color:var(--spruce-ink); }
.ph{ position:relative; border-radius:var(--radius-l); overflow:hidden; min-height:220px; background:linear-gradient(135deg,var(--gold) 0%,var(--rust) 55%,var(--spruce) 100%); box-shadow:0 14px 34px rgba(60,30,15,.18); }
.ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ph[data-ph="community"],.ph[data-ph="family"]{ background:linear-gradient(135deg,#5E8A5B 0%,#2F5E4A 55%,#1F3B34 100%); }
.ph[data-ph="home"],.ph[data-ph="housing"],.ph[data-ph="build"]{ background:linear-gradient(135deg,#E0C29A 0%,#A47046 55%,#5A3628 100%); }
.ph[data-ph="meals"]{ background:linear-gradient(135deg,#F0B98A 0%,#C85E2A 55%,#7A3E22 100%); }
.ph--tall{ min-height:300px; }
.ph--round{ width:150px; height:150px; min-height:0; border-radius:50%; border:6px solid var(--bg); box-shadow:0 8px 20px rgba(60,30,15,.2); margin:0 auto; }
.ph--fallback-icon::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),transparent 55%); }
.medallions{ list-style:none; padding:0; margin:0; display:grid; gap:20px; grid-template-columns:1fr; max-width:none; text-align:center; }
@media (min-width:640px){ .medallions{ grid-template-columns:repeat(3,1fr); } }
.medallions li{ margin:0; }
.medallions b{ display:block; margin-top:12px; font-family:var(--font-display); font-size:1.15rem; }
.medallions span{ display:block; color:var(--ink-2); font-size:.95rem; line-height:1.4; max-width:28ch; margin:4px auto 0; }
.section--rust{ background:var(--rust); color:#FFF7EC; }
.section--rust h2,.section--rust h3{ color:#FFF7EC; }
.section--rust .medallions span{ color:#F6DCCB; }
.mission{ position:relative; border-radius:var(--radius-l); overflow:hidden; min-height:340px; display:flex; align-items:center; justify-content:center; padding:32px 20px; background:linear-gradient(135deg,#4F6B3B 0%,#2F4A2E 60%,#1F3B34 100%); }
.mission img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__card,.mission__card{ --ink:#2A221D; --ink-2:#5B4B42; --clay:#A8421B; --primary:#1F6B52; }
.mission__card{ position:relative; background:rgba(246,236,221,.94); color:var(--ink); border-radius:120px; padding:28px 40px; max-width:520px; text-align:center; }
.mission__card h2{ color:var(--clay); margin-bottom:.35em; font-size:1.8rem; }
.mission__card p{ margin:0; max-width:none; }
.band{ padding:18px var(--pad); background:var(--surface-2); }
.band h2{ margin:0; max-width:var(--max); margin-left:auto; margin-right:auto; }
.hero__grid{ display:grid; gap:28px; align-items:center; }
@media (min-width:900px){ .hero__grid{ grid-template-columns:7fr 5fr; } }
.hero h1{ font-size:clamp(2.4rem,5.6vw,3.6rem); line-height:1.05; margin-bottom:.4em; max-width:14ch; }
.hero h1 span{ display:block; }
.hero h1 .hl{ color:#9FE0BF; }
.hero .lead{ font-size:1.25rem; max-width:40ch; }
.hero__kicker{ font-family:var(--font-display); font-size:1.1rem; color:var(--spruce-link); margin:0 0 10px; }
.hero__card{ background:rgba(246,236,221,.95); color:var(--ink); border-radius:var(--radius-l); padding:24px; box-shadow:0 18px 40px rgba(40,20,10,.25); }
.hero__card h2{ color:var(--clay); font-size:1.45rem; margin-bottom:.4em; }
.hero__card p{ color:var(--ink-2); margin-bottom:1rem; }
.hero__card ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.hero__card li{ margin:0; display:flex; gap:10px; align-items:flex-start; color:var(--ink); }
.hero__card .icon{ color:var(--primary); font-size:1.25rem; margin-top:2px; }
.needs--big{ grid-template-columns:1fr 1fr; }
@media (min-width:640px){ .needs--big{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:960px){ .needs--big{ grid-template-columns:repeat(5,1fr); } }
.needs--big .need{ min-height:124px; }
.needs--big .need b{ font-size:1.12rem; }
.door--home{ padding-top:var(--section); }
.door__all{ margin:14px 0 0; }
.section h2.big{ font-size:2.2rem; max-width:20ch; }
.cardrow{ list-style:none; padding:0; margin:0; display:grid; gap:12px; grid-template-columns:1fr 1fr; max-width:none; }
@media (min-width:760px){ .cardrow{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1000px){ .cardrow--6{ grid-template-columns:repeat(6,1fr); } .cardrow--5{ grid-template-columns:repeat(5,1fr); } .cardrow--4{ grid-template-columns:repeat(4,1fr); } }
.cardrow li{ margin:0; display:flex; }
.cardrow a{ flex:1 1 auto; }
.cardrow a{ display:flex; flex-direction:column; gap:6px; min-height:96px; padding:14px; background:var(--surface); border:1.5px solid var(--line); border-radius:var(--radius); text-decoration:none; color:var(--ink); font-weight:700; }
.cardrow a:hover{ border-color:var(--primary); color:var(--primary); }
.cardrow .icon{ font-size:1.5rem; color:var(--primary); }
.cardrow small{ font-weight:400; color:var(--ink-2); line-height:1.3; }
.section--spruce .cardrow a{ background:var(--spruce-2); border-color:var(--spruce-line); color:#fff; }
.section--spruce .cardrow a:hover{ border-color:var(--gold); }
.section--spruce .cardrow .icon{ color:var(--gold); }
.section--spruce .cardrow small{ color:var(--spruce-muted); }
.steps--4{ grid-template-columns:1fr; }
@media (min-width:760px){ .steps--4{ grid-template-columns:repeat(4,1fr); } }
.impact{ display:grid; gap:14px; grid-template-columns:1fr 1fr; max-width:none; list-style:none; padding:0; margin:0 0 1.5rem; }
@media (min-width:900px){ .impact{ grid-template-columns:repeat(4,1fr); } }
.impact li{ margin:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:18px; }
.impact b{ display:block; font-family:var(--font-display); font-size:2.2rem; line-height:1; color:var(--primary); }
.impact span{ display:block; margin-top:6px; }
.impact small{ display:block; color:var(--ink-2); margin-top:6px; }
.tree{ list-style:none; padding:0; margin:0 0 1.5rem; max-width:none; }
.tree > li{ margin:0; padding:16px 18px; background:var(--spruce); color:#fff; border-radius:var(--radius); font-family:var(--font-display); font-size:1.3rem; }
.tree > li small{ display:block; font-family:var(--font-body); font-size:.9rem; color:var(--spruce-muted); }
.tree ul{ list-style:none; padding:0; margin:12px 0 0 18px; border-left:3px solid var(--wheat); }
.tree ul li{ margin:0 0 8px; padding-left:14px; font-family:var(--font-body); font-size:1rem; }
.tree ul ul{ display:grid; gap:6px; grid-template-columns:1fr; margin-top:8px; }
@media (min-width:700px){ .tree ul ul{ grid-template-columns:1fr 1fr; } }
.tree ul ul li{ margin:0; }
.tree a{ color:#fff; text-decoration:none; font-weight:700; }
.tree ul ul li a{ display:block; background:var(--spruce-2); border-radius:var(--radius-s); padding:8px 10px; }
.tree ul ul li a small{ display:block; font-weight:400; color:var(--spruce-muted); font-size:.85rem; }
.tree a:hover{ color:var(--wheat); }
.embed{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius); padding:12px 14px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.85rem; overflow-x:auto; white-space:pre; margin:0 0 .75rem; }
.states{ list-style:none; padding:0; margin:0; display:grid; gap:6px; grid-template-columns:repeat(2,1fr); max-width:none; }
@media (min-width:640px){ .states{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:960px){ .states{ grid-template-columns:repeat(6,1fr); } }
.states li{ margin:0; }
.states a{ display:block; padding:8px 10px; border-radius:var(--radius-s); text-decoration:none; color:var(--ink); border:1px solid var(--line); background:var(--surface); }
.states a:hover{ border-color:var(--primary); color:var(--primary); }
.disclaimer{ font-size:.9rem; color:var(--ink-2); border-top:1px solid var(--line); padding-top:12px; margin:1.5rem 0 0; max-width:var(--measure); }
.disclaimer p{ margin-bottom:.4em; }
.nav-chat{ display:grid; gap:10px; }
.nav-chat__you{ font-style:italic; color:var(--ink-2); margin:0; }
.nav-chat .rlist{ margin:8px 0 0; }
.nav-chat h4{ margin:14px 0 6px; font-size:1.05rem; }
.nav-chat .res{ padding:14px; }
.nav-chat .res h3{ font-size:1.1rem; }
.zip--inline{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.zip--inline input{ width:120px; min-height:48px; padding:8px 12px; border:2px solid var(--line-2); border-radius:var(--radius); font-size:1.05rem; }
.a11y{ display:flex; gap:6px; flex-wrap:wrap; }
.display{ display:none; position:relative; }
.display > summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:40px; border:2px solid var(--line-2); border-radius:var(--radius-s); font-family:var(--font-display); font-weight:700; color:var(--ink-2); }
.display > summary::-webkit-details-marker{ display:none; }
.display[open] > summary{ background:var(--surface-2); }
.display__menu{ position:absolute; right:0; top:100%; margin-top:6px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:8px; display:grid; gap:6px; min-width:160px; box-shadow:0 10px 30px rgba(20,40,30,.12); z-index:60; }
@media (min-width:1320px){ .display{ display:block; } }
.header .wrap{ max-width:1400px; }
.a11y button{ background:transparent; border:2px solid var(--line-2); border-radius:var(--radius-s); min-height:40px; padding:6px 10px; font-weight:700; color:var(--ink-2); cursor:pointer; }
.a11y button[aria-pressed="true"]{ background:var(--spruce); color:#fff; border-color:var(--spruce); }
.mobile-nav .a11y{ display:flex; margin:8px 0; }
.mobile-nav .needgrid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.mobile-nav .needgrid a{ font-weight:400; padding:9px 10px; }
.mobile-nav .lang{ margin:8px 0; }
html[data-text="large"]{ font-size:140%; }
html[data-easy="1"] .more{ display:none !important; }
html[data-easy="1"] body{ line-height:1.7; }
html[data-easy="1"] .need span,html[data-easy="1"] .cardrow small{ display:none; }
html[data-easy="1"] .lead{ font-size:1.15rem; }
/* Medicare Rural Health Resource Center ------------------------------ */
.row{ display:grid; gap:12px; }
@media (min-width:760px){ .row--2{ grid-template-columns:1fr 1fr; } .row--3{ grid-template-columns:repeat(3,1fr); } }
.med-hero{ background:var(--spruce); color:var(--spruce-ink); padding:36px 0 40px; }
.med-hero h1,.med-hero h2{ color:#fff; } .med-hero .lead{ color:var(--spruce-muted); } .med-hero .eyebrow{ color:var(--spruce-link); } .med-hero .breadcrumb,.med-hero .breadcrumb a{ color:var(--spruce-muted); }
.med-hero .ask{ margin-top:22px; } .med-hero .chip{ background:var(--spruce-2); border-color:var(--spruce-line); color:#fff; } .med-hero .chip:hover{ border-color:var(--gold); color:#fff; }
.med-hero .small.muted{ color:var(--spruce-muted); } .med-hero .small.muted a{ color:var(--spruce-link); }
.med-hero .answer{ background:var(--surface); color:var(--ink); } .med-hero .answer h3,.med-hero .answer h4{ color:var(--ink); } .med-hero .answer .muted,.med-hero .answer .small.muted{ color:var(--ink-2); } .med-hero .answer .small.muted a,.med-hero .answer a{ color:var(--primary); }
.med-hero .answer .chip{ background:var(--surface); color:var(--ink); border-color:var(--line-2); }
.med-zip{ flex:0 1 150px; min-width:120px; }
.med-mode{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 6px; }
.med-mode .chip[aria-pressed="true"]{ background:var(--spruce); color:#fff; border-color:var(--spruce); }
.mrec__facts{ display:grid; gap:6px; margin:0 0 10px; max-width:none; }
.mrec__facts div{ display:grid; grid-template-columns:minmax(110px,150px) 1fr; gap:4px 12px; font-size:.95rem; }
.mrec__facts dt{ font-weight:700; color:var(--ink-2); } .mrec__facts dd{ margin:0; }
@media (max-width:520px){ .mrec__facts div{ grid-template-columns:1fr; } }
.med-cite{ display:inline-block; font-size:.75em; vertical-align:super; line-height:1; padding:1px 5px; border-radius:var(--pill); background:var(--primary-soft); color:var(--primary); text-decoration:none; font-weight:700; margin-left:1px; }
.med-paths .pathway{ display:flex; gap:10px; align-items:flex-start; } .med-paths .pathway .icon{ color:var(--primary); font-size:1.4rem; flex:none; margin-top:2px; } .med-paths .pathway b{ margin:0; font-size:1.05rem; }
@media (min-width:1000px){ .pathways.med-paths{ grid-template-columns:repeat(3,1fr); } }
.med-kinds{ border:0; padding:0; margin:12px 0 0; min-width:0; } .med-kinds legend{ font-weight:700; padding:0; }
.med-ship h3{ color:#fff; } .med-ship .eyebrow{ color:var(--spruce-link); } .med-ship p{ color:var(--spruce-ink); }
.med-answer ol{ padding-left:20px; } .med-answer h4{ margin:14px 0 6px; }
.med-band{ background:var(--wheat-bg); border-top:1px solid var(--wheat-line); border-bottom:1px solid var(--wheat-line); }
/* Kiosk mode -------------------------------------------------------- */
html[data-mode="kiosk"]{ font-size:135%; }
html[data-mode="kiosk"] .nav,html[data-mode="kiosk"] .menu-btn,html[data-mode="kiosk"] .donate-link,html[data-mode="kiosk"] .a11y,html[data-mode="kiosk"] .display,html[data-mode="kiosk"] .preview,html[data-mode="kiosk"] .footer__grid,html[data-mode="kiosk"] [data-action="save"],html[data-mode="kiosk"] [data-action="share"],html[data-mode="kiosk"] .breadcrumb{ display:none !important; }
html[data-mode="kiosk"] .kiosk-only{ display:inline-flex; }
.kiosk-only{ display:none; }
html[data-mode="kiosk"] .btn{ min-height:56px; }
html[data-mode="kiosk"] .need{ min-height:132px; }
html[data-mode="kiosk"] .footer{ padding:16px 0; }
.kiosk-bar{ display:none; }
html[data-mode="kiosk"] .kiosk-bar{ display:block; background:var(--spruce); color:var(--spruce-ink); text-align:center; padding:8px var(--pad); font-size:.9rem; }
html[data-mode="kiosk"] .kiosk-bar a{ color:var(--spruce-link); }
@media (prefers-reduced-motion:reduce){ *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print{ .header,.mobile-nav,.preview,.footer__grid{ display:none; } body{ background:#fff; color:#000; } }
