/* VELANS Climate Risk Intelligence — shared stylesheet v1.0 */
:root{
  --ground:#0D151C;--ground-2:#131F29;--ground-3:#1A2A36;
  --ink:#E9EEF1;--ink-2:#AFC0CB;--muted:#7C909C;
  --amber:#E29441;--cyan:#3FA9BE;--cyan-dim:#2A6472;
  --warn:#CF6046;--green:#5FA87C;--violet:#8E7CC3;
  --rule:rgba(233,238,241,.13);--rule-2:rgba(233,238,241,.26);
  --maxw:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:'Source Serif 4',Georgia,serif;font-size:17px;line-height:1.64;-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;line-height:1.12;margin:0;letter-spacing:-.02em;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
strong{font-weight:600;color:#fff;}
p{margin:0 0 14px;}
a{color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(226,148,65,.35);}
a:hover{border-bottom-color:var(--amber);}
a:focus-visible{outline:2px solid var(--amber);outline-offset:3px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);}

/* ---------- SITE NAV ---------- */
.sitenav{background:var(--ground-2);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:60;}
.sitenav-in{max-width:var(--maxw);margin:0 auto;padding:11px 26px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sitenav .brand{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-right:auto;border:0;}
.sitenav .brand b{color:var(--ink);font-weight:600;}
.sitenav a.nl{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);border:1px solid var(--rule-2);border-radius:3px;padding:6px 11px;transition:.2s;}
.sitenav a.nl:hover,.sitenav a.nl[aria-current=page]{border-color:var(--amber);color:var(--amber);}
.sitenav a.nl.lock::after{content:' 🔒';font-size:9px;}

/* ---------- LAYOUT ---------- */
.hero{padding:66px 0 46px;border-bottom:1px solid var(--rule);}
h1{font-size:clamp(31px,5.4vw,54px);max-width:17ch;margin-top:18px;}
h1 span{color:var(--amber);}
.hero-sub{margin-top:20px;max-width:62ch;font-size:18.5px;color:var(--ink-2);font-weight:300;line-height:1.55;}
section{padding:48px 0;border-bottom:1px solid var(--rule);}
.sec-head{margin-bottom:24px;}
h2{font-size:clamp(21px,3.1vw,30px);}
h3{font-size:19px;margin:26px 0 12px;}
.lede{margin:10px 0 0;color:var(--ink-2);max-width:64ch;font-size:16.5px;}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.card{background:var(--ground-2);border:1px solid var(--rule-2);border-radius:5px;padding:26px;
  display:flex;flex-direction:column;transition:.22s;}
.card:hover{border-color:var(--amber);transform:translateY(-2px);}
.card .tag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 9px;border-radius:2px;align-self:flex-start;margin-bottom:16px;border:1px solid;}
.tag.open{color:var(--green);border-color:rgba(95,168,124,.4);background:rgba(95,168,124,.08);}
.tag.gated{color:var(--warn);border-color:rgba(207,96,70,.4);background:rgba(207,96,70,.08);}
.card h3{font-size:22px;margin:0 0 10px;}
.card p{font-size:15.5px;color:var(--ink-2);flex:1;}
.card .go{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  margin-top:14px;border:0;color:var(--amber);}

/* ---------- TABLES ---------- */
table{width:100%;border-collapse:collapse;margin-top:6px;}
th,td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:14.5px;}
th{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);font-weight:500;border-bottom:1px solid var(--rule-2);}
td.num{font-family:'IBM Plex Mono',monospace;}
tr.hl td{background:rgba(226,148,65,.07);}

/* ---------- CALLOUTS ---------- */
.box{padding:18px 22px;margin:22px 0;border-radius:0 4px 4px 0;border-left:3px solid;}
.box .t{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px;}
.box p:last-child{margin-bottom:0;}
.box.key{border-color:var(--amber);background:rgba(226,148,65,.07);} .box.key .t{color:var(--amber);}
.box.warn{border-color:var(--warn);background:rgba(207,96,70,.07);} .box.warn .t{color:var(--warn);}
.box.ok{border-color:var(--green);background:rgba(95,168,124,.07);} .box.ok .t{color:var(--green);}
.box.note{border-color:var(--violet);background:rgba(142,124,195,.08);} .box.note .t{color:var(--violet);}

.cite{background:var(--ground-3);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-2);line-height:1.6;word-break:break-word;}

.numlist{counter-reset:nl;list-style:none;padding:0;margin:8px 0 0;}
.numlist li{counter-increment:nl;position:relative;padding:15px 0 15px 44px;border-bottom:1px solid var(--rule);
  font-size:15.5px;color:var(--ink-2);}
.numlist li::before{content:counter(nl,decimal-leading-zero);position:absolute;left:0;top:16px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--amber);}
.numlist li strong{color:var(--ink);}

/* ---------- FOOTER ---------- */
footer{padding:40px 0 56px;background:var(--ground-2);border-top:1px solid var(--rule);}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;}
.foot-grid h4{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin-bottom:12px;}
.foot-grid p,.foot-grid li{font-size:14px;color:var(--ink-2);}
.foot-grid ul{list-style:none;padding:0;margin:0;}
.foot-grid li{margin-bottom:7px;}
.foot-grid a{font-size:14px;}
.foot-meta{margin-top:32px;padding-top:20px;border-top:1px solid var(--rule);
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}

/* ---------- PRINT ---------- */
@media print{
  :root{--ground:#fff;--ground-2:#fff;--ground-3:#f4f5f2;--ink:#111;--ink-2:#333;--muted:#666;
        --rule:#ccc;--rule-2:#999;--amber:#8a5c14;--cyan:#1d5f6d;--green:#2f6b47;--warn:#8a2f1c;--violet:#4a3d7a;}
  body{background:#fff;color:#111;font-size:11pt;}
  .sitenav,.no-print{display:none !important;}
  a{color:#111;border:0;} a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#555;}
  section{page-break-inside:avoid;border-bottom:1px solid #ddd;padding:18px 0;}
  .card,.box,.cite{border:1px solid #bbb;background:#fafafa;}
  h1{font-size:22pt;} h2{font-size:15pt;} h3{font-size:12pt;}
  footer{background:#fff;border-top:1px solid #bbb;}
}

@media(max-width:800px){.cards,.foot-grid{grid-template-columns:1fr;}}
@media(max-width:560px){body{font-size:16px;}.wrap,.sitenav-in{padding:0 18px;}.sitenav-in{padding:10px 18px;}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;}html{scroll-behavior:auto;}}
