:root {
  /* ── STRICT BRAND PALETTE ── */
  --bg: #0a0f1e;            /* Deep Navy — page background */
  --surface: #111827;      /* Charcoal — cards / surfaces */
  --border: #1f2937;       /* Subtle border */
  --cyan: #00d4ff;         /* Primary accent */
  --amber: #f59e0b;        /* Secondary — commodity highlights */
  --green: #10b981;        /* Positive */
  --red: #ef4444;          /* Negative */
  --white: #f9fafb;        /* Text primary (near white) */
  --gray2: #9ca3af;        /* Text secondary (slate grey) */

  /* ── Derived aliases ── */
  --bg2: #111827;
  --bg3: #172234;
  --bg4: #1f2937;
  --cyan2: #00b0d4;
  --cyan-dim: rgba(0,212,255,0.12);
  --cyan-dim2: rgba(0,212,255,0.06);
  --amber-dim: rgba(245,158,11,0.12);
  --green-dim: rgba(16,185,129,0.12);
  --red-dim: rgba(239,68,68,0.12);
  --gray1: #cbd5e1;
  --gray3: #6b7280;
  --border2: rgba(0,212,255,0.22);
  --border-soft: rgba(255,255,255,0.06);
  --font: 'Inter', sans-serif;
  --mono: 'JetBrains Mono', monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--white);font-family:var(--font);font-size:15px;line-height:1.6;min-height:100vh;}

/* ── Keyframes ── */
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes mktPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,0.45)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
@keyframes flashUp{0%{background:rgba(16,185,129,0.20);border-color:var(--green)}100%{background:var(--surface);border-color:var(--border)}}
@keyframes flashDn{0%{background:rgba(239,68,68,0.20);border-color:var(--red)}100%{background:var(--surface);border-color:var(--border)}}

/* ── Logo mark (nav + footer) ── */
.logo-icon{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-icon img{width:100%;height:100%;object-fit:contain;display:block;}

/* ── Accessibility focus ── */
.logo:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px;}

/* ── Footer ── */
footer{border-top:1px solid var(--border);margin-top:4rem;background:var(--bg2);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
.footer-brand{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.9rem;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px;}

/* ══════════════════════════════════════════════════════════
   TOOLS PAGE — ported live board + risk analytics
══════════════════════════════════════════════════════════ */
.lp-section{scroll-margin-top:112px;padding:4rem 0;border-top:1px solid var(--border);}
.lp-container{max-width:1180px;margin:0 auto;}
.lp-head{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:1.75rem;}
.lp-tag{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--cyan);}
.lp-title{font-weight:800;font-size:clamp(1.55rem,3.2vw,2.15rem);letter-spacing:-0.02em;color:var(--white);line-height:1.15;}
.lp-sub{color:var(--gray2);font-size:0.95rem;margin-top:0.25rem;max-width:640px;}
@media(max-width:768px){.lp-section{padding:3rem 0;}}

/* Live markets board */
.mkt-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 0 0 rgba(16,185,129,0.5);animation:mktPulse 2.4s infinite;}
.mkt-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;}
.mkt-tabs{display:flex;gap:0.4rem;flex-wrap:wrap;}
.mkt-tab{padding:0.5rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--gray2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}
.mkt-tab:hover{color:var(--white);border-color:var(--border2);}
.mkt-tab.active{background:var(--cyan-dim);border-color:var(--border2);color:var(--cyan);}
.mkt-status{display:flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:11px;color:var(--gray2);letter-spacing:0.04em;}
.mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;}
.mkt-panel{display:none;}
.mkt-panel.active{display:block;}
.mkt-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.1rem 1.2rem;position:relative;overflow:hidden;transition:border-color .2s,transform .2s;}
.mkt-card:hover{border-color:var(--border2);transform:translateY(-2px);}
.mkt-top{display:flex;align-items:center;gap:0.55rem;margin-bottom:0.85rem;}
.mkt-label{font-size:13.5px;font-weight:700;color:var(--white);line-height:1.1;}
.mkt-sub{font-size:11px;color:var(--gray2);font-family:var(--mono);letter-spacing:0.03em;margin-top:0.15rem;}
.mkt-price{font-family:var(--mono);font-size:1.55rem;font-weight:600;color:var(--white);letter-spacing:-0.01em;line-height:1;}
.mkt-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:0.5rem;margin-top:0.7rem;}
.mkt-chg{font-family:var(--mono);font-size:12.5px;font-weight:500;white-space:nowrap;}
.mkt-chg.up{color:var(--green);}
.mkt-chg.dn{color:var(--red);}
.mkt-spark{width:96px;height:34px;flex-shrink:0;}
.mkt-skel{color:var(--gray3);}
.mkt-skel .mkt-price{color:var(--gray3);opacity:0.5;}
.mkt-card.flash-up{animation:flashUp 0.85s ease-out;}
.mkt-card.flash-dn{animation:flashDn 0.85s ease-out;}
.mkt-disclaimer{font-size:11px;color:var(--gray3);font-family:var(--mono);margin-top:1.25rem;letter-spacing:0.02em;}
/* Live vs previous-close labelling */
.mkt-asof{font:600 10.5px/1 var(--mono);letter-spacing:0.03em;color:var(--green);margin-top:0.55rem;}
.mkt-prev .mkt-asof{color:var(--gray3);}
.mkt-prev .mkt-dot{animation:none;background:var(--gray3);box-shadow:none;}
.mkt-status.is-prev .mkt-dot{animation:none;background:var(--amber);box-shadow:none;}

