
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400&family=Roboto:wght@300;400;500;700&family=Roboto+Mono:wght@400;500&display=swap');

:root{
  --bg:#FAFAFA; --surface:#FFFFFF; --surface-2:#F4F4F5;
  --fg:#09090B; --fg-2:#3F3F46; --muted:#57606E;
  --border:#E4E4E7; --border-strong:#C9C9CE;
  --accent:#1D4ED8; --accent-bg:#EFF4FF;
  --crit:#B91C1C; --crit-bg:#FEF2F2;
  --high:#B45309; --high-bg:#FFFBEB;
  --med:#1D4ED8; --med-bg:#EFF4FF;
  --accent2:#0F766E; --accent2-bg:#F0FDFA;

  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --sp-1:4px; --sp-2:8px; --sp-3:16px; --sp-4:24px; --sp-5:32px; --sp-6:48px; --sp-7:64px;
  --radius:6px; --maxw:1200px; --measure:68ch;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0B0B0F; --surface:#141419; --surface-2:#1B1B22;
    --fg:#F7F7F8; --fg-2:#D4D4D8; --muted:#A1A7B3;
    --border:#2A2A31; --border-strong:#3F3F46;
    --accent:#9FC0FF; --accent-bg:#16213B;
    --crit:#FCA5A5; --crit-bg:#2A1214;
    --high:#FCD34D; --high-bg:#2A2110;
    --med:#9FC0FF; --med-bg:#16213B;
    --accent2:#5EEAD4; --accent2-bg:#0D2422;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline; text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:2px solid var(--accent); outline-offset:3px; border-radius:2px;
}

.sr-only{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
.skip{position:absolute; left:-9999px; top:0; background:var(--fg); color:var(--bg);
  padding:12px 20px; z-index:100; font-weight:500}
.skip:focus{left:8px; top:8px}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--sp-4)}

/* ---------- masthead ---------- */
.topbar{border-bottom:1px solid var(--border); background:var(--surface);
  font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted)}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center;
  min-height:38px; gap:var(--sp-3); flex-wrap:wrap}

.masthead{background:var(--surface); border-bottom:2px solid var(--fg)}
.masthead .wrap{padding-top:var(--sp-5); padding-bottom:var(--sp-4); text-align:center}
.wordmark{display:inline-flex; align-items:center; gap:14px; color:var(--fg)}
.wordmark:hover{text-decoration:none}
.wordmark svg{flex:none}
.wordmark .wm{font-family:var(--serif); font-weight:600; font-size:clamp(30px,6vw,52px);
  letter-spacing:-.015em; margin:0; line-height:1}
.tagline{font-family:var(--mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:14px 0 0}

nav.sections{border-bottom:1px solid var(--border); background:var(--surface); position:sticky; top:0; z-index:20}
nav.sections .wrap{display:flex; gap:var(--sp-4); overflow-x:auto; scrollbar-width:none}
nav.sections .wrap::-webkit-scrollbar{display:none}
nav.sections a{display:inline-flex; align-items:center; min-height:46px; white-space:nowrap;
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--fg-2); border-bottom:2px solid transparent; cursor:pointer}
nav.sections a:hover,nav.sections a[aria-current="page"]{color:var(--fg); border-bottom-color:var(--fg); text-decoration:none}
nav.sections a.nav-cta{margin-left:auto; color:var(--accent); font-weight:500}
nav.sections a.nav-cta[aria-current="page"]{border-bottom-color:var(--accent)}

/* ---------- labels ---------- */
.kicker{font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; display:inline-flex; align-items:center; gap:8px}
.sev{display:inline-block; padding:2px 8px; border-radius:3px; font-family:var(--mono);
  font-size:10.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase}
.sev-critical{background:var(--crit-bg); color:var(--crit); border:1px solid var(--crit)}
.sev-high{background:var(--high-bg); color:var(--high); border:1px solid var(--high)}
.sev-medium{background:var(--med-bg); color:var(--med); border:1px solid var(--med)}
.meta{font-family:var(--mono); font-size:11.5px; color:var(--muted); letter-spacing:.04em}

