/* ============================================================
   QUANTIVERSE · insights
   Articles, the insights index and the author page. Loaded after
   chrome.css and site.css and built only from their tokens and
   components: white, charcoal, red for numerals and rules only,
   square edges, Inter set tight.
   ============================================================ */
.hdr__nav > a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

/* ---------------- heroes ---------------- */
.ahero,.ihero{margin-top:var(--hdr);padding-top:clamp(34px,4.6vw,64px);padding-bottom:clamp(36px,4.4vw,60px);border-bottom:1px solid var(--line)}
.ihero{border-bottom:0;padding-bottom:clamp(20px,2.4vw,32px)}
.ihero > .wrap > .label{margin-bottom:18px}
.ahero__k{display:inline-block;margin-bottom:20px}
.ahero__k .label{display:inline-flex;align-items:center;gap:10px;transition:color .25s}
.ahero__k .label::before{content:"";width:14px;height:1px;background:var(--red)}
.ahero__k:hover .label{color:var(--ink)}
.atitle{font-weight:500;font-size:clamp(34px,5vw,72px);line-height:1.03;letter-spacing:-.04em;max-width:21ch;text-wrap:balance}
.atitle--hub{font-size:clamp(50px,8.2vw,126px);line-height:.94;letter-spacing:-.048em;max-width:none}
.abyline{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:clamp(26px,3vw,40px);padding-top:16px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--ink-soft)}
.abyline a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .25s}
.abyline a:hover{color:var(--red)}

/* ---------------- article layout: contents rail + reading column ---------------- */
.agrid{display:grid;grid-template-columns:minmax(0,250px) minmax(0,760px);gap:clamp(40px,6vw,110px);padding-block:clamp(44px,5vw,80px) clamp(64px,7vw,110px)}
.agrid--solo{grid-template-columns:minmax(0,760px)}
.amain{min-width:0}
.atoc{position:sticky;top:calc(var(--hdr) + 28px)}
.atoc .label{margin-bottom:14px}
.atoc ol{border-top:1px solid var(--ink)}
.atoc a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35;color:var(--ink-soft);transition:color .25s,padding .35s var(--e)}
.atoc a i{font-style:normal;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px;transition:color .25s}
.atoc a:hover{color:var(--ink);padding-left:6px}
.atoc a:hover i{color:var(--red)}
@media(max-width:1000px){
  .agrid{grid-template-columns:minmax(0,1fr);gap:0}
  .atoc{position:static;margin-bottom:44px}
}

/* ---------------- answer first, then the takeaways ---------------- */
.asum p{font-size:17px;line-height:1.62;color:var(--ink-soft)}
.asum p + p{margin-top:16px}
.asum .alead{font-size:clamp(20px,1.9vw,25px);line-height:1.4;letter-spacing:-.02em;color:var(--ink)}
.akey{margin-top:clamp(32px,3.6vw,48px);padding:22px 26px 14px;background:var(--g1);border-top:1px solid var(--ink)}
.akey .label{margin-bottom:6px}
.akey li{position:relative;padding:12px 0 12px 26px;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.akey li:first-child{border-top:0}
.akey li::before{content:"";position:absolute;left:0;top:22px;width:12px;height:1px;background:var(--red)}

/* ---------------- sections and prose ---------------- */
.asec{margin-top:clamp(52px,6vw,84px);scroll-margin-top:calc(var(--hdr) + 20px)}
.asec h2{font-weight:500;font-size:clamp(24px,2.4vw,34px);line-height:1.12;letter-spacing:-.03em;margin-bottom:20px;text-wrap:balance}
.asec h3{font-weight:500;font-size:19px;line-height:1.3;letter-spacing:-.02em;margin:30px 0 10px}
.asec p,.asec li{font-size:17px;line-height:1.66;color:var(--ink-soft)}
.asec p + p{margin-top:16px}
.asec ul,.asec ol{margin:16px 0}
.asec ul > li{position:relative;padding-left:22px}
.asec ul > li + li,.asec ol > li + li{margin-top:8px}
.asec ul > li::before{content:"";position:absolute;left:0;top:.82em;width:10px;height:1px;background:var(--ink)}
.asec ol{counter-reset:ol}
.asec ol > li{position:relative;padding-left:32px;counter-increment:ol}
.asec ol > li::before{content:counter(ol,decimal-leading-zero);position:absolute;left:0;top:.32em;font-size:12px;line-height:1.5;color:var(--red);font-variant-numeric:tabular-nums}
.asec a:not(.ul):not(.btn){color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .25s}
.asec a:not(.ul):not(.btn):hover{color:var(--red)}
.asec b,.asec strong{font-weight:500;color:var(--ink)}
.asec .ex{margin:40px 0 8px}
.asec .faq{margin-top:4px}
.asec .faq li::before,.asec .sig li::before{content:none}
.asec--qv{padding:24px 26px 26px;background:var(--g1);border-top:1px solid var(--ink)}
.asec--qv h2{font-size:clamp(20px,1.8vw,24px);margin-bottom:14px}
.asec__go{margin-top:18px !important}
.asec__go .ul{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.asrc ol > li{padding-left:32px;font-size:15px;line-height:1.5}
.asrc ol > li::before{top:.2em}
.asrc li span{display:block;margin-top:2px;font-size:13px;color:var(--muted)}

/* ---------------- data tables ---------------- */
.dtab-wrap{overflow-x:auto}
.dtab{width:100%;border-collapse:collapse}
.dtab th{padding:0 16px 12px 0;text-align:left;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);white-space:nowrap}
.dtab td{padding:15px 16px 15px 0;vertical-align:top;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--ink-soft)}
.dtab td:first-child{color:var(--ink);font-weight:500;letter-spacing:-.01em}
.dtab .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dtab th:last-child,.dtab td:last-child{padding-right:0}