/* Risk analytics */
.ra-panel{display:none;}
.ra-panel.active{display:block;}
.ra-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start;}
.ra-col{display:flex;flex-direction:column;gap:1.1rem;}
.ra-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.4rem 1.5rem;}
.ra-card-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:1rem;}
.ra-card-title{font-size:1rem;font-weight:700;color:var(--white);}
.ra-card-sub{font-size:12.5px;color:var(--gray2);line-height:1.55;margin-bottom:1rem;}
.ra-badge{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cyan);background:var(--cyan-dim);border:1px solid var(--border2);padding:0.22rem 0.55rem;border-radius:5px;white-space:nowrap;}
.ra-badge.amber{color:var(--amber);background:var(--amber-dim);border-color:rgba(245,158,11,0.25);}
.va-formula{font-family:var(--mono);font-size:12px;color:var(--cyan);background:var(--bg);border:1px solid var(--border2);border-radius:8px;padding:0.7rem 0.85rem;margin-bottom:1.25rem;line-height:1.5;}
.va-formula sub{font-size:9px;}
.va-field{margin-bottom:1.05rem;}
.va-field > label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray2);margin-bottom:0.5rem;}
.va-lblrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.5rem;}
.va-lblrow label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray2);}
.va-lblrow output{font-family:var(--mono);font-size:13px;color:var(--cyan);font-weight:500;}
.va-field input[type=number]{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0.65rem 0.8rem;color:var(--white);font-family:var(--mono);font-size:14px;}
.va-field input[type=number]:focus{outline:none;border-color:var(--border2);}
.va-field input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;background:var(--bg4);cursor:pointer;}
.va-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--cyan);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--cyan);}
.va-field input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--cyan);border:2px solid var(--surface);}
.va-toggle{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:3px;gap:3px;}
.va-toggle button{border:none;background:transparent;color:var(--gray2);font-family:var(--mono);font-size:13px;font-weight:500;padding:0.4rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;}
.va-toggle button.active{background:var(--cyan);color:#04121c;font-weight:700;}
.va-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;margin-top:1.25rem;}
.va-metric{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1rem;}
.va-metric-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray2);margin-bottom:0.4rem;}
.va-metric-val{font-family:var(--mono);font-size:1.5rem;font-weight:600;color:var(--red);letter-spacing:-0.01em;line-height:1;}
.va-metric-val.es{color:var(--amber);}
.va-metric-sub{font-family:var(--mono);font-size:11.5px;color:var(--gray2);margin-top:0.35rem;}
.va-note{font-size:12px;color:var(--gray2);line-height:1.5;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
.vol-surface{display:grid;gap:3px;font-family:var(--mono);}
.vs-cell{padding:0.5rem 0.3rem;text-align:center;font-size:11.5px;border-radius:4px;color:var(--white);}
.vs-head{color:var(--gray2);font-size:10px;text-transform:uppercase;letter-spacing:0.04em;background:transparent!important;padding:0.35rem 0.2rem;}
.vs-axis{font-size:10px;color:var(--gray3);text-align:center;margin-top:0.5rem;letter-spacing:0.05em;}
.corr-matrix{display:grid;gap:3px;font-family:var(--mono);}
.cm-cell{padding:0.45rem 0.2rem;text-align:center;font-size:11px;border-radius:4px;color:var(--white);}
.cm-head{color:var(--gray2);font-size:9.5px;background:transparent!important;padding:0.3rem 0.1rem;letter-spacing:0.02em;}
.cm-row-head{color:var(--gray2);font-size:9.5px;background:transparent!important;display:flex;align-items:center;justify-content:flex-start;padding-left:0.2rem;}
.ra-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;}
.ra-mini{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:0.9rem;text-align:center;}
.ra-mini-val{font-family:var(--mono);font-size:1.05rem;font-weight:600;color:var(--cyan);margin-bottom:0.3rem;}
.ra-mini-lbl{font-size:11px;color:var(--gray2);line-height:1.3;}
.ra-links{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--border);}
.ra-links-lbl{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray2);font-weight:600;}
.ra-link{font-size:13px;font-weight:600;color:var(--cyan);text-decoration:none;padding:0.35rem 0.7rem;border:1px solid var(--border2);border-radius:7px;transition:all .2s;}
.ra-link:hover{background:var(--cyan-dim);transform:translateY(-1px);}
@media(max-width:860px){
  .ra-grid{grid-template-columns:1fr;}
  .ra-metrics-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .va-metrics{grid-template-columns:1fr;}
  .mkt-grid{grid-template-columns:1fr;}
  .logo-icon{width:38px;height:38px;}
}

/* ══════════════════════════════════════════════════════════
   MAGAZINE COMPONENTS
══════════════════════════════════════════════════════════ */
.site-main{max-width:1180px;margin:0 auto;padding:0 20px 80px;}
.eyebrow{font:600 12px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 10px;}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;}
.card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--white);transition:border-color .18s,transform .18s;}
.card:hover{border-color:var(--cyan);transform:translateY(-2px);}
.card h3{font:800 18px/1.25 Inter,sans-serif;margin:0;}
.card p{color:var(--gray2);font:400 14px/1.5 Inter,sans-serif;margin:0;}
.card-date{color:var(--gray3);font:500 12px/1 "JetBrains Mono",monospace;margin-top:auto;}
.card-kind{align-self:flex-start;font:600 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:var(--bg3);color:var(--gray1);}
.kind-basics{color:var(--green);} .kind-analysis{color:var(--cyan);} .kind-wire{color:var(--amber);}
.card-ico{align-self:flex-start;font-size:26px;line-height:1;}
.hub-head{padding:48px 0 8px;} .hub-head h1{font:800 40px/1.1 Inter,sans-serif;margin:0 0 12px;}
.hub-blurb{color:var(--gray1);font:400 18px/1.5 Inter,sans-serif;max-width:720px;}
.empty{color:var(--gray2);font-style:italic;padding:24px 0;}
.post{max-width:760px;margin:0 auto;} .post-head{padding:48px 0 24px;border-bottom:1px solid var(--border);}
.post-head h1{font:800 36px/1.15 Inter,sans-serif;margin:8px 0 12px;}
.post-meta{color:var(--gray2);font:500 14px/1 "JetBrains Mono",monospace;}
.post-tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}
.tag{font:600 11px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;border-radius:4px;background:var(--bg3);color:var(--cyan);}
.tag.concept{color:var(--amber);}
.post-body{font:400 17px/1.7 Inter,sans-serif;color:var(--gray1);padding:28px 0;text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.post-body h2,.post-body h3{text-align:left;-webkit-hyphens:manual;hyphens:manual;}
.post-body h2{font:800 24px/1.3 Inter,sans-serif;color:var(--white);margin:32px 0 12px;}
.post-body a{color:var(--cyan);}
.sources{border-top:1px solid var(--border);padding-top:24px;margin-top:24px;}
.sources h2{font:800 18px/1 Inter,sans-serif;} .sources li{color:var(--gray2);margin:8px 0;} .sources a{color:var(--cyan);}
.related{border-top:1px solid var(--border);padding-top:24px;margin-top:32px;}
@media(max-width:820px){.card-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.card-grid{grid-template-columns:1fr;} .hub-head h1{font-size:30px;} .post-head h1{font-size:28px;}}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg2);border-bottom:1px solid var(--border);padding:6px 20px;overflow:hidden;}
/* Endless marquee. The viewport clips; the track is max-content wide and holds
   two identical groups, so translating it -50% is exactly one group — a
   seamless loop. Animating the track (not a flex-sized box) is what stops the
   last item being truncated. Edges are feathered so items don't hard-clip. */