.newsgrid{display:grid; grid-template-columns:1fr 1fr; gap:0 var(--sp-5); margin-top:var(--sp-3)}
@media (max-width:720px){.newsgrid{grid-template-columns:1fr}}
.newsgrid .story{border-bottom:1px solid var(--border)}
/* ---------- home grid ---------- */
main{padding:var(--sp-6) 0 var(--sp-7)}
.grid{display:grid; grid-template-columns:minmax(0,2.05fr) minmax(0,1fr); gap:var(--sp-6)}
@media (max-width:900px){.grid{grid-template-columns:1fr; gap:var(--sp-5)}}

.lede-story{border-bottom:1px solid var(--border); padding-bottom:var(--sp-5); margin-bottom:var(--sp-5)}
.lede-story h2{font-family:var(--serif); font-weight:600; font-size:clamp(30px,4.6vw,46px);
  line-height:1.1; letter-spacing:-.02em; margin:var(--sp-3) 0 var(--sp-3)}
.lede-story h2 a{color:var(--fg)}
.lede-story p.stand{font-family:var(--serif); font-size:19px; line-height:1.55; color:var(--fg-2); margin:0 0 var(--sp-3); max-width:60ch}

.story{border-bottom:1px solid var(--border); padding:var(--sp-4) 0}
.story:last-child{border-bottom:0}
.story h3{font-family:var(--serif); font-weight:600; font-size:23px; line-height:1.22;
  letter-spacing:-.01em; margin:var(--sp-2) 0}
.story h3 a{color:var(--fg)}
.story p{margin:0 0 var(--sp-2); color:var(--fg-2); font-size:15.5px; max-width:62ch}

aside .rail{border:1px solid var(--border); background:var(--surface); border-radius:var(--radius); padding:var(--sp-4); margin-bottom:var(--sp-4)}
aside h2.railhead{font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  margin:0 0 var(--sp-3); padding-bottom:var(--sp-2); border-bottom:2px solid var(--fg); color:var(--fg)}
.brief{padding:var(--sp-3) 0; border-bottom:1px solid var(--border)}
.brief:last-child{border-bottom:0; padding-bottom:0}
.brief h4{font-family:var(--serif); font-size:17px; font-weight:600; line-height:1.3; margin:0 0 6px}
.brief p{margin:0 0 8px; font-size:14px; color:var(--fg-2); line-height:1.55}

.support-slot{border:1px dashed var(--border-strong); border-radius:var(--radius);
  background:var(--accent2-bg); padding:var(--sp-4); text-align:center}
.support-slot .kicker{color:var(--accent2)}
.support-slot p{font-size:14px; color:var(--fg-2); margin:var(--sp-2) 0 var(--sp-3)}

.btn{display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 22px;
  background:var(--fg); color:var(--bg); font-family:var(--mono); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; border:1px solid var(--fg); border-radius:var(--radius); cursor:pointer;
  transition:background .2s ease,color .2s ease}
.btn:hover{background:transparent; color:var(--fg); text-decoration:none}
.btn-ghost{background:transparent; color:var(--fg)}
.btn-ghost:hover{background:var(--fg); color:var(--bg)}

/* ---------- newsletter ---------- */
.signup{border-top:2px solid var(--fg); border-bottom:1px solid var(--border);
  background:var(--surface); padding:var(--sp-5) 0; margin-top:var(--sp-6)}
.signup .inner{display:flex; gap:var(--sp-5); align-items:center; flex-wrap:wrap; justify-content:space-between}
.signup h2{font-family:var(--serif); font-size:27px; font-weight:600; margin:0 0 6px}
.signup p{margin:0; color:var(--muted); font-size:14.5px; max-width:46ch}
.signup form{display:flex; gap:var(--sp-2); flex-wrap:wrap}
.signup input{min-height:44px; padding:0 14px; min-width:250px; font-family:var(--sans); font-size:15px;
  background:var(--bg); color:var(--fg); border:1px solid var(--border-strong); border-radius:var(--radius)}

/* ---------- article ---------- */
.article{max-width:760px; margin:0 auto}
.article header{border-bottom:1px solid var(--border); padding-bottom:var(--sp-4); margin-bottom:var(--sp-5)}
.article h1{font-family:var(--serif); font-weight:600; font-size:clamp(30px,5vw,46px); line-height:1.12;
  letter-spacing:-.02em; margin:var(--sp-3) 0}
