/* Stories of Strength — base styles. Mobile-first, WCAG AA, no external deps. */
:root{
  --ink:#21201c;          /* body text on light  ~13:1 */
  --ink-soft:#4a4641;     /* secondary text       ~7:1 */
  --bg:#fbf7f1;           /* warm paper */
  --bg-alt:#f1e9dd;
  --line:#e0d6c7;
  --brand:#1f5d52;        /* calm deep teal-green */
  --brand-dark:#163f38;
  --accent:#a6471f;       /* warm terracotta */
  --crisis:#b3001b;       /* crisis red */
  --crisis-ink:#ffffff;
  --focus:#0a4bd1;
  --radius:12px;
  --maxw:760px;
}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;color:var(--ink);background:var(--bg);overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:var(--brand-dark)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:.6rem 1rem;z-index:1000}
.skip:focus{left:.5rem;top:.5rem}

/* Crisis safety bar (always on top, real HTML so it shows even if JS fails) */
.safety-bar{background:var(--crisis);color:var(--crisis-ink);position:sticky;top:0;z-index:900}
.safety-bar__row{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:.4rem .9rem;
  align-items:center;justify-content:center;padding:.45rem .75rem;font-size:.95rem;font-weight:600}
.safety-bar a{color:var(--crisis-ink);text-decoration:underline;white-space:nowrap}
.safety-bar .danger{font-weight:700}

/* Quick exit */
.exit-wrap{background:var(--bg-alt);border-bottom:1px solid var(--line)}
.exit-row{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:.5rem;padding:.4rem .75rem;font-size:.82rem;color:var(--ink-soft)}
.exit-btn{background:#222;color:#fff;border:0;border-radius:999px;padding:.5rem 1rem;font-weight:700;
  font-size:.9rem;cursor:pointer;min-height:44px}
.exit-btn:hover{background:#000}

/* Header / nav */
header.site{max-width:var(--maxw);margin:0 auto;padding:1rem .9rem .25rem}
.brand{font-size:1.05rem;font-weight:800;color:var(--brand-dark);text-decoration:none;letter-spacing:.2px}
nav.site{max-width:var(--maxw);margin:0 auto;padding:.25rem .6rem .6rem}
nav.site ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
nav.site a{display:block;padding:.5rem .7rem;border-radius:999px;text-decoration:none;color:var(--brand-dark);
  background:var(--bg-alt);font-weight:600;font-size:.9rem;min-height:40px}
nav.site a[aria-current="page"]{background:var(--brand);color:#fff}

/* Layout */
main{max-width:var(--maxw);margin:0 auto;padding:1rem .9rem 2.5rem}
h1{font-size:1.6rem;line-height:1.25;margin:.4rem 0 .6rem}
h2{font-size:1.25rem;margin:1.6rem 0 .5rem}
h3{font-size:1.05rem;margin:1.1rem 0 .3rem}
p,li{font-size:1.02rem}
.lead{font-size:1.12rem;color:var(--ink-soft)}

/* Cards */
.cards{display:grid;grid-template-columns:1fr;gap:.8rem;margin:1rem 0}
@media(min-width:520px){.cards{grid-template-columns:1fr 1fr}}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1rem;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--brand)}
.card h3{margin:.1rem 0 .25rem;color:var(--brand-dark)}
.card p{margin:0;color:var(--ink-soft);font-size:.95rem}

/* Crisis / callout blocks */
.callout{border-left:5px solid var(--accent);background:var(--bg-alt);padding:.9rem 1rem;border-radius:0 var(--radius) var(--radius) 0;margin:1rem 0}
.callout--crisis{border-left-color:var(--crisis)}
.callout strong{color:var(--ink)}

/* Service list (get-help) */
.svc{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:.85rem 1rem;margin:.6rem 0}
.svc h3{margin:0 0 .15rem}
.svc .num{font-size:1.15rem;font-weight:800}
.svc .num a{color:var(--accent);text-decoration:none}
.svc .meta{color:var(--ink-soft);font-size:.92rem;margin:.15rem 0 0}

/* Footer */
footer.site{background:var(--bg-alt);border-top:1px solid var(--line);margin-top:2rem}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:1.3rem .9rem;color:var(--ink-soft);font-size:.9rem}
.foot-inner .ack{font-style:italic}
.foot-inner .fund{margin-top:.6rem}

/* Content-warning gate */
.gate{position:fixed;inset:0;background:rgba(20,18,16,.92);z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem}
.gate[hidden]{display:none}
.gate__box{background:#fff;max-width:520px;border-radius:var(--radius);padding:1.4rem}
.gate__box h2{margin-top:0}
.gate__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.btn{background:var(--brand);color:#fff;border:0;border-radius:999px;padding:.7rem 1.2rem;font-weight:700;cursor:pointer;min-height:44px;text-decoration:none;display:inline-block}
.btn--ghost{background:#fff;color:var(--brand-dark);border:2px solid var(--brand)}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