.ticker-viewport{flex:1 1 auto;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);}
.ticker{display:flex;width:max-content;font:500 13px/1 "JetBrains Mono",monospace;}
.ticker.is-live{animation:ticker 42s linear infinite;}
.ticker.is-live:hover{animation-play-state:paused;}
.ticker-group{display:flex;align-items:center;gap:42px;padding-right:42px;white-space:nowrap;}
/* The global reduced-motion rule collapses animations to 0.01ms, which would
   snap the track to its end state. Stop it outright and let the user scroll. */
@media(prefers-reduced-motion:reduce){
  .ticker.is-live{animation:none!important;transform:none!important;}
  .ticker-viewport{overflow-x:auto;}
}
.tick b{color:var(--gray1);font-weight:600;} .tick-px{color:var(--white);} .tick-chg.up{color:var(--green);} .tick-chg.down{color:var(--red);}
.topbar-cta{flex-shrink:0;color:var(--cyan);font:600 12px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;}
.ticker-loading{color:var(--gray3);}

.group-h{font:800 22px/1 Inter,sans-serif;margin:36px 0 4px;color:var(--white);}

.home-hero{padding:64px 0 24px;} .home-h1{font:800 clamp(32px,5vw,52px)/1.08 Inter,sans-serif;margin:0 0 16px;max-width:14ch;}
.home-sub{color:var(--gray1);font:400 19px/1.55 Inter,sans-serif;max-width:640px;}
.home-featured .card{border-color:var(--cyan);} .home-featured .card h3{font-size:24px;}
.home-tools-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.home-tools-cta h2{font:800 22px/1.2 Inter,sans-serif;margin:0 0 6px;} .home-tools-cta p{color:var(--gray2);margin:0;max-width:520px;}
.btn-primary{background:var(--cyan);color:#06121f;font:700 14px/1 Inter,sans-serif;padding:14px 22px;border-radius:8px;text-decoration:none;white-space:nowrap;}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;}
.filter{background:var(--bg3);border:1px solid var(--border);color:var(--gray1);font:600 12px/1 Inter,sans-serif;padding:8px 12px;border-radius:20px;cursor:pointer;}
.filter.active{background:var(--cyan);color:#06121f;border-color:var(--cyan);}
.wires{margin-top:48px;border-top:1px solid var(--border);padding-top:24px;}
.wire-list li{margin:10px 0;color:var(--gray2);} .wire-list a{color:var(--cyan);}

/* ══════════════════════════════════════════════════════════
   NAV — centered mega-menus + mobile drawer
══════════════════════════════════════════════════════════ */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,15,30,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.nav-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:12px 20px;height:60px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);justify-self:start;} .logo-word{font:800 18px/1 Inter,sans-serif;} .logo-word strong{color:var(--cyan);}
.nav-links{display:flex;align-items:center;gap:22px;justify-self:center;flex:none;min-width:0;overflow:visible;}
.nav-links > a,.nav-item > a{color:var(--gray1);font:600 14px/1 Inter,sans-serif;text-decoration:none;}
.nav-item{position:relative;} .nav-item .mega{position:absolute;top:130%;left:0;display:none;grid-template-columns:1fr 1fr;gap:2px;min-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;}
.nav-item:hover .mega{display:grid;} .mega a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;color:var(--gray1);text-decoration:none;font:500 13px/1.2 Inter,sans-serif;} .mega a:hover{background:var(--bg3);color:var(--white);}
.nav-toggle{display:none;background:none;border:0;color:var(--white);font-size:22px;cursor:pointer;justify-self:end;}
@media(max-width:820px){
  .nav-inner{display:flex;justify-content:space-between;}
  .nav-toggle{display:block;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;}
  .nav-links.open{display:flex;}
  .nav-item{width:100%;} .nav-item .mega{position:static;display:none;grid-template-columns:1fr;min-width:0;border:0;padding:0 0 0 12px;}
  .nav-item.mega-open .mega{display:grid;}
}
@media(max-width:640px){ .footer-grid{grid-template-columns:1fr 1fr;} }

/* ══════════════════════════════════════════════════════════
   TRADE-FLOW INFOGRAPHICS (original, source-attributed SVG)
══════════════════════════════════════════════════════════ */
.flowviz{margin:32px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px 18px 14px;overflow-x:auto;}
.flowviz-title{font:700 15px/1.35 Inter,sans-serif;color:var(--white);margin:0 0 14px;}
.flowviz svg{width:100%;height:auto;min-width:600px;display:block;}
.flowviz-src{font:400 12px/1.55 Inter,sans-serif;color:var(--gray3);margin:14px 0 0;}
.flowviz-src a{color:var(--cyan);text-decoration:none;}
.flowviz-src a:hover{text-decoration:underline;}

/* ══════════════════════════════════════════════════════════
   COMMODITY SECTOR PAGE — structured, sourced market pages
   Wraps existing flowviz diagrams; uses brand tokens (dark)
══════════════════════════════════════════════════════════ */
.cmdty{max-width:1080px;margin:0 auto;}
.cmdty .tnum{font-variant-numeric:tabular-nums;}
.cmdty-crumb{font:600 12px/1 var(--mono);letter-spacing:.03em;color:var(--gray2);padding:28px 0 0;}
.cmdty-crumb a{color:var(--gray2);text-decoration:none;} .cmdty-crumb a:hover{color:var(--cyan);}
.cmdty-crumb span{opacity:.5;margin:0 4px;} .cmdty-crumb b{color:var(--amber);}

.cmdty-hero{padding:22px 0 26px;border-bottom:1px solid var(--border);}
.cmdty-hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.cmdty-emoji{width:56px;height:56px;border-radius:14px;background:var(--amber-dim);border:1px solid rgba(245,158,11,.3);display:grid;place-items:center;font-size:1.7rem;flex:none;}
.cmdty-grp{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 8px;}
.cmdty-hero h1{font:800 clamp(2rem,4.4vw,2.8rem)/1.05 Inter,sans-serif;letter-spacing:-.02em;color:var(--white);margin:0;}
.cmdty-stand{font:400 1.18rem/1.5 Inter,sans-serif;color:var(--gray1);max-width:64ch;margin:18px 0 0;}

