/* insights-layout.css — refined UI for Insights hub + 6 article pages (body.ixi). Load last. */
body.ixi{--n:#152145;--m:#5a5f6b;--l:rgba(21,33,69,.12);--g:#be9a31;--w:#f7f7f5}
body.ixi main section:not(.cx){font-family:Inter,sans-serif}
body.ixi .ix-prog{position:fixed;left:0;top:0;height:3px;width:0;background:var(--g);z-index:200;transition:width .1s linear}

/* ---------- hero ---------- */
body.ixi .phero{background:linear-gradient(180deg,var(--w),#fff);color:var(--n);border-bottom:1px solid var(--l);padding-bottom:clamp(44px,6vw,84px)}
body.ixi .phero::after{display:none}
body.ixi .phero h1{color:var(--n);max-width:22ch!important;font-size:clamp(32px,4.4vw,56px)!important;line-height:1.1!important;font-weight:600!important;letter-spacing:-.03em!important}
body.ixi .phero .lede{color:var(--m);max-width:58ch;font-size:clamp(18px,1.6vw,21px)!important;line-height:1.6!important}
body.ixi .crumbs{margin:0 0 26px}
body.ixi .crumbs a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--l);border-radius:99px;background:#fff;color:var(--n);text-decoration:none;transition:border-color .2s,color .2s}
body.ixi .crumbs a::before{content:"\2190";color:var(--g)}
body.ixi .crumbs a:hover{border-color:var(--g);color:var(--g)}
body.ixi .ix-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--m)}
body.ixi .ix-meta span{display:inline-flex;align-items:center;gap:8px}
body.ixi .ix-meta span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--g)}
body.ixi main .sec{padding:clamp(52px,7vw,96px) 0}

/* ---------- article layout ---------- */
body.ixi .ix-grid{display:grid;grid-template-columns:240px minmax(0,720px);gap:clamp(32px,6vw,96px);justify-content:center;align-items:start}
body.ixi .ix-toc{position:sticky;top:calc(var(--head,72px) + 28px);padding-left:20px;border-left:1px solid var(--l)}
body.ixi .ix-toc p{margin:0 0 14px!important;font-size:12px!important;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--g)}
body.ixi .ix-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
body.ixi .ix-toc li{counter-increment:t;margin:0;padding:0;border:0}
body.ixi .ix-toc a{display:block;position:relative;padding:8px 0;font-size:14.5px!important;line-height:1.45!important;color:var(--m);text-decoration:none;transition:color .2s}
body.ixi .ix-toc a::before{content:counter(t,decimal-leading-zero) "  ";font-weight:600;color:var(--g);font-size:12px}
body.ixi .ix-toc a:hover,body.ixi .ix-toc a.on{color:var(--n)}
body.ixi .ix-toc a.on::after{content:"";position:absolute;left:-21px;top:8px;bottom:8px;width:2px;background:var(--g)}
body.ixi .art{max-width:720px;margin:0;counter-reset:s}
body.ixi main section:not(.cx) .art.prose p{max-width:none;font-size:18px!important;line-height:1.8!important;color:#2b3350;margin:0 0 1.25em}
body.ixi main section:not(.cx) .art.prose > p:first-child{font-size:23px!important;line-height:1.55!important;font-weight:500!important;color:var(--n);letter-spacing:-.005em;padding:6px 0 6px 26px;margin-bottom:1.6em;border-left:3px solid var(--g);border-bottom:0}
body.ixi main section:not(.cx) .art.prose h2{counter-increment:s;scroll-margin-top:calc(var(--head,72px) + 24px);font-size:27px!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.015em!important;color:var(--n);margin:2.4em 0 .6em;padding:0;border:0;max-width:none!important}
body.ixi main section:not(.cx) .art.prose h2::before{content:counter(s,decimal-leading-zero);display:block;margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--g)}
body.ixi main section:not(.cx) .art.prose :is(ul,ol){margin:0 0 1.4em;padding-left:1.2em}
body.ixi main section:not(.cx) .art.prose li{font-size:18px!important;line-height:1.7;border:0;padding:.3em 0;max-width:none}
body.ixi main section:not(.cx) .art.prose a{color:var(--n);border-bottom:1px solid var(--g)}

/* ---------- insight cards (hub + "More insights") ---------- */
body.ixi .ins{counter-reset:ins;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0}
body.ixi .ins::before{display:none}
body.ixi .ins a{counter-increment:ins;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:0;padding:32px 32px 28px;background:#fff;border:1px solid var(--l);border-radius:6px;color:var(--n);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
body.ixi .ins a:hover{transform:translateY(-4px);border-color:var(--g);box-shadow:0 20px 40px -22px rgba(21,33,69,.3);background:#fff;color:var(--n)}
body.ixi .ins a::before{content:counter(ins,decimal-leading-zero);display:block;font:600 12px/1 Inter,sans-serif;letter-spacing:.18em;color:var(--g)}
body.ixi .ins a h3{grid-column:auto!important;margin:0;color:var(--n);font-size:23px!important;line-height:1.3!important;transition:color .25s}
body.ixi .ins a h3::before{display:none}
body.ixi .ins a p{grid-column:auto;margin:0;max-width:46ch;color:var(--m);font-size:16px!important;line-height:1.6!important}
body.ixi .ins .arr{grid-column:auto;align-self:flex-start;margin-top:auto;padding-top:6px;font-size:18px;color:var(--g);transition:transform .25s}
body.ixi .ins a:hover .arr{transform:translateX(6px)}
/* hub: first insight is the featured, dark card */
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child){grid-column:1/-1;padding:clamp(32px,4vw,56px);background:var(--n);border-color:var(--n)}
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child)::before{color:#d9bc63}
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child) h3{color:#fff;font-size:clamp(28px,3.2vw,42px)!important;line-height:1.15!important;font-weight:600!important;letter-spacing:-.02em!important;max-width:22ch}
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child) p{color:#c9d0e3;font-size:19px!important;max-width:56ch}
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child) .arr{color:#d9bc63}
body.ixi main > section:not(.sec--wash) .ins > a:first-child:not(:only-child):hover{background:#1c2b57}
/* article page "More insights": 3 cards */
body.ixi .sec--wash{background:var(--w);border-top:1px solid var(--l)}
body.ixi .sec--wash h2{font-size:28px!important;margin-bottom:28px!important}
body.ixi .sec--wash .ins{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.ixi .sec--wash .ins a{padding:26px 26px 22px}
body.ixi .sec--wash .ins a::before{display:block}
body.ixi .sec--wash .ins a h3{font-size:19px!important;line-height:1.35!important}
body.ixi .sec--wash .ins a::after{content:"\2192";margin-top:auto;padding-top:4px;color:var(--g);font-size:18px;transition:transform .25s}
body.ixi .sec--wash .ins a:hover::after{transform:translateX(6px)}

@media (max-width:1000px){
  body.ixi .ix-grid{grid-template-columns:minmax(0,1fr)}
  body.ixi .ix-toc{display:none}
  body.ixi .sec--wash .ins{grid-template-columns:1fr}
}
@media (max-width:860px){body.ixi .ins{grid-template-columns:1fr}}
@media (max-width:900px){
  body.ixi main section:not(.cx) .art.prose > p:first-child{font-size:20px!important}
  body.ixi main section:not(.cx) .art.prose p,body.ixi main section:not(.cx) .art.prose li{font-size:17px!important}
  body.ixi main section:not(.cx) .art.prose h2{font-size:23px!important}
}
@media (prefers-reduced-motion:reduce){body.ixi .ins a,body.ixi .ins .arr,body.ixi .ix-prog{transition:none}}
