/* CE Compass website. One stylesheet for every page. */
:root{--bg:#0b1118;--card:#111b25;--line:rgba(255,255,255,.09);--text:#f1f6f4;--muted:#a3b3ad;--green:#4ade80;--ink:#04210f;--amber:#f5b64a;--max:960px}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1100px 560px at 80% -10%,rgba(74,222,128,.12),transparent 60%),var(--bg);color:var(--text);font:17px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:720px}
.skip{position:absolute;left:-999px;top:8px;background:var(--green);color:var(--ink);padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
header.site{padding:18px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--text);text-decoration:none}
.brand span{color:var(--green)}
nav.main{display:flex;gap:6px}
nav.main a{color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:999px;font-size:15px;font-weight:600}
nav.main a:hover,nav.main a[aria-current=page]{color:var(--text);background:rgba(255,255,255,.07)}
.hero{padding:48px 0 56px}
h1{font-size:clamp(38px,7vw,68px);line-height:1;letter-spacing:-.035em;margin:0 0 20px;font-weight:800}
h1 em{font-style:normal;color:var(--green)}
h2{font-size:24px;margin:40px 0 10px;letter-spacing:-.01em}
.lede{font-size:clamp(18px,2.4vw,22px);color:var(--muted);max-width:34ch;margin:0 0 26px;line-height:1.45}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:8px 0 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}
.card h3{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:16px}
.doc{padding:24px 0 80px}
.meta{color:var(--muted);margin:0 0 24px}
.callout{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;padding:16px 18px;margin:20px 0}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0}
summary{cursor:pointer;font-weight:600}
details p{color:var(--muted);margin:10px 0 0}
ul{padding-left:22px;color:var(--muted)}
li{margin:6px 0}
footer.site{border-top:1px solid var(--line);padding:28px 0 48px;color:var(--muted);font-size:14px}
footer.site a{color:var(--muted)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