.article .stand{font-family:var(--serif); font-size:20px; line-height:1.55; color:var(--fg-2); margin:0 0 var(--sp-4)}
.byline{display:flex; gap:var(--sp-3); flex-wrap:wrap; align-items:center;
  font-family:var(--mono); font-size:11.5px; color:var(--muted); letter-spacing:.05em; text-transform:uppercase}

.article .body{font-family:var(--serif); font-size:19px; line-height:1.72; color:var(--fg)}
.article .body p{margin:0 0 var(--sp-4); max-width:var(--measure)}
.article .body p.lead::first-letter{float:left; font-size:64px; line-height:.82; font-weight:600;
  padding:6px 10px 0 0; color:var(--fg)}
.article .body h2{font-family:var(--sans); font-weight:700; font-size:15px; letter-spacing:.06em;
  text-transform:uppercase; margin:var(--sp-6) 0 var(--sp-3); padding-top:var(--sp-3);
  border-top:1px solid var(--border); color:var(--fg)}
.article .body ul.checklist{max-width:var(--measure); margin:0 0 var(--sp-4); padding-left:0; list-style:none}
.article .body ul.checklist li{position:relative; padding-left:26px; margin-bottom:var(--sp-3)}
.article .body ul.checklist li::before{content:""; position:absolute; left:0; top:.62em;
  width:9px; height:9px; border:2px solid var(--accent)}
.article .body code{font-family:var(--mono); font-size:.82em; background:var(--surface-2);
  border:1px solid var(--border); border-radius:3px; padding:1px 5px}
.pullquote{margin:var(--sp-5) 0; padding:0 0 0 var(--sp-4); border-left:3px solid var(--fg); border-radius:0}
.pullquote blockquote{margin:0; font-family:var(--serif); font-size:23px; line-height:1.4; font-style:italic; color:var(--fg)}
.pullquote figcaption{margin-top:var(--sp-2); font-family:var(--mono); font-size:11.5px;
  text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-style:normal}

.sources{margin-top:var(--sp-6); border-top:2px solid var(--fg); padding-top:var(--sp-4)}
.sources h2{font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 var(--sp-3)}
.sources ol{margin:0; padding-left:22px; font-size:14.5px; line-height:1.65; color:var(--fg-2)}
.sources li{margin-bottom:10px}
.sources .pub{font-weight:500; color:var(--fg)}

.disclosure{margin-top:var(--sp-4); padding:var(--sp-3) var(--sp-4); background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--radius); font-size:13.5px; color:var(--muted); line-height:1.6}

/* ---------- static pages ---------- */
.page{max-width:820px; margin:0 auto}
.page h1{font-family:var(--serif); font-size:clamp(30px,5vw,44px); font-weight:600; letter-spacing:-.02em; margin:var(--sp-3) 0}
.page h2{font-family:var(--sans); font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase;
  margin:var(--sp-6) 0 var(--sp-3); padding-top:var(--sp-3); border-top:1px solid var(--border)}
.page h3{font-family:var(--serif); font-size:22px; font-weight:600; margin:var(--sp-4) 0 var(--sp-2)}
.page p,.page li{font-size:16.5px; line-height:1.7; color:var(--fg-2); max-width:var(--measure)}
.page .stand{font-family:var(--serif); font-size:20px; color:var(--fg-2); line-height:1.55}
.page table{width:100%; border-collapse:collapse; margin:var(--sp-4) 0; font-size:14.5px}
.page th,.page td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--border); vertical-align:top}
.page th{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); border-bottom:2px solid var(--fg); font-weight:500}
.page td strong{color:var(--fg)}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:var(--sp-3); margin:var(--sp-4) 0}
.card{border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); padding:var(--sp-4)}
.card .n{font-family:var(--serif); font-size:32px; font-weight:600; color:var(--fg); line-height:1.1}
.card .l{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:6px}
.card p{font-size:14px; margin:10px 0 0}