.cmdty-bench{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:22px;}
.cmdty-bench .bcard{background:var(--bg3);padding:14px 16px;}
.cmdty-bench .bn{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cmdty-bench .name{font:700 12.5px/1.2 Inter,sans-serif;color:var(--white);}
.cmdty-bench .region{font:600 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gray2);}
.cmdty-bench .px{font-family:var(--mono);font-size:1.5rem;font-weight:600;color:var(--white);margin-top:10px;letter-spacing:-.01em;}
.cmdty-bench .unit{font-size:.72rem;color:var(--gray2);font-weight:500;}
.cmdty-bench .chg{font-family:var(--mono);font-size:12px;font-weight:600;margin-top:4px;}
.cmdty-bench .chg.up{color:var(--green);} .cmdty-bench .chg.dn{color:var(--red);}
/* Curated-and-dated (not on the live feed), awaiting hydration, or a stale close */
.cmdty-bench .chg.is-static{color:var(--gray3);font-weight:500;letter-spacing:.01em;}
.cmdty-bench .chg.is-pending{color:var(--gray3);opacity:.55;font-weight:500;}
.cmdty-bench .chg.is-prev{opacity:.85;}
.cmdty-bench-note{font:600 10.5px/1.4 var(--mono);color:var(--gray3);margin-top:10px;letter-spacing:.02em;}
.cmdty-bench-note .dot,.cmdty-prov .dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:6px;}

.cmdty-doc{display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;padding:26px 0 40px;}
.cmdty-toc{position:sticky;top:112px;align-self:start;font-size:13.5px;}
.cmdty-toc .h{font:700 10.5px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--gray2);margin:0 0 12px;}
.cmdty-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--border);}
.cmdty-toc li a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--gray2);font-weight:600;text-decoration:none;}
.cmdty-toc li a:hover{color:var(--white);} .cmdty-toc li a.active{color:var(--amber);border-left-color:var(--amber);}

.cmdty-sect{min-width:0;max-width:74ch;}
.cmdty-sect > h2{font:800 1.4rem/1.2 Inter,sans-serif;letter-spacing:-.01em;color:var(--white);margin:38px 0 4px;scroll-margin-top:120px;display:flex;align-items:baseline;gap:11px;}
.cmdty-sect > h2:first-child{margin-top:4px;}
.cmdty-sect > h2 .n{font:700 12px/1 var(--mono);color:var(--amber);}
.cmdty-lead{font:400 1.12rem/1.7 Inter,sans-serif;color:var(--gray1);margin:14px 0;}
.cmdty-lead p{margin:14px 0;} .cmdty-lead strong{color:var(--white);font-weight:600;}
.cmdty-lead h2{font:800 1.12rem/1.3 Inter,sans-serif;color:var(--white);margin:30px 0 8px;scroll-margin-top:120px;padding-top:6px;border-top:1px solid var(--border-soft);}
.cmdty-lead h2:first-child{border-top:0;padding-top:0;margin-top:14px;}
.cmdty-lead a{color:var(--cyan);}

.bk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;}
.bk{background:var(--bg3);border:1px solid var(--border);border-top:3px solid var(--amber);border-radius:11px;padding:15px 16px;}
.bk .code{font:700 13px/1 var(--mono);color:var(--amber);letter-spacing:.03em;}
.bk .full{font:700 12.5px/1.3 Inter,sans-serif;color:var(--white);margin:7px 0 8px;}
.bk p{margin:0;font-size:.83rem;color:var(--gray2);line-height:1.5;}

.drivers{display:flex;flex-direction:column;gap:10px;margin:16px 0;}
.drivers .drv{display:flex;gap:13px;align-items:flex-start;background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:14px 16px;}
.drivers .ic{flex:none;width:34px;height:34px;border-radius:9px;background:var(--cyan-dim);color:var(--cyan);display:grid;place-items:center;font-size:16px;}
.drivers .t{font:700 13.5px/1.3 Inter,sans-serif;color:var(--white);margin-bottom:3px;}
.drivers p{margin:0;font-size:.88rem;color:var(--gray2);line-height:1.5;}

.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;}
.risk-grid .rk{background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:15px 16px;position:relative;}
.risk-grid .sev{position:absolute;top:14px;right:14px;font:700 9.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:5px;}
.risk-grid .sev.hi{color:var(--red);background:var(--red-dim);}
.risk-grid .sev.md{color:var(--amber);background:var(--amber-dim);}
.risk-grid .rk .t{font:700 13.5px/1.3 Inter,sans-serif;color:var(--white);margin:0 60px 6px 0;}
.risk-grid .rk p{margin:0;font-size:.85rem;color:var(--gray2);line-height:1.5;}
.cmdty-note{display:flex;gap:12px;background:var(--amber-dim);border:1px solid rgba(245,158,11,.3);border-radius:11px;padding:15px 17px;margin:22px 0;font-size:.9rem;line-height:1.55;color:var(--gray1);}
.cmdty-note .ic{flex:none;color:var(--amber);font-weight:800;font-family:var(--mono);}
.cmdty-note b{color:var(--white);}

.cmdty .tbl-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--border);border-radius:11px;}
table.specs{width:100%;border-collapse:collapse;font-size:13px;min-width:520px;}
table.specs th,table.specs td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border-soft);}
table.specs thead th{font:700 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gray2);background:var(--bg3);}
table.specs td{color:var(--gray1);} table.specs td:first-child{color:var(--white);font-weight:700;}
table.specs td.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
table.specs tr:last-child td{border-bottom:0;}
.cmdty-specs-note{font-size:.82rem;color:var(--gray3);margin:0;}

.cmdty-refs{margin-top:40px;padding-top:22px;border-top:2px solid var(--border);}
.cmdty-refs h2{font:800 1.2rem/1.2 Inter,sans-serif;color:var(--white);margin:0 0 4px;}
.cmdty-refs .rsub{font-size:.88rem;color:var(--gray2);margin:0 0 16px;}
.cmdty-refs ol{margin:0;padding:0;list-style:none;counter-reset:r;display:flex;flex-direction:column;gap:13px;}
.cmdty-refs li{counter-increment:r;position:relative;padding-left:38px;font-size:.88rem;line-height:1.5;color:var(--gray1);}
.cmdty-refs li::before{content:counter(r);position:absolute;left:0;top:0;width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font:700 11.5px/1 var(--mono);color:var(--cyan);background:var(--cyan-dim);border:1px solid var(--border2);}
.cmdty-refs .rt{color:var(--white);font-weight:700;} .cmdty-refs .rt a{color:var(--white);}
.cmdty-refs .rt a:hover{color:var(--cyan);} .cmdty-refs .rp{color:var(--gray1);}
.cmdty-refs .rn{display:block;margin-top:3px;color:var(--gray2);font-size:.8rem;} .cmdty-refs .rn em{color:var(--green);font-style:normal;font-weight:700;}

