/*
 * THE TATHYA ARTICLE FRONTEND — 5.2.86
 * Isolated article-page redesign.
 * This stylesheet is loaded ONLY by article.php.
 */

:root{
  --tt-gutter:clamp(20px,4.5vw,72px);
  --tt-narrow:780px;
  --tt-line:color-mix(in srgb,var(--ink) 18%,transparent);
  --tt-muted:#6f7577;
}

/* Article progress + state */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:220;background:transparent}
.reading-progress i{display:block;width:0;height:100%;background:var(--accent)}
.story-alert{
  padding:10px var(--tt-gutter)!important;
  background:#fff4c8!important;
  border-bottom:1px solid #d7c776!important;
  color:#5e4e00!important;
  text-align:center;
  font:900 8px var(--body-font)!important;
  letter-spacing:.12em!important;
}

/* Article shell */
.article.article-v2{
  max-width:1280px!important;
  padding:clamp(58px,7vw,105px) var(--tt-gutter) clamp(90px,9vw,145px)!important;
}
.article-header-v2{max-width:1040px!important;margin:0 auto}
.article-breadcrumb{
  display:flex;
  gap:9px;
  align-items:center;
  margin-bottom:28px;
  color:#8b9091;
  font:800 8px var(--body-font);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.article-breadcrumb a{color:inherit;text-decoration:none}
.article-breadcrumb a:hover{color:var(--accent)}
.article-kicker{
  margin:0!important;
  color:var(--accent)!important;
  font:900 9px var(--body-font)!important;
  letter-spacing:.17em!important;
  text-transform:uppercase;
}
.article-v2 h1{
  max-width:1000px;
  margin:20px 0 25px!important;
  font:700 clamp(42px,5.2vw,72px)/.96 var(--heading-font)!important;
  letter-spacing:-.042em!important;
}
.article-standfirst{
  max-width:880px!important;
  margin:0!important;
  color:#5f6668!important;
  font:clamp(19px,1.75vw,25px)/1.52 var(--heading-font)!important;
}
.article-byline-v2{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:34px;
  padding:16px 0;
  border-top:1px solid var(--tt-line);
  border-bottom:1px solid var(--tt-line);
  color:#6f7577;
  font:800 8px var(--body-font);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.article-byline-v2 span+span:before{content:"·";margin-right:18px;color:#aaa}
.article-byline-v2 a{color:var(--ink);text-decoration:none}

/* Reader tools */
.reader-tools{
  max-width:1040px!important;
  margin:18px auto 0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  border:0!important;
}
.reader-tools button{
  min-height:40px!important;
  padding:0 13px!important;
  border:1px solid var(--tt-line)!important;
  background:transparent!important;
  color:var(--ink)!important;
  font:900 8px var(--body-font)!important;
  letter-spacing:.09em!important;
  text-transform:uppercase;
  cursor:pointer;
}
.reader-tools button:hover{
  border-color:var(--ink)!important;
  background:var(--ink)!important;
  color:#fff!important;
}

/* Cover */
.article-cover-wrap{max-width:1160px;margin:42px auto 0}
.article-cover{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  aspect-ratio:auto;
}

/* Reading body */
.article-body{
  max-width:var(--tt-narrow)!important;
  margin:clamp(48px,6vw,78px) auto!important;
  color:#252b2e;
  font:clamp(18px,1.28vw,20px)/1.76 var(--heading-font)!important;
}
.article-body p{margin:0 0 1.45em}
.article-body h2{
  margin:2.1em 0 .7em!important;
  color:var(--ink);
  font:700 clamp(31px,3.5vw,46px)/1.04 var(--heading-font)!important;
  letter-spacing:-.028em;
}
.article-body h3{
  margin:2em 0 .7em;
  font:700 clamp(24px,2.3vw,31px)/1.08 var(--heading-font);
}
.article-body a{
  color:inherit;
  text-decoration-color:color-mix(in srgb,var(--accent) 65%,transparent);
  text-decoration-thickness:1px;
}
.article-body a:hover{color:var(--accent)}
.article-body blockquote{
  margin:2em 0!important;
  padding:6px 0 6px 24px!important;
  border-left:3px solid var(--accent)!important;
  color:#363d40;
  font:italic clamp(22px,2vw,29px)/1.45 var(--heading-font)!important;
}
.article-body ul,.article-body ol{padding-left:1.35em}
.article-body li{margin:.6em 0}
.article-body img{
  display:block;
  max-width:min(calc(100vw - 40px),980px)!important;
  height:auto!important;
  margin:38px 50%;
  transform:translateX(-50%);
}

/* Public Sources section, produced from the Sources heading already in article HTML */
.article-source-section{
  margin:clamp(55px,7vw,85px) auto!important;
  padding:28px!important;
  border:1px solid var(--tt-line);
  background:#faf6f6;
}
.article-source-section>h2,.article-source-section>h3{
  margin:0 0 18px!important;
  color:var(--ink);
  font:700 32px/1 var(--heading-font)!important;
}
.article-source-section>h2:before,.article-source-section>h3:before{
  content:"SOURCES";
  display:block;
  margin-bottom:9px;
  color:var(--accent);
  font:900 8px var(--body-font);
  letter-spacing:.15em;
}
.article-source-section p,.article-source-section li{
  font:14px/1.55 var(--body-font)!important;
}
.article-source-section a{overflow-wrap:anywhere}

/* Updates */
.article-updates-public{
  max-width:var(--tt-narrow);
  margin:70px auto;
  padding-top:25px;
  border-top:3px solid var(--ink);
}
.article-section-label{
  color:var(--accent);
  font:900 8px var(--body-font);
  letter-spacing:.15em;
}
.article-updates-public>h2{
  margin:10px 0 22px;
  font:700 38px/1 var(--heading-font);
}
.update-list article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  padding:18px 0;
  border-top:1px solid var(--tt-line);
}
.update-list .state{
  height:max-content;
  padding:5px 7px;
  background:#eee;
  font:900 7px var(--body-font);
  letter-spacing:.08em;
}
.update-list p{margin:0;font:16px/1.55 var(--heading-font)}
.update-list small{color:#858b8d;font-size:8px}

/* Series / topics / author */
.article-discovery{max-width:var(--tt-narrow)!important;margin:65px auto!important}
.series-link{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px;
  padding:18px!important;
  margin-bottom:22px!important;
  border:1px solid var(--tt-line)!important;
  color:var(--ink);
  text-decoration:none;
}
.series-link span,.article-tags>span,.author-card span{
  color:var(--accent)!important;
  font:900 7px var(--body-font)!important;
  letter-spacing:.14em!important;
}
.article-tags{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:22px 0!important;
}
.article-tags a{
  padding:7px 10px!important;
  border:1px solid var(--tt-line)!important;
  color:var(--ink);
  text-decoration:none;
  font:800 8px var(--body-font)!important;
  letter-spacing:.07em!important;
  text-transform:uppercase;
}
.article-tags a:hover{border-color:var(--ink)}
.author-card{
  display:flex!important;
  gap:22px!important;
  padding:28px!important;
  background:#e7dddd!important;
  border:0!important;
}
.author-card img{
  width:82px!important;
  height:82px!important;
  object-fit:cover;
  border-radius:50%;
}
.author-card h3{margin:7px 0 4px!important;font:700 29px/1 var(--heading-font)!important}
.author-card h3 a{color:inherit;text-decoration:none}
.author-card b{
  font:900 8px var(--body-font)!important;
  letter-spacing:.1em!important;
  text-transform:uppercase;
}
.author-card p{
  margin:9px 0 0!important;
  color:#646b6c!important;
  font:14px/1.55 var(--heading-font)!important;
}

/* Related Analysis */
.related-analysis{
  max-width:1160px;
  margin:85px auto 0;
  padding-top:30px;
  border-top:1px solid var(--ink);
}
.related-analysis>header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:24px;
}
.related-analysis>header span{
  color:var(--accent);
  font:900 8px var(--body-font);
  letter-spacing:.15em;
}
.related-analysis>header h2{margin:7px 0 0;font:700 48px/.95 var(--heading-font)}
.related-analysis>header>a{
  color:var(--ink);
  font:900 8px var(--body-font);
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
}
.related-analysis-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.related-analysis-grid article{
  border:1px solid var(--tt-line);
  background:#fff;
}
.related-art{
  height:auto;
  aspect-ratio:16/9;
  padding:14px;
  display:flex;
  align-items:flex-end;
  background:#172028 center/cover no-repeat;
  color:#fff;
  text-decoration:none;
}
.related-art span{
  font:900 8px var(--body-font);
  letter-spacing:.12em;
}
.related-analysis-grid article>div{padding:18px}
.related-analysis-grid small{
  color:#7d8486;
  font:800 7px var(--body-font);
  letter-spacing:.1em;
}
.related-analysis-grid h3{margin:10px 0 9px;font:700 25px/1.03 var(--heading-font)}
.related-analysis-grid h3 a{color:inherit;text-decoration:none}
.related-analysis-grid p{margin:0;color:var(--tt-muted);font:13px/1.55 var(--heading-font)}

/* Primary source footer */
.article-primary-source{
  max-width:var(--tt-narrow)!important;
  margin:55px auto 0!important;
  padding-top:16px!important;
  border-top:1px solid var(--tt-line)!important;
  color:#73797b;
  font:8px var(--body-font);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.article-primary-source a{color:var(--ink);overflow-wrap:anywhere}

/* Dark reading mode from existing 5.2.81 reader tool */
html.reading-dark .article-body,
html.reading-dark .article-v2 h1,
html.reading-dark .article-breadcrumb a,
html.reading-dark .article-byline-v2 a{color:#edf0f2}
html.reading-dark .article-standfirst,
html.reading-dark .article-body blockquote{color:#aeb6ba!important}
html.reading-dark .article-source-section{
  background:#171e24;
  border-color:#394148;
}

/* Article-only accessibility */
.article-v2 a:focus-visible,
.article-v2 button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);
  outline-offset:3px;
}

/* Tablet */
@media(max-width:1100px){
  .related-analysis-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .article.article-v2{padding:52px 22px 95px!important}
  .article-v2 h1{font-size:clamp(40px,8vw,60px)!important}
  .related-analysis-grid{grid-template-columns:1fr 1fr}
}

/* Mobile */
@media(max-width:650px){
  .article.article-v2{padding:38px 18px 80px!important}
  .article-breadcrumb{margin-bottom:22px}
  .article-v2 h1{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:.98!important;
    margin:15px 0 18px!important;
  }
  .article-standfirst{font-size:18px!important}
  .article-byline-v2{display:grid;gap:6px}
  .article-byline-v2 span+span:before{content:none}
  .reader-tools{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    margin-top:16px!important;
  }
  .reader-tools button{width:100%;min-height:43px!important}
  .article-cover-wrap{margin-top:28px}
  .article-body{
    margin:40px auto!important;
    font-size:18px!important;
    line-height:1.72!important;
  }
  .article-body h2{font-size:31px!important}
  .article-body h3{font-size:25px!important}
  .article-body img{
    max-width:100%!important;
    margin:28px 0!important;
    transform:none!important;
  }
  .article-source-section{padding:20px!important;margin:48px 0!important}
  .update-list article{grid-template-columns:1fr}
  .author-card{padding:22px!important;align-items:flex-start}
  .author-card img{width:68px!important;height:68px!important}
  .related-analysis>header{
    align-items:flex-start;
    flex-direction:column;
  }
  .related-analysis>header h2{font-size:39px}
  .related-analysis-grid{grid-template-columns:1fr}
}

/* Print */
@media print{
  .reader-tools,.reading-progress,.related-analysis{display:none!important}
  .article.article-v2{max-width:900px!important;padding:20px!important}
  .article-v2 h1{font-size:54px!important}
}

@media(prefers-reduced-motion:reduce){
  .article-v2 *,.article-v2 *:before,.article-v2 *:after{
    transition:none!important;
    animation:none!important;
  }
}


/* ================================================================
   5.2.88 — COHERENT ARTICLE DARK READING
   Dark Reading is an article reading theme, not a whole-site recolor.
   ================================================================ */

/* Keep the publication chrome visually stable. */
html.reading-dark body{
  background:#0b1016!important;
  color:var(--ink)!important;
}
html.reading-dark .site-header{
  background:color-mix(in srgb,#fff 96%,transparent)!important;
  color:#0b1016!important;
  border-bottom-color:#e1e4e7!important;
}
html.reading-dark .site-header>nav a,
html.reading-dark .site-header .site-brand,
html.reading-dark .site-header .subscribe-small,
html.reading-dark .mobile-menu summary{
  color:#0b1016!important;
}
html.reading-dark .site-header .subscribe-small,
html.reading-dark .mobile-menu summary{
  border-color:#0b1016!important;
  background:transparent!important;
}
html.reading-dark .site-header .subscribe-small:hover{
  background:#0b1016!important;
  color:#fff!important;
}

/* Article canvas */
html.reading-dark .article.article-v2{
  --tt-line:#364049;
  --tt-muted:#9ba4a9;
  background:#0b1016!important;
  color:#edf0f2!important;
}
html.reading-dark .article-v2 h1,
html.reading-dark .article-v2 h2,
html.reading-dark .article-v2 h3,
html.reading-dark .article-v2 h4,
html.reading-dark .article-v2 strong,
html.reading-dark .article-v2 b{
  color:#f4f6f7;
}
html.reading-dark .article-breadcrumb,
html.reading-dark .article-breadcrumb a{
  color:#8e999f!important;
}
html.reading-dark .article-breadcrumb a:hover{
  color:#fff!important;
}
html.reading-dark .article-standfirst{
  color:#b8c0c4!important;
}
html.reading-dark .article-byline-v2{
  color:#98a2a7!important;
  border-color:#364049!important;
}
html.reading-dark .article-byline-v2 a{
  color:#f0f3f4!important;
}

/* Reader controls: always visible, with an obvious active state. */
html.reading-dark .reader-tools button{
  border-color:#58636c!important;
  background:#111820!important;
  color:#edf0f2!important;
  box-shadow:none!important;
}
html.reading-dark .reader-tools button:hover{
  border-color:#edf0f2!important;
  background:#edf0f2!important;
  color:#0b1016!important;
}
html.reading-dark .reader-tools button[data-reader-action="dark"]{
  border-color:var(--accent)!important;
  background:var(--accent)!important;
  color:#fff!important;
}
html.reading-dark .reader-tools button[data-reader-action="dark"]:hover{
  border-color:#fff!important;
  background:#fff!important;
  color:#0b1016!important;
}

/* Article prose */
html.reading-dark .article-body,
html.reading-dark .article-body p,
html.reading-dark .article-body li{
  color:#d6dadd!important;
}
html.reading-dark .article-body h2,
html.reading-dark .article-body h3{
  color:#f5f6f7!important;
}
html.reading-dark .article-body a{
  color:#f0f2f3!important;
  text-decoration-color:#e40000!important;
}
html.reading-dark .article-body a:hover{
  color:#ff5858!important;
}
html.reading-dark .article-body blockquote{
  color:#c1c8cc!important;
  border-left-color:var(--accent)!important;
}

/* Sources */
html.reading-dark .article-source-section{
  background:#121a21!important;
  border-color:#364049!important;
}
html.reading-dark .article-source-section>h2,
html.reading-dark .article-source-section>h3{
  color:#f5f6f7!important;
}
html.reading-dark .article-source-section p,
html.reading-dark .article-source-section li{
  color:#cbd1d4!important;
}
html.reading-dark .article-source-section a{
  color:#f0f2f3!important;
}

/* Updates */
html.reading-dark .article-updates-public{
  border-top-color:#edf0f2!important;
}
html.reading-dark .article-updates-public>h2{
  color:#f5f6f7!important;
}
html.reading-dark .update-list article{
  border-top-color:#364049!important;
}
html.reading-dark .update-list .state{
  background:#26313a!important;
  color:#edf0f2!important;
}
html.reading-dark .update-list p{
  color:#d6dadd!important;
}
html.reading-dark .update-list small{
  color:#929ca1!important;
}

/* Series, topics and author */
html.reading-dark .article-discovery{
  color:#edf0f2!important;
}
html.reading-dark .series-link{
  border-color:#364049!important;
  background:#111820!important;
  color:#edf0f2!important;
}
html.reading-dark .series-link:hover{
  border-color:#6f7a82!important;
}
html.reading-dark .article-tags a{
  border-color:#4a555d!important;
  background:#111820!important;
  color:#edf0f2!important;
}
html.reading-dark .article-tags a:hover{
  border-color:#edf0f2!important;
}
html.reading-dark .author-card{
  background:#151e25!important;
  color:#edf0f2!important;
}
html.reading-dark .author-card h3,
html.reading-dark .author-card h3 a,
html.reading-dark .author-card b{
  color:#f5f6f7!important;
}
html.reading-dark .author-card p{
  color:#aeb7bb!important;
}

/* Related Analysis */
html.reading-dark .related-analysis{
  border-top-color:#edf0f2!important;
}
html.reading-dark .related-analysis>header h2,
html.reading-dark .related-analysis>header>a{
  color:#f5f6f7!important;
}
html.reading-dark .related-analysis-grid article{
  background:#111820!important;
  border-color:#364049!important;
}
html.reading-dark .related-analysis-grid h3,
html.reading-dark .related-analysis-grid h3 a{
  color:#f5f6f7!important;
}
html.reading-dark .related-analysis-grid p{
  color:#aeb7bb!important;
}
html.reading-dark .related-analysis-grid small{
  color:#8f999e!important;
}

/* Primary source */
html.reading-dark .article-primary-source{
  border-top-color:#364049!important;
  color:#909a9f!important;
}
html.reading-dark .article-primary-source a{
  color:#edf0f2!important;
}

/* Newsletter/footer remain their normal publication components even while
   Dark Reading is active on the article above. */
html.reading-dark #newsletter.newsletter{
  color:var(--ink)!important;
}
html.reading-dark #newsletter.newsletter h2,
html.reading-dark #newsletter.newsletter h3,
html.reading-dark #newsletter.newsletter p,
html.reading-dark #newsletter.newsletter label{
  color:inherit!important;
}
html.reading-dark .site-footer{
  color:#fff!important;
}

/* Mobile dark controls remain unmistakable. */
@media(max-width:650px){
  html.reading-dark .reader-tools button{
    border-color:#68747d!important;
  }
  html.reading-dark .reader-tools button[data-reader-action="dark"]{
    border-color:var(--accent)!important;
  }
}


/* ================================================================
   5.3.05 — ALGORITHMIC ARTICLE PRESENTATION
   ================================================================ */
.article-v2 h1.title-short{font-size:clamp(44px,5.1vw,70px)!important}
.article-v2 h1.title-medium{font-size:clamp(41px,4.7vw,64px)!important}
.article-v2 h1.title-long{font-size:clamp(37px,4.15vw,56px)!important;line-height:1!important}
.article-v2 h1.title-xlong{font-size:clamp(34px,3.7vw,49px)!important;line-height:1.03!important;letter-spacing:-.032em!important}
.article-toc{
  max-width:var(--tt-narrow);margin:44px auto -12px;padding:20px 22px;border:1px solid var(--tt-line);background:#faf7f7;
}
.article-toc>span{display:block;margin-bottom:12px;color:var(--accent);font:900 8px var(--body-font);letter-spacing:.15em}
.article-toc ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;counter-reset:toc}
.article-toc li{min-width:0;counter-increment:toc}
.article-toc a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;color:var(--ink);text-decoration:none;font:13px/1.35 var(--heading-font)}
.article-toc a:before{content:counter(toc,decimal-leading-zero);color:#8a9092;font:8px/1.6 monospace}
.article-toc a:hover{color:var(--accent)}
html.reading-dark .article-toc{background:#111820;border-color:#364049}
html.reading-dark .article-toc a{color:#edf0f2}
html.reading-dark .article-toc a:hover{color:#ff5858}
@media(max-width:650px){
  .article-v2 h1.title-short{font-size:clamp(36px,10vw,47px)!important}
  .article-v2 h1.title-medium{font-size:clamp(34px,9.4vw,44px)!important}
  .article-v2 h1.title-long{font-size:clamp(32px,8.8vw,41px)!important}
  .article-v2 h1.title-xlong{font-size:clamp(30px,8.2vw,38px)!important}
  .article-toc{margin:32px 0 -6px;padding:17px 16px}
  .article-toc ol{grid-template-columns:1fr}
}
@media print{.article-toc{display:none!important}}

/* ================================================================
   5.3.18 — ARTICLE READABILITY + ALIGNMENT
   Scope is intentionally limited to article pages.
   ================================================================ */

/* Keep the article context stack on one exact left edge on web + mobile. */
.article-header-v2{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
}
.article-breadcrumb,
.article-kicker,
.article-v2 h1,
.article-standfirst,
.article-byline-v2{
  width:100%;
  box-sizing:border-box;
}
.article-breadcrumb{
  justify-content:flex-start;
  flex-wrap:wrap;
  margin:0 0 18px;
  line-height:1.35;
}
.article-kicker{
  margin:0!important;
  line-height:1.35!important;
}
.article-v2 h1{
  margin:14px 0 22px!important;
}

/* More restrained article headline scale on desktop/tablet. */
.article-v2 h1{
  font-size:clamp(40px,4.6vw,62px)!important;
  line-height:.98!important;
}
.article-v2 h1.title-short{
  font-size:clamp(40px,4.6vw,62px)!important;
}
.article-v2 h1.title-medium{
  font-size:clamp(37px,4.2vw,56px)!important;
}
.article-v2 h1.title-long{
  font-size:clamp(34px,3.75vw,50px)!important;
  line-height:1!important;
}
.article-v2 h1.title-xlong{
  font-size:clamp(31px,3.35vw,44px)!important;
  line-height:1.03!important;
}

/* Make editorial links unmistakably links without changing article copy. */
.article-body a,
.article-source-section a,
.article-primary-source a{
  color:var(--accent)!important;
  text-decoration-line:underline!important;
  text-decoration-color:var(--accent)!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:3px!important;
  text-decoration-skip-ink:auto;
}
.article-body a:hover,
.article-source-section a:hover,
.article-primary-source a:hover{
  color:#a80000!important;
  text-decoration-thickness:2px!important;
}

/* Preserve clear links in Dark Reading as well. */
html.reading-dark .article-body a,
html.reading-dark .article-source-section a,
html.reading-dark .article-primary-source a{
  color:#ff6b6b!important;
  text-decoration-color:#ff6b6b!important;
}
html.reading-dark .article-body a:hover,
html.reading-dark .article-source-section a:hover,
html.reading-dark .article-primary-source a:hover{
  color:#fff!important;
  text-decoration-color:#fff!important;
}

/* Mobile: compact headline + one-line publication metadata. */
@media(max-width:650px){
  .article.article-v2{
    padding-top:34px!important;
  }

  .article-breadcrumb{
    gap:7px;
    margin-bottom:16px;
    font-size:7.5px;
    letter-spacing:.085em;
  }

  .article-kicker{
    font-size:8px!important;
    letter-spacing:.145em!important;
  }

  .article-v2 h1{
    margin:13px 0 18px!important;
    font-size:clamp(32px,8.6vw,40px)!important;
    line-height:1!important;
  }
  .article-v2 h1.title-short{
    font-size:clamp(32px,8.6vw,40px)!important;
  }
  .article-v2 h1.title-medium{
    font-size:clamp(30px,8.1vw,37px)!important;
  }
  .article-v2 h1.title-long{
    font-size:clamp(29px,7.7vw,35px)!important;
    line-height:1.02!important;
  }
  .article-v2 h1.title-xlong{
    font-size:clamp(27px,7.2vw,33px)!important;
    line-height:1.04!important;
    letter-spacing:-.028em!important;
  }

  .article-byline-v2{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin-top:28px;
    padding:14px 0;
    overflow:visible;
    white-space:nowrap;
    font-size:7px;
    letter-spacing:.055em;
  }
  .article-byline-v2 span{
    display:inline-flex;
    align-items:center;
    min-width:0;
  }
  .article-byline-v2 span+span:before{
    content:"·"!important;
    display:inline-block;
    margin:0 8px!important;
    color:#a1a6a7;
  }
}

/* Very narrow phones: retain the requested single line without overflow. */
@media(max-width:390px){
  .article-byline-v2{
    font-size:6.6px;
    letter-spacing:.04em;
  }
  .article-byline-v2 span+span:before{
    margin:0 6px!important;
  }
}

/* ================================================================
   5.3.19 — ARTICLE CONTEXT TYPE REFINEMENT
   Slightly increases the small editorial context labels and byline
   while preserving the 5.3.18 headline/readability work.
   ================================================================ */
.article-breadcrumb{
  font-size:9.5px!important;
  letter-spacing:.105em!important;
}
.article-kicker{
  font-size:10px!important;
  letter-spacing:.16em!important;
}
.article-byline-v2{
  font-size:9.25px!important;
  letter-spacing:.085em!important;
}

@media(max-width:650px){
  .article-breadcrumb{
    font-size:8.5px!important;
    letter-spacing:.09em!important;
  }
  .article-kicker{
    font-size:9px!important;
    letter-spacing:.14em!important;
  }
  .article-byline-v2{
    font-size:7.8px!important;
    letter-spacing:.045em!important;
  }
}

@media(max-width:390px){
  .article-byline-v2{
    font-size:7.1px!important;
    letter-spacing:.03em!important;
  }
}

/* ================================================================
   5.3.20 — ARTICLE CONTEXT SIZE + SPACING
   Narrowly scoped to breadcrumb, research label and publication line.
   ================================================================ */

/* Desktop / web */
.article-breadcrumb{
  font-size:10.5px!important;
  letter-spacing:.105em!important;
  gap:11px!important;
  margin-bottom:20px!important;
  line-height:1.4!important;
}
.article-kicker{
  font-size:11px!important;
  letter-spacing:.155em!important;
  line-height:1.4!important;
}
.article-byline-v2{
  font-size:10px!important;
  letter-spacing:.08em!important;
  line-height:1.4!important;
}
.article-byline-v2 span:first-child a{
  margin-left:5px!important;
}
.article-byline-v2 span+span:before{
  margin-right:18px!important;
}

/* Mobile */
@media(max-width:650px){
  .article-breadcrumb{
    font-size:9.5px!important;
    letter-spacing:.085em!important;
    gap:9px!important;
    margin-bottom:18px!important;
    line-height:1.4!important;
  }
  .article-kicker{
    font-size:10px!important;
    letter-spacing:.135em!important;
    line-height:1.4!important;
  }
  .article-byline-v2{
    font-size:8.6px!important;
    letter-spacing:.035em!important;
    line-height:1.4!important;
  }
  .article-byline-v2 span:first-child a{
    margin-left:4px!important;
  }
  .article-byline-v2 span+span:before{
    margin:0 9px!important;
  }
}

/* Very narrow phones: preserve the single-line metadata layout. */
@media(max-width:390px){
  .article-byline-v2{
    font-size:7.8px!important;
    letter-spacing:.025em!important;
  }
  .article-byline-v2 span+span:before{
    margin:0 7px!important;
  }
}

/* ================================================================
   5.3.21 — ARTICLE MARKDOWN EMPHASIS
   Semantic emphasis inside article copy must always appear italic.
   ================================================================ */
.article-body em,
.article-body i{
  font-style:italic!important;
}



/* ================================================================
   5.3.31 — CONTEXTUAL RELATED ANALYSIS
   One or two compact recommendations inside longer articles.
   ================================================================ */
.article-inline-related{margin:2.15em 0 2.35em;padding:18px 20px;border:1px solid var(--tt-line);border-left:3px solid var(--accent);background:#faf6f6}.article-inline-related>span{display:block;margin-bottom:9px;color:var(--accent);font:900 8px var(--body-font);letter-spacing:.15em;text-transform:uppercase}.article-inline-related>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 18px;align-items:center;color:var(--ink)!important;text-decoration:none!important}.article-inline-related b{font:700 19px/1.18 var(--heading-font)}.article-inline-related small{grid-column:1;color:#777e81;font:800 8px var(--body-font);letter-spacing:.08em;text-transform:uppercase}.article-inline-related i{grid-column:2;grid-row:1/3;color:var(--accent);font:normal 22px var(--body-font)}.article-inline-related>a:hover b{color:var(--accent)}html.reading-dark .article-inline-related{background:#171e24;border-color:#394148;border-left-color:var(--accent)}html.reading-dark .article-inline-related b{color:#edf0f2}html.reading-dark .article-inline-related small{color:#9ca6ab}@media(max-width:650px){.article-inline-related{margin:1.8em 0 2em;padding:16px}.article-inline-related b{font-size:17px}.article-inline-related>a{gap:6px 12px}}
@media print{.article-inline-related{display:none!important}}

/* 5.3.33 — Search Questions */
.article-qna{
  margin:clamp(58px,7vw,86px) 0 clamp(54px,6vw,78px);
  padding:clamp(24px,3vw,34px) 0 0;
  border-top:2px solid var(--ink);
}
.article-qna>header{margin:0 0 20px}
.article-qna>header>span{
  display:block;
  margin-bottom:9px;
  color:var(--accent);
  font:900 8px var(--body-font);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.article-body .article-qna>header>h2{
  margin:0!important;
  color:var(--ink);
  font:700 clamp(29px,3vw,39px)/1.04 var(--heading-font)!important;
  letter-spacing:-.025em;
}
.article-qna>header>p{
  margin:9px 0 0!important;
  color:#747a7c;
  font:500 14px/1.55 var(--body-font)!important;
}
.article-qna-list{border-bottom:1px solid var(--tt-line)}
.article-qna-list details{border-top:1px solid var(--tt-line)}
.article-qna-list summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 0;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  font:700 clamp(18px,1.55vw,21px)/1.3 var(--heading-font);
}
.article-qna-list summary::-webkit-details-marker{display:none}
.article-qna-list summary i{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid var(--tt-line);
  color:var(--accent);
  font:400 18px/1 var(--body-font);
  font-style:normal;
  transition:transform .18s ease;
}
.article-qna-list details[open] summary i{transform:rotate(45deg)}
.article-qna-list details>p{
  max-width:700px;
  margin:-2px 42px 19px 0!important;
  color:#4f5658;
  font:400 16px/1.7 var(--body-font)!important;
}
html.reading-dark .article-qna{border-top-color:#edf0f2}
html.reading-dark .article-qna>header>h2,
html.reading-dark .article-qna-list summary{color:#edf0f2!important}
html.reading-dark .article-qna>header>p,
html.reading-dark .article-qna-list details>p{color:#aeb6ba!important}
html.reading-dark .article-qna-list,
html.reading-dark .article-qna-list details,
html.reading-dark .article-qna-list summary i{border-color:#394148}
@media(max-width:650px){
  .article-qna{margin:48px 0 54px;padding-top:22px}
  .article-qna>header{margin-bottom:16px}
  .article-qna-list summary{padding:16px 0;gap:12px;font-size:18px}
  .article-qna-list details>p{margin:-1px 36px 17px 0!important;font-size:15px!important;line-height:1.65!important}
}
@media print{.article-qna-list details>p{display:block!important}.article-qna-list summary i{display:none}}

/* ================================================================
   5.3.37 — KEYWORD-LOCKED SEARCH Q&A + SECTION DEEP LINKS
   ================================================================ */
.article-body h2[id],
.article-body h3[id],
.article-body h4[id],
#analysis-start{scroll-margin-top:96px}
.article-qna-list .article-qna-answer{
  max-width:720px;
  margin:-2px 42px 20px 0;
}
.article-qna-list .article-qna-answer>p{
  margin:0 0 14px!important;
  color:#4f5658;
  font:400 16px/1.7 var(--body-font)!important;
}
.article-qna-source-link{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 14px;
  align-items:center;
  width:min(100%,560px);
  padding:12px 14px;
  border:1px solid var(--tt-line);
  border-left:2px solid var(--accent);
  color:var(--ink)!important;
  background:rgba(255,255,255,.26);
  text-decoration:none!important;
}
.article-qna-source-link>span{
  grid-column:1;
  color:var(--accent);
  font:900 7.5px/1.2 var(--body-font);
  letter-spacing:.14em;
}
.article-qna-source-link>b{
  grid-column:1;
  overflow:hidden;
  color:inherit;
  font:700 13px/1.35 var(--body-font);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.article-qna-source-link>i{
  grid-column:2;
  grid-row:1/3;
  color:var(--accent);
  font:400 20px/1 var(--body-font)!important;
  font-style:normal!important;
}
.article-qna-source-link:hover{
  border-color:var(--accent);
  color:var(--accent)!important;
}
html.reading-dark .article-qna-list .article-qna-answer>p{color:#aeb6ba!important}
html.reading-dark .article-qna-source-link{background:#171e24;border-color:#394148;border-left-color:var(--accent);color:#edf0f2!important}
html.reading-dark .article-qna-source-link:hover{border-color:var(--accent);color:#fff!important}
@media(max-width:650px){
  .article-qna-list .article-qna-answer{margin:-1px 36px 18px 0}
  .article-qna-list .article-qna-answer>p{font-size:15px!important;line-height:1.65!important}
  .article-qna-source-link{padding:11px 12px}
  .article-qna-source-link>b{font-size:12.5px}
}
@media print{.article-qna-source-link{display:none!important}}