/* ---------- footer ---------- */
footer{border-top:2px solid var(--fg); background:var(--surface); padding:var(--sp-6) 0 var(--sp-5); margin-top:var(--sp-7)}
.fgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:var(--sp-5)}
footer h3{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); margin:0 0 var(--sp-3); font-weight:500}
footer ul{list-style:none; margin:0; padding:0}
footer li{margin-bottom:10px}
footer a{color:var(--fg-2); font-size:14.5px}
footer a:hover{color:var(--accent)}
.colophon{margin-top:var(--sp-5); padding-top:var(--sp-4); border-top:1px solid var(--border);
  font-family:var(--mono); font-size:11.5px; color:var(--muted); line-height:1.8}

/* ---------- dashboard ---------- */
.kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--sp-3); margin:var(--sp-5) 0}
.kpi{border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:var(--sp-4)}
.kpi.crit{border-color:var(--crit)}
.kpi.warn{border-color:var(--high)}
.kpi-n{font-family:var(--serif); font-size:40px; font-weight:600; line-height:1; color:var(--fg)}
.kpi.crit .kpi-n{color:var(--crit)}
.kpi.warn .kpi-n{color:var(--high)}
.kpi-l{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-top:8px}

.dash-search{margin:var(--sp-4) 0}
.dash-search input{width:100%; min-height:52px; padding:0 18px; font-family:var(--sans); font-size:17px;
  background:var(--surface); color:var(--fg); border:1px solid var(--border-strong); border-radius:var(--radius)}
.dash-search input::placeholder{color:var(--muted)}

.watchbox{border:1px solid var(--border); border-radius:12px; background:var(--surface);
  padding:var(--sp-4); margin:var(--sp-4) 0 var(--sp-5)}
.watchhead{display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3);
  flex-wrap:wrap; margin-bottom:var(--sp-3)}
.chips{display:flex; gap:6px; flex-wrap:wrap}
.chip{min-height:32px; padding:0 12px; border-radius:999px; cursor:pointer; background:var(--surface-2);
  color:var(--fg-2); border:1px solid var(--border); font-family:var(--mono); font-size:11px;
  letter-spacing:.04em; transition:background .2s ease,color .2s ease,border-color .2s ease}
.chip:hover{border-color:var(--fg)}
.chip.on{background:var(--accent-bg); color:var(--accent); border-color:var(--accent)}
.chip-n{opacity:.6}
#watchlist{display:flex; gap:6px; flex-wrap:wrap}

.rec{display:grid; grid-template-columns:110px minmax(0,1fr); gap:var(--sp-4);
  padding:var(--sp-4) 0; border-bottom:1px solid var(--border)}
@media (max-width:640px){.rec{grid-template-columns:1fr; gap:var(--sp-2)}}
.rec-date{font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:3px}
.rec h3{font-family:var(--serif); font-size:20px; font-weight:600; line-height:1.28; margin:8px 0}
.rec p{margin:0 0 10px; font-size:15px; color:var(--fg-2); line-height:1.6; max-width:72ch}
.rec mark{background:var(--accent-bg); color:var(--fg); padding:0 2px; border-radius:2px}
.orgrow{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px}
.orgtag{min-height:28px; padding:0 10px; border-radius:999px; cursor:pointer; background:transparent;
  color:var(--muted); border:1px dashed var(--border-strong); font-family:var(--mono); font-size:10.5px;
  letter-spacing:.06em}
.orgtag:hover{border-style:solid; color:var(--fg)}
.orgtag.on{background:var(--accent-bg); color:var(--accent); border:1px solid var(--accent)}
.muted-note{font-size:14.5px; color:var(--muted); line-height:1.6; max-width:70ch}
.tag-open{border-color:var(--crit); color:var(--crit); background:var(--crit-bg)}

/* ---------- pricing ---------- */
.tiers{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--sp-4); margin:var(--sp-5) 0}
.tier{border:1px solid var(--border); border-radius:12px; background:var(--surface);
  padding:var(--sp-5); display:flex; flex-direction:column}