.cmdty-prov{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:14px 18px;margin-top:22px;}
.cmdty-prov .pt{font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gray2);}
.cmdty-prov .item{font-size:.85rem;color:var(--gray1);} .cmdty-prov .item b{color:var(--white);}

.cmdty-related{margin-top:30px;}
.cmdty-related h3{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gray2);margin:0 0 14px;}
.cmdty-related .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cmdty-related .rel{display:block;background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:15px;transition:transform .18s,border-color .18s;text-decoration:none;}
.cmdty-related .rel:hover{border-color:var(--cyan);transform:translateY(-2px);}
.cmdty-related .rel .k{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);}
.cmdty-related .rel .t{font:700 13.5px/1.35 Inter,sans-serif;color:var(--white);margin:9px 0 0;}
.cmdty-toolcta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(120deg,var(--cyan-dim),transparent);}
.cmdty-toolcta h4{font:800 1.05rem/1.2 Inter,sans-serif;color:var(--white);margin:0 0 4px;}
.cmdty-toolcta p{margin:0;font-size:.88rem;color:var(--gray2);max-width:52ch;}
.cmdty-toolcta a{background:var(--cyan);color:#04121c;font:700 13px/1 Inter,sans-serif;padding:12px 18px;border-radius:9px;white-space:nowrap;text-decoration:none;}

@media(max-width:900px){
  .cmdty-doc{grid-template-columns:1fr;gap:18px;}
  .cmdty-toc{position:static;border:1px solid var(--border);border-radius:11px;padding:16px;background:var(--bg3);}
  .cmdty-toc ol{border-left:0;} .cmdty-toc li a{padding-left:0;border-left:0;margin-left:0;}
}
@media(max-width:640px){
  .cmdty-bench,.bk-grid,.risk-grid,.cmdty-related .rel-grid{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════════
   RISK TOOLKIT CONCEPT PAGE — explainer variant + diagrams
══════════════════════════════════════════════════════════ */
.tkit{max-width:1080px;margin:0 auto;}
.tkit-crumb{font:600 12px/1 var(--mono);letter-spacing:.03em;color:var(--gray2);padding:28px 0 0;}
.tkit-crumb a{color:var(--gray2);text-decoration:none;} .tkit-crumb a:hover{color:var(--cyan);}
.tkit-crumb span{opacity:.5;margin:0 4px;} .tkit-crumb b{color:var(--cyan);}

.tkit-hero{padding:22px 0 26px;border-bottom:1px solid var(--border);}
.tkit-hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.tkit-emoji{width:56px;height:56px;border-radius:14px;background:var(--cyan-dim);border:1px solid var(--border2);display:grid;place-items:center;font-size:1.6rem;flex:none;}
.tkit-grp{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 8px;}
.tkit-hero h1{font:800 clamp(2rem,4.4vw,2.8rem)/1.05 Inter,sans-serif;letter-spacing:-.02em;color:var(--white);margin:0;}
.tkit-stand{font:400 1.18rem/1.5 Inter,sans-serif;color:var(--gray1);max-width:64ch;margin:18px 0 0;}
.tkit-concepts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.tkit-concepts .cchip{display:inline-flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:9px;padding:9px 13px;font:600 13px/1 Inter,sans-serif;color:var(--white);}
.tkit-concepts .cchip .k{font:700 10px/1 var(--mono);letter-spacing:.06em;color:var(--cyan);}

.tkit-doc{display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;padding:26px 0 40px;}
.tkit-toc{position:sticky;top:112px;align-self:start;font-size:13.5px;}
.tkit-toc .h{font:700 10.5px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--gray2);margin:0 0 12px;}
.tkit-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--border);}
.tkit-toc li a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--gray2);font-weight:600;text-decoration:none;}
.tkit-toc li a:hover{color:var(--white);} .tkit-toc li a.active{color:var(--cyan);border-left-color:var(--cyan);}

.tkit-sect{min-width:0;max-width:74ch;}
.tkit-sect > h2{font:800 1.4rem/1.2 Inter,sans-serif;letter-spacing:-.01em;color:var(--white);margin:38px 0 6px;scroll-margin-top:120px;display:flex;align-items:baseline;gap:11px;}
.tkit-sect > h2:first-child{margin-top:4px;}
.tkit-sect > h2 .n{font:700 12px/1 var(--mono);color:var(--cyan);}
.tkit-lead{font:400 1.06rem/1.7 Inter,sans-serif;color:var(--gray1);}
.tkit-lead p{margin:14px 0;} .tkit-lead strong{color:var(--white);font-weight:600;} .tkit-lead a{color:var(--cyan);}
.tkit-lead h2{font:800 1.12rem/1.3 Inter,sans-serif;color:var(--white);margin:30px 0 8px;scroll-margin-top:120px;padding-top:6px;border-top:1px solid var(--border-soft);}
.tkit-lead h2:first-child{border-top:0;padding-top:0;margin-top:14px;}

/* concept diagram (like flowviz) */
.conceptviz{margin:26px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px 18px 14px;overflow-x:auto;}
.conceptviz-title{font:700 14px/1.35 Inter,sans-serif;color:var(--white);margin:0 0 14px;}
.conceptviz svg{width:100%;height:auto;min-width:560px;display:block;}
.conceptviz-src{font:400 12px/1.55 Inter,sans-serif;color:var(--gray3);margin:14px 0 0;}
.conceptviz-src strong{color:var(--gray1);font-weight:600;}

/* methods grid */
.tkit-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;}
.tkit-methods .method{background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--cyan);border-radius:11px;padding:15px 16px;}
.tkit-methods .method .t{font:700 13.5px/1.3 Inter,sans-serif;color:var(--white);margin-bottom:5px;}
.tkit-methods .method p{margin:0;font-size:.87rem;color:var(--gray2);line-height:1.5;}
@media(max-width:560px){.tkit-methods{grid-template-columns:1fr;}}

/* regulation callout */
.tkit-reg{display:flex;gap:13px;background:var(--amber-dim);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:16px 18px;margin:24px 0;}
.tkit-reg .ic{flex:none;width:34px;height:34px;border-radius:9px;background:rgba(245,158,11,.18);color:var(--amber);display:grid;place-items:center;font-weight:800;font-family:var(--mono);}
.tkit-reg .rt{font:700 13px/1.3 Inter,sans-serif;color:var(--white);margin-bottom:4px;}
.tkit-reg p{margin:0;font-size:.9rem;color:var(--gray1);line-height:1.55;} .tkit-reg strong{color:var(--white);}

