:root{
  --bg:#0d0e10; --bg2:#131518;
  --fg:#e8e6df; --dim:rgba(232,230,223,.55);
  --line:rgba(232,230,223,.12); --line-strong:rgba(232,230,223,.30);
  --accent:#e8a942;
  --mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --sans:"Inter", system-ui, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);line-height:1.6}
img{max-width:100%;height:auto}
::selection{background:rgba(232,169,66,.3)}
a{color:var(--accent)}

/* header */
.ins-nav{position:sticky;top:0;z-index:50;background:rgba(6,10,12,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ins-nav .row{display:flex;align-items:center;height:48px;padding:0 24px;gap:32px;font-family:var(--mono);font-size:12px}
.ins-nav .brand{text-decoration:none;color:var(--accent);display:flex;align-items:center;gap:10px}
.ins-nav .brand img{display:block;border-radius:50%}
.ins-nav .brand span{letter-spacing:.15em;font-weight:600}
.ins-nav .links{display:flex;gap:20px;flex:1}
.ins-nav .links a{text-decoration:none;color:var(--dim);letter-spacing:.05em}
.ins-nav .links a.on,.ins-nav .links a:hover{color:var(--accent)}
.ins-nav .badge{color:var(--accent)}
@media (max-width:720px){
  .ins-nav .links{display:none}
}

/* hero / meta strip */
.ins-meta{border-bottom:1px solid var(--line);padding:14px 24px;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.14em;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.ins-meta b{color:var(--fg);font-weight:500}

/* article shell */
.wrap{max-width:1200px;margin:0 auto;padding:64px 24px 24px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:48px 24px}

.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent);margin-bottom:24px}
h1.title{font-family:var(--sans);font-weight:500;font-size:clamp(36px,5.4vw,64px);line-height:1.02;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance}
.lede{font-family:var(--sans);font-size:21px;line-height:1.5;color:var(--dim);margin:0 0 48px;max-width:680px;text-wrap:pretty}

.byline{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--dim);padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:48px}
.byline b{color:var(--fg);font-weight:500}

article.body{font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--fg)}
article.body p{margin:0 0 22px;max-width:680px;text-wrap:pretty}
article.body h2{font-family:var(--sans);font-weight:500;font-size:30px;letter-spacing:-.015em;line-height:1.15;margin:56px 0 18px;color:var(--fg)}
article.body h2 .num{font-family:var(--mono);color:var(--accent);font-size:13px;letter-spacing:.18em;display:block;margin-bottom:8px}
article.body h3{font-family:var(--mono);font-size:13px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;margin:36px 0 12px}
article.body ul,article.body ol{padding-left:20px;margin:0 0 22px;max-width:680px}
article.body li{margin:6px 0}
article.body strong{color:var(--fg);font-weight:600}
article.body em{color:var(--dim);font-style:normal;font-family:var(--mono);font-size:.85em;letter-spacing:.04em}
article.body blockquote{margin:32px 0;padding:20px 24px;border-left:2px solid var(--accent);background:var(--bg2);font-family:var(--sans);font-style:italic;color:var(--fg);max-width:680px}
article.body sup{font-family:var(--mono);font-size:.7em;color:var(--accent)}
article.body sup a{text-decoration:none}
article.body table{border-collapse:collapse;width:100%;max-width:680px;margin:24px 0;font-family:var(--mono);font-size:13px}
article.body th,article.body td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
article.body th{color:var(--accent);letter-spacing:.1em;font-size:11px;font-weight:500;text-transform:uppercase;border-bottom:1px solid var(--line-strong)}
article.body td{color:var(--fg)}

/* references */
.refs{margin-top:80px;padding-top:32px;border-top:1px solid var(--line-strong);max-width:680px}
.refs h2{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:0 0 16px}
.refs ol{font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--dim);padding-left:24px}
.refs li{margin:8px 0}
.refs li a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}

/* related / next */
.related{margin-top:80px;border-top:1px solid var(--line);padding-top:40px}
.related h2{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:0 0 24px}
.related .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:700px){.related .grid{grid-template-columns:1fr}}
.related a.card{display:block;text-decoration:none;color:var(--fg);border:1px solid var(--line);padding:20px;background:var(--bg2);transition:border-color .15s}
.related a.card:hover{border-color:var(--accent)}
.related .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--accent);margin-bottom:8px}
.related .ttl{font-family:var(--sans);font-size:18px;line-height:1.25;color:var(--fg);margin:0}

/* footer */
footer.ins-foot{margin-top:80px;border-top:1px solid var(--line);padding:40px 24px;font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.05em}
footer.ins-foot .row{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
footer.ins-foot a{color:var(--dim);text-decoration:none}
footer.ins-foot a:hover{color:var(--accent)}

/* insights index */
.ins-index{max-width:1200px;margin:0 auto;padding:40px 24px 80px}
.ins-index .row{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg);transition:background .15s}
.ins-index .row:hover{background:var(--bg2)}
.ins-index .row:hover .ttl{color:var(--accent)}
.ins-index .meta{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.12em;line-height:1.7}
.ins-index .meta b{color:var(--accent);font-weight:500;display:block;margin-bottom:6px}
.ins-index .ttl{font-family:var(--sans);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin:0 0 12px;letter-spacing:-.015em;text-wrap:balance;transition:color .15s}
.ins-index .desc{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--dim);margin:0;max-width:680px;text-wrap:pretty}
@media (max-width:720px){
  .ins-index .row{grid-template-columns:1fr;gap:8px;padding:24px 0}
}