.tier.feature{border:2px solid var(--fg); position:relative}
.tier .pop{position:absolute; top:-11px; left:var(--sp-5); background:var(--fg); color:var(--bg);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:3px 10px; border-radius:3px}
.tier h3{font-family:var(--serif); font-size:25px; font-weight:600; margin:0 0 6px}
.tier .sub{font-size:14px; color:var(--muted); margin:0 0 var(--sp-4); min-height:40px}
.price{display:flex; align-items:baseline; gap:8px; margin-bottom:4px}
.price .amt{font-family:var(--serif); font-size:44px; font-weight:600; line-height:1; color:var(--fg)}
.price .per{font-family:var(--mono); font-size:12px; color:var(--muted); letter-spacing:.06em}
.price-note{font-family:var(--mono); font-size:11px; color:var(--muted); margin:0 0 var(--sp-4); letter-spacing:.04em}
.tier ul{list-style:none; margin:0 0 var(--sp-4); padding:0; flex:1}
.tier li{position:relative; padding-left:24px; margin-bottom:11px; font-size:14.5px;
  color:var(--fg-2); line-height:1.5}
.tier li::before{content:""; position:absolute; left:0; top:.45em; width:10px; height:6px;
  border-left:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(-45deg)}
.tier li.no{color:var(--muted)}
.tier li.no::before{border:0; content:"—"; top:0; color:var(--muted); transform:none; width:auto}
.tier .btn{width:100%}

.billing-toggle{display:inline-flex; border:1px solid var(--border-strong); border-radius:999px; padding:3px; gap:2px}
.billing-toggle button{min-height:36px; padding:0 18px; border:0; border-radius:999px; cursor:pointer;
  background:transparent; color:var(--fg-2); font-family:var(--mono); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase}
.billing-toggle button[aria-pressed="true"]{background:var(--fg); color:var(--bg)}

.faq{border-top:1px solid var(--border); padding:var(--sp-4) 0}
.faq summary{cursor:pointer; font-family:var(--serif); font-size:19px; font-weight:600; color:var(--fg);
  list-style:none; display:flex; justify-content:space-between; gap:var(--sp-3); align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--mono); font-size:20px; color:var(--muted); flex:none}
.faq[open] summary::after{content:"\2212"}
.faq p{margin:var(--sp-3) 0 0; font-size:15.5px; color:var(--fg-2); line-height:1.65; max-width:70ch}

/* ---------- company profiles ---------- */
.co-controls{display:flex; gap:6px; flex-wrap:wrap; margin:var(--sp-4) 0}
.cofilt{min-height:34px; padding:0 13px; border-radius:999px; cursor:pointer; background:var(--surface);
  color:var(--fg-2); border:1px solid var(--border-strong); font-family:var(--mono); font-size:11px;
  letter-spacing:.06em}
.cofilt:hover{border-color:var(--fg)}
.cofilt[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}
.profile{border:1px solid var(--border); border-radius:12px; background:var(--surface);
  padding:var(--sp-5); margin-bottom:var(--sp-4); scroll-margin-top:80px}
.profile.watched{border-color:var(--accent); border-width:2px}
.pf-head{display:flex; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; align-items:flex-start}
.pf-head h3{font-family:var(--serif); font-size:26px; font-weight:600; margin:0 0 4px; line-height:1.15}
.pf-kind{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.pf-what{font-size:15.5px; color:var(--fg-2); line-height:1.55; margin:var(--sp-3) 0; max-width:74ch}
.pf-track{min-height:34px; padding:0 14px; border-radius:999px; cursor:pointer; white-space:nowrap;
  background:var(--surface-2); color:var(--fg-2); border:1px solid var(--border-strong);
  font-family:var(--mono); font-size:11px; letter-spacing:.06em}
.pf-track.on{background:var(--accent-bg); color:var(--accent); border-color:var(--accent)}
.pf-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); margin:var(--sp-3) 0}
@media (max-width:720px){.pf-grid{grid-template-columns:1fr}}
.pf-block h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); margin:0 0 var(--sp-2); padding-bottom:6px; border-bottom:1px solid var(--border)}
.metric{margin-bottom:12px}
.metric .mv{font-size:15px; color:var(--fg); font-weight:500; line-height:1.4}
.metric .ml{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin-bottom:2px}
.rating{display:flex; align-items:baseline; gap:8px; margin-bottom:12px}
.rating .firm{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent); background:var(--accent-bg); border:1px solid var(--accent); border-radius:3px;
  padding:2px 7px; white-space:nowrap}
