/* Hernando Family Resource Guide — editorial reference design */
:root{
  --ink:#0d1717; --ink-2:#3c4a4a; --ink-3:#697878;
  --bg:#ffffff; --bg-2:#f4f7f6; --bg-3:#e7edeb;
  --line:#d8e2df; --line-2:#c2d1cd;
  --brand:#9d174d; --brand-d:#79123c; --brand-l:#e2b3c6;
  --accent:#b45309; --danger:#9f1239;
  --radius:8px; --radius-s:5px;
  --wrap:1140px; --measure:74ch;
  --shadow:0 1px 2px rgba(13,23,23,.05),0 8px 24px -12px rgba(13,23,23,.18);
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#e9f1ef; --ink-2:#b3c4c1; --ink-3:#8ba09c;
    --bg:#0b1414; --bg-2:#111d1c; --bg-3:#182726;
    --line:#233533; --line-2:#2e4441;
    --brand:#ef72a5; --brand-d:#f5a9c8; --brand-l:#280715;
    --accent:#fbbf24; --danger:#fda4af;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 17px/1.65 Karla,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-feature-settings:"kern","liga";
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Newsreader,Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,1.35rem + 2.6vw,3.1rem);letter-spacing:-.02em}
h2{font-size:clamp(1.4rem,1.15rem + 1.05vw,1.95rem);letter-spacing:-.012em;margin-top:2.2em}
h3{font-size:1.16rem;margin-top:1.8em}
p,ul,ol{margin:0 0 1.15em}
a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--brand-d)}
strong{font-weight:650;color:var(--ink)}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
img{max-width:100%;height:auto}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:22px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--brand);color:#fff;padding:10px 16px;border-radius:var(--radius-s)}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:3px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:20px;min-height:66px}
.brand{display:flex;align-items:center;gap:11px;font-family:Newsreader,Georgia,serif;
  font-weight:600;font-size:1.03rem;color:var(--ink);text-decoration:none;line-height:1.15}
.brand:hover{color:var(--ink)}
.mark{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-size:.82rem;letter-spacing:.02em;font-weight:600}
@media (prefers-color-scheme:dark){.mark{color:#060103}}
.brand small{display:block;font-family:Karla,sans-serif;font-weight:400;font-size:.72rem;color:var(--ink-3);letter-spacing:.01em}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav a{color:var(--ink-2);text-decoration:none;font-size:.92rem;padding:8px 12px;border-radius:8px;white-space:nowrap}
.nav a:hover{background:var(--bg-2);color:var(--ink)}
.nav a.on{color:var(--brand);background:var(--brand-l)}
@media (max-width:720px){
  .brand small{display:none}
  .nav a{padding:7px 9px;font-size:.86rem}
}

/* ---------- hero ---------- */
.hero{padding:clamp(38px,7vw,74px) 0 clamp(26px,4vw,40px);
  background:linear-gradient(175deg,var(--bg-2),var(--bg) 72%);border-bottom:1px solid var(--line)}
.hero p.lede{max-width:60ch;font-size:clamp(1.03rem,.98rem + .3vw,1.2rem);color:var(--ink-2);margin:0}
.eyebrow{display:inline-block;font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--brand);font-weight:600;margin-bottom:14px}

/* ---------- urgent strip ---------- */
.urgent{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:30px 0 0;padding:0;list-style:none}
.urgent li{background:var(--bg);border:1px solid var(--line-2);border-left:4px solid var(--danger);
  border-radius:var(--radius-s);padding:13px 15px}
.urgent b{display:block;font-size:1.24rem;font-family:Newsreader,Georgia,serif;line-height:1.1;color:var(--ink)}
.urgent span{font-size:.85rem;color:var(--ink-3)}

/* ---------- index cards ---------- */
.sec{padding:clamp(34px,5.5vw,60px) 0}
.sec-head{max-width:64ch;margin-bottom:26px}
.sec-head p{color:var(--ink-2);margin:0}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}
.card{display:flex;flex-direction:column;gap:7px;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius);padding:19px 20px 17px;text-decoration:none;color:var(--ink);
  transition:border-color .16s,transform .16s,box-shadow .16s}
.card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}
.card h3{margin:0;font-size:1.06rem;line-height:1.28}
.card p{margin:0;font-size:.895rem;color:var(--ink-2);line-height:1.55}
.card .go{margin-top:auto;padding-top:10px;font-size:.8rem;color:var(--brand);font-weight:550;letter-spacing:.01em}

/* ---------- article ---------- */
.article{padding:clamp(30px,4.5vw,52px) 0 20px}
.crumb{font-size:.83rem;color:var(--ink-3);margin-bottom:16px}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--brand)}
.prose{max-width:var(--measure)}
.prose .lead{font-size:1.14rem;line-height:1.6;color:var(--ink-2)}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:.5em}
.prose li::marker{color:var(--brand)}
.prose .note{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--radius-s);padding:14px 17px;font-size:.9rem;color:var(--ink-2);margin:1.6em 0}
.prose em{color:var(--ink-2)}

/* ---------- related ---------- */
.related{border-top:1px solid var(--line);margin-top:46px;padding-top:34px}
.related h2{margin-top:0;font-size:1.2rem}

/* ---------- contact form ---------- */
.form{max-width:560px;display:grid;gap:15px;margin-top:26px}
.form label{display:grid;gap:6px;font-size:.86rem;color:var(--ink-2);font-weight:550}
.form input,.form textarea{font:inherit;font-size:.97rem;color:var(--ink);background:var(--bg);
  border:1px solid var(--line-2);border-radius:var(--radius-s);padding:11px 13px;width:100%}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-l)}
.hp{position:absolute;left:-9999px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;
  border:0;border-radius:var(--radius-s);padding:12px 24px;font:inherit;font-size:.95rem;font-weight:550;
  cursor:pointer;text-decoration:none;justify-self:start}
.btn:hover{background:var(--brand-d);color:#fff}
@media (prefers-color-scheme:dark){.btn{color:#060103}.btn:hover{color:#060103}}
.ok{background:var(--brand-l);border:1px solid var(--brand);border-radius:var(--radius-s);
  padding:15px 18px;color:var(--ink);margin-top:22px}

/* ---------- footer ---------- */
.ftr{margin-top:56px;border-top:1px solid var(--line);background:var(--bg-2);
  padding:44px 0 34px;font-size:.885rem;color:var(--ink-2)}
.ftr-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:32px}
.ftr h4{font-family:Karla,sans-serif;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 12px;font-weight:600}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ftr a{color:var(--ink-2);text-decoration:none}
.ftr a:hover{color:var(--brand);text-decoration:underline}
.ftr .fine{border-top:1px solid var(--line);padding-top:22px;font-size:.82rem;color:var(--ink-3);max-width:88ch}
.ftr .fine p{margin:0 0 .7em}
.ftr .legal{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
@media print{.hdr,.ftr,.related{display:none}}
