/* Redlands Health — shared design system */
:root{
  --ink:#10231a; --muted:#4b6258; --line:#dbe7e0; --bg:#eef4f0; --card:#ffffff;
  --green:#0e7c5a; --green-d:#0b5440; --green-l:#15a06b;
  --gold:#b9821f; --gold-bg:#fdf6e8;
  --teal:#0e7c86; --teal-bg:#e6f6f8;
  --blue:#1d4ed8; --blue-bg:#eef3ff;
  --amber:#b45309; --amber-bg:#fff7ed;
  --red:#b3261e; --red-bg:#fdecea;
  --ok:#0f7a4d; --ok-bg:#e9f8f0;
  --shadow:0 1px 3px rgba(16,35,26,.07);
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.58;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
a{color:var(--green-d)}
img{max-width:100%}

/* ---------- top nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:18px;min-height:58px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--green-d);text-decoration:none;font-size:17px;letter-spacing:-.01em}
.brand .mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--green),var(--green-l));
  display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:900}
.navlinks{display:flex;gap:3px;flex-wrap:wrap;margin-left:auto}
.navlinks a{font-size:13px;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:7px;white-space:nowrap}
.navlinks a:hover{background:#eef4f0;color:var(--green-d)}
.navlinks a.active{background:var(--green);color:#fff}

/* ---------- hero ---------- */
.hero{background:linear-gradient(140deg,#0b5440 0%,#0e7c5a 55%,#15a06b 100%);color:#fff;padding:54px 0 46px}
.hero.compact{padding:40px 0 34px}
.eyebrow{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  color:#e7fff5;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;margin-bottom:16px}
.hero h1{margin:0 0 12px;font-size:clamp(28px,4.4vw,42px);line-height:1.12;letter-spacing:-.02em}
.hero .slogan{font-size:clamp(17px,2.3vw,21px);color:#e8fff8;margin:0 0 14px;font-weight:500}
.hero p.sub{margin:0;font-size:16.5px;color:#d4f3e9;max-width:780px}
.hero .meta{margin-top:18px;font-size:13px;color:#aee5d3}
.cta-row{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:14.5px;padding:11px 18px;border-radius:9px;border:1px solid transparent}
.btn.primary{background:#fff;color:var(--green-d)}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.4)}
.btn:hover{transform:translateY(-1px)}

/* ---------- layout ---------- */
main{padding:26px 0 56px}
section{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin:18px 0;box-shadow:var(--shadow)}
section.plain{background:transparent;border:none;box-shadow:none;padding:8px 0}
h2{font-size:23px;margin:0 0 6px;color:var(--green-d);letter-spacing:-.01em}
h2 .n{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;background:var(--green);
  color:#fff;border-radius:8px;font-size:14px;margin-right:10px;vertical-align:2px}
h3{font-size:17px;margin:20px 0 8px}
.lead{color:var(--muted);font-size:15.5px;margin:2px 0 0}
p{margin:10px 0}
.section-tag{text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--green-l);font-weight:700;margin-bottom:4px}

/* ---------- KPI / stat cards ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 4px}
.kpi{background:#f6faf8;border:1px solid var(--line);border-radius:13px;padding:17px}
.kpi .v{font-size:27px;font-weight:800;color:var(--green-d);line-height:1.05}
.kpi .l{font-size:12.5px;color:var(--muted);margin-top:6px}

/* ---------- pillar cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.pcard{display:flex;flex-direction:column;background:#f6faf8;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);transition:.15s}
.pcard:hover{border-color:var(--green-l);box-shadow:0 6px 18px rgba(14,124,90,.12);transform:translateY(-2px)}
.pcard .ic{width:40px;height:40px;border-radius:10px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:11px}
.pcard h4{margin:0 0 6px;font-size:16px;color:var(--green-d)}
.pcard p{margin:0;font-size:13.5px;color:var(--muted)}
.pcard .go{margin-top:12px;font-size:13px;font-weight:600;color:var(--green-l)}

/* ---------- callouts ---------- */
.callout{border-radius:12px;padding:15px 17px;margin:15px 0;font-size:14.5px;border:1px solid}
.callout b.tag{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}
.c-ess{background:var(--gold-bg);border-color:#f0dcae}.c-ess b.tag{color:var(--gold)}
.c-info{background:var(--blue-bg);border-color:#c5d6fb}.c-info b.tag{color:var(--blue)}
.c-warn{background:var(--amber-bg);border-color:#fcd9b6}.c-warn b.tag{color:var(--amber)}
.c-ok{background:var(--ok-bg);border-color:#b4e6cd}.c-ok b.tag{color:var(--ok)}
.c-red{background:var(--red-bg);border-color:#f3c9c5}.c-red b.tag{color:var(--red)}
.c-teal{background:var(--teal-bg);border-color:#bfe6ea}.c-teal b.tag{color:var(--teal)}

/* ---------- grids ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

/* ---------- bars ---------- */
.bar-row{display:grid;grid-template-columns:165px 1fr 46px;align-items:center;gap:10px;margin:7px 0;font-size:13.5px}
.bar-track{background:#e8efeb;border-radius:6px;height:22px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px}
.bar-val{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;color:var(--muted)}
.legend{font-size:12px;color:var(--muted);margin-top:8px}
.sw{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin:0 3px 0 10px}

/* ---------- funnel ---------- */
.fstep{margin:9px auto;border-radius:10px;color:#fff;padding:12px 16px;text-align:center}
.fstep .fv{font-size:22px;font-weight:800}
.fstep .fl{font-size:13px;opacity:.95}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13.7px}
th,td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#f4f8f5;color:var(--green-d);font-weight:600}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:999px;font-weight:600}
.p-hi{background:var(--ok-bg);color:var(--ok)}.p-mid{background:var(--gold-bg);color:var(--gold)}.p-lo{background:var(--red-bg);color:var(--red)}

/* ---------- lists ---------- */
ul.tight{margin:8px 0;padding-left:20px}ul.tight li{margin:6px 0}
ol.tight{margin:8px 0;padding-left:20px}ol.tight li{margin:7px 0}
.step-num{display:inline-block;min-width:23px;height:23px;line-height:23px;text-align:center;background:var(--green);color:#fff;border-radius:50%;font-size:12px;font-weight:700;margin-right:8px}

/* ---------- phases / timeline ---------- */
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.phase{background:#f6faf8;border:1px solid var(--line);border-radius:12px;padding:15px;position:relative}
.phase .ph{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--green-l)}
.phase h4{margin:6px 0 5px;font-size:15px;color:var(--green-d)}
.phase p{margin:0;font-size:13px;color:var(--muted)}

/* ---------- north star band ---------- */
.northstar{background:linear-gradient(135deg,#0b5440,#0e7c5a);color:#fff;border:none}
.northstar h2{color:#fff}
.northstar .ns-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.northstar .ns{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:15px}
.northstar .ns .v{font-size:20px;font-weight:800}
.northstar .ns .l{font-size:12.5px;color:#d6f3e9;margin-top:4px}

/* ---------- misc ---------- */
.src{font-size:12.5px;color:var(--muted)}
.divider{height:1px;background:var(--line);margin:20px 0;border:none}
.backlink{font-size:13.5px;font-weight:600}
footer{color:var(--muted);font-size:12.5px;text-align:center;padding:28px 0 52px}
.disc{background:#f4f8f5;border:1px dashed var(--line);border-radius:12px;padding:14px 16px;font-size:12.8px;color:var(--muted);margin-top:8px}

@media(max-width:860px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .cards,.grid3,.northstar .ns-grid,.phases{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .bar-row{grid-template-columns:120px 1fr 40px}
}
@media(max-width:560px){.cards,.grid3,.northstar .ns-grid,.phases{grid-template-columns:1fr}}
@media print{body{background:#fff}section{break-inside:avoid;box-shadow:none}.nav{position:static}
  .hero,.northstar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
