/* Single-post integration. The approved article classes remain in site.css; this file adapts native WP post content. */
body.dv-article-template{background:#fff}
body.dv-article-template .site-header{top:var(--dv-admin-bar-height,0px)}
.dv-single-article{background:#fff}
.dv-single-article .article-hero{position:relative;isolation:isolate;overflow:hidden}
.dv-single-article .article-hero.dv-network-hero::after{z-index:0!important;opacity:.32!important}
.dv-single-article .article-hero::before{z-index:1}
.dv-single-article .article-hero-inner{z-index:2}
.dv-single-article .article-hero-media.has-featured-image::before,
.dv-single-article .article-hero-media.has-featured-image::after,
.dv-single-article .article-image.has-featured-image::before,
.dv-single-article .article-image.has-featured-image::after{opacity:0}
.dv-single-article .article-hero-media img,
.dv-single-article .article-image img{display:block;width:100%;height:100%;object-fit:cover;position:relative;z-index:3}
.dv-single-article .article-prose>.wp-block-group:first-child,
.dv-single-article .article-prose>p:first-child{font-size:1.35rem;line-height:1.62;color:#1a1a1a;margin-bottom:1.65em}
.dv-single-article .article-prose>h2:first-child{margin-top:0}
.dv-single-article .article-prose h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.65rem;letter-spacing:-.035em;line-height:1.08;margin:1.8em 0 .65em}
.dv-single-article .article-prose ul,.dv-single-article .article-prose ol{margin:0 0 1.7em;padding-left:1.35em}
.dv-single-article .article-prose li{margin-bottom:.55em}
.dv-single-article .article-prose figure.wp-block-image{margin:3.5em 0 3.3em}
.dv-single-article .article-prose figure.wp-block-image img{width:100%;height:auto}
.dv-single-article .article-prose figcaption{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;line-height:1.45;color:#686868;margin-top:10px;text-align:left}
.dv-single-article .article-prose .wp-block-separator{border:none;border-top:1px solid #bbb;margin:3em 0}
.dv-single-article .article-prose a{color:#0067a8;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.dv-single-article .article-callout .dv-article-callout-label{display:block;color:var(--blue);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.64rem;letter-spacing:.11em;font-weight:800;margin:0 0 10px!important}
.dv-single-article .article-callout>p:last-child{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.12rem;line-height:1.48;font-weight:650;letter-spacing:-.015em;margin:0}
.dv-single-article .related-grid .article-image{overflow:hidden}
.dv-single-article .newsletter{position:relative;isolation:isolate}

@media (max-width:820px){
  .dv-single-article .article-hero{padding:136px 0 100px;min-height:610px}.dv-single-article .article-hero h1{font-size:clamp(3.8rem,12vw,6rem)}.dv-single-article .article-hero-media-wrap{margin-top:-52px}.dv-single-article .article-body-section{padding:92px 0 72px}.dv-single-article .related-grid{grid-template-columns:1fr 1fr}.dv-single-article .related-grid .article-card:last-child{display:none}
}
@media (max-width:540px){
  .dv-single-article .article-hero{padding:120px 0 86px;min-height:560px}.dv-single-article .article-back{margin-bottom:34px}.dv-single-article .article-meta{gap:9px;font-size:.61rem}.dv-single-article .article-meta>*+*::before{margin-right:9px}.dv-single-article .article-hero h1{font-size:clamp(3rem,14vw,4.45rem)}.dv-single-article .article-deck{font-size:1rem}.dv-single-article .article-hero-media{min-height:260px;height:62vw}.dv-single-article .article-body-section{padding:72px 0 58px}.dv-single-article .article-prose{font-size:1rem;line-height:1.72}.dv-single-article .article-prose>p:first-child{font-size:1.18rem}.dv-single-article .article-prose h2{font-size:clamp(2.15rem,10vw,3rem)}.dv-single-article .author-card{grid-template-columns:86px 1fr;gap:20px}.dv-single-article .author-card img{width:86px;height:86px}.dv-single-article .related-grid{grid-template-columns:1fr}.dv-single-article .related-grid .article-card:last-child{display:block}
}

/* v2.1.6 — single article spacing integration.
   The original standalone hero used its own page canvas; WordPress's fixed shell makes
   the same min-height create an oversized empty band. Keep the approved proportions
   without anchoring all article content to a 680px minimum-height box. */
.dv-single-article .article-hero{
  min-height:0!important;
  display:block!important;
  padding:132px 0 92px!important;
}
.dv-single-article .article-back{margin-bottom:32px!important}
.dv-single-article .article-meta{margin-bottom:20px!important}
.dv-single-article .article-hero-media-wrap{
  margin-top:-42px!important;
  position:relative!important;
  z-index:3!important;
}
.dv-single-article .article-body-section{
  position:relative!important;
  z-index:1!important;
  padding:92px 0 90px!important;
}
.dv-single-article .article-hero-media{height:min(54vw,620px)!important}
.dv-single-article .figure-placeholder>p{
  position:absolute!important;
  z-index:2!important;
  left:24px!important;
  bottom:20px!important;
  margin:0!important;
  color:#cfd3d5!important;
  font:700 .64rem/1 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:.11em!important;
}
.dv-single-article .dv-figure-caption{
  font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:.68rem!important;
  line-height:1.45!important;
  color:#686868!important;
  margin:10px 0 0!important;
}
@media (max-width:820px){
  .dv-single-article .article-hero{padding:118px 0 82px!important}
  .dv-single-article .article-back{margin-bottom:28px!important}
  .dv-single-article .article-hero-media-wrap{margin-top:-32px!important}
  .dv-single-article .article-body-section{padding:78px 0 72px!important}
}
@media (max-width:540px){
  .dv-single-article .article-hero{padding:105px 0 72px!important}
  .dv-single-article .article-back{margin-bottom:24px!important}
  .dv-single-article .article-hero-media-wrap{margin-top:-22px!important}
  .dv-single-article .article-body-section{padding:64px 0 58px!important}
}


/* v2.1.7 — article boundary + typography fidelity.
   Keep the featured image wholly below the dark hero instead of straddling
   the hero/content boundary, and explicitly pin article headings to the same
   sans-serif family used by the approved standalone design. */
body.dv-article-template .dv-single-article .article-hero-media-wrap{
  margin-top:0!important;
  z-index:1!important;
}
body.dv-article-template .dv-single-article .article-hero-media{
  margin-top:0!important;
}
body.dv-article-template .dv-single-article .article-body-section{
  padding-top:92px!important;
}

body.dv-article-template .dv-single-article .article-hero h1,
body.dv-article-template .dv-single-article .article-prose h2,
body.dv-article-template .dv-single-article .article-prose h3,
body.dv-article-template .dv-single-article .author-card h2,
body.dv-article-template .dv-single-article .related-head h2,
body.dv-article-template .dv-single-article .related-grid .article-card h3{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-style:normal!important;
}
body.dv-article-template .dv-single-article .article-hero h1{
  font-weight:850!important;
}
body.dv-article-template .dv-single-article .article-prose h2{
  font-weight:800!important;
}
body.dv-article-template .dv-single-article .article-prose h3,
body.dv-article-template .dv-single-article .author-card h2,
body.dv-article-template .dv-single-article .related-head h2,
body.dv-article-template .dv-single-article .related-grid .article-card h3{
  font-weight:700!important;
}

@media (max-width:820px){
  body.dv-article-template .dv-single-article .article-hero-media-wrap{margin-top:0!important}
  body.dv-article-template .dv-single-article .article-body-section{padding-top:78px!important}
}
@media (max-width:540px){
  body.dv-article-template .dv-single-article .article-hero-media-wrap{margin-top:0!important}
  body.dv-article-template .dv-single-article .article-body-section{padding-top:64px!important}
}

/* v2.1.8 — keep the featured image inside the black article hero itself.
   The white reading canvas now begins only after the hero image ends. */
body.dv-article-template .dv-single-article{
  background:#fff!important;
}
body.dv-article-template .dv-single-article .article-hero{
  min-height:0!important;
  display:block!important;
  padding:132px 0 0!important;
  background:#050505!important;
  overflow:hidden!important;
}
body.dv-article-template .dv-single-article .article-hero-inner{
  position:relative!important;
  z-index:3!important;
}
body.dv-article-template .dv-single-article .article-hero-media-wrap{
  margin:54px auto 0!important;
  padding:0!important;
  position:relative!important;
  z-index:3!important;
  max-width:1120px!important;
}
body.dv-article-template .dv-single-article .article-hero-media{
  margin:0!important;
  height:min(58vw,650px)!important;
  min-height:430px!important;
}
body.dv-article-template .dv-single-article .article-body-section{
  margin:0!important;
  padding:112px 0 90px!important;
  background:#fff!important;
}

/* Reading progress is always above the site header and follows the WP admin bar
   when logged in. The faint track makes its location apparent at 0% progress. */
body.dv-article-template .reading-progress{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--dv-admin-bar-height,0px)!important;
  height:3px!important;
  z-index:1000000!important;
  background:rgba(255,255,255,.10)!important;
  pointer-events:none!important;
}
body.dv-article-template .reading-progress span{
  display:block!important;
  width:0;
  height:100%!important;
  background:#0067a8!important;
  box-shadow:0 0 10px rgba(0,103,168,.25);
  will-change:width;
}

@media (max-width:820px){
  body.dv-article-template .dv-single-article .article-hero{padding:118px 0 0!important}
  body.dv-article-template .dv-single-article .article-hero-media-wrap{margin-top:44px!important}
  body.dv-article-template .dv-single-article .article-hero-media{min-height:360px!important}
  body.dv-article-template .dv-single-article .article-body-section{padding:84px 0 72px!important}
}
@media (max-width:540px){
  body.dv-article-template .dv-single-article .article-hero{padding:105px 0 0!important}
  body.dv-article-template .dv-single-article .article-hero-media-wrap{margin-top:34px!important}
  body.dv-article-template .dv-single-article .article-hero-media{height:68vw!important;min-height:280px!important}
  body.dv-article-template .dv-single-article .article-body-section{padding:68px 0 58px!important}
}


/* v2.1.13 — normalize native Gutenberg heading rhythm inside article content.
   Block/theme content spacing can otherwise stack with our article margins and
   make inserted headings look detached from the paragraphs around them. */
body.dv-article-template .dv-single-article .article-prose > :where(h2.wp-block-heading,h2){
  margin-block-start:1.35em!important;
  margin-block-end:.55em!important;
}
body.dv-article-template .dv-single-article .article-prose > :where(h3.wp-block-heading,h3){
  margin-block-start:1.3em!important;
  margin-block-end:.5em!important;
}
body.dv-article-template .dv-single-article .article-prose > :where(h2.wp-block-heading,h2):first-child,
body.dv-article-template .dv-single-article .article-prose > :where(h3.wp-block-heading,h3):first-child{
  margin-block-start:0!important;
}
body.dv-article-template .dv-single-article .article-prose > :where(h2.wp-block-heading,h2) + :where(h2.wp-block-heading,h2,h3.wp-block-heading,h3),
body.dv-article-template .dv-single-article .article-prose > :where(h3.wp-block-heading,h3) + :where(h2.wp-block-heading,h2,h3.wp-block-heading,h3){
  margin-block-start:.65em!important;
}