/* refs */
.tkit-refs{margin-top:42px;padding-top:22px;border-top:2px solid var(--border);}
.tkit-refs h2{font:800 1.2rem/1.2 Inter,sans-serif;color:var(--white);margin:0 0 4px;}
.tkit-refs .rsub{font-size:.88rem;color:var(--gray2);margin:0 0 16px;}
.tkit-refs ol{margin:0;padding:0;list-style:none;counter-reset:r;display:flex;flex-direction:column;gap:12px;}
.tkit-refs li{counter-increment:r;position:relative;padding-left:38px;font-size:.88rem;line-height:1.5;color:var(--gray1);}
.tkit-refs li::before{content:counter(r);position:absolute;left:0;top:0;width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font:700 11.5px/1 var(--mono);color:var(--cyan);background:var(--cyan-dim);border:1px solid var(--border2);}
.tkit-refs .rt2{color:var(--white);font-weight:700;} .tkit-refs .rt2 a{color:var(--white);} .tkit-refs .rt2 a:hover{color:var(--cyan);}
.tkit-refs .rn{display:block;margin-top:3px;color:var(--gray2);font-size:.8rem;} .tkit-refs .rn em{color:var(--green);font-style:normal;font-weight:700;}

.tkit-prov{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:14px 18px;margin-top:22px;}
.tkit-prov .pt{font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gray2);}
.tkit-prov .item{font-size:.85rem;color:var(--gray1);} .tkit-prov .item b{color:var(--white);}
.tkit-prov .dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:6px;}

.tkit-related{margin-top:30px;}
.tkit-related h3{font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gray2);margin:0 0 14px;}
.tkit-related .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.tkit-related .rel{display:block;background:var(--bg3);border:1px solid var(--border);border-radius:11px;padding:15px;transition:transform .18s,border-color .18s;text-decoration:none;}
.tkit-related .rel:hover{border-color:var(--cyan);transform:translateY(-2px);}
.tkit-related .rel .k{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);}
.tkit-related .rel .t{font:700 13.5px/1.35 Inter,sans-serif;color:var(--white);margin:9px 0 0;}
@media(max-width:640px){.tkit-related .rel-grid{grid-template-columns:1fr;}}

.tkit-toolcta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(120deg,var(--cyan-dim),transparent);}
.tkit-toolcta h4{font:800 1.05rem/1.2 Inter,sans-serif;color:var(--white);margin:0 0 4px;}
.tkit-toolcta p{margin:0;font-size:.88rem;color:var(--gray2);max-width:52ch;}
.tkit-toolcta a{background:var(--cyan);color:#04121c;font:700 13px/1 Inter,sans-serif;padding:12px 18px;border-radius:9px;white-space:nowrap;text-decoration:none;}

@media(max-width:900px){
  .tkit-doc{grid-template-columns:1fr;gap:18px;}
  .tkit-toc{position:static;border:1px solid var(--border);border-radius:11px;padding:16px;background:var(--bg3);}
  .tkit-toc ol{border-left:0;} .tkit-toc li a{padding-left:0;border-left:0;margin-left:0;}
}

/* ══════════════════════════════════════════════════════════
   STRUCTURED HEDGE EXAMPLES (Tools page)
══════════════════════════════════════════════════════════ */
.tabs-inner{display:flex;gap:0.5rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.tab-btn{padding:0.45rem 0.95rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--gray2);font:600 13px/1 Inter,sans-serif;cursor:pointer;transition:all .2s;}
.tab-btn.active,.tab-btn:hover{background:var(--cyan-dim);border-color:var(--border2);color:var(--cyan);}
.badge{display:inline-block;padding:0.2rem 0.5rem;border-radius:4px;font:600 11px/1.3 Inter,sans-serif;}
.badge-red{background:var(--red-dim);color:var(--red);}
.badge-green{background:var(--green-dim);color:var(--green);}
.badge-amber{background:var(--amber-dim);color:var(--amber);}
.badge-cyan{background:var(--cyan-dim);color:var(--cyan);}
.trade-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.5rem;margin-bottom:1.25rem;}
.trade-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.5rem;flex-wrap:wrap;gap:0.6rem;}
.trade-title{font:700 15px/1.3 Inter,sans-serif;color:var(--white);}
.trade-sub{font-size:12px;color:var(--gray2);margin-top:0.2rem;}
.trade-meta{display:flex;gap:0.5rem;flex-wrap:wrap;}
.trade-scenario{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;}
.scenario-box{padding:1rem;border-radius:8px;border:1px solid;}
.scenario-unhedged{background:var(--red-dim);border-color:rgba(239,68,68,0.25);}
.scenario-hedged{background:var(--green-dim);border-color:rgba(16,185,129,0.25);}
.scenario-label{font:600 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.5rem;}
.scenario-unhedged .scenario-label{color:var(--red);}
.scenario-hedged .scenario-label{color:var(--green);}
.scenario-val{font:700 1.4rem/1 var(--mono);}
.scenario-unhedged .scenario-val{color:var(--red);}
.scenario-hedged .scenario-val{color:var(--green);}
.scenario-desc{font-size:12px;color:var(--gray2);margin-top:0.45rem;line-height:1.5;}
.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.75rem;margin-top:1rem;}
.metric-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1rem;}
.metric-val{font:700 1.2rem/1 var(--mono);color:var(--cyan);margin-bottom:0.25rem;}
.metric-label{font-size:11.5px;color:var(--gray2);}
.hedge-summary{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.4rem 1.5rem;margin-top:0.5rem;overflow-x:auto;}
.hedge-summary h3{font:700 15px/1.3 Inter,sans-serif;color:var(--white);margin:0 0 0.35rem;}
.hedge-summary p{font-size:12.5px;color:var(--gray2);margin:0 0 1rem;}
.hedge-summary svg{width:100%;height:auto;min-width:560px;display:block;}
.hedge-note{font-size:11px;color:var(--gray3);font-family:var(--mono);margin-top:1.25rem;letter-spacing:0.02em;}
@media(max-width:640px){.trade-scenario{grid-template-columns:1fr;}}

