.skip-link { position:absolute; left:16px; top:-80px; padding:12px 18px; background:#fff; z-index:100; }
.skip-link:focus { top:10px; }
.insight-page :focus-visible { outline:3px solid #398898; outline-offset:4px; }
.insight-masthead { background:var(--soft); padding:40px 0 58px; }
.insight-back { display:inline-block; color:var(--blue); margin-bottom:30px; }
.insight-title-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:48px; align-items:center; }
.insight-title-grid h1 { font-size:clamp(2.4rem,4.6vw,4.2rem); line-height:1.06; max-width:800px; }
.insight-subtitle { font-size:1.2rem; color:var(--muted); margin:22px 0 16px; }
.insight-cover { width:100%; height:auto; aspect-ratio:1.15; object-fit:cover; object-position:48% center; }
.insight-date { font-size:.85rem; color:var(--muted); }
.insight-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:64px; padding-top:54px; padding-bottom:72px; }
.insight-toc { position:sticky; top:102px; align-self:start; font-size:.83rem; max-height:calc(100vh - 124px); overflow:auto; }
.insight-toc ol { padding-left:19px; margin:14px 0 22px; }
.insight-toc li { margin:0 0 11px; padding-left:4px; }
.insight-toc a { color:var(--muted); }
.insight-toc a:hover { color:var(--blue); text-decoration:underline; }
.insight-print { display:inline-block; border:1px solid var(--line); padding:9px 13px; color:var(--blue); background:white; cursor:pointer; }
.insight-body { min-width:0; font-size:1.05rem; line-height:1.75; }
.insight-body > p { margin:0 0 22px; }
.insight-body h2 { font-size:clamp(1.7rem,2.5vw,2.15rem); line-height:1.18; margin:52px 0 23px; scroll-margin-top:100px; }
.insight-body > p:first-child { font-size:1.3rem; color:var(--blue-dark); border-left:3px solid #398898; padding-left:24px; }
.insight-body a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.table-scroll { width:100%; overflow-x:auto; margin:28px 0; border:1px solid var(--line); }
.insight-body table { border-collapse:collapse; width:100%; min-width:620px; font-size:.85rem; line-height:1.5; }
.insight-body th { background:var(--blue-dark); color:#fff; text-align:left; font-weight:600; }
.insight-body th,.insight-body td { padding:13px 15px; vertical-align:top; border-bottom:1px solid var(--line); }
.insight-body tbody tr:nth-child(even) { background:var(--soft); }
.insight-body figure { margin:32px 0; }
.insight-body figure img { width:100%; height:auto; }
.insight-body figcaption { font-size:.83rem; color:var(--muted); line-height:1.6; margin-top:13px; }
.insight-body .formula { background:var(--soft); border-left:3px solid #398898; padding:20px 23px; margin:24px 0; font-family:Georgia,serif; line-height:1.8; overflow-wrap:anywhere; }
.insight-body > ol { font-size:.85rem; padding-left:23px; }
.insight-body > ol li { padding-left:6px; margin:0 0 14px; overflow-wrap:anywhere; scroll-margin-top:100px; }
.insight-contact { background:var(--soft); padding:28px; margin-top:40px; }
.insight-contact h2 { margin-top:0; }
.insight-contact a.button { color:#fff; text-decoration:none; }
@media(max-width:980px) {
  .insight-layout { grid-template-columns:1fr; gap:32px; }
  .insight-toc { position:static; max-height:none; border-bottom:1px solid var(--line); padding-bottom:20px; }
  .insight-toc ol { columns:2; column-gap:30px; }
  .insight-title-grid { gap:26px; }
}
@media(max-width:600px) {
  .insight-title-grid { grid-template-columns:1fr; }
  .insight-cover { aspect-ratio:1.8; }
  .insight-masthead { padding:24px 0 30px; }
  .insight-toc ol { columns:1; }
  .insight-layout { padding-top:30px; }
  .insight-body { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  .site-header,.site-footer,.insight-toc,.insight-back,.insight-cover,.insight-contact,.skip-link { display:none; }
  .container { width:100%; }
  .insight-masthead { background:none; padding:0 0 20px; }
  .insight-title-grid,.insight-layout { display:block; }
  .insight-layout { padding:0; }
  .insight-body { font-size:10pt; }
  .insight-body h2 { break-after:avoid; margin-top:25px; }
  .insight-body figure,.insight-body tr { break-inside:avoid; }
  .table-scroll { overflow:visible; }
  .insight-body table { min-width:0; font-size:8pt; }
  .insight-body th { background:#e8eff2; color:#153344; }
  .insight-body th,.insight-body td { padding:7px; }
}
