/* Match the homepage's existing navigation design, not a new design. */
.iac-site-nav{position:sticky!important;top:env(safe-area-inset-top,0px)!important;z-index:1000!important;background:color-mix(in srgb,#06182c 88%,transparent)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid #ff5a1f!important;color:#fff7ec!important;font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif!important}
.iac-site-nav *{box-sizing:border-box}
.iac-site-nav .iac-nav-inner{max-width:1120px;min-height:64px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.iac-site-nav .iac-logo{font-family:"Dela Gothic One","Impact","Arial Black",sans-serif!important;font-size:19px;text-decoration:none!important;display:flex;gap:8px;align-items:center;color:#fff7ec!important;white-space:nowrap}
.iac-site-nav .iac-logo-mark{background:#ff5a1f;color:#07182b!important;padding:2px 8px;transform:rotate(-4deg);display:inline-block;font-weight:400}
.iac-site-nav .iac-links{display:flex;gap:22px;list-style:none!important;margin:0!important;padding:0!important;font-weight:500}
.iac-site-nav .iac-links a{text-decoration:none!important;color:#fff7ec!important;font-size:17px;font-weight:500}
.iac-site-nav .iac-links a:hover{color:#ff5a1f!important}
.iac-site-nav .iac-join{display:inline-flex;align-items:center;gap:10px;font-family:"Dela Gothic One","Impact","Arial Black",sans-serif!important;font-size:16px;text-decoration:none!important;border:3px solid #fff7ec;background:#ffd23f;color:#07182b!important;padding:8px 16px;box-shadow:4px 4px 0 #ff5a1f;white-space:nowrap}
.iac-site-nav .iac-menu{display:none;font:400 20px "Dela Gothic One","Impact","Arial Black",sans-serif;background:#ffd23f;color:#07182b;border:3px solid #fff7ec;width:44px;height:44px;cursor:pointer}
.iac-footer{display:block!important;position:relative;clear:both;width:100%;margin:64px 0 0!important;padding:42px 24px 28px!important;background:#06182c!important;color:#fff7ec!important;border-top:4px solid #ff5a1f!important;text-align:center!important;font-family:"Space Grotesk",system-ui,sans-serif!important;font-size:14px!important;line-height:1.6!important;box-sizing:border-box!important}
.iac-footer *{box-sizing:border-box}.iac-footer-inner{width:100%;max-width:1120px;margin:0 auto!important}
.iac-footer-brand{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;color:#fff7ec!important;font-family:"Dela Gothic One",system-ui,sans-serif!important;font-weight:900;font-size:20px;line-height:1.3}
.iac-footer-brand span{font-size:17px}.iac-footer-tagline{margin:12px 0 22px!important;color:#b8cce0!important}
.iac-footer nav.iac-footer-social,.iac-footer nav.iac-footer-site{width:100%!important;max-width:100%!important;display:flex!important;position:static!important;float:none!important;justify-content:center!important;align-items:center!important;gap:10px 12px!important;flex-wrap:wrap!important;margin:0 auto 18px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important}
.iac-footer nav.iac-footer-site{gap:8px 18px!important;margin-bottom:0!important;font-size:13px!important}.iac-footer a{color:#22e4ff!important;text-decoration:none!important}.iac-footer a:hover{color:#ffd23f!important;text-decoration:underline!important}
.iac-footer-social a{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;border:1px solid #42617d!important;border-radius:8px!important;padding:8px 15px!important;background:#0c2540!important;color:#22e4ff!important;font-weight:700!important;white-space:nowrap}
.iac-footer-copy{width:100%;max-width:1000px;margin:22px auto 0!important;padding:18px 0 0!important;border-top:1px solid #29425b!important;color:#b8cce0!important;line-height:1.7!important}
@media(max-width:760px){.iac-site-nav .iac-nav-inner{min-height:60px;flex-wrap:wrap}.iac-site-nav .iac-menu{display:block;order:3}.iac-site-nav .iac-join{margin-left:auto;order:2}.iac-site-nav .iac-links{display:none;position:static;order:4;width:100%;flex-direction:column;gap:0;background:transparent;border:0;padding:4px 0 10px!important}.iac-site-nav.iac-open .iac-links{display:flex}.iac-site-nav .iac-links li{width:100%}.iac-site-nav .iac-links a{display:block;padding:12px 0;border-top:1px solid #29425b}.iac-site-nav .iac-logo{order:1;font-size:19px}.iac-site-nav .iac-join{padding:8px 12px;font-size:14px}}
@media(max-width:480px){.iac-site-nav .iac-logo>span:last-child{display:none}}
@media(max-width:600px){.iac-footer{margin-top:44px!important;padding:32px 16px 24px!important}.iac-footer-brand{flex-wrap:wrap;gap:6px}.iac-footer nav.iac-footer-social{gap:8px!important}.iac-footer nav.iac-footer-site{gap:10px 14px!important}}

/* Original IAC navigation, shared across landing, information and article-list pages. */
nav.legacy-site-nav{position:sticky!important;top:env(safe-area-inset-top,0px)!important;z-index:1000!important;background:color-mix(in srgb,var(--bg,#06182c) 88%,transparent)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid var(--accent,#ff5a1f)!important;color:var(--ink,#fff7ec)!important;font-family:var(--body,"Space Grotesk",system-ui,sans-serif)!important}
nav.legacy-site-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px;max-width:1120px;margin:0 auto;padding:0 20px}
nav.legacy-site-nav .logo{font-family:var(--display,"Dela Gothic One","Impact",sans-serif);font-size:19px;text-decoration:none;display:flex;gap:8px;align-items:center;white-space:nowrap}
nav.legacy-site-nav .logo b{background:var(--accent,#ff5a1f);color:var(--dk,#07182b);padding:2px 8px;transform:rotate(-4deg);display:inline-block;font-weight:400}
nav.legacy-site-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-weight:500}
nav.legacy-site-nav ul a{text-decoration:none;color:inherit}
nav.legacy-site-nav ul a:hover{color:var(--accent,#ff5a1f)}
nav.legacy-site-nav .btn{display:inline-flex;align-items:center;font-family:var(--display,"Dela Gothic One","Impact",sans-serif);font-size:14px;text-decoration:none;border:3px solid var(--ink,#fff7ec);background:var(--sun,#ffd23f);color:var(--dk,#07182b);padding:8px 16px;box-shadow:4px 4px 0 var(--accent,#ff5a1f);white-space:nowrap}
nav.legacy-site-nav .menu{display:none;font:400 20px var(--display,"Dela Gothic One","Impact",sans-serif);background:var(--sun,#ffd23f);color:var(--dk,#07182b);border:3px solid var(--ink,#fff7ec);width:44px;height:44px;cursor:pointer}
@media(max-width:760px){nav.legacy-site-nav .wrap{height:auto;min-height:60px;flex-wrap:wrap}nav.legacy-site-nav .menu{display:block;order:3}nav.legacy-site-nav .btn{margin-left:auto;order:2}nav.legacy-site-nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg,#06182c);border-bottom:3px solid var(--accent,#ff5a1f);padding:8px 20px;order:4;width:100%}nav.legacy-site-nav ul a{display:block;padding:12px 0}nav.legacy-site-nav.open ul{display:flex}}
@media(max-width:480px){nav.legacy-site-nav .logo .ln{display:none}}

/* Global IAC light theme: keep every route consistent with the original landing page. */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
 color-scheme:light!important;
 --bg:#fff3e0!important;--bg2:#ffe3c2!important;--ink:#07182b!important;
 --mute:#3d5f85!important;--muted:#3d5f85!important;--mut:#3d5f85!important;
 --dk:#07182b!important;--fire:#ff5a1f!important;--accent:#ff5a1f!important;
 --cyan:#22e4ff!important;--tc:#006f94!important;--sun:#ffd23f!important;
 --ts:#8a5200!important;--lime:#b6ff3b!important;--blue:#1f6fff!important;
 --card:#ffe3c2!important;--surface:#ffe3c2!important;--line:#e5c9a8!important;
 --yellow:#ffd23f!important;--violet:#ff5a1f!important;--pink:#006f94!important;
}
html,body{color-scheme:light!important;background:#fff3e0!important;color:#07182b!important}
body :is(h1,h2,h3,h4,h5,p,li,label,figcaption){color:#07182b}
body :is(.site-header,.nav,.legacy-site-nav,nav[aria-label="Main navigation"],.iac-site-nav){
 background:rgba(255,243,224,.97)!important;color:#07182b!important;border-bottom-color:#ff5a1f!important;
}
body :is(.site-header a,.nav a,.legacy-site-nav a,nav[aria-label="Main navigation"] a,.iac-site-nav a){color:#07182b!important}
body :is(.site-footer,footer.iac-footer,.iac-footer){background:#ffe3c2!important;color:#07182b!important;border-top-color:#ff5a1f!important}
body :is(.iac-footer a,.iac-footer-brand){color:#006f94!important}
body :is(.iac-footer-tagline,.iac-footer-copy){color:#3d5f85!important}
/* Article pages: match the landing page's light palette without changing layout. */
:root:has(article.article){
  color-scheme:light!important;
  --bg:#fff3e0!important;
  --bg2:#ffe3c2!important;
  --ink:#07182b!important;
  --mute:#3d5f85!important;
  --muted:#3d5f85!important;
  --mut:#3d5f85!important;
  --dk:#07182b!important;
  --card:#ffe3c2!important;
  --surface:#ffe3c2!important;
}
html:has(article.article){background:#fff3e0!important;color-scheme:light!important}
body:has(article.article){background:#fff3e0!important;color:#07182b!important}
body:has(article.article) article.article,
body:has(article.article) article.article .body,
body:has(article.article) article.article .body p,
body:has(article.article) article.article .body li,
body:has(article.article) article.article .article h1,
body:has(article.article) article.article h1,
body:has(article.article) article.article h2,
body:has(article.article) article.article h3,
body:has(article.article) article.article h4{color:#07182b!important}
body:has(article.article) article.article .dek,
body:has(article.article) article.article .meta span:last-child,
body:has(article.article) article.article .meta .date,
body:has(article.article) article.article .author-box span{color:#3d5f85!important}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.decision-framework,.reading-time,.share-box){background:#ffe3c2!important;color:#07182b!important}
body:has(article.article) article.article :is(.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.decision-framework,.share-box){border-color:#ff5a1f!important}
body:has(article.article) article.article .body strong{color:#9a3a00!important}
body:has(article.article) article.article :is(.body a,.sources a,.related a,.article-toc a,.author-box a){color:#005d7a!important}
body:has(article.article) article.article :is(.article-toc .toc-kicker,.article-toc .toc-count){color:#3d5f85!important}
body:has(article.article) article.article .hero-art strong{background:#06182c!important;color:#fff7ec!important}


/* Restore the landing page's light cream theme consistently across every route. */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
 color-scheme:light!important;
 --bg:#fff3e0!important;--bg2:#ffe3c2!important;--ink:#07182b!important;
 --mute:#3d5f85!important;--muted:#3d5f85!important;--mut:#3d5f85!important;
 --dk:#07182b!important;--fire:#ff5a1f!important;--accent:#ff5a1f!important;
 --cyan:#22e4ff!important;--tc:#006f94!important;--sun:#ffd23f!important;
 --ts:#8a5200!important;--lime:#b6ff3b!important;--blue:#1f6fff!important;
 --card:#ffe3c2!important;--surface:#ffe3c2!important;--line:#e5c9a8!important;
 --yellow:#ffd23f!important;--violet:#ff5a1f!important;--pink:#006f94!important;
}
html,body{color-scheme:light!important;background:#fff3e0!important;color:#07182b!important}
body :is(h1,h2,h3,h4,h5,p,li,label,figcaption){color:#07182b}
body :is(.site-header,.nav,.legacy-site-nav,nav[aria-label="Main navigation"],.iac-site-nav){
 background:rgba(255,243,224,.97)!important;color:#07182b!important;border-bottom-color:#ff5a1f!important;
}
body :is(.site-header a,.nav a,.legacy-site-nav a,nav[aria-label="Main navigation"] a,.iac-site-nav a){color:#07182b!important}
body :is(.site-footer,footer.iac-footer,.iac-footer){background:#ffe3c2!important;color:#07182b!important;border-top-color:#ff5a1f!important}
body :is(.iac-footer a,.iac-footer-brand){color:#006f94!important}
body :is(.iac-footer-tagline,.iac-footer-copy){color:#3d5f85!important}
body :is(.article-card,.feature-card,.post-card,.panel,.box,.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.decision-framework,.reading-time,.share-box,.body blockquote,.sources,.related){
 background:#ffe3c2!important;color:#07182b!important;
}
body :is(.dek,.muted,.meta,.date,.author-box span,.article-toc .toc-count,.sources p,.iac-footer-tagline,.iac-footer-copy){color:#3d5f85!important}
body a:not(.btn):not(.iac-logo){text-underline-offset:3px}
body :is(.body a,.sources a,.related a,.article-toc a,.author-box a){color:#006f94!important}
body :is(.tag,.back){background:#ffd23f!important;color:#07182b!important}
body .hero-art{background:#ff5a1f!important;color:#07182b!important}
body .hero-art strong{background:#06182c!important;color:#fff7ec!important}

/* Keep the canvas consistent without flattening the landing page's colorful sections. */
html,body{background-color:#fff3e0!important;color-scheme:light!important}
body:not(:has(article.article)) main{background:transparent!important}
body:not(:has(article.article)) .worlds{background:#ffe3c2!important}
body:not(:has(article.article)) .join{background:linear-gradient(135deg,#ffd23f,#ff5a1f)!important;color:#07182b!important}
body:not(:has(article.article)) .hero{background:radial-gradient(ellipse at 80% 0%,rgba(0,111,148,.10),transparent 44%),radial-gradient(ellipse at 10% 40%,rgba(255,90,31,.10),transparent 42%)!important}
body:not(:has(article.article)) .panel.p1{background:#ff5a1f!important;color:#07182b!important}
body:not(:has(article.article)) .panel.p2{background:#22e4ff!important;color:#07182b!important}
body:not(:has(article.article)) .panel.p3{background:#b6ff3b!important;color:#07182b!important}
body:not(:has(article.article)) .panel.p4{background:#ffd23f!important;color:#07182b!important}
body:not(:has(article.article)) .panel.p5{background:#1f6fff!important;color:#fff!important}
body:not(:has(article.article)) .panel.p5 :is(h3,p){color:#fff!important}


/* Final shared footer palette: match the cream, navy and vivid accent colors
   used by the landing page on every route. */
footer.iac-footer,.iac-footer{
  background:#ffe3c2!important;
  color:#07182b!important;
  border-top:4px solid #ff5a1f!important;
}
.iac-footer-brand,.iac-footer a{
  color:#005d7a!important;
}
.iac-footer-tagline,.iac-footer-copy{
  color:#3d5f85!important;
}
.iac-footer-social a{
  background:#fff3e0!important;
  color:#005d7a!important;
  border:2px solid #07182b!important;
  border-radius:0!important;
  box-shadow:3px 3px 0 #ff5a1f!important;
}
.iac-footer-social a:hover{
  background:#ffd23f!important;
  color:#07182b!important;
  border-color:#07182b!important;
}
.iac-footer-site a{
  color:#005d7a!important;
}
.iac-footer-site a:hover,.iac-footer a:hover{
  color:#b83a0b!important;
}
.iac-footer-copy{
  border-top:1px solid #d9b998!important;
}

/* Normalize related-article cards at the bottom of long-form pages. */
body:has(article.article) article.article .related{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:clamp(18px,3vw,28px)!important;
  margin:32px 0!important;
}
body:has(article.article) article.article .related :is(.related-grid,.grid,.cards,.card-grid){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
}
body:has(article.article) article.article .related :is(a,.card,article){
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  min-height:160px!important;
  margin:0!important;
  padding:18px!important;
  border:3px solid #07182b!important;
  background:#fff3e0!important;
  color:#07182b!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}
body:has(article.article) article.article .related :is(a,.card,article) :is(h2,h3,h4,p,span){
  max-width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.35!important;
}
body:has(article.article) article.article .related :is(a,.card,article) h3{
  font-size:clamp(16px,1.5vw,21px)!important;
}
@media(max-width:760px){
  body:has(article.article) article.article .related :is(.related-grid,.grid,.cards,.card-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media(max-width:520px){
  body:has(article.article) article.article .related :is(.related-grid,.grid,.cards,.card-grid){
    grid-template-columns:minmax(0,1fr)!important;
  }
  body:has(article.article) article.article .related :is(a,.card,article){
    min-height:0!important;
  }
}


/* Tighten the handoff from page content to the shared footer across all routes. */
footer.iac-footer,.iac-footer{
  margin-top:0!important;
  background:#06182c!important;
  color:#fff7ec!important;
  border-top:4px solid #ff5a1f!important;
}
body:has(#article-grid) main{padding-bottom:0!important}
.iac-footer-brand{color:#fff7ec!important}
.iac-footer a,.iac-footer-site a{color:#22e4ff!important}
.iac-footer-tagline,.iac-footer-copy{color:#b8cce0!important}
.iac-footer-social a{
  background:#0c2a4a!important;color:#22e4ff!important;
  border:2px solid #42617d!important;border-radius:8px!important;
  box-shadow:3px 3px 0 #ff5a1f!important;
}
.iac-footer-social a:hover{
  background:#ffd23f!important;color:#07182b!important;border-color:#07182b!important;
}
.iac-footer-site a:hover,.iac-footer a:hover{color:#ffd23f!important}
.iac-footer-copy{border-top:1px solid #29425b!important}
@media(max-width:600px){footer.iac-footer,.iac-footer{margin-top:0!important}}


/* Final layout fix: remove stacked content-bottom padding and footer top margin.
   This applies to article listing pages and long-form article pages. */
body:has(#article-grid) main#main,
body:has(article.article) main{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
body:has(#article-grid) #main>.wrap{padding-bottom:0!important}
body:has(#article-grid) #pagination{padding-bottom:0!important;margin-bottom:0!important}
body:has(article.article) article.article{margin-bottom:0!important}
footer.iac-footer,.iac-footer{margin-top:0!important}


/* Enforced shared footer theme and pagination separation (2026-10-12).
   Keep this block last so legacy and page-level footer rules cannot override it. */
html body footer.iac-footer,
html body .iac-footer{
  margin-top:0!important;
  background:#ffe3c2!important;
  background-color:#ffe3c2!important;
  color:#07182b!important;
  border-top:4px solid #ff5a1f!important;
  box-shadow:0 -4px 0 #07182b!important;
}
html body footer.iac-footer .iac-footer-brand,
html body footer.iac-footer a,
html body .iac-footer .iac-footer-brand,
html body .iac-footer a{color:#005d7a!important}
html body footer.iac-footer .iac-footer-tagline,
html body footer.iac-footer .iac-footer-copy,
html body .iac-footer .iac-footer-tagline,
html body .iac-footer .iac-footer-copy{color:#3d5f85!important}
html body footer.iac-footer .iac-footer-social a,
html body .iac-footer .iac-footer-social a{
  background:#fff3e0!important;color:#005d7a!important;
  border:2px solid #07182b!important;border-radius:0!important;
  box-shadow:3px 3px 0 #ff5a1f!important;
}
html body footer.iac-footer .iac-footer-social a:hover,
html body .iac-footer .iac-footer-social a:hover{
  background:#ffd23f!important;color:#07182b!important;border-color:#07182b!important;
}
html body footer.iac-footer .iac-footer-copy,
html body .iac-footer .iac-footer-copy{border-top:1px solid #d9b998!important}
body:has(#article-grid) #pagination{padding-bottom:22px!important;margin-bottom:0!important}
body:has(#article-grid) footer.iac-footer{margin-top:0!important}
@media(max-width:600px){body:has(#article-grid) #pagination{padding-bottom:18px!important}}


/* Article template consistency pass: vibrant panels, generous spacing, and clear hierarchy. */
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box){
  box-sizing:border-box!important;
  padding:clamp(22px,3vw,34px)!important;
  margin:32px 0!important;
  border:3px solid #07182b!important;
  border-top:6px solid #ff5a1f!important;
  border-radius:0!important;
  box-shadow:6px 6px 0 #07182b!important;
  color:#07182b!important;
}
body:has(article.article) article.article .sources{
  background:#ffd23f!important;
  border-top-color:#ff5a1f!important;
}
body:has(article.article) article.article .related{
  background:#22e4ff!important;
  border-top-color:#07182b!important;
}
body:has(article.article) article.article .article-toc,
body:has(article.article) article.article .quick-answer{
  background:#b6ff3b!important;
  border-top-color:#07182b!important;
}
body:has(article.article) article.article .key-takeaways,
body:has(article.article) article.article .visual-explainer{
  background:#ff5a1f!important;
  border-top-color:#07182b!important;
}
body:has(article.article) article.article .original-analysis,
body:has(article.article) article.article .note,
body:has(article.article) article.article .share-box{
  background:#fff3e0!important;
  border-top-color:#1f6fff!important;
}
body:has(article.article) article.article .sources p,
body:has(article.article) article.article .related p,
body:has(article.article) article.article .sources li,
body:has(article.article) article.article .related li,
body:has(article.article) article.article .sources h2,
body:has(article.article) article.article .related h2,
body:has(article.article) article.article .sources h3,
body:has(article.article) article.article .related h3{
  color:#07182b!important;
}
body:has(article.article) article.article .sources a,
body:has(article.article) article.article .related a{
  color:#005d7a!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px!important;
}
body:has(article.article) article.article .sources ul,
body:has(article.article) article.article .related ul{
  margin:20px 0 0!important;
  padding-left:1.4em!important;
}
body:has(article.article) article.article .sources li,
body:has(article.article) article.article .related li{
  margin:0 0 10px!important;
  padding-left:3px!important;
}
body:has(article.article) article.article .sources li:last-child,
body:has(article.article) article.article .related li:last-child{margin-bottom:0!important}

/* The footer intentionally uses the site's dark navy with vivid orange/cyan accents. */
html body footer.iac-footer,
html body .iac-footer{
  display:block!important;
  position:relative!important;
  clear:both!important;
  width:100%!important;
  margin-top:44px!important;
  padding:42px 24px 28px!important;
  background:#06182c!important;
  background-color:#06182c!important;
  color:#fff7ec!important;
  border-top:5px solid #ff5a1f!important;
  box-shadow:none!important;
  text-align:center!important;
}
html body footer.iac-footer .iac-footer-brand,
html body footer.iac-footer a,
html body .iac-footer .iac-footer-brand,
html body .iac-footer a{color:#22e4ff!important}
html body footer.iac-footer .iac-footer-tagline,
html body footer.iac-footer .iac-footer-copy,
html body .iac-footer .iac-footer-tagline,
html body .iac-footer .iac-footer-copy{color:#b8cce0!important}
html body footer.iac-footer .iac-footer-social a,
html body .iac-footer .iac-footer-social a{
  background:#0c2a4a!important;
  color:#22e4ff!important;
  border:2px solid #42617d!important;
  border-radius:8px!important;
  box-shadow:3px 3px 0 #ff5a1f!important;
}
html body footer.iac-footer .iac-footer-social a:hover,
html body .iac-footer .iac-footer-social a:hover{
  background:#ffd23f!important;color:#07182b!important;border-color:#ffd23f!important;
}
html body footer.iac-footer .iac-footer-copy,
html body .iac-footer .iac-footer-copy{border-top:1px solid #29425b!important}
@media(max-width:600px){
  body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box){
    padding:20px!important;margin:24px 0!important;box-shadow:4px 4px 0 #07182b!important;
  }
  html body footer.iac-footer,html body .iac-footer{margin-top:32px!important;padding:32px 16px 24px!important}
}


/* Article card refinement: cards should hug their content instead of inheriting oversized panel spacing. */
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box){
  box-sizing:border-box!important;height:auto!important;min-height:0!important;max-height:none!important;
  flex:0 1 auto!important;align-self:stretch!important;
  margin-block:18px!important;padding:clamp(14px,2vw,22px)!important;gap:10px!important;line-height:1.55!important;
}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box) > :first-child{margin-top:0!important}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box) > :last-child{margin-bottom:0!important}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box) :is(p,ul,ol,figure,blockquote){margin-block:8px!important}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box) :is(h2,h3,h4){margin:0 0 8px!important;line-height:1.25!important}
body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box) :is(p,li,span,small,figcaption,strong,em,h2,h3,h4){color:#07182b!important;opacity:1!important}
body:has(article.article) article.article .body :is(p,li,dd,dt,figcaption,small,.muted,.meta){color:#17324d!important;opacity:1!important}
body:has(article.article) article.article :is(.body a,.sources a,.related a,.article-toc a,.author-box a){color:#005d7a!important;font-weight:600!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
body:has(article.article) article.article .body strong{color:#8a2f00!important}
body:has(article.article) article.article .body code{color:#07182b!important;background:#ffd23f!important;padding:2px 5px!important}
body:has(article.article) article.article .body table{color:#07182b!important}
body:has(article.article) article.article .body :is(th,td){color:#07182b!important;border-color:#c6a77f!important}
body:has(article.article) article.article .body th{background:#ffd23f!important}
body:has(article.article) article.article .body tr:nth-child(even) td{background:#fff3e0!important}
@media(max-width:600px){
 body:has(article.article) article.article :is(.author-box,.article-toc,.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.body blockquote,.sources,.related,.reading-time,.share-box){margin-block:14px!important;padding:14px!important}
}

/* Canonical homepage footer: use this exact presentation across all pages. */
html body footer.iac-footer{
  display:block!important;position:relative!important;clear:both!important;width:100%!important;
  margin:64px 0 0!important;padding:42px 24px 28px!important;
  background:#06182c!important;color:#fff7ec!important;border-top:4px solid #ff5a1f!important;
  text-align:center!important;font-family:"Space Grotesk",system-ui,sans-serif!important;
  font-size:14px!important;line-height:1.6!important;box-sizing:border-box!important;
}
html body footer.iac-footer *{box-sizing:border-box!important}
html body footer.iac-footer .iac-footer-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important}
html body footer.iac-footer .iac-footer-brand{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  text-decoration:none!important;color:#fff7ec!important;font-family:"Dela Gothic One",system-ui,sans-serif!important;
  font-weight:900!important;font-size:20px!important;line-height:1.3!important
}
html body footer.iac-footer .iac-footer-brand:first-letter{color:#ff5a1f!important}
html body footer.iac-footer .iac-footer-brand span{font-size:17px!important}
html body footer.iac-footer .iac-footer-tagline{margin:12px 0 22px!important;color:#b8cce0!important}
html body footer.iac-footer nav.iac-footer-social,
html body footer.iac-footer nav.iac-footer-site{
  width:100%!important;max-width:100%!important;display:flex!important;position:static!important;float:none!important;
  justify-content:center!important;align-items:center!important;gap:10px 12px!important;flex-wrap:wrap!important;
  margin:0 auto 18px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;text-align:center!important
}
html body footer.iac-footer nav.iac-footer-site{gap:8px 18px!important;margin-bottom:0!important;font-size:13px!important}
html body footer.iac-footer a{color:#22e4ff!important;text-decoration:none!important}
html body footer.iac-footer a:hover{color:#ffd23f!important;text-decoration:underline!important}
html body footer.iac-footer .iac-footer-social a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;
  border:1px solid #42617d!important;border-radius:8px!important;padding:8px 15px!important;
  background:#0c2540!important;color:#22e4ff!important;font-weight:700!important;white-space:nowrap!important;
  box-shadow:none!important
}
html body footer.iac-footer .iac-footer-social a:hover{background:#163753!important;color:#ffd23f!important;border-color:#ffd23f!important}
html body footer.iac-footer .iac-footer-copy{
  width:100%!important;max-width:1000px!important;margin:22px auto 0!important;padding:18px 0 0!important;
  border-top:1px solid #29425b!important;color:#b8cce0!important;line-height:1.7!important;font-size:12px!important
}
@media(max-width:600px){
  html body footer.iac-footer{margin-top:44px!important;padding:32px 16px 24px!important}
  html body footer.iac-footer .iac-footer-brand{flex-wrap:wrap!important;gap:6px!important}
  html body footer.iac-footer .iac-footer-brand span{font-size:16px!important}
  html body footer.iac-footer nav.iac-footer-social{gap:8px!important}
  html body footer.iac-footer .iac-footer-social a{padding:8px 11px!important}
  html body footer.iac-footer nav.iac-footer-site{gap:10px 14px!important}
}

/* Canonical footer: preserve the exact dark-blue homepage footer on every route. */
html body footer.iac-footer,html body footer.iac-footer *{box-sizing:border-box}
html body footer.iac-footer{display:block!important;position:relative!important;clear:both!important;width:100%!important;margin:64px 0 0!important;padding:42px 24px 28px!important;background:#06182c!important;color:#fff7ec!important;border-top:4px solid #ff5a1f!important;text-align:center!important;font-family:"Space Grotesk",system-ui,sans-serif!important;font-size:14px!important;line-height:1.6!important}
html body footer.iac-footer .iac-footer-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important}
html body footer.iac-footer .iac-footer-brand{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#fff7ec!important;font-family:"Dela Gothic One",system-ui,sans-serif!important;text-decoration:none!important}
html body footer.iac-footer .iac-footer-tagline,html body footer.iac-footer .iac-footer-copy{color:#b8cce0!important}
html body footer.iac-footer nav.iac-footer-social,html body footer.iac-footer nav.iac-footer-site{display:flex!important;position:static!important;float:none!important;width:100%!important;max-width:100%!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:center!important}
html body footer.iac-footer a{color:#22e4ff!important}
html body footer.iac-footer .iac-footer-social a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;background:#0c2540!important;color:#22e4ff!important;border:1px solid #42617d!important;border-radius:8px!important;padding:8px 15px!important;font-weight:700!important}
html body footer.iac-footer .iac-footer-social a:hover,html body footer.iac-footer a:hover{color:#ffd23f!important}
@media(max-width:600px){html body footer.iac-footer{margin-top:44px!important;padding:32px 16px 24px!important}}

/* SHARED ARTICLE CASCADE: apply the approved reading layout to every article after global shell rules. */
/* Shared article style: readable editorial layout with Indian Anime Club colours. */
html body:has(article.article) article.article{
  width:min(1040px,calc(100% - 40px)) !important;
  max-width:1040px !important;
  margin:clamp(28px,5vw,60px) auto 76px !important;
}
html body:has(article.article) article.article .meta{gap:10px 12px !important;margin-bottom:20px !important}
html body:has(article.article) article.article .tag{
  border:1px solid #07182b !important;border-radius:999px !important;padding:7px 13px !important;
  background:#ffd23f !important;color:#07182b !important;font-size:12px !important;letter-spacing:.055em !important;text-transform:uppercase !important
}
html body:has(article.article) article.article h1{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:clamp(38px,5.8vw,68px) !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
  color:#07182b !important;
  text-wrap:balance !important;
  overflow-wrap:normal !important;
}
html body:has(article.article) article.article .dek{
  max-width:68ch !important;margin-top:20px !important;font-size:clamp(18px,2.1vw,21px) !important;
  line-height:1.65 !important;color:#3d5f85 !important
}
html body:has(article.article) article.article .author-box{
  margin:24px 0 28px !important;padding:16px 20px !important;background:#fffaf1 !important;
  border:1px solid rgba(7,24,43,.15) !important;border-left:5px solid #ff5a1f !important;border-radius:0 14px 14px 0 !important;
  box-shadow:0 5px 16px rgba(7,24,43,.05) !important
}
html body:has(article.article) article.article .hero-art{
  min-height:clamp(210px,29vw,300px) !important;margin:28px 0 34px !important;padding:clamp(22px,4vw,38px) !important;
  border:2px solid #07182b !important;border-radius:24px !important;background:#ff5a1f !important;
  box-shadow:7px 7px 0 #07182b !important
}
html body:has(article.article) article.article .hero-art:before{font-size:clamp(170px,28vw,290px) !important;right:-12px !important;top:-58px !important}
html body:has(article.article) article.article .hero-art:after{width:clamp(80px,14vw,135px) !important;height:clamp(80px,14vw,135px) !important}
html body:has(article.article) article.article .hero-art strong{
  max-width:19ch !important;padding:18px 20px !important;border:2px solid #07182b !important;border-radius:14px !important;
  background:#06182c !important;color:#fff7ec !important;box-shadow:5px 5px 0 #ffd23f !important;
  font-size:clamp(20px,3vw,30px) !important;line-height:1.18 !important
}
html body:has(article.article) article.article>.body{
  max-width:800px !important;font-size:18px !important;line-height:1.82 !important;color:#14243a !important
}
html body:has(article.article) article.article .body p{margin:0 0 23px !important}
html body:has(article.article) article.article .body h2{
  margin:44px 0 15px !important;font-size:clamp(26px,3.2vw,34px) !important;line-height:1.16 !important;
  letter-spacing:-.028em !important;color:#07182b !important;scroll-margin-top:100px !important
}
html body:has(article.article) article.article .body h3{margin:30px 0 12px !important;color:#07182b !important;line-height:1.3 !important}
html body:has(article.article) article.article .body ul,
html body:has(article.article) article.article .body ol{padding-left:25px !important;margin:0 0 28px !important}
html body:has(article.article) article.article .body li{padding-left:3px !important;margin:10px 0 !important}
html body:has(article.article) article.article .body strong{color:#8a3c16 !important}
html body:has(article.article) article.article .quick-answer,
html body:has(article.article) article.article .key-takeaways,
html body:has(article.article) article.article .article-toc,
html body:has(article.article) article.article .visual-explainer,
html body:has(article.article) article.article .original-analysis,
html body:has(article.article) article.article .note{
  width:100% !important;max-width:100% !important;margin:28px 0 !important;padding:clamp(18px,3vw,25px) !important;
  border:1px solid rgba(7,24,43,.17) !important;border-radius:18px !important;box-shadow:5px 5px 0 rgba(7,24,43,.10) !important;
  overflow-wrap:anywhere !important
}
html body:has(article.article) article.article .quick-answer{
  background:#fff0cf !important;border-left:6px solid #ff5a1f !important;color:#14243a !important
}
html body:has(article.article) article.article .quick-answer h2{margin:0 0 10px !important;font-size:24px !important}
html body:has(article.article) article.article .quick-answer p:last-child{margin-bottom:0 !important}
html body:has(article.article) article.article .key-takeaways{background:#e9f7ff !important;border-left:6px solid #1685b0 !important}
html body:has(article.article) article.article .key-takeaways h2{margin:0 0 12px !important;color:#07182b !important}
html body:has(article.article) article.article .key-takeaways ul{margin:0 !important}
html body:has(article.article) article.article .article-toc{background:#fffaf1 !important;border-left:6px solid #1685b0 !important}
html body:has(article.article) article.article .article-toc .toc-heading{
  display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;align-items:center !important;gap:5px 14px !important;margin-bottom:14px !important
}
html body:has(article.article) article.article .article-toc .toc-kicker{
  grid-column:1/-1 !important;color:#b8431a !important;font-size:11px !important;font-weight:800 !important;letter-spacing:.12em !important;text-transform:uppercase !important
}
html body:has(article.article) article.article .article-toc h2{margin:0 !important;font-size:25px !important;color:#07182b !important}
html body:has(article.article) article.article .article-toc .toc-count{grid-column:2 !important;grid-row:2 !important;color:#536b86 !important;font-size:12px !important;white-space:nowrap !important}
html body:has(article.article) article.article .article-toc ol{
  display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px 24px !important;margin:0 !important;padding-left:23px !important
}
html body:has(article.article) article.article .article-toc li{min-width:0 !important;margin:0 !important;padding:3px 0 !important;font-size:15px !important;line-height:1.5 !important;overflow-wrap:anywhere !important}
html body:has(article.article) article.article .article-toc li::marker{color:#ff5a1f !important;font-weight:800 !important}
html body:has(article.article) article.article .article-toc a,
html body:has(article.article) article.article .body a,
html body:has(article.article) article.article .sources a,
html body:has(article.article) article.article .related a{color:#006f94 !important;text-decoration-thickness:1px !important;text-underline-offset:3px !important}
html body:has(article.article) article.article .visual-explainer{
  background:#eaf8f5 !important;border-top:4px solid #168b79 !important
}
html body:has(article.article) article.article .visual-explainer .eyebrow{
  margin:0 0 8px !important;color:#087b6b !important;font-size:11px !important;font-weight:800 !important;letter-spacing:.12em !important;text-transform:uppercase !important
}
html body:has(article.article) article.article .visual-explainer h2{margin:0 0 16px !important;font-size:clamp(23px,3vw,29px) !important}
html body:has(article.article) article.article .visual-grid{
  display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important
}
html body:has(article.article) article.article .visual-grid>div{
  display:flex !important;flex-direction:column !important;gap:7px !important;min-width:0 !important;padding:16px !important;
  border:1px solid rgba(7,24,43,.14) !important;border-top:4px solid #ff5a1f !important;border-radius:12px !important;
  background:#fffaf1 !important;overflow-wrap:anywhere !important
}
html body:has(article.article) article.article .visual-grid>div:nth-child(2){border-top-color:#1685b0 !important}
html body:has(article.article) article.article .visual-grid>div:nth-child(3){border-top-color:#168b79 !important}
html body:has(article.article) article.article .visual-grid>div:nth-child(4){border-top-color:#8a62c6 !important}
html body:has(article.article) article.article .visual-grid b{color:#07182b !important;font-size:16px !important;line-height:1.35 !important}
html body:has(article.article) article.article .visual-grid span{color:#3d5f85 !important;font-size:15px !important;line-height:1.55 !important}
html body:has(article.article) article.article .sources,
html body:has(article.article) article.article .related{
  margin:48px 0 0 !important;padding:24px 0 0 !important;border-top:2px solid rgba(7,24,43,.18) !important
}
html body:has(article.article) article.article .sources h2,
html body:has(article.article) article.article .related h2{margin:0 0 15px !important;font-size:clamp(24px,3vw,30px) !important}
html body:has(article.article) article.article .sources p{color:#3d5f85 !important}
html body:has(article.article) article.article .sources ul{padding-left:23px !important}
html body:has(article.article) article.article .related ul{
  display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;
  margin:0 !important;padding:0 !important;list-style:none !important
}
html body:has(article.article) article.article .related li{
  min-width:0 !important;margin:0 !important;padding:18px !important;border:1px solid rgba(7,24,43,.17) !important;
  border-radius:14px !important;background:#fffaf1 !important;box-shadow:4px 4px 0 rgba(7,24,43,.09) !important;
  overflow-wrap:anywhere !important
}
html body:has(article.article) article.article .related a{font-weight:800 !important;line-height:1.5 !important}
html body:has(article.article) article.article .back{
  display:inline-flex !important;align-items:center !important;gap:8px !important;margin-top:34px !important;padding:12px 18px !important;
  border:2px solid #07182b !important;border-radius:999px !important;background:#06182c !important;color:#fff7ec !important
}
@media(max-width:640px){
  html body:has(article.article) article.article{width:calc(100% - 32px) !important;margin-top:28px !important}
  html body:has(article.article) article.article h1{font-size:clamp(35px,10vw,48px) !important;line-height:1.06 !important}
  html body:has(article.article) article.article>.body{font-size:17px !important;line-height:1.78 !important}
  html body:has(article.article) article.article .article-toc ol,
  html body:has(article.article) article.article .visual-grid,
  html body:has(article.article) article.article .related ul{grid-template-columns:minmax(0,1fr) !important}
  html body:has(article.article) article.article .article-toc .toc-heading{grid-template-columns:minmax(0,1fr) !important}
  html body:has(article.article) article.article .article-toc .toc-count{grid-column:1 !important;grid-row:auto !important}
  html body:has(article.article) article.article .hero-art{min-height:200px !important;box-shadow:5px 5px 0 #07182b !important}
  html body:has(article.article) article.article .hero-art strong{max-width:100% !important}
}
html body:has(article.article) article.article .original-analysis{
  background:#fff0e8 !important;border-top:4px solid #ff5a1f !important
}
html body:has(article.article) article.article .original-analysis .eyebrow{
  margin:0 0 8px !important;color:#b8431a !important;font-size:11px !important;font-weight:800 !important;letter-spacing:.12em !important;text-transform:uppercase !important
}
html body:has(article.article) article.article .original-analysis h2{margin:0 0 12px !important}
html body:has(article.article) article.article .original-analysis p:last-child{margin-bottom:0 !important}
html body:has(article.article) article.article .note{
  background:#e7f7ff !important;border-left:6px solid #1685b0 !important;color:#14243a !important
}
html body:has(article.article) article.article .note strong{color:#075b7b !important}
@media(prefers-reduced-motion:reduce){
  html body:has(article.article) article.article *{scroll-behavior:auto !important}
}


/* ACCESSIBLE ARTICLE CARD PALETTE: consistent, calm, readable colours for every article. */
/* Each component keeps one semantic colour across every article. Light fills protect text contrast. */
html body:has(article.article) article.article .author-box,
html body:has(article.article) article.article .body .quick-answer,
html body:has(article.article) article.article .body .key-takeaways,
html body:has(article.article) article.article .body .article-toc,
html body:has(article.article) article.article .body .visual-explainer,
html body:has(article.article) article.article .body .original-analysis,
html body:has(article.article) article.article .body .note,
html body:has(article.article) article.article .body .sources,
html body:has(article.article) article.article .body .related {
  box-sizing:border-box !important;
  border:1px solid rgba(7,24,43,.12) !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(7,24,43,.055) !important;
  color:#14243a !important;
}
html body:has(article.article) article.article .author-box {
  background:#fffaf2 !important;
  border-left:5px solid #ff5a1f !important;
  border-radius:0 16px 16px 0 !important;
}
html body:has(article.article) article.article .body .quick-answer {
  background:#fff1df !important;
  border-left:6px solid #e85b25 !important;
}
html body:has(article.article) article.article .body .key-takeaways {
  background:#eaf4ff !important;
  border-left:6px solid #2776b8 !important;
}
html body:has(article.article) article.article .body .article-toc {
  background:#f0efff !important;
  border-left:6px solid #6b5bb5 !important;
}
html body:has(article.article) article.article .body .visual-explainer {
  background:#e8f6ef !important;
  border-top:4px solid #21856e !important;
}
html body:has(article.article) article.article .body .original-analysis {
  background:#fff0e8 !important;
  border-top:4px solid #e85b25 !important;
}
html body:has(article.article) article.article .body .note {
  background:#e8f6fc !important;
  border-left:6px solid #1683a5 !important;
}
html body:has(article.article) article.article .body .sources {
  background:#fff6d9 !important;
  border-top:4px solid #db9b1d !important;
}
html body:has(article.article) article.article .body .related {
  background:#e8f7fa !important;
  border-top:4px solid #1683a5 !important;
}
html body:has(article.article) article.article .body :is(.quick-answer,.key-takeaways,.article-toc,.visual-explainer,.original-analysis,.note,.sources,.related) :is(p,li,span,strong,em,small,figcaption,h2,h3,h4) {
  color:#14243a !important;
  opacity:1 !important;
}
html body:has(article.article) article.article .body :is(.quick-answer,.key-takeaways,.article-toc,.visual-explainer,.original-analysis,.note,.sources,.related) :is(h2,h3,h4) {
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-weight:750 !important;
  letter-spacing:-.02em !important;
}
html body:has(article.article) article.article .body .quick-answer h2 { color:#873b18 !important; }
html body:has(article.article) article.article .body .key-takeaways h2 { color:#15558a !important; }
html body:has(article.article) article.article .body .article-toc h2 { color:#4e428e !important; }
html body:has(article.article) article.article .body .visual-explainer h2 { color:#14664f !important; }
html body:has(article.article) article.article .body .original-analysis h2 { color:#873b18 !important; }
html body:has(article.article) article.article .body .note strong { color:#075b7b !important; }
html body:has(article.article) article.article .body :is(.quick-answer,.key-takeaways,.article-toc,.visual-explainer,.original-analysis,.note,.sources,.related) a {
  color:#075f7b !important;
  text-decoration-thickness:1.5px !important;
  text-underline-offset:3px !important;
  font-weight:650 !important;
}
html body:has(article.article) article.article .body .article-toc .toc-kicker { color:#4e428e !important; }
html body:has(article.article) article.article .body .article-toc .toc-count { color:#455875 !important; }
html body:has(article.article) article.article .body .article-toc li::marker { color:#6b5bb5 !important; }
html body:has(article.article) article.article .body .visual-grid { gap:12px !important; }
html body:has(article.article) article.article .body .visual-grid>div {
  min-width:0 !important;
  background:#fffdf8 !important;
  border:1px solid rgba(7,24,43,.13) !important;
  border-top:4px solid #e85b25 !important;
  border-radius:13px !important;
  box-shadow:0 3px 10px rgba(7,24,43,.045) !important;
  padding:16px !important;
}
html body:has(article.article) article.article .body .visual-grid>div:nth-child(2) { border-top-color:#2776b8 !important; }
html body:has(article.article) article.article .body .visual-grid>div:nth-child(3) { border-top-color:#21856e !important; }
html body:has(article.article) article.article .body .visual-grid>div:nth-child(4) { border-top-color:#6b5bb5 !important; }
html body:has(article.article) article.article .body .visual-grid b { color:#14243a !important; font-weight:750 !important; }
html body:has(article.article) article.article .body .visual-grid span { color:#405a72 !important; }
html body:has(article.article) article.article .body .related ul { gap:12px !important; }
html body:has(article.article) article.article .body .related li {
  background:#fffdf8 !important;
  border:1px solid rgba(7,24,43,.12) !important;
  border-radius:13px !important;
  box-shadow:0 3px 12px rgba(7,24,43,.05) !important;
  padding:16px !important;
}
html body:has(article.article) article.article .body .related li:hover {
  border-color:#1683a5 !important;
  box-shadow:0 7px 18px rgba(7,24,43,.09) !important;
}
html body:has(article.article) article.article .body .sources li { margin-bottom:10px !important; }
html body:has(article.article) article.article .body .sources li:last-child { margin-bottom:0 !important; }
@media(max-width:640px) {
  html body:has(article.article) article.article .author-box,
  html body:has(article.article) article.article .body :is(.quick-answer,.key-takeaways,.article-toc,.visual-explainer,.original-analysis,.note,.sources,.related) {
    border-radius:14px !important;
    box-shadow:0 4px 14px rgba(7,24,43,.045) !important;
    padding:16px !important;
  }
  html body:has(article.article) article.article .author-box { border-radius:0 14px 14px 0 !important; }
}
@media(prefers-reduced-motion:reduce) {
  html body:has(article.article) article.article .body .related li { transition:none !important; }
}


/* COMPACT KEEP-READING CARDS: prevent long article titles from escaping their cards. */
html body:has(article.article) article.article .body .related {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  padding:16px !important;
  overflow:visible !important;
}
html body:has(article.article) article.article .body .related h2 {
  margin:0 0 12px !important;
}
html body:has(article.article) article.article .body .related ul {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  grid-auto-rows:min-content !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
html body:has(article.article) article.article .body .related li {
  display:block !important;
  box-sizing:border-box !important;
  align-self:start !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:10px 12px !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  white-space:normal !important;
  border-radius:12px !important;
  box-shadow:0 2px 8px rgba(7,24,43,.045) !important;
}
html body:has(article.article) article.article .body .related li a {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  hyphens:auto !important;
  text-overflow:clip !important;
  overflow:visible !important;
  font-size:14px !important;
  line-height:1.38 !important;
  font-weight:700 !important;
}
html body:has(article.article) article.article .body .related li :is(span,strong,em) {
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .body :is(.note,.sources,.related) {
  max-width:100% !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .body .sources :is(ul,li,a) {
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
@media(max-width:640px) {
  html body:has(article.article) article.article .body .related {
    padding:14px !important;
  }
  html body:has(article.article) article.article .body .related ul {
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }
  html body:has(article.article) article.article .body .related li {
    padding:10px 11px !important;
  }
}



/* COMPACT LIGHT END MATTER: keep sources and related links compact on every article. */
html body:has(article.article) article.article .body .sources,
html body:has(article.article) article.article .body .related {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:28px 0 0 !important;
  padding:12px 14px !important;
  background:#fffdf8 !important;
  color:#24364a !important;
  border:1px solid #e7e0d5 !important;
  border-top:3px solid #c7dadd !important;
  border-radius:12px !important;
  box-shadow:none !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .body .sources h2,
html body:has(article.article) article.article .body .related h2 {
  margin:0 0 7px !important;
  font-size:19px !important;
  line-height:1.25 !important;
  letter-spacing:-.015em !important;
  color:#24364a !important;
}
html body:has(article.article) article.article .body .sources p {
  margin:5px 0 8px !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#64748b !important;
}
html body:has(article.article) article.article .body .sources ul {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:4px !important;
  margin:5px 0 0 !important;
  padding-left:17px !important;
}
html body:has(article.article) article.article .body .sources li {
  margin:0 !important;
  padding:2px 0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#536273 !important;
}
html body:has(article.article) article.article .body .sources a,
html body:has(article.article) article.article .body .related a {
  color:#176b7a !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  text-decoration-thickness:1px !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .body .related ul {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:7px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
html body:has(article.article) article.article .body .related li {
  display:block !important;
  box-sizing:border-box !important;
  align-self:start !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px 9px !important;
  background:#f7fbfb !important;
  border:1px solid #e0e9e8 !important;
  border-radius:8px !important;
  box-shadow:none !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
html body:has(article.article) article.article .body .related li a {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  hyphens:auto !important;
  text-overflow:clip !important;
  overflow:visible !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
}
@media(max-width:640px) {
  html body:has(article.article) article.article .body .sources,
  html body:has(article.article) article.article .body .related {
    margin-top:22px !important;
    padding:11px 12px !important;
    border-radius:10px !important;
  }
  html body:has(article.article) article.article .body .related ul {
    grid-template-columns:minmax(0,1fr) !important;
    gap:6px !important;
  }
  html body:has(article.article) article.article .body .related li { padding:7px 9px !important; }
}

/* Information pages: a clear, lightweight editorial layout consistent with the IAC palette. */
html body:has(main.info-page) main.info-page .page-hero.info-hero {
  position:relative;
  overflow:hidden;
  padding:clamp(48px,7vw,78px) 0 42px;
  background:linear-gradient(115deg,#fff3e0 0%,#fffaf1 60%,#e7f7fb 100%);
  border-bottom:1px solid #eadac5;
}
html body:has(main.info-page) main.info-page .info-hero .wrap { max-width:1120px; }
html body:has(main.info-page) main.info-page .info-hero .eyebrow {
  display:inline-block;
  margin:0 0 13px !important;
  color:#a84420 !important;
  font-size:11px !important;
  font-weight:850 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
}
html body:has(main.info-page) main.info-page .info-hero h1 {
  max-width:980px;
  margin:0 0 17px;
  color:#07182b !important;
  font-size:clamp(38px,6vw,68px);
  line-height:1.04;
  letter-spacing:-.045em;
  text-wrap:balance;
}
html body:has(main.info-page) main.info-page .info-hero .info-deck {
  max-width:780px;
  margin:0;
  color:#425b72 !important;
  font-size:clamp(17px,2vw,20px);
  line-height:1.7;
}
html body:has(main.info-page) main.info-page .info-updated {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:20px 0 0;
  padding:6px 10px;
  color:#536b7b !important;
  background:rgba(255,255,255,.66);
  border:1px solid #e3d9ca;
  border-radius:999px;
  font-size:12px;
  line-height:1.3;
}
html body:has(main.info-page) main.info-page .info-content {
  padding:36px 0 76px;
  background:#fffdf8;
}
html body:has(main.info-page) main.info-page .info-layout {
  display:grid;
  grid-template-columns:minmax(210px,265px) minmax(0,1fr);
  align-items:start;
  gap:clamp(22px,4vw,42px);
  max-width:1120px;
}
html body:has(main.info-page) main.info-page .info-sidecard {
  position:sticky;
  top:90px;
  box-sizing:border-box;
  min-width:0;
  padding:20px;
  background:#edf7fa;
  border:1px solid #d8e9ed;
  border-top:4px solid #1685a5;
  border-radius:14px;
  color:#24394d;
}
html body:has(main.info-page) main.info-page .info-sidecard .side-kicker {
  margin:0 0 8px;
  color:#176b7a;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
html body:has(main.info-page) main.info-page .info-sidecard h2 {
  margin:0 0 9px;
  color:#102b42;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.025em;
}
html body:has(main.info-page) main.info-page .info-sidecard p,
html body:has(main.info-page) main.info-page .info-sidecard li {
  color:#496174 !important;
  font-size:14px;
  line-height:1.6;
}
html body:has(main.info-page) main.info-page .info-sidecard p { margin:0 0 12px; }
html body:has(main.info-page) main.info-page .info-sidecard ul { margin:8px 0 0; padding-left:19px; }
html body:has(main.info-page) main.info-page .info-sidecard li { margin:6px 0; }
html body:has(main.info-page) main.info-page .info-sidecard a {
  color:#075f7b !important;
  font-weight:750;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
html body:has(main.info-page) main.info-page .info-prose {
  width:100%;
  max-width:none;
  min-width:0;
  color:#27384a;
}
html body:has(main.info-page) main.info-page .info-prose h2 {
  margin:31px 0 11px;
  padding-top:20px;
  border-top:1px solid #eee5d8;
  color:#102b42 !important;
  font-size:clamp(22px,2.5vw,28px);
  line-height:1.2;
  letter-spacing:-.03em;
}
html body:has(main.info-page) main.info-page .info-prose h2:first-child { margin-top:0; padding-top:0; border-top:0; }
html body:has(main.info-page) main.info-page .info-prose h3 {
  margin:21px 0 7px;
  color:#102b42 !important;
  font-size:18px;
  line-height:1.3;
}
html body:has(main.info-page) main.info-page .info-prose p,
html body:has(main.info-page) main.info-page .info-prose li {
  color:#42566a !important;
  font-size:16px;
  line-height:1.78;
}
html body:has(main.info-page) main.info-page .info-prose p { margin:0 0 16px; }
html body:has(main.info-page) main.info-page .info-prose li { margin:7px 0; }
html body:has(main.info-page) main.info-page .info-prose ul,
html body:has(main.info-page) main.info-page .info-prose ol { padding-left:22px; margin:0 0 18px; }
html body:has(main.info-page) main.info-page .info-prose strong { color:#19344a !important; }
html body:has(main.info-page) main.info-page .info-prose a {
  color:#006d89 !important;
  font-weight:700;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
html body:has(main.info-page) main.info-page .info-callout {
  margin:22px 0;
  padding:15px 17px;
  background:#fff4d9;
  border-left:4px solid #df9f25;
  border-radius:0 10px 10px 0;
  color:#48596a;
}
html body:has(main.info-page) main.info-page .info-callout strong { color:#684b13 !important; }
html body:has(main.info-page) main.info-page .info-card-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin:15px 0 23px;
}
html body:has(main.info-page) main.info-page .info-card {
  min-width:0;
  padding:15px;
  background:#fffaf2;
  border:1px solid #e8dfd2;
  border-radius:12px;
}
html body:has(main.info-page) main.info-page .info-card .info-number {
  display:inline-block;
  margin:0 0 8px;
  color:#a84420;
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
}
html body:has(main.info-page) main.info-page .info-card h3 {
  margin:0 0 7px;
  color:#102b42 !important;
  font-size:17px;
}
html body:has(main.info-page) main.info-page .info-card p {
  margin:0;
  color:#536678 !important;
  font-size:14px;
  line-height:1.6;
}
@media(max-width:760px) {
  html body:has(main.info-page) main.info-page .info-hero.info-hero { padding:44px 0 30px; }
  html body:has(main.info-page) main.info-page .info-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  html body:has(main.info-page) main.info-page .info-sidecard { position:static; }
  html body:has(main.info-page) main.info-page .info-content { padding:24px 0 52px; }
}
@media(max-width:520px) {
  html body:has(main.info-page) main.info-page .info-card-grid { grid-template-columns:minmax(0,1fr); }
  html body:has(main.info-page) main.info-page .info-sidecard { padding:16px; }
  html body:has(main.info-page) main.info-page .info-prose p,
  html body:has(main.info-page) main.info-page .info-prose li { font-size:15.5px; }
}


/* ARTICLE REDESIGN: match the light editorial style used on the information pages. */
html body:has(article.article) {
  background:#fffdf8 !important;
  color:#27384a !important;
}
html body:has(article.article) main.wrap {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fffdf8 !important;
}
html body:has(article.article) article.article {
  display:block !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fffdf8 !important;
  color:#27384a !important;
  overflow-wrap:anywhere !important;
}

/* Full-width article masthead, using the same cream gradient as About and Policy pages. */
html body:has(article.article) article.article > .article-hero {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:clamp(40px,6vw,72px) 0 34px !important;
  background:linear-gradient(115deg,#fff3e0 0%,#fffaf1 58%,#e7f7fb 100%) !important;
  border-bottom:1px solid #eadac5 !important;
}
html body:has(article.article) article.article > .article-hero > .meta,
html body:has(article.article) article.article > .article-hero > h1,
html body:has(article.article) article.article > .article-hero > .dek,
html body:has(article.article) article.article > .article-hero > .author-box,
html body:has(article.article) article.article > .article-hero > .hero-art {
  box-sizing:border-box !important;
  width:min(1120px,calc(100% - 40px)) !important;
  max-width:1120px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body:has(article.article) article.article > .article-hero > .meta {
  display:flex !important;
  align-items:center !important;
  gap:9px 12px !important;
  margin-top:0 !important;
  margin-bottom:19px !important;
}
html body:has(article.article) article.article > .article-hero .tag {
  padding:6px 11px !important;
  border:1px solid #e7d3b7 !important;
  border-radius:999px !important;
  background:#fffaf2 !important;
  color:#8e4728 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}
html body:has(article.article) article.article > .article-hero .meta .date,
html body:has(article.article) article.article > .article-hero .meta span:last-child {
  color:#657789 !important;
  font-size:13px !important;
}
html body:has(article.article) article.article > .article-hero > h1 {
  display:block !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:0 !important;
  color:#07182b !important;
  font-family:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif !important;
  font-size:clamp(39px,6vw,70px) !important;
  font-weight:800 !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance !important;
  overflow-wrap:normal !important;
}
html body:has(article.article) article.article > .article-hero > .dek {
  max-width:780px !important;
  margin-top:19px !important;
  margin-bottom:0 !important;
  color:#425b72 !important;
  font-size:clamp(17px,2vw,20px) !important;
  line-height:1.7 !important;
}
html body:has(article.article) article.article > .article-hero > .author-box {
  display:flex !important;
  align-items:flex-start !important;
  gap:7px 14px !important;
  margin-top:22px !important;
  margin-bottom:0 !important;
  padding:13px 16px !important;
  background:#edf7fa !important;
  border:1px solid #d8e9ed !important;
  border-left:4px solid #1685a5 !important;
  border-radius:0 11px 11px 0 !important;
  box-shadow:none !important;
  color:#24394d !important;
}
html body:has(article.article) article.article > .article-hero .author-box strong {
  color:#19344a !important;
  font-size:14px !important;
}
html body:has(article.article) article.article > .article-hero .author-box span {
  color:#536b7b !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
html body:has(article.article) article.article > .article-hero .author-box a {
  color:#075f7b !important;
  font-weight:750 !important;
}
html body:has(article.article) article.article > .article-hero > .hero-art {
  position:relative !important;
  isolation:isolate !important;
  display:flex !important;
  align-items:flex-end !important;
  min-height:clamp(150px,20vw,220px) !important;
  margin-top:22px !important;
  margin-bottom:0 !important;
  padding:clamp(16px,3vw,27px) !important;
  background:linear-gradient(115deg,#fff4d9 0%,#f4f9f8 100%) !important;
  border:1px solid #e5d8c4 !important;
  border-radius:14px !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
html body:has(article.article) article.article > .article-hero > .hero-art:before {
  z-index:0 !important;
  top:-48px !important;
  right:0 !important;
  color:#f0dfc4 !important;
  opacity:.78 !important;
  font-size:clamp(130px,25vw,250px) !important;
}
html body:has(article.article) article.article > .article-hero > .hero-art:after {
  z-index:0 !important;
  width:clamp(65px,10vw,110px) !important;
  height:clamp(65px,10vw,110px) !important;
  top:16px !important;
  right:9% !important;
  background:#dceff1 !important;
  opacity:.9 !important;
}
html body:has(article.article) article.article > .article-hero > .hero-art strong {
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  max-width:min(720px,100%) !important;
  margin:0 !important;
  padding:14px 17px !important;
  color:#102b42 !important;
  background:rgba(255,253,248,.94) !important;
  border:1px solid #e3d9ca !important;
  border-radius:10px !important;
  box-shadow:0 2px 8px rgba(7,24,43,.04) !important;
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  font-size:clamp(17px,2.3vw,24px) !important;
  font-weight:750 !important;
  line-height:1.3 !important;
}

/* Main article area: quiet reading column alongside a pale, sticky guide rail. */
html body:has(article.article) article.article > .body {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fffdf8 !important;
  color:#27384a !important;
  font-family:"DM Sans","Segoe UI",system-ui,sans-serif !important;
  font-size:16.5px !important;
  line-height:1.8 !important;
}
html body:has(article.article) article.article .article-reading-layout {
  display:grid !important;
  grid-template-columns:minmax(225px,265px) minmax(0,780px) !important;
  align-items:start !important;
  justify-content:center !important;
  gap:clamp(22px,3.8vw,42px) !important;
  width:min(1120px,calc(100% - 40px)) !important;
  max-width:1120px !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:36px 0 76px !important;
}
html body:has(article.article) article.article .article-sidebar {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:12px !important;
  position:sticky !important;
  top:90px !important;
  align-self:start !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}
html body:has(article.article) article.article .article-sidebar > :is(.quick-answer,.key-takeaways,.article-toc) {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:20px !important;
  border:1px solid #d8e9ed !important;
  border-top:4px solid #1685a5 !important;
  border-radius:14px !important;
  background:#edf7fa !important;
  color:#42566a !important;
  box-shadow:none !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-sidebar .quick-answer {
  background:#fff4d9 !important;
  border-color:#eadfc6 !important;
  border-top-color:#df9f25 !important;
}
html body:has(article.article) article.article .article-sidebar .key-takeaways {
  background:#fffaf2 !important;
  border-color:#e8dfd2 !important;
  border-top-color:#e2a04c !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc {
  background:#edf7fa !important;
  border-color:#d8e9ed !important;
  border-top-color:#1685a5 !important;
}
html body:has(article.article) article.article .article-sidebar :is(.quick-answer,.key-takeaways,.article-toc) h2 {
  margin:0 0 9px !important;
  padding:0 !important;
  border:0 !important;
  color:#102b42 !important;
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:-.025em !important;
}
html body:has(article.article) article.article .article-sidebar .quick-answer p,
html body:has(article.article) article.article .article-sidebar .key-takeaways li {
  margin:0 0 8px !important;
  color:#496174 !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
}
html body:has(article.article) article.article .article-sidebar .quick-answer p:last-child,
html body:has(article.article) article.article .article-sidebar .key-takeaways li:last-child {
  margin-bottom:0 !important;
}
html body:has(article.article) article.article .article-sidebar .key-takeaways ul {
  margin:0 !important;
  padding-left:18px !important;
}
html body:has(article.article) article.article .article-sidebar .key-takeaways li { padding-left:1px !important; }
html body:has(article.article) article.article .article-sidebar .article-toc .toc-heading {
  display:block !important;
  margin:0 0 10px !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc .toc-kicker {
  display:block !important;
  margin:0 0 6px !important;
  color:#176b7a !important;
  font-size:10px !important;
  font-weight:850 !important;
  letter-spacing:.14em !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc h2 { margin-bottom:0 !important; }
html body:has(article.article) article.article .article-sidebar .article-toc .toc-count {
  display:block !important;
  margin:5px 0 0 !important;
  color:#617889 !important;
  font-size:11px !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc ol {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
  margin:0 !important;
  padding-left:19px !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc li {
  min-width:0 !important;
  margin:6px 0 !important;
  padding:0 !important;
  color:#496174 !important;
  font-size:14px !important;
  line-height:1.6 !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-sidebar .article-toc li::marker { color:#1685a5 !important; }
html body:has(article.article) article.article .article-sidebar .article-toc a {
  color:#075f7b !important;
  font-weight:650 !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:2px !important;
}
html body:has(article.article) article.article .article-prose {
  display:block !important;
  width:100% !important;
  max-width:780px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:#42566a !important;
  font-size:16.5px !important;
  line-height:1.82 !important;
}
html body:has(article.article) article.article .article-prose > section:not(.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.sources,.related) {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#42566a !important;
}
html body:has(article.article) article.article .article-prose > section:not(.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.sources,.related) > h2 {
  margin:27px 0 10px !important;
  padding:18px 0 0 !important;
  border-top:1px solid #eee5d8 !important;
  color:#102b42 !important;
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-size:clamp(22px,2.4vw,27px) !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
}
html body:has(article.article) article.article .article-prose > section:not(.quick-answer,.key-takeaways,.visual-explainer,.original-analysis,.note,.sources,.related) > h2:first-child {
  margin-top:0 !important;
}
html body:has(article.article) article.article .article-prose :is(p,li) {
  color:#42566a !important;
  font-size:16.5px !important;
  line-height:1.82 !important;
}
html body:has(article.article) article.article .article-prose p { margin:0 0 16px !important; }
html body:has(article.article) article.article .article-prose li { margin:7px 0 !important; }
html body:has(article.article) article.article .article-prose :is(ul,ol) { margin:0 0 20px !important; padding-left:22px !important; }
html body:has(article.article) article.article .article-prose strong { color:#19344a !important; }
html body:has(article.article) article.article .article-prose a {
  color:#006d89 !important;
  font-weight:700 !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-prose blockquote {
  margin:22px 0 !important;
  padding:15px 18px !important;
  border:0 !important;
  border-left:4px solid #1685a5 !important;
  border-radius:0 10px 10px 0 !important;
  background:#edf7fa !important;
  color:#42566a !important;
}
html body:has(article.article) article.article .article-prose > .visual-explainer,
html body:has(article.article) article.article .article-prose > .original-analysis,
html body:has(article.article) article.article .article-prose > .note {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:25px 0 !important;
  padding:18px !important;
  border:1px solid #e8dfd2 !important;
  border-top:4px solid #1685a5 !important;
  border-radius:12px !important;
  background:#edf7fa !important;
  box-shadow:none !important;
  color:#42566a !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-prose > .visual-explainer { background:#edf7f2 !important; border-color:#dce9e0 !important; border-top-color:#3b8c78 !important; }
html body:has(article.article) article.article .article-prose > .original-analysis { background:#fffaf2 !important; border-color:#e8dfd2 !important; border-top-color:#e2a04c !important; }
html body:has(article.article) article.article .article-prose > .note { background:#edf7fa !important; border-color:#d8e9ed !important; border-top-color:#1685a5 !important; }
html body:has(article.article) article.article .article-prose > :is(.visual-explainer,.original-analysis,.note) h2 {
  margin:0 0 11px !important;
  padding:0 !important;
  border:0 !important;
  color:#102b42 !important;
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-size:21px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}
html body:has(article.article) article.article .article-prose .eyebrow {
  margin:0 0 7px !important;
  color:#176b7a !important;
  font-size:10px !important;
  font-weight:850 !important;
  letter-spacing:.14em !important;
}
html body:has(article.article) article.article .article-prose .visual-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
html body:has(article.article) article.article .article-prose .visual-grid > div {
  box-sizing:border-box !important;
  min-width:0 !important;
  padding:13px !important;
  border:1px solid #e0e9e3 !important;
  border-radius:10px !important;
  border-top:3px solid #e2a04c !important;
  background:#fffdf8 !important;
  box-shadow:none !important;
}
html body:has(article.article) article.article .article-prose .visual-grid > div:nth-child(2) { border-top-color:#1685a5 !important; }
html body:has(article.article) article.article .article-prose .visual-grid > div:nth-child(3) { border-top-color:#3b8c78 !important; }
html body:has(article.article) article.article .article-prose .visual-grid > div:nth-child(4) { border-top-color:#8976bf !important; }
html body:has(article.article) article.article .article-prose .visual-grid b {
  color:#19344a !important;
  font-size:14.5px !important;
  line-height:1.4 !important;
}
html body:has(article.article) article.article .article-prose .visual-grid span {
  color:#536678 !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
}
html body:has(article.article) article.article .article-prose .topic-diagram-svg { display:block !important; width:100% !important; max-width:100% !important; height:auto !important; }
html body:has(article.article) article.article .article-prose > .sources,
html body:has(article.article) article.article .article-prose > .related {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:24px 0 0 !important;
  padding:13px 14px !important;
  background:#fffaf2 !important;
  border:1px solid #e8dfd2 !important;
  border-top:3px solid #d8bb87 !important;
  border-radius:11px !important;
  box-shadow:none !important;
  color:#42566a !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-prose > .related { background:#f4f9f8 !important; border-color:#dce9e6 !important; border-top-color:#8cb9b3 !important; }
html body:has(article.article) article.article .article-prose > :is(.sources,.related) h2 {
  margin:0 0 7px !important;
  padding:0 !important;
  border:0 !important;
  color:#102b42 !important;
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-size:19px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
html body:has(article.article) article.article .article-prose .sources p {
  margin:5px 0 8px !important;
  color:#647789 !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
html body:has(article.article) article.article .article-prose .sources ul {
  display:block !important;
  margin:5px 0 0 !important;
  padding-left:17px !important;
}
html body:has(article.article) article.article .article-prose .sources li {
  margin:3px 0 !important;
  color:#536678 !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
html body:has(article.article) article.article .article-prose .related ul {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
html body:has(article.article) article.article .article-prose .related li {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px 9px !important;
  background:#fffdf8 !important;
  border:1px solid #e2ebe8 !important;
  border-radius:8px !important;
  box-shadow:none !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-prose .related a {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:#176b7a !important;
  font-size:12.5px !important;
  line-height:1.38 !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
@media(max-width:760px) {
  html body:has(article.article) article.article > .article-hero { padding:42px 0 25px !important; }
  html body:has(article.article) article.article > .article-hero > :is(.meta,h1,.dek,.author-box,.hero-art) { width:calc(100% - 30px) !important; }
  html body:has(article.article) article.article > .article-hero > h1 { font-size:clamp(36px,9vw,52px) !important; line-height:1.07 !important; }
  html body:has(article.article) article.article > .article-hero > .hero-art { min-height:150px !important; padding:13px !important; }
  html body:has(article.article) article.article .article-reading-layout {
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
    width:calc(100% - 30px) !important;
    padding:25px 0 50px !important;
  }
  html body:has(article.article) article.article .article-sidebar {
    position:static !important;
    max-height:none !important;
    overflow:visible !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
  }
  html body:has(article.article) article.article .article-sidebar > :is(.quick-answer,.key-takeaways,.article-toc) { padding:16px !important; }
  html body:has(article.article) article.article .article-prose { max-width:none !important; font-size:15.5px !important; line-height:1.78 !important; }
  html body:has(article.article) article.article .article-prose :is(p,li) { font-size:15.5px !important; line-height:1.78 !important; }
  html body:has(article.article) article.article .article-prose .visual-grid { grid-template-columns:minmax(0,1fr) !important; }
  html body:has(article.article) article.article .article-prose .related ul { grid-template-columns:minmax(0,1fr) !important; }
}


/* APPROVED ARTICLE LAYOUT
   Keep the TOC as the only left-side card. Quick Answer and Key Takeaways stay
   in the main reading column as light editorial callouts. */
html body:has(article.article) article.article .article-prose > :is(.quick-answer,.key-takeaways) {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 0 20px !important;
  padding:18px 20px !important;
  border:1px solid #e8dfd2 !important;
  border-left:4px solid #df9f25 !important;
  border-radius:0 12px 12px 0 !important;
  background:#fff4d9 !important;
  box-shadow:none !important;
  color:#42566a !important;
  overflow-wrap:anywhere !important;
}
html body:has(article.article) article.article .article-prose > .key-takeaways {
  border-color:#e8dfd2 !important;
  border-left-color:#e2a04c !important;
  background:#fffaf2 !important;
}
html body:has(article.article) article.article .article-prose > :is(.quick-answer,.key-takeaways) > h2 {
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  color:#102b42 !important;
  font-family:"Space Grotesk","Segoe UI",system-ui,sans-serif !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:-.025em !important;
}
html body:has(article.article) article.article .article-prose > :is(.quick-answer,.key-takeaways) p,
html body:has(article.article) article.article .article-prose > .key-takeaways li {
  color:#496174 !important;
  font-size:15px !important;
  line-height:1.7 !important;
}
html body:has(article.article) article.article .article-prose > :is(.quick-answer,.key-takeaways) p:last-child {
  margin-bottom:0 !important;
}
html body:has(article.article) article.article .article-prose > .key-takeaways ul {
  margin:0 !important;
  padding-left:21px !important;
}
html body:has(article.article) article.article .article-prose > .key-takeaways li {
  margin:6px 0 !important;
}
@media(max-width:760px) {
  html body:has(article.article) article.article .article-prose > :is(.quick-answer,.key-takeaways) {
    padding:15px !important;
  }
}