/* Justify body prose across all page layouts */
.cmdty-lead,.tkit-lead{text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.cmdty-lead h2,.cmdty-lead h3,.tkit-lead h2,.tkit-lead h3{text-align:left;-webkit-hyphens:manual;hyphens:manual;}

/* ══════════════════════════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════════════════════════ */
.abt-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 0 8px;}
.abt-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid var(--border2);margin:14px 0 18px;}
.abt-name{font:800 clamp(30px,5vw,44px)/1.05 Inter,sans-serif;margin:0 0 8px;color:var(--white);}
.abt-role{color:var(--cyan);font:600 15px/1 Inter,sans-serif;letter-spacing:.02em;margin:0 0 18px;}
.abt-bio{color:var(--gray1);font:400 17px/1.65 Inter,sans-serif;max-width:720px;margin:0 auto 22px;text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.abt-bio a{color:var(--cyan);text-decoration:none;}
.abt-social{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.abt-btn{display:inline-flex;align-items:center;gap:8px;font:700 14px/1 Inter,sans-serif;padding:12px 20px;border-radius:8px;text-decoration:none;transition:transform .18s,background .18s;}
.abt-btn:hover{transform:translateY(-1px);}
.abt-btn-primary{background:var(--cyan);color:#06121f;}
.abt-btn-ghost{border:1px solid var(--border2);color:var(--cyan);}
.abt-btn-ghost:hover{background:var(--cyan-dim);}
.abt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0;}
.abt-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 18px;text-align:center;}
.abt-stat-val{font:700 2rem/1 var(--mono);color:var(--cyan);margin-bottom:8px;}
.abt-stat-lbl{font-size:12.5px;color:var(--gray2);line-height:1.45;}
.abt-section{margin:56px 0;}
.abt-h2{font:800 26px/1.15 Inter,sans-serif;color:var(--white);margin:0 0 6px;text-align:center;}
.abt-sub{color:var(--gray2);text-align:center;margin:0 auto 28px;max-width:560px;}
.abt-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.abt-tl-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;}
.abt-tl-phase{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin-bottom:10px;}
.abt-tl-title{font:800 18px/1.2 Inter,sans-serif;color:var(--white);margin-bottom:10px;}
.abt-tl-desc{font-size:13.5px;color:var(--gray1);line-height:1.6;margin-bottom:14px;}
.abt-tags{display:flex;flex-wrap:wrap;gap:6px;}
.abt-tag{font:600 11px/1 Inter,sans-serif;padding:5px 9px;border-radius:20px;background:var(--bg3);color:var(--gray1);}
.abt-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.abt-skill{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;transition:border-color .18s,transform .18s;}
.abt-skill:hover{border-color:var(--cyan);transform:translateY(-2px);}
.abt-skill-ico{font-size:26px;line-height:1;margin-bottom:12px;}
.abt-skill-title{font:800 16px/1.2 Inter,sans-serif;color:var(--white);margin-bottom:8px;}
.abt-skill-desc{font-size:13px;color:var(--gray2);line-height:1.55;}
.abt-quote{border-left:3px solid var(--cyan);background:var(--surface);border-radius:0 12px 12px 0;padding:24px 28px;margin:56px 0;}
.abt-quote p{font:500 19px/1.55 Inter,sans-serif;color:var(--white);margin:0;}
.abt-quote span{display:block;margin-top:12px;color:var(--gray2);font-size:14px;font-weight:400;}
.abt-cta{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:40px 28px;margin:56px 0 0;scroll-margin-top:80px;}
.abt-cta h2{font:800 24px/1.2 Inter,sans-serif;color:var(--white);margin:0 0 10px;}
.abt-cta p{color:var(--gray1);max-width:560px;margin:0 auto 22px;}
@media(max-width:820px){.abt-stats{grid-template-columns:repeat(2,1fr);} .abt-timeline,.abt-skills{grid-template-columns:1fr;}}
@media(max-width:520px){.abt-stats{grid-template-columns:1fr 1fr;}}