.rating-body{flex:1}
.rating .rw{font-size:14.5px; color:var(--fg); font-weight:500; line-height:1.35}
.rating .rd{font-size:13px; color:var(--fg-2); line-height:1.5; margin-top:3px}
.rating .rdate{font-family:var(--mono); font-size:10.5px; color:var(--muted)}
.pf-take{border-left:3px solid var(--fg); padding:2px 0 2px 16px; margin:var(--sp-3) 0 0}
.pf-take h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--fg); margin:0 0 6px}
.pf-take p{font-size:15px; color:var(--fg); line-height:1.62; margin:0; max-width:76ch; font-family:var(--serif)}
.pf-inc{font-size:13.5px; color:var(--fg-2); line-height:1.55; margin:var(--sp-3) 0 0;
  padding:12px 14px; background:var(--surface-2); border-radius:var(--radius); max-width:76ch}
.pf-src{margin-top:var(--sp-3)}
.pf-src summary{font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted); cursor:pointer}
.pf-src ol{margin:10px 0 0; padding-left:20px; font-size:13px; line-height:1.6; color:var(--fg-2)}

/* ---------- executive overview ---------- */
.theme{border:1px solid var(--border); border-radius:12px; background:var(--surface);
  padding:var(--sp-4); margin-bottom:var(--sp-3)}
.theme-head{display:flex; gap:12px; align-items:flex-start; margin-bottom:var(--sp-2)}
.theme-head h3{font-family:var(--serif); font-size:21px; font-weight:600; margin:0; line-height:1.25}
.theme-head .sev{flex:none; margin-top:4px}
.theme p{font-size:15px; color:var(--fg-2); line-height:1.6; max-width:78ch; margin:0 0 10px}
.theme-means{border-left:3px solid var(--accent); padding-left:14px; color:var(--fg)!important}
.actorgrid{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3); margin-top:var(--sp-3)}
@media (max-width:760px){.actorgrid{grid-template-columns:1fr}}
.actor{border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:var(--sp-4)}
.actor-head{display:flex; justify-content:space-between; gap:10px; align-items:baseline; flex-wrap:wrap}
.actor-head h3{font-family:var(--serif); font-size:20px; font-weight:600; margin:0}
.actor-tag{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); text-align:right}
.actor dl{display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:var(--sp-3) 0 var(--sp-2)}
.actor dt{font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); padding-top:2px; white-space:nowrap}
.actor dd{margin:0; font-size:14px; color:var(--fg-2); line-height:1.5}
.remlist{margin-top:var(--sp-3)}
.remrow{display:grid; grid-template-columns:64px 1fr; gap:var(--sp-4); padding:var(--sp-4) 0;
  border-bottom:1px solid var(--border)}
@media (max-width:600px){.remrow{grid-template-columns:1fr; gap:var(--sp-2)}}
.rem-p{font-family:var(--mono); font-size:14px; font-weight:500; letter-spacing:.06em; text-align:center;
  height:34px; line-height:34px; border-radius:999px}
.p-p1{background:var(--crit-bg); color:var(--crit); border:1px solid var(--crit)}
.p-p2{background:var(--high-bg); color:var(--high); border:1px solid var(--high)}
.p-p3{background:var(--accent-bg); color:var(--accent); border:1px solid var(--accent)}
.rem-body h3{font-family:var(--serif); font-size:19px; font-weight:600; margin:0 0 4px; line-height:1.3}
.rem-addr{font-family:var(--mono); font-size:11px; letter-spacing:.04em; color:var(--muted); margin:0 0 8px}
.rem-body p{font-size:15px; color:var(--fg-2); line-height:1.6; max-width:80ch; margin:0}

/* ---------- executive overview ---------- */
/* ---------- onboarding ---------- */
.ob-block{border-top:1px solid var(--border); padding:var(--sp-4) 0}
.ob-block h2{font-family:var(--serif); font-size:22px; font-weight:600; margin:0 0 6px; border:0; padding:0; text-transform:none; letter-spacing:0}
.ob-hint{font-size:14px; color:var(--muted); margin:0 0 14px}
.pills{display:flex; gap:8px; flex-wrap:wrap}
.pill{min-height:40px; padding:0 16px; border-radius:999px; cursor:pointer; background:var(--surface);
  color:var(--fg-2); border:1px solid var(--border-strong); font-size:14px; transition:all .15s ease}