/* ---------------- illustrative worked example ---------------- */
.ill{margin-top:34px;padding:22px 26px 20px;border:1px solid var(--line);border-top-color:var(--ink)}
.ill__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:12px}
.ill__tag{flex:none;padding:3px 6px 2px;background:var(--ink);color:var(--white);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.asec .ill h3{margin:0;font-size:17px}
.asec .ill p,.asec .ill li{font-size:15px}
.asec .ill .ill__note{margin-top:14px;font-size:12px;color:var(--muted)}

/* ---------------- insights index ---------------- */
.ins__pr + .ins__pr{margin-top:clamp(56px,7vw,100px)}
.ins__head{display:flex;align-items:baseline;gap:16px;padding-top:16px;border-top:1px solid var(--ink);margin-bottom:8px}
.ins__head .label{color:var(--red)}
.ins__head h2{font-weight:500;font-size:clamp(28px,3.1vw,46px);line-height:1.06;letter-spacing:-.032em}
.ins__grp{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,60px);padding:26px 0;border-bottom:1px solid var(--line)}
.ins__hub{align-self:start;display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);transition:color .25s}
.ins__hub:hover{color:var(--red)}
.ins__grp li a,.auth__arts li a{display:block;padding:16px 0;border-top:1px solid var(--line)}
.ins__grp li:first-child a{border-top:0;padding-top:0}
.ins__grp b,.auth__arts b{display:block;font-weight:500;font-size:clamp(19px,1.7vw,24px);line-height:1.2;letter-spacing:-.025em;transition:color .25s}
.ins__grp a:hover b,.auth__arts a:hover b{color:var(--red)}
.ins__grp span{display:block;margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink-soft)}
.ins__grp small,.auth__arts small{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.ins__empty{padding-top:20px;border-top:1px solid var(--ink);font-size:clamp(20px,1.9vw,25px);letter-spacing:-.02em;color:var(--ink-soft)}
@media(max-width:800px){.ins__grp{grid-template-columns:minmax(0,1fr);gap:14px}}

/* ---------------- author ---------------- */
.auth{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,110px);padding-top:16px;border-top:1px solid var(--ink)}
.auth__bio p{font-size:18px;line-height:1.62;color:var(--ink-soft);max-width:60ch}
.auth__bio p + p{margin-top:16px}
.auth__facts div{padding:14px 0;border-bottom:1px solid var(--line)}
.auth__facts div:first-child{padding-top:0}
.auth__facts dt{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.auth__facts dd{margin-top:4px;font-size:15px;line-height:1.5}
.auth__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px}
.auth__facts + .auth__links{margin-top:24px}
.auth__arts{border-top:1px solid var(--ink)}
.auth__arts li:first-child a{border-top:0}
@media(max-width:900px){.auth{grid-template-columns:minmax(0,1fr)}}