/* ══════════════════════════════════════════════════════════
   GAS & POWER MAP — region / country explorer
══════════════════════════════════════════════════════════ */
.emap{margin-top:28px;}
.emap-tabs{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:22px;}
.emap-tab{padding:.55rem 1.1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--gray2);font:700 13.5px/1 Inter,sans-serif;cursor:pointer;transition:all .2s;}
.emap-tab:hover{color:var(--white);border-color:var(--border2);}
.emap-tab.active{background:var(--cyan-dim);border-color:var(--border2);color:var(--cyan);}
.emap-soon{font:600 9.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);background:var(--amber-dim);padding:3px 5px;border-radius:4px;margin-left:4px;}
.emap-panel{display:none;}
.emap-panel.active{display:block;}
.emap-blurb{color:var(--gray1);font:400 17px/1.6 Inter,sans-serif;max-width:760px;margin:0 0 26px;text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.emap-vintage{font:500 11.5px/1.5 var(--mono);color:var(--gray3);margin:-14px 0 24px;letter-spacing:.02em;}
.emap-vintage span{color:var(--green);}
.emap-h2{font:800 20px/1.25 Inter,sans-serif;color:var(--white);margin:34px 0 14px;}
.emap-unit{font:500 12px/1 var(--mono);color:var(--gray3);margin-left:6px;}
.emap-note,.emap-caption{font:400 12.5px/1.6 Inter,sans-serif;color:var(--gray3);margin:0 0 16px;}
.emap-caption{margin:14px 0 0;}
.emap-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.3rem 1.5rem;margin-bottom:8px;}
.emap-card .emap-h2{margin-top:0;}
.emap-planned{background:var(--surface);border:1px dashed var(--border);border-radius:13px;padding:1.4rem 1.6rem;}
.emap-planned-h{font:700 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin:0 0 14px;}
.emap-planned ul{margin:0;padding-left:1.1rem;color:var(--gray1);}
.emap-planned li{margin:7px 0;font-size:14px;}
.emap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:10px;}
.emap-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem;}
.emap-stat-val{font:700 1.5rem/1 var(--mono);color:var(--cyan);margin-bottom:8px;}
.emap-stat-lbl{font-size:12px;color:var(--gray2);line-height:1.45;}
.emap-stat-src{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--gray3);margin-top:9px;}
/* Trend bars */
.emap-chart{display:flex;align-items:flex-end;gap:18px;height:210px;padding-top:10px;}
.emap-bar-wrap{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center;min-width:0;}
.emap-bar-val{font:700 13px/1 var(--mono);color:var(--white);margin-bottom:6px;}
.emap-bar-plot{flex:1 1 auto;position:relative;min-height:0;}
.emap-bar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--cyan),rgba(0,212,255,.28));border-radius:6px 6px 0 0;min-height:4px;transition:opacity .2s;}
.emap-bar-wrap:hover .emap-bar{opacity:.8;}
.emap-bar-lbl{font:600 11.5px/1.3 Inter,sans-serif;color:var(--gray1);margin-top:9px;}
.emap-bar-src{font:500 9.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--gray3);margin-top:4px;}
/* Country selector */
.emap-countries{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
.emap-country{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;cursor:pointer;transition:all .18s;}
.emap-country:hover{border-color:var(--border2);transform:translateY(-2px);}
.emap-country.active{border-color:var(--cyan);background:var(--cyan-dim2);}
.emap-code{font:700 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--amber);}
.emap-cname{font:800 15px/1.2 Inter,sans-serif;color:var(--white);}
.emap-crole{font-size:11.5px;color:var(--gray2);line-height:1.35;}
.emap-detail{display:none;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:1.4rem 1.5rem;}
.emap-detail.active{display:block;}
.emap-detail-h{font:800 18px/1.2 Inter,sans-serif;color:var(--white);margin:0 0 16px;}
.emap-detail-h span{font:500 12px/1 var(--mono);color:var(--cyan);margin-left:10px;letter-spacing:.03em;}
.emap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.emap-box{background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:1.05rem 1.15rem;}
.emap-box-tag{font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--gray3);margin-bottom:9px;}
.emap-box-val{font:800 16px/1.2 Inter,sans-serif;color:var(--white);}
.emap-box-sub{font-size:11.5px;color:var(--gray2);margin-top:3px;}
.emap-box-mk{font:500 11.5px/1.5 var(--mono);color:var(--gray2);margin-top:10px;padding-top:9px;border-top:1px solid var(--border);}
.emap-box-mk strong{color:var(--cyan);}
.emap-cnote{font:400 14px/1.65 Inter,sans-serif;color:var(--gray1);margin:16px 0 0;text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.emap-cross{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.emap-xitem{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:0 10px 10px 0;padding:.9rem 1.1rem;font-size:13px;color:var(--gray1);}
.emap-xitem strong{color:var(--white);}
.emap-xitem span{display:block;color:var(--gray3);font-size:11.5px;margin-top:5px;}
/* Basis table */
.emap-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.emap-table{width:100%;border-collapse:collapse;min-width:620px;}
.emap-table th{text-align:left;font:700 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--gray3);padding:.9rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap;}
.emap-table td{padding:.85rem 1rem;font-size:13px;color:var(--gray1);border-bottom:1px solid var(--border);vertical-align:top;}
.emap-table tr:last-child td{border-bottom:0;}
.emap-table td strong{color:var(--white);}
.emap-table td.num{font-family:var(--mono);color:var(--cyan);white-space:nowrap;}
/* Correlation bars */
.emap-corr{display:flex;flex-direction:column;gap:11px;}
.emap-cbar{display:grid;grid-template-columns:190px 1fr 42px;align-items:center;gap:12px;}
.emap-cbar-lbl{font-size:12.5px;color:var(--gray1);}
.emap-cbar-track{height:9px;background:var(--bg4);border-radius:5px;overflow:hidden;}
.emap-cbar-fill{height:100%;background:linear-gradient(90deg,rgba(0,212,255,.45),var(--cyan));border-radius:5px;}
.emap-cbar-v{font:600 12.5px/1 var(--mono);color:var(--cyan);text-align:right;}
@media(max-width:900px){
  .emap-stats,.emap-countries{grid-template-columns:repeat(2,1fr);}
  .emap-grid,.emap-cross{grid-template-columns:1fr;}
  .emap-cbar{grid-template-columns:130px 1fr 38px;}
}
@media(max-width:560px){
  .emap-stats,.emap-countries{grid-template-columns:1fr;}
  .emap-chart{gap:9px;height:180px;}
  .emap-blurb,.emap-cnote{text-align:left;}
}

/* ══════════════════════════════════════════════════════════
   RISK WIRE — daily news brief
══════════════════════════════════════════════════════════ */
.nws{max-width:820px;margin:0 auto;}
.nws-crumb{font:500 12px/1 var(--mono);color:var(--gray3);padding:32px 0 0;}
.nws-crumb a{color:var(--cyan);text-decoration:none;}
.nws-crumb span{margin:0 6px;}
.nws-head{padding:20px 0 22px;border-bottom:1px solid var(--border);}
.nws-head h1{font:800 clamp(26px,4vw,36px)/1.15 Inter,sans-serif;margin:6px 0 12px;color:var(--white);}
.nws-stand{color:var(--gray1);font:400 18px/1.55 Inter,sans-serif;margin:0 0 12px;}
.nws-meta{font:500 12px/1.5 var(--mono);color:var(--gray3);margin:0;}
.nws-latest{padding:8px 0 0;}
.nws-latest-tag{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--amber);margin:28px 0 10px;}
.nws-latest-title{font:800 26px/1.2 Inter,sans-serif;margin:0 0 12px;}
.nws-latest-title a{color:var(--white);text-decoration:none;}
.nws-latest-title a:hover{color:var(--cyan);}
.nws-body{font:400 16.5px/1.7 Inter,sans-serif;color:var(--gray1);padding:8px 0 0;text-align:justify;-webkit-hyphens:auto;hyphens:auto;}
.nws-body h2{font:800 20px/1.3 Inter,sans-serif;color:var(--white);margin:34px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border);text-align:left;-webkit-hyphens:manual;hyphens:manual;}
.nws-body p{margin:0 0 16px;}
.nws-body strong{color:var(--white);}
.nws-body em{color:var(--gray2);}
.nws-body a{color:var(--cyan);text-decoration:none;}
.nws-body a:hover{text-decoration:underline;}
.nws-note{font:400 12px/1.6 Inter,sans-serif;color:var(--gray3);border-top:1px solid var(--border);margin-top:28px;padding-top:14px;}
.nws-archive{margin-top:40px;}
@media(max-width:560px){.nws-body{text-align:left;}}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE INTRO VIDEO (one-time-per-visit splash)
══════════════════════════════════════════════════════════ */
.rm-intro{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .55s ease;}
.rm-intro--hide{opacity:0;pointer-events:none;}
.rm-intro-video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#000;}
.rm-intro-skip{position:absolute;bottom:28px;right:28px;z-index:2;background:rgba(10,15,30,.6);border:1px solid var(--border2);color:var(--cyan);font:700 13px/1 Inter,sans-serif;letter-spacing:.05em;padding:11px 18px;border-radius:8px;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,transform .2s;}
.rm-intro-skip:hover{background:var(--cyan-dim);transform:translateY(-1px);}
html.rm-intro-lock,html.rm-intro-lock body{overflow:hidden;}
@media(max-width:600px){.rm-intro-skip{bottom:18px;right:18px;padding:10px 15px;font-size:12px;}}
