/*
Theme Name: Haven Public
Theme URI: https://archns.com
Author: Arch Network Services
Description: The coalition's funder-facing impact site. ONE site, not a per-agency theme — agencies keep their own websites. Holds NO survivor data and NO credential that reaches Central: figures arrive as a signed file, hand-carried across an air gap, and are re-verified for suppression on import. Quick Exit on every page. Zero third-party trackers, ever.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: haven-public
*/

:root{--ink:#14181c;--slate:#2c3a42;--slate2:#5c6b73;--paper:#edefea;--paper2:#f7f8f5;
--rule:#c9cec6;--signal:#1f5f5b;--urgent:#8a3324}
*{box-sizing:border-box;margin:0;padding:0}
body{font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}
h1,h2{letter-spacing:-.02em;line-height:1.12}
.wrap{max-width:1060px;margin:0 auto;padding:0 1.5rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
.util{background:var(--paper2);border-bottom:1px solid var(--rule)}
.util-in{display:flex;align-items:center;gap:1rem;padding:.6rem 1.5rem;flex-wrap:wrap;font-size:.86rem}
.crisis{color:var(--urgent)}
.exit{margin-left:auto;background:var(--urgent);color:#fff;border:0;font-weight:700;
font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .9rem;border-radius:2px;cursor:pointer}
.exit:hover{background:#b8543f}
.site{border-bottom:1px solid var(--rule);background:#fff}
.site-in{display:flex;align-items:center;gap:2rem;padding:1rem 1.5rem}
.brand{font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none}
.site nav ul{display:flex;gap:1.2rem;list-style:none}
.site nav a{color:var(--slate);text-decoration:none;font-size:.92rem}
.hero{padding:4rem 0 3rem;border-bottom:1px solid var(--rule)}
.eyebrow{font-family:ui-monospace,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--slate2)}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;max-width:16ch;margin:.7rem 0 1rem}
.lede{font-size:1.15rem;color:var(--slate);max-width:54ch}
.figures{background:var(--ink);color:var(--paper);padding:3.5rem 0}
.figures .eyebrow{color:#3d8a84}
.figures h2{font-size:1.9rem;margin:.5rem 0 2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:2px;background:#2a3037}
.fig{background:var(--ink);padding:1.5rem 1.3rem}
.fig .n{font-size:2.7rem;font-weight:800;line-height:1;margin-bottom:.45rem}
.fig.urgent .n{color:#b8543f}
.fig .l{font-size:.95rem}
.fig .s{font-size:.82rem;color:#8a969d;margin-top:.5rem}
.honest{margin-top:2rem;max-width:70ch;font-size:.9rem;color:#9aa8ae;border-left:2px solid #3d8a84;padding-left:1rem}
.honest strong{color:var(--paper)}
.ask{padding:3.5rem 0;background:var(--paper2);border-bottom:1px solid var(--rule)}
.ask h2{font-size:1.8rem;margin-bottom:.6rem}
.ask p{color:var(--slate);margin-bottom:1rem}
.btn{display:inline-block;background:var(--signal);color:#fff;text-decoration:none;font-weight:600;
padding:.7rem 1.3rem;border-radius:2px}
.btn.ghost{background:transparent;color:var(--signal);border:1px solid var(--signal)}
.site-foot{padding:2.5rem 0;font-size:.86rem;color:var(--slate2)}
.fine{margin-top:.6rem;max-width:74ch}
#exit-overlay{position:fixed;inset:0;background:#fff;z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center}
#exit-overlay[hidden]{display:none}
.exit-in{max-width:34rem}
.exit-in h2{margin-bottom:.7rem}
.exit-in p{color:var(--slate);margin-bottom:1rem}
.exit-in button{background:var(--signal);color:#fff;border:0;padding:.6rem 1.2rem;border-radius:2px;cursor:pointer}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