.pill:hover{border-color:var(--fg)}
.pill[aria-pressed="true"]{background:var(--accent-bg); color:var(--accent); border-color:var(--accent); font-weight:500}

/* ---------- three-layer ladder (home) ---------- */
.ladder{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); margin:var(--sp-5) 0}
@media (max-width:760px){.ladder{grid-template-columns:1fr}}
.rung{border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:var(--sp-4)}
.rung.feature{border:2px solid var(--fg)}
.rung .rk{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent)}
.rung h3{font-family:var(--serif); font-size:22px; font-weight:600; margin:6px 0 4px}
.rung .rp{font-family:var(--mono); font-size:12px; color:var(--muted); margin:0 0 10px}
.rung p{font-size:14.5px; color:var(--fg-2); line-height:1.55; margin:0 0 12px}
.loopline{font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--muted);
  text-align:center; margin:var(--sp-4) 0; line-height:2}

/* ---------- competitive radar ---------- */
.radar-wrap{overflow-x:auto; margin:var(--sp-3) 0}
table.radar{width:100%; border-collapse:collapse; font-size:14px; min-width:520px}
table.radar th,table.radar td{padding:10px 12px; border-bottom:1px solid var(--border); text-align:right}
table.radar th:first-child,table.radar td:first-child{text-align:left}
table.radar thead th{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); border-bottom:2px solid var(--fg)}
table.radar td:first-child{font-weight:500; color:var(--fg)}
table.radar tbody tr:hover{background:var(--surface-2)}
.radar-num{font-variant-numeric:tabular-nums}
.radar-zero{color:var(--muted)}

/* ---------- onboarding ---------- */
/* ---------- share + recognition ---------- */
.share{display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 14px;
  border-radius:999px; border:1px solid var(--accent); color:var(--accent); background:var(--accent-bg);
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer}
.share:hover{background:var(--accent); color:var(--bg); text-decoration:none}
.share span{font-weight:700}
.share-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:var(--sp-4) 0;
  padding:var(--sp-3) 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.share-label{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.winlist{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3); margin-top:var(--sp-4)}
@media (max-width:760px){.winlist{grid-template-columns:1fr}}
.win{border:1px solid var(--border); border-left:3px solid var(--accent2); border-radius:0 12px 12px 0;
  background:var(--surface); padding:var(--sp-4); display:flex; flex-direction:column}
.win-head{display:flex; justify-content:space-between; gap:10px; align-items:baseline; flex-wrap:wrap; margin-bottom:8px}
.win-firm{font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent2); background:var(--accent2-bg); border:1px solid var(--accent2); border-radius:3px; padding:2px 7px}
.win-co{font-family:var(--mono); font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em}
.win h3{font-family:var(--serif); font-size:19px; font-weight:600; line-height:1.3; margin:0 0 8px}
.win p{font-size:14px; color:var(--fg-2); line-height:1.55; margin:0 0 12px}
.win-foot{margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap}

/* ---------- share + recognition ---------- */
/* ---------- live event banner ---------- */
.livebar{border:2px solid var(--fg); border-radius:var(--radius); background:var(--surface);
  padding:var(--sp-4); margin-bottom:var(--sp-5); display:flex; gap:var(--sp-4);
  align-items:flex-start; flex-wrap:wrap; justify-content:space-between}
.livebar .lb-l{flex:1 1 340px; min-width:0}
.live-dot{display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--crit); font-weight:500}
.live-dot::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--crit)}
.livebar h2{font-family:var(--serif); font-size:27px; font-weight:600; margin:10px 0 6px; line-height:1.2}
.livebar h2 a{color:var(--fg)}
.livebar p{margin:0; font-size:15px; color:var(--fg-2); max-width:62ch}

/* ---------- ledger ---------- */
.ledger-controls{display:flex; gap:var(--sp-2); flex-wrap:wrap; align-items:center;
  padding:var(--sp-3) 0 var(--sp-4); border-bottom:1px solid var(--border); margin-bottom:var(--sp-3)}
