
:root{
  --ink:#14151a; --ink2:#23252e; --accent:#2440c4; --accent2:#1a32a0;
  --paper:#ffffff; --bone:#f6f5f1; --bone2:#edebe4; --line:#e2e0d8;
  --txt:#1c1d22; --muted:#6a6b74;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,Arial,sans-serif;color:var(--txt);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Spectral',Georgia,serif;line-height:1.12;color:var(--ink);font-weight:600;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 30px}
.wide{max-width:1240px}
.eyebrow{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--accent)}
.btn{display:inline-block;padding:14px 30px;font-weight:600;font-size:.93rem;transition:.18s;border:1px solid transparent;font-family:'Inter',sans-serif}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:var(--accent)}
.btn.line{border-color:var(--ink);color:var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}
.btn.linelight{border-color:rgba(255,255,255,.4);color:#fff}
.btn.linelight:hover{background:rgba(255,255,255,.1)}

header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{font-family:'Spectral',serif;font-weight:700;color:var(--ink);font-size:1.35rem;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.brand .dot{width:9px;height:9px;background:var(--accent);border-radius:50%;display:inline-block}
nav.links{display:flex;align-items:center;gap:30px}
nav.links a{font-size:.9rem;font-weight:500;color:var(--muted)}
nav.links a:hover{color:var(--ink)}
.navcta{color:var(--ink) !important;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:2px}
.burger{display:none;font-size:1.5rem;background:none;border:0;cursor:pointer;color:var(--ink)}
#navtoggle{display:none}

.hero{padding:110px 0 90px;border-bottom:1px solid var(--line)}
.hero .eyebrow{margin-bottom:26px;display:block}
.hero h1{font-size:clamp(2.6rem,6.5vw,5rem);font-weight:600;max-width:16ch;letter-spacing:-.025em;line-height:1.04}
.hero h1 .ac{color:var(--accent)}
.hero .lede{font-size:1.3rem;color:var(--muted);max-width:54ch;margin:34px 0 0;font-family:'Spectral',serif;line-height:1.5}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}

section{padding:96px 0}
.rule{height:1px;background:var(--line)}
.sec-head{margin-bottom:54px;max-width:60ch}
.sec-num{font-family:'Spectral',serif;color:var(--accent);font-size:.95rem;font-weight:600;letter-spacing:.1em}
.sec-head h2{font-size:clamp(2rem,4vw,3rem);margin:14px 0 0;font-weight:600;letter-spacing:-.02em}
.lead{font-family:'Spectral',serif;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.4;color:var(--ink);max-width:24ch;font-weight:500}
.prose{font-size:1.08rem;color:#3a3b42;max-width:70ch}
.prose+.prose{margin-top:22px}
.colwrap{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}

.split{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}
.half{padding:50px 44px}
.half+.half{border-left:1px solid var(--ink)}
.half .k{font-family:'Spectral',serif;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}
.half h3{font-size:1.9rem;margin:14px 0 16px;font-weight:600}
.half p{color:var(--muted);font-size:1rem;margin-bottom:20px}
.half ul{list-style:none}
.half li{padding:12px 0;border-top:1px solid var(--line);font-size:1rem;color:var(--txt)}
.half.dark{background:var(--ink);color:#fff}
.half.dark h3{color:#fff}
.half.dark p{color:#b7b9c4}
.half.dark li{border-color:rgba(255,255,255,.16);color:#e7e8ee}
.half.dark .k{color:#8aa0ff}

.practice{border-top:1px solid var(--ink)}
.prow{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline}
.prow .pn{font-family:'Spectral',serif;font-size:1.4rem;color:var(--accent);font-weight:600}
.prow h3{font-size:1.5rem;font-weight:600}
.prow p{color:var(--muted);font-size:1.02rem}

.engage{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}
.estep{padding:34px 28px;border-right:1px solid var(--line)}
.estep:last-child{border-right:0}
.estep .en{font-family:'Spectral',serif;font-size:2rem;color:var(--accent);font-weight:600}
.estep h3{font-size:1.15rem;margin:10px 0 8px;font-weight:600}
.estep p{color:var(--muted);font-size:.93rem}

.impact{background:var(--ink);color:#fff}
.impact h2{color:#fff}
.impact .sec-head .prose{color:#b7b9c4}
.istats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);margin-top:10px}
.istat{background:var(--ink);padding:40px 30px}
.istat .n{font-family:'Spectral',serif;font-size:3rem;color:#fff;font-weight:600;letter-spacing:-.02em}
.istat .l{color:#9a9cab;font-size:.98rem;margin-top:6px}

.serve{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.scard{padding:38px 30px 38px 0;border-right:1px solid var(--line)}
.scard:last-child{border-right:0;padding-right:0;padding-left:30px}
.scard:first-child{padding-left:0}
.scard h3{font-size:1.3rem;font-weight:600;margin-bottom:10px}
.scard p{color:var(--muted);font-size:.97rem}

.pov{background:var(--bone)}
.povq{font-family:'Spectral',serif;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.32;color:var(--ink);max-width:24ch;font-weight:500}

.faq{display:grid;grid-template-columns:1fr 1fr;gap:26px 50px;margin-top:10px}
.qa h3{font-size:1.1rem;margin-bottom:8px;font-weight:600;color:var(--ink)}
.qa p{color:var(--muted);font-size:.97rem}

.cta{padding:110px 0;text-align:center;border-top:1px solid var(--ink)}
.cta h2{font-size:clamp(2.1rem,4.5vw,3.4rem);font-weight:600;max-width:18ch;margin:0 auto;letter-spacing:-.02em}
.cta p{color:var(--muted);font-size:1.2rem;max-width:50ch;margin:22px auto 34px;font-family:'Spectral',serif}

footer.site{background:var(--ink);color:#9a9cab;padding:64px 0 32px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer.site h4{color:#fff;font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
footer.site a{display:block;color:#9a9cab;font-size:.92rem;padding:5px 0}
footer.site a:hover{color:#fff}
.fbrand{font-family:'Spectral',serif;font-weight:700;color:#fff;font-size:1.5rem;margin-bottom:10px}
.fnote{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.84rem;color:#71737f}

@media(max-width:900px){
  .colwrap{grid-template-columns:1fr;gap:30px}
  .split{grid-template-columns:1fr}
  .half+.half{border-left:0;border-top:1px solid var(--ink)}
  .engage{grid-template-columns:1fr 1fr}
  .estep{border-bottom:1px solid var(--line)}
  .istats{grid-template-columns:1fr}
  .serve{grid-template-columns:1fr}
  .scard{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}
  .scard:last-child,.scard:first-child{padding:28px 0}
  .prow{grid-template-columns:1fr;gap:8px}
  .faq{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  nav.links{position:fixed;inset:78px 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:10px 30px 20px;border-bottom:1px solid var(--line);display:none}
  nav.links a{padding:13px 0;width:100%;border-bottom:1px solid var(--bone2)}
  #navtoggle:checked ~ nav.links{display:flex}
  .burger{display:block}
}

.nvgrp{position:relative;display:inline-flex;align-items:center}
.nvgrp>.nvp::after{content:" ▾";font-size:.7em;color:var(--muted)}
.nvgrp .nvmenu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);min-width:170px;padding:6px 0;display:none;box-shadow:0 14px 34px rgba(20,21,26,.12);z-index:60}
.nvgrp:hover .nvmenu,.nvgrp:focus-within .nvmenu{display:block}
.nvgrp .nvmenu a{display:block;padding:9px 18px;font-size:.88rem;color:var(--muted)}
.nvgrp .nvmenu a:hover{color:var(--ink);background:var(--bone)}
.artwrap{padding:46px 0 24px}
.art{max-width:760px;margin:0 auto}
.art p{font-size:1.12rem;line-height:1.78;color:#2a2b33;margin:0 0 20px}
.art h2{font-size:1.7rem;font-weight:600;margin:40px 0 14px;color:var(--ink)}
.art h3{font-size:1.3rem;font-weight:600;margin:28px 0 10px;color:var(--ink)}
.art ul,.art ol{margin:0 0 20px 22px}.art li{font-size:1.1rem;line-height:1.7;margin:6px 0}
.art blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:3px solid var(--accent);font-family:'Spectral',serif;font-size:1.3rem;color:var(--ink)}
.artauthor{max-width:760px;margin:36px auto 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.98rem}
@media(max-width:900px){.nvgrp{width:100%;flex-direction:column;align-items:flex-start}.nvgrp .nvmenu{position:static;display:block;border:0;box-shadow:none;padding:2px 0 8px 16px;min-width:0}}

.qbox{max-width:62ch;margin:0 auto;padding:34px 0;text-align:center}
.qbox p{font-family:'Spectral',serif;font-size:clamp(1.5rem,3vw,2.15rem);font-style:italic;color:var(--ink);line-height:1.4}
.qbox cite{display:block;margin-top:16px;font-style:normal;font-family:'Inter',sans-serif;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0}
.gstat{border-radius:14px;padding:30px 26px;color:#fff;position:relative;overflow:hidden}
.gstat .n{font-family:'Spectral',serif;font-size:2.5rem;font-weight:600;line-height:1.05}
.gstat .l{margin-top:10px;font-size:.95rem;opacity:.92;line-height:1.4}
.g1{background:linear-gradient(140deg,#1b2a6b,#2440c4)}
.g2{background:linear-gradient(140deg,#0e2a4a,#1f6f8b)}
.g3{background:linear-gradient(140deg,#14151a,#3a3f55)}
.g4{background:linear-gradient(140deg,#243a1e,#3f7d3a)}
.chartcard{border:1px solid var(--line);border-radius:16px;padding:30px 32px;background:var(--bone);margin:8px 0}
.chartcard .ct{font-family:'Spectral',serif;font-weight:600;font-size:1.3rem;color:var(--ink)}
.chartcard .cs{color:var(--muted);font-size:.95rem;margin:4px 0 18px}
.chartcard svg{display:block;width:100%;height:auto}
.chartcard .note{color:var(--muted);font-size:.78rem;margin-top:12px;font-style:italic}
@media(max-width:760px){.statgrid{grid-template-columns:1fr}}

.calloutband{padding:34px 0}
.calloutband .inner{padding:44px 48px;border-radius:18px;color:#fff}
.cbg1 .inner{background:linear-gradient(120deg,#14151a,#2440c4)}
.cbg2 .inner{background:linear-gradient(120deg,#0e2a4a,#1f7f8b)}
.cbg3 .inner{background:linear-gradient(120deg,#241b4a,#5a3aa0)}
.cbg4 .inner{background:linear-gradient(120deg,#16351f,#3f7d3a)}
.calloutband .big{font-family:'Spectral',serif;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:500;line-height:1.35;max-width:34ch}
.calloutband .hl{background:rgba(255,255,255,.22);padding:1px 8px;border-radius:5px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.calloutband .sub{margin-top:14px;color:rgba(255,255,255,.85);font-size:1.02rem;max-width:62ch;font-family:'Inter',sans-serif}
.headviz{padding:10px 0 0}
@media(max-width:760px){.calloutband .inner{padding:30px 24px}}