.filt{min-height:36px; padding:0 14px; background:var(--surface); color:var(--fg-2);
  border:1px solid var(--border-strong); border-radius:999px; cursor:pointer;
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease}
.filt:hover{border-color:var(--fg)}
.filt[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}
.ledger-count{font-family:var(--mono); font-size:11.5px; color:var(--muted); margin-left:auto}

.inc{display:grid; grid-template-columns:120px minmax(0,1fr); gap:var(--sp-4);
  padding:var(--sp-4) 0; border-bottom:1px solid var(--border)}
@media (max-width:640px){.inc{grid-template-columns:1fr; gap:var(--sp-2)}}
.inc-date{font-family:var(--mono); font-size:12px; color:var(--muted); letter-spacing:.04em; padding-top:3px}
.inc-date strong{display:block; color:var(--fg); font-size:15px; font-weight:500; letter-spacing:0}
.inc h3{font-family:var(--serif); font-size:21px; font-weight:600; line-height:1.28; margin:8px 0}
.inc p{margin:0 0 10px; font-size:15px; color:var(--fg-2); line-height:1.6; max-width:70ch}
.tags{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.tag{display:inline-block; padding:2px 9px; border-radius:3px; border:1px solid var(--border-strong);
  background:var(--surface-2); color:var(--fg-2); font-family:var(--mono); font-size:10.5px;
  letter-spacing:.08em; text-transform:uppercase}
.tag-new{border-color:var(--crit); color:var(--crit); background:var(--crit-bg); font-weight:500}
.badge-new{display:inline-block; padding:2px 8px; border-radius:3px; background:var(--crit);
  color:#FFFFFF; font-family:var(--mono); font-size:10.5px; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase}
@media (prefers-color-scheme: dark){.badge-new{background:var(--crit); color:#2A1214}}
.tag-unverified{border-color:var(--high); color:var(--high); background:var(--high-bg)}
.tag-confirmed{border-color:var(--border-strong)}
.tag-developing{border-color:var(--med); color:var(--med); background:var(--med-bg)}
.orgs{font-family:var(--mono); font-size:11.5px; color:var(--muted); margin:0 0 8px}

/* ---------- events & company watch ---------- */
.event{border:1px solid var(--border); border-left:4px solid var(--fg); border-radius:0;
  background:var(--surface); padding:var(--sp-5); margin-bottom:var(--sp-5)}
.event h2{font-family:var(--serif); font-size:31px; font-weight:600; margin:8px 0; border:0; padding:0;
  text-transform:none; letter-spacing:-.01em}
.event .ev-meta{font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.event > p{font-size:16.5px; color:var(--fg-2); line-height:1.65; max-width:70ch}
.hl{border-top:1px solid var(--border); padding:var(--sp-3) 0}
.hl h4{font-family:var(--sans); font-size:15.5px; font-weight:700; margin:0 0 6px; color:var(--fg)}
.hl p{margin:0 0 6px; font-size:14.5px; color:var(--fg-2); line-height:1.6; max-width:70ch}

.cw{border:1px solid var(--border); border-radius:var(--radius); background:var(--surface);
  padding:var(--sp-4); margin-bottom:var(--sp-3)}
.cw-head{display:flex; gap:var(--sp-2); align-items:center; flex-wrap:wrap; margin-bottom:8px}
.cw-co{font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--fg); font-weight:500}
.cw h3{font-family:var(--serif); font-size:21px; font-weight:600; margin:0 0 10px; line-height:1.3}
.cw p{margin:0 0 10px; font-size:15px; color:var(--fg-2); line-height:1.62; max-width:72ch}
.cw .verdict{border-left:3px solid var(--accent); padding-left:14px; font-size:15px; color:var(--fg)}
.cw .verdict strong{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); display:block; margin-bottom:4px; font-weight:500}
.kind-ma{border-color:var(--accent2); color:var(--accent2); background:var(--accent2-bg)}
.kind-research{border-color:var(--med); color:var(--med); background:var(--med-bg)}
.kind-product{border-color:var(--border-strong)}
.kind-funding{border-color:var(--high); color:var(--high); background:var(--high-bg)}

@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0; transform:translateY(12px); transition:opacity .35s ease-out, transform .35s ease-out}
  .reveal.in{opacity:1; transform:none}
}
@media print{nav.sections,.signup,.support-slot{display:none}}
