/*
Theme Name: Duavata News v4.40.1
Theme URI: https://duavata.news/
Author: Duavata News
Description: A mobile-first editorial news theme for Duavata News with asymmetric BBC-inspired hierarchy, strict category sections, custom public bylines, newsroom footer links, social sharing, and advertising zones.
Version: 4.40.2
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: duavata-news-v2
License: GNU General Public License v2 or later
*/

:root{
  --dn-navy:#071f3d;
  --dn-navy-2:#0b2d55;
  --dn-red:#d71920;
  --dn-ink:#111820;
  --dn-muted:#5d6873;
  --dn-line:#d9dee4;
  --dn-soft:#f4f6f8;
  --dn-white:#fff;
  --dn-blue:#0b5c9e;
  --dn-max:1440px;
  --dn-body:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--dn-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}
button,input,textarea,select{font:inherit}
.dn-shell{width:min(calc(100% - 36px),var(--dn-max));margin-inline:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:99999;top:10px;left:10px;width:auto;height:auto;clip:auto;background:#fff;color:#000;border:2px solid #000;padding:.6rem .8rem}

/* masthead */
.dn-utility{background:var(--dn-navy);color:#fff;font-size:.76rem}
.dn-utility-inner{height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dn-utility-left,.dn-utility-right{display:flex;align-items:center;gap:.9rem}
.dn-utility a{color:#fff;opacity:.92}
.dn-live-dot{width:7px;height:7px;background:var(--dn-red);border-radius:50%;display:inline-block;margin-right:.45rem}

.dn-masthead{background:#fff;border-bottom:1px solid var(--dn-line)}
.dn-masthead-inner{min-height:138px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.dn-brand{grid-column:2;display:flex;align-items:center;justify-content:center}
.dn-brand img{width:min(510px,66vw);max-height:112px;object-fit:contain}
.dn-brand-text{font-size:clamp(2rem,5vw,4.25rem);font-weight:900;color:var(--dn-navy);letter-spacing:-.06em;text-transform:uppercase}
.dn-masthead-actions{justify-self:end;display:flex;gap:.5rem}
.dn-search-btn{width:42px;height:42px;border:1px solid var(--dn-navy);background:#fff;color:var(--dn-navy);cursor:pointer;font-weight:900}
.dn-search-panel{padding:0 0 18px}
.dn-search-form{display:flex;max-width:700px;margin-left:auto}
.dn-search-form input{flex:1;min-width:0;border:1px solid #aeb7c1;padding:.8rem .9rem}
.dn-search-form button{background:var(--dn-navy);color:#fff;border:0;padding:.8rem 1.1rem;font-weight:800}

.dn-nav-wrap{background:#fff;border-bottom:1px solid var(--dn-line)}
.dn-nav{overflow-x:auto;scrollbar-width:none}
.dn-nav::-webkit-scrollbar{display:none}
.dn-nav ul{list-style:none;display:flex;padding:0;margin:0}
.dn-nav li{margin:0}
.dn-nav a{display:block;padding:.82rem .82rem .72rem;border-bottom:3px solid transparent;white-space:nowrap;font-size:.87rem;font-weight:800}
.dn-nav a:hover,.dn-nav .current-menu-item>a,.dn-nav .current-category-ancestor>a{text-decoration:none;border-bottom-color:var(--dn-navy)}

.dn-breaking{background:var(--dn-soft);border-bottom:1px solid var(--dn-line)}
.dn-breaking-inner{height:42px;display:flex;align-items:center;gap:.7rem;overflow:hidden}
.dn-breaking-label{background:var(--dn-red);color:#fff;font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:.22rem .42rem}
.dn-breaking-link{font-size:.88rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ads */
.dn-ad{margin:16px auto;text-align:center}
.dn-ad-label{display:block;color:#87919b;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.28rem}
.dn-ad-inner{min-height:60px;display:flex;justify-content:center;align-items:center}
.dn-ad-inner>*{max-width:100%}

/* typography */
.dn-kicker{display:inline-block;color:var(--dn-red);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.34rem}
.dn-meta{color:var(--dn-muted);font-size:.75rem;margin-top:.48rem}
.dn-meta span+span:before{content:"•";margin:0 .38rem}
.dn-serif{font-family:Georgia,"Times New Roman",serif}
.dn-card-media{display:block;background:#e8edf1;overflow:hidden}
.dn-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.dn-card:hover .dn-card-media img{transform:scale(1.015)}

/* homepage */
.dn-home{padding-top:28px}
.dn-top-grid{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,1.72fr) minmax(270px,.84fr);gap:28px;padding-bottom:34px;border-bottom:4px solid var(--dn-navy)}
.dn-support-stack{display:flex;flex-direction:column;gap:20px}
.dn-support-card+.dn-support-card{border-top:1px solid var(--dn-line);padding-top:20px}
.dn-support-card .dn-card-media{aspect-ratio:16/9}
.dn-support-title{font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;line-height:1.05;letter-spacing:-.02em;margin:.55rem 0 .3rem}
.dn-support-excerpt{font-size:.87rem;color:#45515c;margin:.25rem 0}

.dn-lead .dn-card-media{aspect-ratio:16/9}
.dn-lead-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,3.7vw,4.25rem);line-height:.96;letter-spacing:-.045em;margin:.67rem 0 .35rem}
.dn-lead-excerpt{font-size:1rem;color:#404b56;max-width:62ch;margin:.55rem 0}

.dn-latest-col{border-left:1px solid var(--dn-line);padding-left:20px}
.dn-latest-col h2{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem}
.dn-latest-item{padding:.86rem 0;border-top:1px solid var(--dn-line)}
.dn-latest-item:first-of-type{border-top:3px solid var(--dn-navy)}
.dn-latest-time{display:block;color:var(--dn-red);font-size:.69rem;font-weight:900;margin-bottom:.18rem}
.dn-latest-title{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.14;font-weight:700}

.dn-section{padding:34px 0 18px}
.dn-section-band{padding:36px 0 32px;margin-top:20px}
.dn-section-band--soft{background:#f3f6f8}
.dn-section-band--warm{background:#f8f6f1}
.dn-section-band--navy{background:var(--dn-navy);color:#fff}
.dn-section-band--navy .dn-section-heading{border-top-color:#fff}
.dn-section-band--navy .dn-section-heading a,.dn-section-band--navy .dn-meta{color:#d6e2eb}
.dn-section-band--navy .dn-kicker{color:#ff6e75}
.dn-section-band--navy .dn-story-card{border-color:rgba(255,255,255,.18)}
.dn-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-top:4px solid var(--dn-navy);padding-top:.62rem;margin-bottom:20px}
.dn-section-heading h2{margin:0;font-size:1.16rem;letter-spacing:.02em;text-transform:uppercase}
.dn-section-heading a{font-size:.78rem;color:var(--dn-blue);font-weight:800}
.dn-section-grid-a{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,.8fr));gap:22px}
.dn-section-grid-b{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.dn-feature-story .dn-card-media{aspect-ratio:16/9}
.dn-feature-title{font-family:Georgia,"Times New Roman",serif;font-size:1.72rem;line-height:1.02;margin:.55rem 0 .3rem}
.dn-story-card{border-bottom:1px solid var(--dn-line);padding-bottom:16px}
.dn-story-card .dn-card-media{aspect-ratio:16/9}
.dn-story-title{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.08;margin:.48rem 0 .22rem}
.dn-story-excerpt{font-size:.85rem;color:#48545f;margin:.28rem 0}
.dn-opinion{background:var(--dn-navy);color:#fff;margin-top:24px;padding:32px 0}
.dn-opinion .dn-section-heading{border-top-color:#fff}
.dn-opinion .dn-section-heading a,.dn-opinion .dn-meta{color:#d7e1e9}
.dn-opinion .dn-story-card{border-bottom-color:rgba(255,255,255,.18)}
.dn-opinion .dn-kicker{color:#ff6e75}


.dn-section-grid-feature{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.72fr) minmax(0,.72fr);gap:24px}
.dn-section-grid-feature .dn-feature-story{grid-row:span 2}
.dn-text-stack{border-left:1px solid var(--dn-line);padding-left:20px}
.dn-text-stack .dn-latest-item:first-child{border-top:0;padding-top:0}
.dn-strip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dn-horizontal-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.dn-horizontal-feature .dn-card-media{aspect-ratio:16/10}
.dn-horizontal-feature .dn-feature-title{font-size:2rem}
.dn-section-band--navy .dn-horizontal-feature .dn-story-excerpt{color:#d8e1e8}

/* archive */
.dn-page-head{padding:28px 0 14px;border-bottom:4px solid var(--dn-navy);margin-bottom:24px}
.dn-page-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95;letter-spacing:-.04em;margin:0}
.dn-page-description{max-width:70ch;color:var(--dn-muted);margin:.7rem 0 0}
.dn-archive-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:38px}
.dn-story-row{display:grid;grid-template-columns:300px 1fr;gap:22px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--dn-line)}
.dn-story-row .dn-card-media{aspect-ratio:16/10}
.dn-story-row h2{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1.04;margin:.12rem 0 .4rem}
.dn-sidebar-box{border-top:4px solid var(--dn-navy);padding-top:.65rem;position:sticky;top:16px}

/* article */
.dn-article{width:min(calc(100% - 36px),1180px);margin-inline:auto;padding:30px 0 56px}
.dn-article-head{max-width:980px}
.dn-article-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.65rem,6vw,5.7rem);line-height:.94;letter-spacing:-.048em;margin:.35rem 0 .7rem}
.dn-standfirst{font-size:clamp(1.08rem,1.9vw,1.35rem);line-height:1.38;color:#3f4b56;max-width:72ch;margin:0 0 1.1rem}
.dn-byline-row{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:center;border-top:1px solid var(--dn-line);padding-top:.8rem;color:var(--dn-muted);font-size:.8rem}
.dn-byline-row strong{color:var(--dn-ink)}
.dn-article-hero{margin:26px 0 8px}
.dn-article-hero img{width:100%;max-height:720px;object-fit:cover}
.dn-caption{color:var(--dn-muted);font-size:.73rem;margin-top:.4rem}
.dn-article-grid{display:grid;grid-template-columns:minmax(0,var(--dn-body)) minmax(250px,1fr);gap:58px;margin-top:28px}
.dn-article-body{font-family:Georgia,"Times New Roman",serif;font-size:1.13rem;line-height:1.72}
.dn-article-body>*:first-child{margin-top:0}
.dn-article-body h2,.dn-article-body h3{font-family:Arial,Helvetica,sans-serif;line-height:1.12}
.dn-article-body a{color:var(--dn-blue);text-decoration:underline}
.dn-share{border-top:4px solid var(--dn-navy);padding-top:.7rem}
.dn-share h2{margin:0 0 .65rem;font-size:.82rem;text-transform:uppercase}
.dn-share-links{display:flex;flex-wrap:wrap;gap:.45rem}
.dn-share-links a,.dn-share-links button{border:1px solid var(--dn-line);background:#fff;color:var(--dn-ink);padding:.5rem .63rem;font-size:.78rem;font-weight:800;cursor:pointer}
.dn-related{margin-top:38px}

/* footer */
.dn-newsroom-links{background:var(--dn-soft);border-top:1px solid var(--dn-line);border-bottom:1px solid var(--dn-line);padding:28px 0}
.dn-newsroom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dn-newsroom-card{background:#fff;border:1px solid var(--dn-line);padding:18px;min-height:125px}
.dn-newsroom-card h3{font-size:1rem;margin:0 0 .35rem}
.dn-newsroom-card p{color:var(--dn-muted);font-size:.84rem;margin:0}
.dn-newsroom-card a{display:inline-block;color:var(--dn-blue);font-weight:800;font-size:.8rem;margin-top:.65rem}
.dn-footer{background:var(--dn-navy);color:#fff}
.dn-footer-main{display:grid;grid-template-columns:1.15fr 2fr;gap:48px;padding:36px 0}
.dn-footer-logo img{width:230px;background:#fff;padding:5px}
.dn-footer-tagline{color:#cbd6df;font-size:.86rem;max-width:38ch}
.dn-footer-menu ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1.2rem}
.dn-footer-menu a{color:#fff;font-size:.84rem}
.dn-social-links{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.dn-social-links a{color:#fff;font-size:.8rem}
.dn-footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding:13px 0 18px;color:#cbd6df;font-size:.73rem;display:flex;justify-content:space-between;gap:1rem}

/* pagination + misc */
.navigation.pagination{margin:35px 0}.nav-links{display:flex;gap:.4rem;flex-wrap:wrap}.page-numbers{border:1px solid var(--dn-line);padding:.48rem .66rem}.page-numbers.current{background:var(--dn-navy);color:#fff}
.dn-empty{padding:60px 0;text-align:center}

@media(max-width:1024px){
  .dn-top-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.45fr)}
  .dn-latest-col{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--dn-line);padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .dn-latest-col h2{grid-column:1/-1}
  .dn-section-grid-b{grid-template-columns:repeat(2,1fr)}
  .dn-article-grid{grid-template-columns:1fr;gap:28px}
  .dn-newsroom-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .dn-shell{width:min(calc(100% - 22px),var(--dn-max))}
  .dn-utility-right{display:none}
  .dn-masthead-inner{min-height:92px;grid-template-columns:1fr auto}
  .dn-brand{grid-column:1;justify-self:start}
  .dn-brand img{width:min(280px,68vw);max-height:72px}
  .dn-masthead-actions{grid-column:2}
  .dn-nav a{font-size:.82rem;padding:.72rem .65rem .65rem}
  .dn-top-grid{grid-template-columns:1fr;gap:24px}
  .dn-lead{order:-1}
  .dn-support-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .dn-support-card+.dn-support-card{border-top:0;padding-top:0}
  .dn-latest-col{display:block}
  .dn-section-grid-a,.dn-section-grid-b,.dn-section-grid-feature,.dn-strip-grid,.dn-horizontal-feature{grid-template-columns:1fr}
  .dn-story-card,.dn-feature-story{display:grid;grid-template-columns:132px 1fr;gap:13px;align-items:start}
  .dn-story-card .dn-card-media,.dn-feature-story .dn-card-media{aspect-ratio:1.35}
  .dn-story-title,.dn-feature-title{font-size:1.08rem;margin:.05rem 0 .2rem}
  .dn-story-excerpt{display:none}
  .dn-archive-layout{grid-template-columns:1fr}
  .dn-story-row{grid-template-columns:125px 1fr;gap:14px}
  .dn-story-row h2{font-size:1.18rem}
  .dn-article{width:min(calc(100% - 22px),1180px)}
  .dn-article-title{font-size:clamp(2.35rem,10vw,3.7rem)}
  .dn-article-body{font-size:1.06rem}
  .dn-newsroom-grid{grid-template-columns:1fr}
  .dn-footer-main{grid-template-columns:1fr}
  .dn-footer-menu ul{grid-template-columns:repeat(2,1fr)}
  .dn-footer-bottom{flex-direction:column}
}
@media(max-width:480px){
  .dn-support-stack{grid-template-columns:1fr}
  .dn-support-card{display:grid;grid-template-columns:120px 1fr;gap:12px}
  .dn-support-card .dn-support-title{font-size:1.05rem;margin:.05rem 0}
  .dn-support-card .dn-support-excerpt{display:none}
}

/* V2.1 cleanup */
.widget_archive,.widget_categories{display:none!important}
.dn-section-empty{padding:18px 0;color:var(--dn-muted);font-size:.9rem}
body.home .dn-ad:empty{display:none}

/* V2.3 visual polish */
.dn-home{padding-top:22px}
.dn-top-grid{gap:22px;padding-bottom:30px}
.dn-section,.dn-section-band{content-visibility:auto;contain-intrinsic-size:700px}
.dn-section-heading{margin-bottom:16px}
.dn-support-title{font-size:1.24rem}
.dn-lead-title{font-size:clamp(2rem,3.45vw,3.9rem)}
.dn-feature-title{font-size:1.56rem}
.dn-story-title{font-size:1.06rem}
.dn-latest-title{font-size:.97rem}
.dn-story-excerpt,.dn-support-excerpt{line-height:1.4}

/* Masthead commercial partner / header-rights slot */
.dn-masthead-sponsor{justify-self:end;display:flex;align-items:center;gap:.75rem;max-width:310px}
.dn-masthead-sponsor-label{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#74808d;white-space:nowrap}
.dn-masthead-sponsor .widget{margin:0}
.dn-masthead-sponsor img{max-width:180px;max-height:56px;width:auto;height:auto;object-fit:contain}
.dn-masthead-actions{justify-self:start}

/* Watch */
.dn-watch{background:#0a1830;color:#fff;margin-top:22px;padding:34px 0 38px}
.dn-watch .dn-section-heading{border-top-color:#fff}
.dn-watch .dn-section-heading a,.dn-watch .dn-meta{color:#d7e2ee}
.dn-watch-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.9fr);gap:26px}
.dn-watch-lead iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;background:#000}
.dn-watch-lead .dn-feature-title{font-size:1.85rem;color:#fff}
.dn-watch-stack{display:grid;grid-template-columns:1fr;gap:16px}
.dn-watch-card{display:grid;grid-template-columns:150px 1fr;gap:13px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:14px}
.dn-watch-card .dn-card-media{aspect-ratio:16/9;position:relative}
.dn-watch-card .dn-card-media:after{content:"▶";position:absolute;left:8px;bottom:8px;width:26px;height:26px;display:grid;place-items:center;background:#fff;color:#071f3d;font-size:.7rem}
.dn-watch-card .dn-story-title{color:#fff;margin-top:0}
.dn-watch-card .dn-kicker{color:#ff7278}

/* Footer social network bar */
.dn-footer-socials{border-top:1px solid rgba(255,255,255,.18);padding:18px 0}
.dn-footer-socials .dn-social-links{margin:0;gap:.45rem}
.dn-footer-socials .dn-social-links a{display:inline-block;border:1px solid rgba(255,255,255,.25);padding:.38rem .55rem;font-size:.76rem}
.dn-footer-socials .dn-social-links a:hover{text-decoration:none;background:rgba(255,255,255,.08)}

@media(max-width:900px){
  .dn-masthead-inner{grid-template-columns:1fr auto}
  .dn-brand{grid-column:1;justify-self:start}
  .dn-masthead-sponsor{grid-column:2;grid-row:1;max-width:230px}
  .dn-masthead-actions{display:none}
  .dn-watch-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .dn-masthead-sponsor{display:none}
  .dn-watch-card{grid-template-columns:120px 1fr}
}

/* V2.4 footer + ad cleanup */
.widget_archive,.widget_categories,.wp-block-archives,.wp-block-categories,
.widget_meta,.wp-block-page-list,.widget_pages{display:none!important}

.dn-newsroom-card{display:flex;flex-direction:column;justify-content:space-between}
.dn-newsroom-card .dn-action-btn{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  background:var(--dn-navy);
  color:#fff;
  border:1px solid var(--dn-navy);
  padding:.58rem .78rem;
  margin-top:.8rem;
  font-size:.78rem;
  font-weight:900;
  text-decoration:none;
}
.dn-newsroom-card .dn-action-btn:hover{background:var(--dn-navy-2);text-decoration:none}

.dn-service-page{width:min(calc(100% - 36px),980px);margin:0 auto;padding:34px 0 60px}
.dn-service-page h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.98;margin:.2rem 0 1rem}
.dn-service-page p{max-width:70ch}
.dn-form{display:grid;gap:15px;margin-top:24px;max-width:760px}
.dn-form label{font-weight:800;font-size:.86rem}
.dn-form input,.dn-form textarea,.dn-form select{
  width:100%;border:1px solid #aeb7c1;background:#fff;padding:.78rem .85rem;margin-top:.3rem
}
.dn-form textarea{min-height:180px;resize:vertical}
.dn-form button{justify-self:start;border:0;background:var(--dn-navy);color:#fff;padding:.75rem 1rem;font-weight:900;cursor:pointer}
.dn-form button:hover{background:var(--dn-navy-2)}
.dn-notice{padding:.8rem 1rem;margin:1rem 0;border-left:4px solid var(--dn-navy);background:var(--dn-soft)}
.dn-vacancy-empty{padding:24px;border:1px solid var(--dn-line);background:var(--dn-soft);margin-top:20px}

/* V2.5 footer refinement */
.dn-footer-main{grid-template-columns:1fr 2fr;align-items:start}
.dn-footer-identity{display:flex;flex-direction:column;gap:.4rem}
.dn-footer-name{font-weight:900;font-size:1.25rem;letter-spacing:-.02em}
.dn-footer-email{color:#fff;font-size:.88rem}
.dn-footer-email:hover{text-decoration:underline}
.dn-footer-tagline{margin:.2rem 0 0}
.dn-footer-follow{border-top:1px solid rgba(255,255,255,.18);padding:18px 0}
.dn-footer-follow-inner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.dn-footer-follow-title{font-weight:900;font-size:.9rem;white-space:nowrap}
.dn-footer-follow .dn-social-links{margin:0}
.dn-footer-follow .dn-social-links a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;border:1px solid rgba(255,255,255,.28);
  padding:.38rem .6rem;font-size:.76rem;font-weight:800
}
.dn-footer-follow .dn-social-links a:hover{background:rgba(255,255,255,.08);text-decoration:none}

/* V2.6 Watch article */
.dn-watch-article-player{margin:26px 0 10px;background:#000}
.dn-watch-article-player iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
.dn-watch-article .dn-article-head{max-width:1040px}
.dn-watch-article .dn-article-title{max-width:1000px}
.dn-watch-article .dn-article-grid{margin-top:30px}
.dn-watch-note{font-size:.78rem;color:var(--dn-muted);margin:.55rem 0 0}

/* V2.7 editorial typography + metadata */
:root{
  --dn-editorial-serif:"Source Serif 4","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,"Times New Roman",serif;
}

.dn-lead-title,
.dn-support-title,
.dn-feature-title,
.dn-story-title,
.dn-latest-title,
.dn-page-title,
.dn-article-title,
.dn-story-row h2{
  font-family:var(--dn-editorial-serif);
}

.dn-lead-title{
  font-size:clamp(2.35rem,3.65vw,4.45rem);
  line-height:.97;
  letter-spacing:-.035em;
  font-weight:700;
  margin:.62rem 0 .38rem;
}

.dn-support-title{
  font-size:1.34rem;
  line-height:1.06;
  letter-spacing:-.018em;
  font-weight:700;
}

.dn-feature-title{
  font-size:1.72rem;
  line-height:1.04;
  letter-spacing:-.02em;
  font-weight:700;
}

.dn-story-title{
  font-size:1.14rem;
  line-height:1.1;
  letter-spacing:-.012em;
  font-weight:700;
}

.dn-latest-title{
  font-size:1.03rem;
  line-height:1.14;
  font-weight:700;
}

.dn-lead-excerpt{
  font-size:1.02rem;
  line-height:1.42;
  max-width:64ch;
}

.dn-support-excerpt,
.dn-story-excerpt{
  line-height:1.42;
}

.dn-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  color:#66717c;
  font-size:.73rem;
  line-height:1.3;
  margin-top:.5rem;
}

.dn-meta span+span::before{
  content:"|";
  margin:0 .42rem;
  color:#a2aab2;
}

.dn-meta .dn-meta-category{
  color:#66717c;
}

.dn-top-grid{
  grid-template-columns:minmax(235px,.78fr) minmax(0,1.75fr) minmax(260px,.78fr);
  gap:24px;
}

.dn-support-card .dn-card-media{
  aspect-ratio:16/9;
}

.dn-lead .dn-card-media{
  aspect-ratio:16/9;
}

.dn-kicker{
  font-size:.67rem;
  letter-spacing:.065em;
}

@media(max-width:760px){
  .dn-lead-title{font-size:clamp(2.1rem,10.5vw,3.3rem)}
  .dn-support-title{font-size:1.12rem}
  .dn-feature-title{font-size:1.2rem}
  .dn-story-title{font-size:1.06rem}
  .dn-meta{font-size:.7rem}
}

/* V2.8 mobile right-side overflow fix */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{position:relative}

img,iframe,video,embed,object,svg{
  max-width:100%;
}

.dn-shell,
.dn-top-grid,
.dn-section-grid-a,
.dn-section-grid-b,
.dn-section-grid-feature,
.dn-strip-grid,
.dn-horizontal-feature,
.dn-watch-grid,
.dn-footer-main,
.dn-newsroom-grid,
.dn-archive-layout,
.dn-article-grid,
.dn-support-stack,
.dn-latest-col{
  min-width:0;
  max-width:100%;
}

.dn-top-grid>*,
.dn-section-grid-a>*,
.dn-section-grid-b>*,
.dn-section-grid-feature>*,
.dn-strip-grid>*,
.dn-horizontal-feature>*,
.dn-watch-grid>*,
.dn-footer-main>*,
.dn-newsroom-grid>*,
.dn-archive-layout>*,
.dn-article-grid>*{
  min-width:0;
  max-width:100%;
}

@media(max-width:760px){
  .dn-shell{
    width:calc(100% - 22px);
    max-width:calc(100% - 22px);
    margin-left:auto;
    margin-right:auto;
  }

  .dn-masthead,
  .dn-nav-wrap,
  .dn-breaking,
  .dn-section,
  .dn-section-band,
  .dn-watch,
  .dn-newsroom-links,
  .dn-footer{
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
  }

  /* only the nav itself may scroll sideways */
  .dn-nav{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
  }
  .dn-nav ul{
    width:max-content;
    max-width:none;
  }

  .dn-top-grid,
  .dn-section-grid-a,
  .dn-section-grid-b,
  .dn-section-grid-feature,
  .dn-strip-grid,
  .dn-horizontal-feature,
  .dn-watch-grid,
  .dn-archive-layout,
  .dn-article-grid,
  .dn-footer-main,
  .dn-newsroom-grid{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr);
  }

  .dn-support-card,
  .dn-story-card,
  .dn-feature-story,
  .dn-story-row,
  .dn-watch-card,
  .dn-horizontal-feature{
    width:100%;
    max-width:100%;
  }

  .dn-support-card{
    grid-template-columns:120px minmax(0,1fr);
  }
  .dn-story-card,.dn-feature-story{
    grid-template-columns:128px minmax(0,1fr);
  }
  .dn-story-row{
    grid-template-columns:120px minmax(0,1fr);
  }
  .dn-watch-card{
    grid-template-columns:112px minmax(0,1fr);
  }

  .dn-latest-col{
    width:100%;
    max-width:100%;
    padding-left:0;
    border-left:0;
  }

  .dn-lead-title,
  .dn-support-title,
  .dn-feature-title,
  .dn-story-title,
  .dn-latest-title,
  .dn-page-title,
  .dn-article-title{
    overflow-wrap:anywhere;
  }

  .dn-watch-article-player,
  .dn-watch-article-player iframe,
  .dn-watch-lead iframe{
    width:100%;
    max-width:100%;
  }

  .dn-search-form{
    width:100%;
    max-width:100%;
  }
  .dn-search-form input{min-width:0}
}

@media(max-width:420px){
  .dn-support-card,
  .dn-story-card,
  .dn-feature-story,
  .dn-story-row,
  .dn-watch-card{
    grid-template-columns:108px minmax(0,1fr);
  }
}

/* V2.9 mobile viewport + image framing fixes */

/* Never let section wrappers create viewport-width overflow */
html, body{
  margin:0;
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

header, main, footer,
.dn-utility,
.dn-masthead,
.dn-nav-wrap,
.dn-breaking,
.dn-section,
.dn-section-band,
.dn-watch,
.dn-newsroom-links,
.dn-footer{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Grid/flex children can otherwise force their parent wider */
.dn-shell,
.dn-shell *,
.dn-card,
.dn-card > *,
.dn-top-grid > *,
.dn-support-stack > *,
.dn-section-grid-a > *,
.dn-section-grid-b > *,
.dn-section-grid-feature > *,
.dn-strip-grid > *,
.dn-horizontal-feature > *,
.dn-watch-grid > *,
.dn-watch-stack > *,
.dn-footer-main > *,
.dn-newsroom-grid > *{
  min-width:0;
}

/* Keep navigation independently scrollable, never the page */
.dn-nav{
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.dn-nav ul{
  flex-wrap:nowrap;
  width:max-content;
  min-width:max-content;
  max-width:none;
}

/* Media must never define page width */
img, picture, iframe, video, embed, object, svg{
  max-width:100%;
}

/* Desktop cards can still use editorial crops. */
.dn-card-media{
  overflow:hidden;
}

/* PHONE-SPECIFIC: show the full photograph instead of cropping faces/edges */
@media(max-width:760px){
  html, body{
    overflow-x:clip !important;
  }

  .dn-shell{
    width:auto !important;
    max-width:none !important;
    margin-left:11px !important;
    margin-right:11px !important;
  }

  /* Important: don't use 100vw on mobile. It can include browser/scrollbar overflow. */
  .dn-masthead,
  .dn-nav-wrap,
  .dn-breaking,
  .dn-section,
  .dn-section-band,
  .dn-watch,
  .dn-newsroom-links,
  .dn-footer{
    width:100% !important;
    max-width:100% !important;
  }

  .dn-top-grid,
  .dn-section-grid-a,
  .dn-section-grid-b,
  .dn-section-grid-feature,
  .dn-strip-grid,
  .dn-horizontal-feature,
  .dn-watch-grid,
  .dn-archive-layout,
  .dn-article-grid,
  .dn-footer-main,
  .dn-newsroom-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0,1fr) !important;
  }

  /*
   * Mobile news cards: full image frame.
   * Removes aspect-ratio boxes that were forcing object-fit:cover crops.
   */
  .dn-story-card .dn-card-media,
  .dn-feature-story .dn-card-media,
  .dn-support-card .dn-card-media,
  .dn-story-row .dn-card-media,
  .dn-watch-card .dn-card-media{
    aspect-ratio:auto !important;
    height:auto !important;
    background:#eef1f4;
    overflow:hidden;
  }

  .dn-story-card .dn-card-media img,
  .dn-feature-story .dn-card-media img,
  .dn-support-card .dn-card-media img,
  .dn-story-row .dn-card-media img,
  .dn-watch-card .dn-card-media img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  /* Lead image remains large but also keeps the complete photo */
  .dn-lead .dn-card-media{
    aspect-ratio:auto !important;
    height:auto !important;
  }
  .dn-lead .dn-card-media img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  /* Use compact horizontal cards without fixed crop boxes */
  .dn-support-card,
  .dn-story-card,
  .dn-feature-story,
  .dn-story-row,
  .dn-watch-card{
    grid-template-columns:112px minmax(0,1fr) !important;
    align-items:start;
  }

  .dn-support-card .dn-card-media,
  .dn-story-card .dn-card-media,
  .dn-feature-story .dn-card-media,
  .dn-story-row .dn-card-media,
  .dn-watch-card .dn-card-media{
    width:112px !important;
    max-width:112px !important;
  }

  /* Watch lead embed should fit exact container width */
  .dn-watch-lead,
  .dn-watch-lead iframe,
  .dn-watch-article-player,
  .dn-watch-article-player iframe{
    width:100% !important;
    max-width:100% !important;
  }

  /* Long titles/URLs must wrap rather than widen the layout */
  .dn-lead-title,
  .dn-support-title,
  .dn-feature-title,
  .dn-story-title,
  .dn-latest-title,
  .dn-page-title,
  .dn-article-title,
  .dn-footer a{
    overflow-wrap:anywhere;
  }
}

@media(max-width:420px){
  .dn-support-card,
  .dn-story-card,
  .dn-feature-story,
  .dn-story-row,
  .dn-watch-card{
    grid-template-columns:104px minmax(0,1fr) !important;
  }

  .dn-support-card .dn-card-media,
  .dn-story-card .dn-card-media,
  .dn-feature-story .dn-card-media,
  .dn-story-row .dn-card-media,
  .dn-watch-card .dn-card-media{
    width:104px !important;
    max-width:104px !important;
  }
}

/* V3.0 unified Duavata typography system */
:root{
  --dn-ui-sans: Helvetica, Arial, "Nimbus Sans L", sans-serif;
  --dn-editorial-serif:"Source Serif 4","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,"Times New Roman",serif;
}

/* UI / navigation / metadata / body system */
body,
button,
input,
textarea,
select,
.dn-utility,
.dn-nav,
.dn-breaking,
.dn-kicker,
.dn-meta,
.dn-section-heading,
.dn-latest-time,
.dn-footer,
.dn-newsroom-links,
.dn-share,
.dn-search-form{
  font-family:var(--dn-ui-sans);
}

/* Main navigation: Helvetica Bold feel */
.dn-nav a{
  font-family:var(--dn-ui-sans);
  font-size:15px;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
  padding:.88rem .9rem .78rem;
}

/* Story headlines stay editorial serif */
.dn-lead-title,
.dn-support-title,
.dn-feature-title,
.dn-story-title,
.dn-latest-title,
.dn-page-title,
.dn-article-title,
.dn-story-row h2{
  font-family:var(--dn-editorial-serif);
  font-weight:700;
}

/* Headline sizing tuned to BBC-like visual hierarchy */
.dn-lead-title{
  font-size:clamp(2.45rem,3.7vw,4.5rem);
  line-height:.96;
  letter-spacing:-.032em;
}

.dn-support-title{
  font-size:1.32rem;
  line-height:1.07;
}

.dn-feature-title{
  font-size:1.7rem;
  line-height:1.04;
}

.dn-story-title{
  font-size:1.13rem;
  line-height:1.1;
}

.dn-latest-title{
  font-size:1.02rem;
  line-height:1.14;
}

/* Metadata: compact broadcast-news style */
.dn-meta{
  font-size:.72rem;
  font-weight:400;
  color:#68737f;
  line-height:1.3;
  margin-top:.48rem;
}

.dn-meta span+span::before{
  content:"|";
  margin:0 .42rem;
  color:#9aa4ad;
}

/* Section labels / breaking / nav utility */
.dn-kicker,
.dn-section-heading h2,
.dn-breaking-label,
.dn-latest-col h2,
.dn-share h2,
.dn-footer-follow-title{
  font-family:var(--dn-ui-sans);
  font-weight:700;
  letter-spacing:.04em;
}

/* Body copy uses sans for a cleaner broadcast-news feel */
.dn-lead-excerpt,
.dn-support-excerpt,
.dn-story-excerpt,
.dn-page-description{
  font-family:var(--dn-ui-sans);
}

.dn-article-body{
  font-family:var(--dn-ui-sans);
  font-size:1.06rem;
  line-height:1.72;
}

.dn-article-body h2,
.dn-article-body h3{
  font-family:var(--dn-ui-sans);
  font-weight:700;
}

/* Footer and buttons */
.dn-action-btn,
.dn-share-links a,
.dn-share-links button,
.dn-search-form button{
  font-family:var(--dn-ui-sans);
  font-weight:700;
}

/* Mobile nav refinement */
@media(max-width:760px){
  .dn-nav a{
    font-size:14px;
    padding:.78rem .68rem .7rem;
  }

  .dn-lead-title{
    font-size:clamp(2.15rem,10vw,3.25rem);
  }

  .dn-support-title{font-size:1.08rem}
  .dn-feature-title{font-size:1.15rem}
  .dn-story-title{font-size:1.04rem}
  .dn-meta{font-size:.69rem}
}


/* =========================================================
   V3.1 — Dynamic editorial bands
   Pentagram-inspired visual rhythm; Duavata layout unchanged.
   ========================================================= */
:root{
  --dn-ink:#202020;
  --dn-electric:#0b3d91;
  --dn-stone:#f2efe8;
}

/* Give every homepage band a cleaner, more deliberate canvas. */
.dn-home > .dn-section,
.dn-home > .dn-section-band,
.dn-home > .dn-watch{
  margin-top:0;
  padding:56px 0 60px;
}

.dn-home > .dn-section--white{
  background:#fff;
}

.dn-section-band--ink{
  background:var(--dn-ink);
  color:#fff;
}

.dn-section-band--blue{
  background:var(--dn-electric);
  color:#fff;
}

.dn-section-band--stone{
  background:var(--dn-stone);
  color:#111;
}

/* Dark/blue bands intelligently invert editorial UI. */
.dn-section-band--ink .dn-section-heading,
.dn-section-band--blue .dn-section-heading{
  border-top-color:#fff;
}

.dn-section-band--ink .dn-section-heading a,
.dn-section-band--blue .dn-section-heading a{
  color:#fff;
}

.dn-section-band--ink a,
.dn-section-band--blue a{
  color:inherit;
}

.dn-section-band--ink .dn-meta,
.dn-section-band--blue .dn-meta,
.dn-section-band--ink .dn-story-excerpt,
.dn-section-band--blue .dn-story-excerpt,
.dn-section-band--ink .dn-lead-excerpt,
.dn-section-band--blue .dn-lead-excerpt{
  color:rgba(255,255,255,.72);
}

.dn-section-band--ink .dn-kicker,
.dn-section-band--blue .dn-kicker{
  color:#ff5964;
}

.dn-section-band--ink .dn-card,
.dn-section-band--blue .dn-card,
.dn-section-band--ink .dn-story-card,
.dn-section-band--blue .dn-story-card{
  border-color:rgba(255,255,255,.18);
}

/* Stone band stays quiet and editorial. */
.dn-section-band--stone .dn-section-heading{
  border-top-color:#111;
}
.dn-section-band--stone .dn-section-heading a{
  color:#111;
}

/* More confident media blocks without changing grid placement. */
.dn-home .dn-card-media{
  display:block;
  overflow:hidden;
  background:#e8ebee;
}

.dn-home .dn-card-media img{
  display:block;
  width:100%;
  transition:transform .42s cubic-bezier(.2,.7,.2,1), filter .42s ease;
  transform:scale(1.001);
}

@media (hover:hover) and (pointer:fine){
  .dn-home article:hover .dn-card-media img{
    transform:scale(1.025);
  }

  .dn-home article h1 a,
  .dn-home article h2 a,
  .dn-home article h3 a{
    transition:opacity .2s ease, transform .2s ease;
  }

  .dn-home article:hover h1 a,
  .dn-home article:hover h2 a,
  .dn-home article:hover h3 a{
    opacity:.78;
  }
}

/* Less "boxed WordPress", more designed editorial surface. */
.dn-home .dn-story-card,
.dn-home .dn-support-card,
.dn-home .dn-feature-story,
.dn-home .dn-horizontal-feature{
  background:transparent;
  box-shadow:none;
}

/* Dark feature bands get the gallery-like breathing room from the reference. */
.dn-section-band--ink .dn-section-grid-feature,
.dn-section-band--blue .dn-section-grid-feature,
.dn-section-band--ink .dn-strip-grid,
.dn-section-band--blue .dn-strip-grid{
  gap:28px;
}

/* Section headings are cleaner/thinner; retain hierarchy. */
.dn-home .dn-section-heading{
  border-top-width:2px;
  padding-top:10px;
  margin-bottom:24px;
}
.dn-home .dn-section-heading h2{
  font-size:1.05rem;
  letter-spacing:.015em;
}

/* Watch remains its own Duavata navy video environment. */
.dn-home > .dn-watch{
  margin-top:0;
}

/* Mobile: preserve the V2.9/V3.0 no-overflow work. */
@media(max-width:760px){
  .dn-home > .dn-section,
  .dn-home > .dn-section-band,
  .dn-home > .dn-watch{
    padding:34px 0 38px;
  }

  .dn-section-band--ink .dn-section-grid-feature,
  .dn-section-band--blue .dn-section-grid-feature,
  .dn-section-band--ink .dn-strip-grid,
  .dn-section-band--blue .dn-strip-grid{
    gap:20px;
  }

  .dn-home .dn-card-media img{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .dn-home .dn-card-media img,
  .dn-home article h1 a,
  .dn-home article h2 a,
  .dn-home article h3 a{
    transition:none !important;
  }
}

/* =========================================================
   V3.2 — Contained section architecture
   Pentagram-inspired section blocks, not individual post tiles.
   The page remains white and each category is a discrete module.
   ========================================================= */

/* Kill the V3.1 full-bleed colour bands. White space is now structural. */
.dn-home{
  background:#fff;
  padding-bottom:54px;
}

.dn-home > .dn-section,
.dn-home > .dn-section-band,
.dn-home > .dn-watch{
  background:#fff !important;
  color:var(--dn-ink);
  padding:0;
  margin:54px 0 0;
}

/* The SECTION is the visual box. Stories keep their existing hierarchy inside it. */
.dn-home > .dn-section > .dn-shell,
.dn-home > .dn-section-band > .dn-shell,
.dn-home > .dn-watch > .dn-shell{
  padding:38px 40px 42px;
  overflow:hidden;
}

/* Quiet white editorial modules. */
.dn-home > .dn-section--white > .dn-shell{
  background:#fff;
  border-top:2px solid var(--dn-navy);
  padding-top:18px;
}

/* Pentagram-like charcoal category modules. */
.dn-home > .dn-section-band--ink > .dn-shell{
  background:#202020;
  color:#fff;
}

/* Duavata blue category modules. */
.dn-home > .dn-section-band--blue > .dn-shell{
  background:#123d72;
  color:#fff;
}

/* Opinion is intentionally warmer and quieter. */
.dn-home > .dn-section-band--stone > .dn-shell{
  background:#f2efe8;
  color:#111;
}

/* Watch is a contained video room rather than a full-width navy stripe. */
.dn-home > .dn-watch > .dn-shell{
  background:var(--dn-navy);
  color:#fff;
}

/* On coloured modules, invert the editorial chrome INSIDE the module only. */
.dn-home > .dn-section-band--ink .dn-section-heading,
.dn-home > .dn-section-band--blue .dn-section-heading,
.dn-home > .dn-watch .dn-section-heading{
  border-top-color:rgba(255,255,255,.9);
}

.dn-home > .dn-section-band--ink .dn-section-heading a,
.dn-home > .dn-section-band--blue .dn-section-heading a,
.dn-home > .dn-watch .dn-section-heading a,
.dn-home > .dn-section-band--ink a,
.dn-home > .dn-section-band--blue a,
.dn-home > .dn-watch a{
  color:inherit;
}

.dn-home > .dn-section-band--ink .dn-meta,
.dn-home > .dn-section-band--blue .dn-meta,
.dn-home > .dn-watch .dn-meta,
.dn-home > .dn-section-band--ink .dn-story-excerpt,
.dn-home > .dn-section-band--blue .dn-story-excerpt,
.dn-home > .dn-watch .dn-story-excerpt{
  color:rgba(255,255,255,.72);
}

.dn-home > .dn-section-band--ink .dn-kicker,
.dn-home > .dn-section-band--blue .dn-kicker,
.dn-home > .dn-watch .dn-kicker{
  color:#ff5964;
}

/* Cleaner Pentagram rhythm: stronger image fields, real white/negative-space gutters. */
.dn-home .dn-section-grid-feature,
.dn-home .dn-strip-grid,
.dn-home .dn-watch-grid{
  gap:30px;
}

.dn-home .dn-section-heading{
  margin-bottom:28px;
}

.dn-home .dn-card,
.dn-home .dn-story-card,
.dn-home .dn-feature-story,
.dn-home .dn-horizontal-feature,
.dn-home .dn-watch-card,
.dn-home .dn-watch-lead{
  min-width:0;
}

/* Keep images graphic and uncropped where the source ratio matters. */
.dn-home .dn-card-media{
  background:transparent;
}
.dn-home .dn-card-media img{
  object-position:center;
}

/* Desktop: subtle asymmetry without changing story order or category placement. */
@media(min-width:1000px){
  .dn-home > .dn-section-band--ink > .dn-shell,
  .dn-home > .dn-section-band--blue > .dn-shell,
  .dn-home > .dn-watch > .dn-shell,
  .dn-home > .dn-section-band--stone > .dn-shell{
    width:min(calc(100% - 72px),1320px);
  }

  .dn-home > .dn-section--white > .dn-shell{
    width:min(calc(100% - 72px),1320px);
  }

  /* Feature sections read like one large editorial composition. */
  .dn-home .dn-section-grid-feature{
    grid-template-columns:minmax(0,1.72fr) minmax(0,.8fr) minmax(0,.8fr);
  }

  .dn-home .dn-section-grid-feature .dn-feature-story{
    grid-row:span 2;
  }
}

/* Tablet/mobile: retain the contained-card idea without recreating horizontal overflow. */
@media(max-width:999px){
  .dn-home > .dn-section,
  .dn-home > .dn-section-band,
  .dn-home > .dn-watch{
    margin-top:28px;
  }

  .dn-home > .dn-section > .dn-shell,
  .dn-home > .dn-section-band > .dn-shell,
  .dn-home > .dn-watch > .dn-shell{
    width:min(calc(100% - 24px),var(--dn-max));
    padding:26px 22px 30px;
  }

  .dn-home > .dn-section--white > .dn-shell{
    padding-top:16px;
  }
}

@media(max-width:760px){
  .dn-home > .dn-section,
  .dn-home > .dn-section-band,
  .dn-home > .dn-watch{
    margin-top:18px;
  }

  .dn-home > .dn-section > .dn-shell,
  .dn-home > .dn-section-band > .dn-shell,
  .dn-home > .dn-watch > .dn-shell{
    width:calc(100% - 20px);
    padding:22px 16px 26px;
  }

  .dn-home > .dn-section--white > .dn-shell{
    padding-top:14px;
  }

  .dn-home .dn-section-grid-feature,
  .dn-home .dn-strip-grid,
  .dn-home .dn-watch-grid{
    gap:20px;
  }
}


/* =========================================================
   V4.0 — Newspaper front page
   NYT-inspired information density, rules and column rhythm.
   Duavata branding/fonts/categories retained.
   ========================================================= */

.dn-nyt-home{
  background:#fff;
  color:#111;
  padding:16px 0 48px;
}

.dn-paper-shell{
  width:min(calc(100% - 34px),1180px);
}

.dn-paper-rule{
  width:100%;
  border-top:1px solid #111;
}
.dn-paper-rule--double{
  border-top:1px solid #111;
  border-bottom:1px solid #111;
  height:5px;
  margin-bottom:14px;
}

.dn-nyt-lead-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.55fr) minmax(250px,.72fr);
  gap:0;
  border-bottom:1px solid #111;
  padding-bottom:15px;
}

.dn-nyt-left-rail{
  padding-right:14px;
  border-right:1px solid #c8c8c8;
}
.dn-nyt-center-lead{
  padding:0 14px;
}
.dn-nyt-right-rail{
  padding-left:14px;
  border-left:1px solid #c8c8c8;
}

.dn-nyt-rail-story + .dn-nyt-rail-story{
  border-top:1px solid #c8c8c8;
  padding-top:13px;
  margin-top:13px;
}

.dn-nyt-rail-image,
.dn-nyt-lead-image,
.dn-nyt-grid-image,
.dn-nyt-section-main-image,
.dn-nyt-underlead-thumb,
.dn-nyt-compact-thumb{
  display:block;
  overflow:hidden;
  background:#eee;
}
.dn-nyt-rail-image img,
.dn-nyt-lead-image img,
.dn-nyt-grid-image img,
.dn-nyt-section-main-image img,
.dn-nyt-underlead-thumb img,
.dn-nyt-compact-thumb img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.dn-nyt-rail-story h2,
.dn-nyt-center-lead h1,
.dn-nyt-latest-story>a,
.dn-nyt-underlead h3,
.dn-nyt-grid-story h3,
.dn-nyt-section-main h3,
.dn-nyt-compact-story h4,
.dn-nyt-watch-lead h3,
.dn-nyt-opinion-grid h3{
  font-family:var(--dn-editorial-serif);
  color:#111;
}

.dn-nyt-rail-story h2{
  font-size:1.23rem;
  line-height:1.05;
  margin:.5rem 0 .35rem;
}
.dn-nyt-rail-story p{
  font-size:.83rem;
  line-height:1.35;
  color:#444;
  margin:.3rem 0;
}

.dn-nyt-center-lead h1{
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:.98;
  letter-spacing:-.025em;
  margin:.62rem 0 .4rem;
}
.dn-nyt-lead-summary{
  font-size:.93rem;
  line-height:1.4;
  color:#444;
  margin:.35rem 0;
}

.dn-nyt-rail-heading{
  font-family:var(--dn-ui-sans);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.75rem;
  margin:0;
  padding:0 0 .6rem;
  border-bottom:2px solid #111;
}

.dn-nyt-latest-story{
  padding:.72rem 0;
  border-bottom:1px solid #d2d2d2;
}
.dn-nyt-latest-story>a{
  display:block;
  font-size:1rem;
  line-height:1.08;
  font-weight:700;
}
.dn-nyt-latest-story .dn-meta{
  margin-top:.28rem;
}

.dn-nyt-underlead{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid #111;
}
.dn-nyt-underlead-story{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:10px;
  padding:12px 14px 12px 0;
}
.dn-nyt-underlead-story + .dn-nyt-underlead-story{
  border-left:1px solid #c8c8c8;
  padding-left:14px;
}
.dn-nyt-underlead h3{
  font-size:1rem;
  line-height:1.05;
  margin:0;
}

/* Section system */
.dn-nyt-section{
  background:#fff !important;
  color:#111 !important;
  margin:0 !important;
  padding:0 !important;
}
.dn-nyt-section .dn-paper-shell{
  padding:20px 0 22px;
  border-bottom:1px solid #111;
}
.dn-nyt-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  border-top:2px solid #111;
  padding-top:6px;
  margin-bottom:12px;
}
.dn-nyt-section-head h2{
  margin:0;
  font-family:var(--dn-ui-sans);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:none;
}
.dn-nyt-section-head a{
  font-size:.68rem;
  font-family:var(--dn-ui-sans);
  font-weight:700;
  color:#315d87;
}

.dn-nyt-section-grid{
  display:grid;
  grid-template-columns:1.35fr repeat(3,minmax(0,.8fr));
  gap:0;
}
.dn-nyt-grid-story{
  padding:0 12px;
  border-left:1px solid #d2d2d2;
}
.dn-nyt-grid-story:first-child{
  padding-left:0;
  border-left:0;
}
.dn-nyt-grid-story:last-child{
  padding-right:0;
}
.dn-nyt-grid-story h3{
  font-size:1.08rem;
  line-height:1.05;
  margin:.5rem 0 .22rem;
}
.dn-nyt-grid-story--lead h3{
  font-size:1.45rem;
}
.dn-nyt-grid-story p{
  font-size:.82rem;
  color:#444;
  line-height:1.35;
  margin:.3rem 0;
}

.dn-nyt-section-feature{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);
  gap:18px;
}
.dn-nyt-section-main{
  padding-right:18px;
  border-right:1px solid #c8c8c8;
}
.dn-nyt-section-main h3{
  font-size:1.65rem;
  line-height:1.02;
  margin:.5rem 0 .25rem;
}
.dn-nyt-section-main p{
  font-size:.86rem;
  line-height:1.38;
  color:#444;
}
.dn-nyt-section-side{
  display:flex;
  flex-direction:column;
}

.dn-nyt-compact-story{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:10px;
  padding:0 0 10px;
  margin-bottom:10px;
  border-bottom:1px solid #d2d2d2;
}
.dn-nyt-compact-story h4{
  font-size:.98rem;
  line-height:1.05;
  margin:0;
}
.dn-nyt-compact-story .dn-meta{
  margin-top:.28rem;
}

.dn-nyt-watch-section{
  background:#fff !important;
}
.dn-nyt-watch-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);
  gap:18px;
}
.dn-nyt-watch-lead{
  padding-right:18px;
  border-right:1px solid #c8c8c8;
}
.dn-nyt-watch-lead iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
}
.dn-nyt-watch-lead h3{
  font-size:1.5rem;
  line-height:1.02;
  margin:.5rem 0 .2rem;
}

.dn-nyt-opinion-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.dn-nyt-opinion-grid article{
  padding:0 14px;
  border-left:1px solid #d2d2d2;
}
.dn-nyt-opinion-grid article:nth-child(3n+1){
  border-left:0;
  padding-left:0;
}
.dn-nyt-opinion-grid h3{
  font-size:1.02rem;
  line-height:1.08;
  margin:.2rem 0;
}
.dn-nyt-opinion-grid p{
  font-size:.78rem;
  line-height:1.35;
  color:#555;
}

/* Remove colourful V3 section styling on homepage */
.dn-nyt-home .dn-kicker{
  color:#111;
}
.dn-nyt-home .dn-meta{
  color:#777;
  font-size:.65rem;
}
.dn-nyt-home .dn-meta span+span::before{
  color:#aaa;
}

/* Keep interactions subtle, newspaper-like */
@media(hover:hover) and (pointer:fine){
  .dn-nyt-home article a:hover{
    text-decoration:underline;
    text-underline-offset:2px;
  }
  .dn-nyt-home article:hover img{
    transform:none !important;
  }
}

/* Tablet */
@media(max-width:980px){
  .dn-nyt-lead-grid{
    grid-template-columns:1fr 1.6fr;
  }
  .dn-nyt-right-rail{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid #111;
    padding:12px 0 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
  }
  .dn-nyt-right-rail .dn-nyt-rail-heading{
    grid-column:1/-1;
  }
  .dn-nyt-latest-story{
    padding:.7rem 12px;
    border-left:1px solid #ddd;
  }
  .dn-nyt-latest-story:nth-of-type(2){
    border-left:0;
    padding-left:0;
  }

  .dn-nyt-section-grid{
    grid-template-columns:1.3fr 1fr 1fr;
  }
  .dn-nyt-grid-story:nth-child(n+4){
    display:none;
  }
}

/* Mobile newspaper stack; no horizontal page overflow */
@media(max-width:760px){
  .dn-paper-shell{
    width:calc(100% - 22px) !important;
    max-width:calc(100% - 22px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dn-nyt-lead-grid{
    display:flex;
    flex-direction:column;
  }

  .dn-nyt-center-lead{
    order:-1;
    padding:0 0 14px;
    border-bottom:1px solid #111;
  }

  .dn-nyt-left-rail{
    padding:12px 0 0;
    border-right:0;
  }
  .dn-nyt-rail-story{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:10px;
    padding-bottom:12px;
  }
  .dn-nyt-rail-story + .dn-nyt-rail-story{
    margin-top:0;
  }
  .dn-nyt-rail-story p{
    display:none;
  }

  .dn-nyt-right-rail{
    display:block;
    border-top:1px solid #111;
    padding-top:12px;
  }
  .dn-nyt-latest-story{
    border-left:0;
    padding:.65rem 0;
  }

  .dn-nyt-underlead{
    grid-template-columns:1fr;
  }
  .dn-nyt-underlead-story + .dn-nyt-underlead-story{
    border-left:0;
    border-top:1px solid #ddd;
    padding-left:0;
  }

  .dn-nyt-section .dn-paper-shell{
    padding:16px 0 18px;
  }

  .dn-nyt-section-grid,
  .dn-nyt-section-feature,
  .dn-nyt-watch-grid,
  .dn-nyt-opinion-grid{
    display:block;
  }

  .dn-nyt-grid-story,
  .dn-nyt-section-main,
  .dn-nyt-opinion-grid article{
    border-left:0;
    border-right:0;
    padding:0 0 12px;
    margin-bottom:12px;
    border-bottom:1px solid #ddd;
  }

  .dn-nyt-grid-story{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    column-gap:10px;
  }
  .dn-nyt-grid-story .dn-nyt-grid-image{
    grid-row:1/4;
  }
  .dn-nyt-grid-story p{
    display:none;
  }

  .dn-nyt-section-main{
    padding-right:0;
  }

  .dn-nyt-compact-story{
    grid-template-columns:100px minmax(0,1fr);
  }

  .dn-nyt-watch-lead{
    padding-right:0;
    border-right:0;
    border-bottom:1px solid #111;
    padding-bottom:14px;
    margin-bottom:14px;
  }

  .dn-nyt-center-lead h1{
    font-size:2.25rem;
  }
}

/* V4.2 — cleaner newspaper rules + stronger section identity */

/* Remove the remaining double-rule feel. */
.dn-paper-rule--double{
  height:0 !important;
  border-top:1px solid #111 !important;
  border-bottom:0 !important;
  margin-bottom:16px !important;
}

.dn-nyt-section .dn-paper-shell{
  border-bottom:0 !important;
  padding-top:28px !important;
  padding-bottom:30px !important;
}

/* One clear rule starts each section. */
.dn-nyt-section-head{
  border-top:1px solid #111 !important;
  padding-top:10px !important;
  margin-bottom:18px !important;
}

/* Stronger section names — easy to scan immediately. */
.dn-nyt-section-head h2{
  font-family:var(--dn-ui-sans) !important;
  font-size:clamp(1.35rem,1.8vw,1.7rem) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
  text-transform:none !important;
}

/* "More Local", etc., stays quiet and secondary. */
.dn-nyt-section-head a{
  font-size:.72rem !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

/* Slightly more breathing room between newsroom sections. */
.dn-nyt-section + .dn-nyt-section{
  margin-top:2px !important;
}

/* Watch should follow the same section-title treatment. */
.dn-nyt-watch-section .dn-nyt-section-head{
  border-top:1px solid #111 !important;
}

/* Opinion heading matches all other sections. */
.dn-nyt-opinion-section .dn-nyt-section-head h2{
  font-size:clamp(1.35rem,1.8vw,1.7rem) !important;
}

/* Mobile: still prominent without swallowing the screen. */
@media(max-width:760px){
  .dn-nyt-section .dn-paper-shell{
    padding-top:22px !important;
    padding-bottom:24px !important;
  }

  .dn-nyt-section-head{
    padding-top:8px !important;
    margin-bottom:14px !important;
  }

  .dn-nyt-section-head h2{
    font-size:1.32rem !important;
  }
}

/* V4.3 — built-in advertising + footer social icons */
.dn-managed-ad{
  box-sizing:border-box;
  margin-top:18px;
  margin-bottom:22px;
  text-align:center;
}
.dn-managed-ad-label{
  display:block;
  margin-bottom:6px;
  font-family:var(--dn-ui-sans);
  font-size:.58rem;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#777;
}
.dn-managed-ad a{
  display:block;
  line-height:0;
}
.dn-managed-ad img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:180px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.dn-managed-ad--header img{
  max-height:140px;
}
.dn-managed-ad--footer{
  padding-top:14px;
  padding-bottom:4px;
}

.dn-social-icons{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.dn-social-icons a{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.dn-social-icons svg{
  display:block;
  width:18px;
  height:18px;
  fill:currentColor;
}
@media(hover:hover) and (pointer:fine){
  .dn-social-icons a:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.55);
    transform:translateY(-1px);
  }
}
@media(max-width:760px){
  .dn-managed-ad{
    margin-top:12px;
    margin-bottom:16px;
  }
  .dn-managed-ad img,
  .dn-managed-ad--header img{
    width:100%;
    max-height:none;
  }
  .dn-social-icons{
    gap:9px;
  }
}

/* V4.4 — responsive full-width rotating leaderboards */
.dn-managed-ad{
  width:100% !important;
  max-width:none !important;
  margin:18px 0 24px !important;
  padding:0 !important;
  box-sizing:border-box;
  text-align:center;
  overflow:hidden;
}

.dn-managed-ad-label{
  display:block;
  width:min(calc(100% - 34px),1180px);
  margin:0 auto 6px;
  text-align:center;
}

.dn-ad-creative-stage{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#fff;
}

.dn-ad-creative{
  width:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  position:absolute;
  inset:0 auto auto 0;
  transition:opacity .55s ease;
}

.dn-ad-creative.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  position:relative;
}

.dn-ad-creative a{
  display:block;
  width:100%;
  line-height:0;
}

.dn-ad-creative img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
}

/* Header/footer banners can span the browser width while preserving artwork ratio. */
.dn-managed-ad--header,
.dn-managed-ad--footer{
  width:100%;
}

@media(max-width:760px){
  .dn-managed-ad{
    margin:12px 0 16px !important;
  }

  .dn-managed-ad-label{
    width:calc(100% - 22px);
    font-size:.54rem;
  }

  .dn-ad-creative-stage,
  .dn-ad-creative,
  .dn-ad-creative img{
    max-width:100% !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .dn-ad-creative{
    transition:none !important;
  }
}

/* V4.5 — professional leaderboard dimensions */
.dn-managed-ad{
  width:min(calc(100% - 34px),1180px) !important;
  max-width:1180px !important;
  margin:18px auto 24px !important;
}

.dn-managed-ad-label{
  width:100% !important;
  max-width:none !important;
}

/*
 * Standard Duavata leaderboard viewport.
 * Recommended supplied artwork: 1600 x 240 px (~20:3).
 */
.dn-ad-creative-stage{
  width:100%;
  height:clamp(120px,12.5vw,180px);
  background:#f3f3f3;
}

.dn-ad-creative,
.dn-ad-creative.is-active,
.dn-ad-creative a{
  width:100%;
  height:100%;
}

.dn-ad-creative img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Footer keeps the same professional banner proportion. */
.dn-managed-ad--footer .dn-ad-creative-stage{
  height:clamp(105px,11vw,160px);
}

@media(max-width:760px){
  .dn-managed-ad{
    width:calc(100% - 22px) !important;
    max-width:calc(100% - 22px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dn-ad-creative-stage{
    height:100px;
  }

  .dn-managed-ad--footer .dn-ad-creative-stage{
    height:90px;
  }
}

@media(max-width:420px){
  .dn-ad-creative-stage{
    height:82px;
  }
  .dn-managed-ad--footer .dn-ad-creative-stage{
    height:76px;
  }
}


/* =========================================================
   V4.6 — desktop side-rail advertising
   ========================================================= */

.dn-desktop-ad-rails{
  pointer-events:none;
}

.dn-ad-rail{
  position:fixed;
  top:170px;
  z-index:25;
  width:clamp(120px,calc((100vw - 1220px) / 2 - 18px),300px);
  max-height:calc(100vh - 210px);
  overflow:hidden;
  pointer-events:auto;
}

.dn-ad-rail--left{
  left:12px;
}

.dn-ad-rail--right{
  right:12px;
}

/* Rail ads use a portrait frame, independent of leaderboard sizing. */
.dn-ad-rail .dn-managed-ad{
  width:100% !important;
  max-width:300px !important;
  margin:0 auto !important;
}

.dn-ad-rail .dn-managed-ad-label{
  width:100% !important;
  margin-bottom:5px !important;
  font-size:.54rem !important;
}

.dn-ad-rail .dn-ad-creative-stage{
  width:100%;
  height:auto !important;
  aspect-ratio:1 / 1.7;
  max-height:600px;
  background:#f3f3f3;
}

.dn-ad-rail .dn-ad-creative,
.dn-ad-rail .dn-ad-creative.is-active,
.dn-ad-rail .dn-ad-creative a{
  width:100%;
  height:100%;
}

.dn-ad-rail .dn-ad-creative img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Keep the newspaper content untouched; rails only appear when genuine outer space exists. */
@media(max-width:1500px){
  .dn-ad-rail{
    width:clamp(105px,calc((100vw - 1200px) / 2 - 10px),220px);
  }
}

@media(max-width:1320px){
  .dn-desktop-ad-rails{
    display:none !important;
  }
}

/* Do not display side rails on tablets or phones, regardless of viewport quirks. */
@media(max-width:1024px), (pointer:coarse){
  .dn-desktop-ad-rails{
    display:none !important;
  }
}

/* =========================================================
   V4.7 — mobile companions for side-rail campaigns
   ========================================================= */
.dn-mobile-infeed{
  display:none !important;
}

@media(max-width:1024px), (pointer:coarse){
  .dn-mobile-infeed{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:22px auto 26px !important;
  }

  .dn-mobile-infeed .dn-ad-creative-stage{
    width:100%;
    height:auto !important;
    aspect-ratio:16 / 5;
    background:#f3f3f3;
  }

  .dn-mobile-infeed .dn-ad-creative,
  .dn-mobile-infeed .dn-ad-creative.is-active,
  .dn-mobile-infeed .dn-ad-creative a{
    width:100%;
    height:100%;
  }

  .dn-mobile-infeed .dn-ad-creative img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#fff;
  }
}

/* =========================================================
   V4.8 — commercial advertising specification
   Desktop: Top 1600×400, Footer 1600×300, Rails 300×600
   Mobile companions: 1080×540. Optional theme-rendered CTA.
   ========================================================= */
.dn-managed-ad--mobile{display:none !important}
.dn-managed-ad--desktop{display:block}

.dn-managed-ad--header.dn-managed-ad--desktop{
  width:min(calc(100% - 34px),1400px) !important;
  max-width:1400px !important;
}
.dn-managed-ad--header.dn-managed-ad--desktop .dn-ad-creative-stage{
  height:auto !important;
  aspect-ratio:4 / 1;
}
.dn-managed-ad--footer.dn-managed-ad--desktop{
  width:min(calc(100% - 34px),1280px) !important;
  max-width:1280px !important;
}
.dn-managed-ad--footer.dn-managed-ad--desktop .dn-ad-creative-stage{
  height:auto !important;
  aspect-ratio:16 / 3;
}
.dn-managed-ad--header .dn-ad-creative img,
.dn-managed-ad--footer .dn-ad-creative img,
.dn-ad-rail .dn-ad-creative img{
  object-fit:contain !important;
  background:#fff;
}
.dn-ad-rail .dn-ad-creative-stage{
  aspect-ratio:1 / 2 !important;
  max-height:600px;
}

.dn-ad-creative{overflow:hidden}
.dn-ad-cta{
  position:absolute;
  z-index:4;
  left:24px;
  bottom:20px;
  display:inline-flex !important;
  width:auto !important;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  background:var(--dn-navy);
  color:#fff !important;
  border:1px solid rgba(255,255,255,.75);
  font-size:.82rem;
  line-height:1 !important;
  font-weight:800;
  text-decoration:none !important;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.dn-ad-cta:hover{background:var(--dn-navy-2);text-decoration:none !important}
.dn-ad-rail .dn-ad-cta{left:12px;bottom:12px;min-height:36px;padding:8px 12px;font-size:.72rem}

@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--header.dn-managed-ad--desktop,
  .dn-managed-ad--footer.dn-managed-ad--desktop{display:none !important}
  .dn-managed-ad--header.dn-managed-ad--mobile,
  .dn-managed-ad--footer.dn-managed-ad--mobile{display:block !important}
  .dn-managed-ad--header.dn-managed-ad--mobile,
  .dn-managed-ad--footer.dn-managed-ad--mobile{
    width:calc(100% - 22px) !important;
    max-width:1080px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .dn-managed-ad--header.dn-managed-ad--mobile .dn-ad-creative-stage,
  .dn-managed-ad--footer.dn-managed-ad--mobile .dn-ad-creative-stage,
  .dn-mobile-infeed.dn-managed-ad--mobile .dn-ad-creative-stage{
    height:auto !important;
    aspect-ratio:2 / 1 !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    background:#fff;
  }
  .dn-managed-ad--mobile .dn-ad-cta{left:14px;bottom:14px;min-height:40px;padding:9px 14px;font-size:.78rem}
}


/* =========================================================
   V4.8.1 — Billboard width aligned to full news/article grid
   ========================================================= */

/*
 * Desktop header/footer billboards align to the same shell width as
 * the newspaper grid below (story columns + Latest column).
 * Artwork remains 1600x400 top and 1600x300 footer.
 */
@media (min-width: 1025px){
  .dn-managed-ad--header,
  .dn-managed-ad--footer{
    width:min(calc(100% - 34px),1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dn-managed-ad--header .dn-ad-creative-stage,
  .dn-managed-ad--footer .dn-ad-creative-stage{
    width:100% !important;
    max-width:none !important;
  }

  .dn-managed-ad--header .dn-ad-creative,
  .dn-managed-ad--footer .dn-ad-creative,
  .dn-managed-ad--header .dn-ad-creative a,
  .dn-managed-ad--footer .dn-ad-creative a,
  .dn-managed-ad--header .dn-ad-creative img,
  .dn-managed-ad--footer .dn-ad-creative img{
    width:100% !important;
    max-width:100% !important;
  }

  .dn-managed-ad--header .dn-ad-creative img,
  .dn-managed-ad--footer .dn-ad-creative img{
    object-fit:contain !important;
    object-position:center !important;
  }
}


/* =========================================================
   V4.9 — final advertising layout correction
   ========================================================= */

/*
 * TOP DESKTOP:
 * Exact same width as .dn-paper-shell (the full news grid).
 * Let supplied artwork determine its proportional height instead of
 * letterboxing it inside an artificial 4:1 stage.
 */
@media(min-width:1025px){
  .dn-managed-ad--header.dn-managed-ad--desktop{
    width:min(calc(100% - 34px),1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dn-managed-ad--header.dn-managed-ad--desktop .dn-ad-creative-stage{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:transparent !important;
  }

  .dn-managed-ad--header.dn-managed-ad--desktop .dn-ad-creative.is-active,
  .dn-managed-ad--header.dn-managed-ad--desktop .dn-ad-creative.is-active .dn-ad-art-link{
    width:100% !important;
    height:auto !important;
  }

  .dn-managed-ad--header.dn-managed-ad--desktop .dn-ad-creative img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
  }

  /*
   * Footer remains the same news-grid width but uses its supplied
   * artwork proportionally too; recommended artwork stays 1600×300.
   */
  .dn-managed-ad--footer.dn-managed-ad--desktop{
    width:min(calc(100% - 34px),1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dn-managed-ad--footer.dn-managed-ad--desktop .dn-ad-creative-stage{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:transparent !important;
  }

  .dn-managed-ad--footer.dn-managed-ad--desktop .dn-ad-creative.is-active,
  .dn-managed-ad--footer.dn-managed-ad--desktop .dn-ad-creative.is-active .dn-ad-art-link{
    width:100% !important;
    height:auto !important;
  }

  .dn-managed-ad--footer.dn-managed-ad--desktop .dn-ad-creative img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 !important;
  }
}

/* Mobile compositions also use their own natural supplied ratio. */
@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--header.dn-managed-ad--mobile .dn-ad-creative-stage,
  .dn-managed-ad--footer.dn-managed-ad--mobile .dn-ad-creative-stage,
  .dn-mobile-infeed.dn-managed-ad--mobile .dn-ad-creative-stage{
    height:auto !important;
    aspect-ratio:auto !important;
    background:transparent !important;
  }

  .dn-managed-ad--mobile .dn-ad-creative.is-active,
  .dn-managed-ad--mobile .dn-ad-creative.is-active .dn-ad-art-link{
    height:auto !important;
  }

  .dn-managed-ad--mobile .dn-ad-creative img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}


/* =========================================================
   V4.9.1 — CTA button sizing bug fix
   Legacy ad-link rules must not make CTA buttons fill the advert.
   ========================================================= */

.dn-ad-creative .dn-ad-cta{
  position:absolute !important;
  z-index:6 !important;
  left:24px !important;
  right:auto !important;
  top:auto !important;
  bottom:20px !important;

  display:inline-flex !important;
  width:auto !important;
  max-width:calc(100% - 48px) !important;
  height:auto !important;
  min-height:42px !important;

  align-items:center !important;
  justify-content:center !important;
  padding:10px 18px !important;

  background:var(--dn-navy) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.75) !important;
  font-size:.82rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 2px 8px rgba(0,0,0,.18) !important;
}

.dn-ad-creative .dn-ad-cta:hover{
  background:var(--dn-navy-2) !important;
  text-decoration:none !important;
}

.dn-ad-rail .dn-ad-creative .dn-ad-cta{
  left:12px !important;
  bottom:12px !important;
  max-width:calc(100% - 24px) !important;
  min-height:36px !important;
  padding:8px 12px !important;
  font-size:.72rem !important;
}

@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--mobile .dn-ad-creative .dn-ad-cta{
    left:14px !important;
    bottom:14px !important;
    max-width:calc(100% - 28px) !important;
    min-height:40px !important;
    padding:9px 14px !important;
    font-size:.78rem !important;
  }
}


/* =========================================================
   V4.9.2 — compact CTA + per-creative colour controls
   ========================================================= */

/* Explicitly separate artwork links from CTA links. */
.dn-ad-creative > .dn-ad-art-link{
  display:block !important;
  width:100% !important;
}

/* CTA must shrink to its text — never inherit full ad width/height. */
.dn-ad-creative > a.dn-ad-cta{
  position:absolute !important;
  z-index:20 !important;

  left:18px !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;

  display:inline-block !important;
  float:none !important;
  flex:none !important;

  width:fit-content !important;
  min-width:0 !important;
  max-width:calc(100% - 36px) !important;
  inline-size:fit-content !important;

  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  block-size:auto !important;

  margin:0 !important;
  padding:10px 16px !important;

  background:var(--dn-ad-cta-bg,#071f3d) !important;
  color:var(--dn-ad-cta-color,#fff) !important;
  border:0 !important;
  border-radius:2px !important;

  font-size:.82rem !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-decoration:none !important;

  box-shadow:0 2px 7px rgba(0,0,0,.22) !important;
}

.dn-ad-creative > a.dn-ad-cta:hover{
  filter:brightness(.92);
  text-decoration:none !important;
}

.dn-ad-rail .dn-ad-creative > a.dn-ad-cta{
  left:10px !important;
  bottom:10px !important;
  max-width:calc(100% - 20px) !important;
  padding:8px 12px !important;
  font-size:.72rem !important;
}

@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta{
    left:12px !important;
    bottom:12px !important;
    max-width:calc(100% - 24px) !important;
    padding:9px 14px !important;
    font-size:.78rem !important;
  }
}


/* =========================================================
   V4.9.3 — CTA placement controls
   Applies to header, footer, rails and mobile creatives.
   ========================================================= */

/* Shared small rectangle remains the base. */
.dn-ad-creative > a.dn-ad-cta{
  width:fit-content !important;
  inline-size:fit-content !important;
  height:auto !important;
  block-size:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-height:none !important;
}

/* INSIDE ARTWORK ------------------------------------------------ */
.dn-ad-creative > a.dn-ad-cta--inside{
  position:absolute !important;
  z-index:20 !important;
  margin:0 !important;
}

/* Top-left */
.dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-left{
  left:18px !important;
  right:auto !important;
  top:18px !important;
  bottom:auto !important;
  transform:none !important;
}

/* Top-right */
.dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-right{
  left:auto !important;
  right:18px !important;
  top:18px !important;
  bottom:auto !important;
  transform:none !important;
}

/* Bottom-left */
.dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-left{
  left:18px !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  transform:none !important;
}

/* Bottom-centre */
.dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-center{
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
}

/* Bottom-right */
.dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-right{
  left:auto !important;
  right:18px !important;
  top:auto !important;
  bottom:18px !important;
  transform:none !important;
}

/* BELOW ARTWORK ------------------------------------------------- */
/*
 * The creative itself becomes a tiny two-row layout only when CTA is
 * below. The image/link stays full-width; the CTA sits on its own row.
 */
.dn-ad-creative:has(> a.dn-ad-cta--below){
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  height:auto !important;
}

.dn-ad-creative:has(> a.dn-ad-cta--below) > .dn-ad-art-link{
  width:100% !important;
  flex:0 0 auto !important;
}

.dn-ad-creative > a.dn-ad-cta--below{
  position:static !important;
  z-index:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:8px 0 0 0 !important;
  align-self:flex-start !important;
}

/* Keep rail CTA rectangles compact. */
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside{
  max-width:calc(100% - 20px) !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-left{
  left:10px !important; top:10px !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-right{
  right:10px !important; top:10px !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-left{
  left:10px !important; bottom:10px !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-center{
  bottom:10px !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-right{
  right:10px !important; bottom:10px !important;
}
.dn-ad-rail .dn-ad-creative > a.dn-ad-cta--below{
  margin-top:7px !important;
}

/* Mobile inside spacing. */
@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-left{
    left:12px !important; top:12px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-right{
    right:12px !important; top:12px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-left{
    left:12px !important; bottom:12px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-center{
    bottom:12px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-right{
    right:12px !important; bottom:12px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--below{
    margin-top:7px !important;
  }
}


/* =========================================================
   V4.9.4 — mobile advertising fixes only
   ========================================================= */

/* Compact CTA buttons on phones/tablets. */
@media(max-width:1024px), (pointer:coarse){
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta{
    font-size:11px !important;
    line-height:1 !important;
    padding:6px 11px !important;
    min-width:0 !important;
    min-height:0 !important;
    width:fit-content !important;
    inline-size:fit-content !important;
    height:auto !important;
    border-radius:2px !important;
    white-space:nowrap !important;
    max-width:calc(100% - 24px) !important;
  }

  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-left,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-left{
    left:10px !important; top:10px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-right,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--top-right{
    right:10px !important; top:10px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-left,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-left{
    left:10px !important; bottom:10px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-center,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-center{
    bottom:10px !important;
  }
  .dn-managed-ad--mobile .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-right,
  .dn-mobile-infeed .dn-ad-creative > a.dn-ad-cta--inside.dn-ad-cta--bottom-right{
    right:10px !important; bottom:10px !important;
  }

  /* Mobile left/right rail companions appear as in-feed ads. */
  .dn-mobile-infeed{
    display:block !important;
    width:calc(100% - 22px) !important;
    max-width:1080px !important;
    margin:18px auto 22px !important;
  }

  .dn-mobile-infeed.dn-managed-ad--mobile{
    display:block !important;
  }

  .dn-mobile-infeed .dn-ad-creative-stage{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:transparent !important;
  }

  .dn-mobile-infeed .dn-ad-creative.is-active,
  .dn-mobile-infeed .dn-ad-creative.is-active .dn-ad-art-link{
    width:100% !important;
    height:auto !important;
  }

  .dn-mobile-infeed .dn-ad-creative img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}

/* Keep mobile in-feed companions hidden on desktop. */
@media(min-width:1025px) and (pointer:fine){
  .dn-mobile-infeed{
    display:none !important;
  }
}


/* =========================================================
   V4.10 — service landing pages + public forms
   ========================================================= */

.dn-service-page{
  width:min(calc(100% - 36px),1080px);
  margin:0 auto;
  padding:42px 0 72px;
}
.dn-service-page > .dn-kicker{
  display:block;
  margin-bottom:8px;
}
.dn-service-page > h1{
  max-width:880px;
}

.dn-service-intro{
  margin:34px 0 18px;
  padding-top:18px;
  border-top:1px solid #111;
  max-width:900px;
}
.dn-service-intro:first-child{margin-top:22px}
.dn-service-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--dn-red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dn-service-intro h2{
  margin:0 0 8px;
  font-family:var(--dn-editorial-serif);
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  line-height:1;
}
.dn-service-intro p{
  margin:0;
  max-width:72ch;
  color:#46515c;
  font-size:1rem;
  line-height:1.55;
}

.dn-service-contact{
  display:inline-block;
  margin:0 0 20px;
  padding:10px 13px;
  border-left:4px solid var(--dn-navy);
  background:var(--dn-soft);
  font-size:.9rem;
}
.dn-service-contact a{
  color:var(--dn-blue);
  font-weight:800;
}

.dn-public-form{
  position:relative;
  display:grid;
  gap:17px;
  margin:20px 0 44px;
  padding:24px;
  border:1px solid var(--dn-line);
  background:#fff;
  max-width:940px;
}
.dn-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.dn-public-form label{
  display:block;
  font-size:.86rem;
  line-height:1.3;
  font-weight:800;
}
.dn-public-form label > span{
  color:var(--dn-red);
}
.dn-public-form label small{
  display:block;
  margin-top:3px;
  color:var(--dn-muted);
  font-size:.72rem;
  line-height:1.35;
  font-weight:500;
}
.dn-public-form input[type="text"],
.dn-public-form input[type="email"],
.dn-public-form input[type="tel"],
.dn-public-form input[type="url"],
.dn-public-form input[type="date"],
.dn-public-form input[type="file"],
.dn-public-form textarea,
.dn-public-form select{
  display:block;
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid #aeb7c1;
  border-radius:0;
  background:#fff;
  color:#111;
}
.dn-public-form input[type="file"]{
  padding:9px;
  font-weight:500;
}
.dn-public-form textarea{
  min-height:150px;
  resize:vertical;
}
.dn-public-form input:focus,
.dn-public-form textarea:focus,
.dn-public-form select:focus{
  outline:2px solid var(--dn-blue);
  outline-offset:1px;
}
.dn-form-check{
  display:flex !important;
  align-items:flex-start;
  gap:9px;
  max-width:760px;
  font-weight:600 !important;
}
.dn-form-check input{
  margin-top:3px;
  flex:0 0 auto;
}
.dn-form-submit{
  justify-self:start;
  border:0;
  background:var(--dn-navy);
  color:#fff;
  padding:11px 16px;
  min-height:42px;
  font-size:.84rem;
  font-weight:900;
  cursor:pointer;
}
.dn-form-submit:hover{background:var(--dn-navy-2)}

.dn-form-fieldset{
  margin:0;
  padding:16px;
  border:1px solid var(--dn-line);
}
.dn-form-fieldset legend{
  padding:0 7px;
  font-size:.82rem;
  font-weight:900;
}
.dn-form-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
}
.dn-form-options label{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:600;
}
.dn-form-options input{margin:0}

.dn-form-notice{
  max-width:940px;
  margin:18px 0;
  padding:13px 15px;
  border-left:4px solid var(--dn-navy);
  background:var(--dn-soft);
  font-weight:700;
}
.dn-form-notice--success{border-left-color:#177245}
.dn-form-notice--error{border-left-color:var(--dn-red)}

.dn-form-hp{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.dn-ad-inventory-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-width:940px;
  margin:0 0 18px;
}
.dn-ad-inventory-summary strong{
  width:100%;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dn-ad-inventory-summary span{
  border:1px solid var(--dn-line);
  background:var(--dn-soft);
  padding:7px 10px;
  font-size:.78rem;
  font-weight:800;
}

.dn-vacancy-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:940px;
  margin:18px 0 30px;
}
.dn-vacancy-card{
  padding:18px;
  border:1px solid var(--dn-line);
  background:#fff;
}
.dn-vacancy-card h3{
  margin:0 0 7px;
  font-family:var(--dn-editorial-serif);
  font-size:1.35rem;
}
.dn-vacancy-card p{
  margin:.3rem 0 .7rem;
  color:var(--dn-muted);
}
.dn-text-link{
  color:var(--dn-blue);
  font-size:.8rem;
  font-weight:900;
}
.dn-vacancy-empty{
  max-width:940px;
}
.dn-vacancy-empty a{
  color:var(--dn-blue);
  font-weight:800;
}

@media(max-width:760px){
  .dn-service-page{
    width:calc(100% - 22px);
    padding:28px 0 48px;
  }
  .dn-service-page > h1{
    font-size:clamp(2rem,11vw,3.1rem);
  }
  .dn-public-form{
    padding:16px;
    gap:14px;
  }
  .dn-form-grid,
  .dn-form-options,
  .dn-vacancy-list{
    grid-template-columns:1fr;
  }
  .dn-service-intro{
    margin-top:25px;
  }
  .dn-service-intro h2{
    font-size:1.75rem;
  }
}


/* =========================================================
   V4.11 EXPERIMENTAL — CNN-inspired editorial presentation
   Presentation layer only. Existing Duavata identity retained.
   ========================================================= */

:root{
  --dn-cnn-max:1180px;
  --dn-cnn-text:#0b0b0b;
  --dn-cnn-softline:#d8d8d8;
}

/* Shared editorial shell */
.dn-cnn-shell{
  width:min(calc(100% - 34px),var(--dn-cnn-max));
  max-width:var(--dn-cnn-max);
  margin-left:auto;
  margin-right:auto;
}
.dn-cnn-home{
  color:var(--dn-cnn-text);
}
.dn-cnn-home a{
  color:inherit;
  text-decoration:none;
}
.dn-cnn-home a:hover{
  text-decoration:underline;
}

/* Topic strip */
.dn-cnn-topic-strip{
  display:flex;
  align-items:center;
  gap:0;
  overflow:hidden;
  white-space:nowrap;
  border-bottom:1px solid #111;
  min-height:40px;
  margin-bottom:18px;
  font-family:var(--dn-ui-sans);
  font-size:.77rem;
}
.dn-cnn-topic-strip > *{
  flex:0 0 auto;
}
.dn-cnn-topic-strip a{
  padding:0 10px;
  border-left:1px solid #d0d0d0;
}
.dn-cnn-topic-title{
  padding-right:10px;
  font-weight:900;
  color:var(--dn-red);
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* Homepage hero */
.dn-cnn-hero-wrap{
  padding:12px 0 12px;
}
.dn-cnn-hero-grid{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.75fr) minmax(220px,.82fr);
  gap:22px;
  align-items:start;
}
.dn-cnn-hero-left{
  display:grid;
  gap:20px;
}
.dn-cnn-side-story + .dn-cnn-side-story{
  padding-top:18px;
  border-top:1px solid var(--dn-cnn-softline);
}
.dn-cnn-side-image,
.dn-cnn-side-image img,
.dn-cnn-lead-image,
.dn-cnn-lead-image img,
.dn-cnn-mini-grid img,
.dn-cnn-feature-layout img,
.dn-cnn-card-grid img,
.dn-cnn-latest-thumb,
.dn-cnn-latest-thumb img,
.dn-cnn-watch-zone img{
  display:block;
  width:100%;
  height:auto;
}
.dn-cnn-side-story h2{
  margin:8px 0 6px;
  font-family:var(--dn-ui-sans);
  font-size:1.08rem;
  line-height:1.12;
  letter-spacing:-.02em;
}
.dn-cnn-side-story p{
  margin:0 0 7px;
  color:#444;
  font-size:.83rem;
  line-height:1.38;
}

.dn-cnn-lead-story{
  text-align:center;
}
.dn-cnn-lead-story h1{
  margin:0 auto 12px;
  max-width:900px;
  font-family:var(--dn-ui-sans);
  font-size:clamp(2rem,3.15vw,3.05rem);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:900;
}
.dn-cnn-lead-story .dn-meta{
  justify-content:center;
}
.dn-cnn-lead-summary{
  margin:10px auto 6px;
  max-width:72ch;
  color:#333;
  font-size:.95rem;
  line-height:1.4;
  text-align:left;
}
.dn-cnn-related-lines{
  margin-top:10px;
  border-top:1px solid var(--dn-cnn-softline);
}
.dn-cnn-related-lines a{
  display:block;
  padding:9px 0;
  border-bottom:1px solid var(--dn-cnn-softline);
  font-size:.88rem;
  font-weight:700;
  line-height:1.2;
}
.dn-cnn-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.dn-cnn-mini-grid h3{
  margin:6px 0 0;
  font-family:var(--dn-ui-sans);
  font-size:.83rem;
  line-height:1.18;
}

.dn-cnn-hero-right{
  min-width:0;
}
.dn-cnn-marker{
  display:block;
  margin:0 0 8px;
  padding-left:8px;
  border-left:5px solid var(--dn-red);
  font-family:var(--dn-ui-sans);
  font-size:.7rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dn-cnn-watch-card{
  margin-bottom:16px;
}
.dn-cnn-watch-card iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
}
.dn-cnn-watch-card h2{
  margin:7px 0 0;
  font-family:var(--dn-ui-sans);
  font-size:1rem;
  line-height:1.1;
}
.dn-cnn-latest-list{
  padding-top:12px;
  border-top:1px solid #111;
}
.dn-cnn-latest-list article{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:9px;
  padding:9px 0;
  border-bottom:1px solid var(--dn-cnn-softline);
  font-family:var(--dn-ui-sans);
  font-size:.78rem;
  line-height:1.15;
  font-weight:700;
}
.dn-cnn-latest-list .dn-meta{
  margin-top:4px;
  font-size:.58rem;
  font-weight:500;
}

/* Section headers: compact CNN-style marker, no giant rules */
.dn-cnn-section{
  padding:30px 0 10px;
}
.dn-cnn-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  margin:0 0 13px;
}
.dn-cnn-section-head h2{
  position:relative;
  margin:0;
  padding-left:12px;
  font-family:var(--dn-ui-sans);
  font-size:1.05rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.dn-cnn-section-head h2::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--dn-red);
}
.dn-cnn-section-head > a{
  color:var(--dn-blue);
  font-family:var(--dn-ui-sans);
  font-size:.7rem;
  font-weight:800;
}

/* Feature section: story list / main image / supporting column */
.dn-cnn-feature-layout{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(0,1.8fr) minmax(180px,.82fr);
  gap:20px;
  align-items:start;
}
.dn-cnn-feature-list article{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:9px;
  padding:0 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--dn-cnn-softline);
}
.dn-cnn-feature-list h3{
  margin:0;
  font-family:var(--dn-ui-sans);
  font-size:.8rem;
  line-height:1.14;
}
.dn-cnn-feature-list .dn-meta{
  grid-column:2;
  font-size:.56rem;
}
.dn-cnn-feature-main h3{
  margin:8px 0 5px;
  font-family:var(--dn-ui-sans);
  font-size:1.5rem;
  line-height:1.02;
  letter-spacing:-.025em;
}
.dn-cnn-feature-main p{
  margin:.2rem 0 .45rem;
  color:#444;
  font-size:.9rem;
  line-height:1.4;
}
.dn-cnn-feature-side{
  display:grid;
  gap:16px;
}
.dn-cnn-feature-side article + article{
  padding-top:15px;
  border-top:1px solid var(--dn-cnn-softline);
}
.dn-cnn-feature-side h3{
  margin:7px 0 0;
  font-family:var(--dn-ui-sans);
  font-size:.9rem;
  line-height:1.12;
}

/* Card grid section */
.dn-cnn-card-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(3,minmax(0,1fr));
  gap:18px;
}
.dn-cnn-card-grid article{
  min-width:0;
}
.dn-cnn-card-grid h3{
  margin:7px 0 5px;
  font-family:var(--dn-ui-sans);
  font-size:.92rem;
  line-height:1.12;
}
.dn-cnn-card-grid .dn-cnn-card--lead h3{
  font-size:1.35rem;
}
.dn-cnn-card-grid p{
  color:#444;
  font-size:.84rem;
  line-height:1.35;
}
.dn-cnn-card-grid .dn-meta{
  font-size:.58rem;
}

/* Watch zone */
.dn-cnn-watch-zone{
  margin-top:26px;
  padding:30px 0 34px;
  background:var(--dn-navy);
  color:#fff;
}
.dn-cnn-watch-zone .dn-cnn-section-head h2::before{
  background:var(--dn-red);
}
.dn-cnn-watch-zone .dn-cnn-section-head > a{
  color:#fff;
}
.dn-cnn-watch-layout{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(220px,.72fr);
  gap:22px;
}
.dn-cnn-watch-main iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
}
.dn-cnn-watch-main h3{
  margin:9px 0 5px;
  font-family:var(--dn-ui-sans);
  font-size:1.35rem;
  line-height:1.05;
}
.dn-cnn-watch-zone .dn-meta{
  color:#c9d2dd;
}
.dn-cnn-watch-list article{
  display:grid;
  grid-template-columns:105px minmax(0,1fr);
  gap:10px;
  padding:0 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.dn-cnn-watch-list h4{
  margin:0;
  font-family:var(--dn-ui-sans);
  font-size:.82rem;
  line-height:1.15;
}

/* Opinion */
.dn-cnn-opinion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.dn-cnn-opinion-grid article{
  padding-right:18px;
  border-right:1px solid var(--dn-cnn-softline);
}
.dn-cnn-opinion-grid article:nth-child(3n){
  border-right:0;
}
.dn-cnn-opinion-grid h3{
  margin:4px 0 7px;
  font-family:var(--dn-ui-sans);
  font-size:1rem;
  line-height:1.1;
}
.dn-cnn-opinion-grid p{
  margin:.2rem 0 .5rem;
  color:#444;
  font-size:.82rem;
  line-height:1.35;
}

/* Thin optional section-banner inventory */
.dn-section-banner{
  width:min(calc(100% - 34px),960px) !important;
  max-width:960px !important;
  margin:26px auto 18px !important;
}
.dn-section-banner .dn-managed-ad-label{
  font-size:.56rem;
  letter-spacing:.08em;
  color:#777;
}
.dn-section-banner .dn-ad-creative-stage,
.dn-section-banner .dn-ad-creative,
.dn-section-banner .dn-ad-art-link{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
}
.dn-section-banner img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}
.dn-section-banner--mobile{
  display:none !important;
}

/* =========================================================
   V4.11 — CNN-inspired article pages
   ========================================================= */

.dn-cnn-article-page{
  color:#111;
}
.dn-cnn-article{
  padding-top:25px;
}
.dn-cnn-article-head{
  width:min(calc(100% - 34px),var(--dn-cnn-max));
  margin:0 auto 24px;
}
.dn-cnn-breadcrumb{
  margin-bottom:15px;
  color:#3b3b3b;
  font-family:var(--dn-ui-sans);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.dn-cnn-breadcrumb span{
  padding:0 5px;
  color:#888;
}
.dn-cnn-title-lockup{
  display:grid;
  grid-template-columns:8px minmax(0,1fr);
  gap:22px;
  max-width:1080px;
}
.dn-cnn-title-bar{
  display:block;
  width:8px;
  min-height:100%;
  background:var(--dn-red);
}
.dn-cnn-title-lockup h1{
  margin:0;
  font-family:var(--dn-ui-sans);
  font-size:clamp(2.75rem,5vw,5rem);
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:900;
}
.dn-cnn-standfirst{
  margin:14px 0 0;
  max-width:78ch;
  color:#3a3a3a;
  font-size:1.1rem;
  line-height:1.42;
}
.dn-cnn-update{
  margin:18px 0 9px 30px;
  color:var(--dn-red);
  font-family:var(--dn-ui-sans);
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
}
.dn-cnn-byline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-left:30px;
  color:#333;
  font-family:var(--dn-ui-sans);
  font-size:.76rem;
}
.dn-cnn-byline span + span{
  padding-left:12px;
  border-left:1px solid #ccc;
}

.dn-cnn-article-media-row{
  display:grid;
  grid-template-columns:minmax(0,820px) minmax(180px,260px);
  gap:34px;
  align-items:start;
  width:min(calc(100% - 34px),var(--dn-cnn-max));
  margin:0 auto;
}
.dn-cnn-article-media figure{
  margin:0;
}
.dn-cnn-article-media img{
  display:block;
  width:100%;
  height:auto;
}
.dn-cnn-article-media figcaption,
.dn-cnn-media-note{
  margin:7px 0 0;
  color:#777;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.7rem;
  line-height:1.35;
  font-style:italic;
}
.dn-cnn-video-player iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
}
.dn-cnn-article-ad{
  min-height:210px;
}
.dn-cnn-article-ad:empty{
  display:none;
}
.dn-cnn-article-ad .widget{
  margin:0;
}
.dn-cnn-story-layout{
  display:grid;
  grid-template-columns:52px minmax(0,650px);
  gap:24px;
  width:min(calc(100% - 34px),900px);
  margin:34px auto 60px;
}
.dn-cnn-share-rail{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dn-cnn-share-rail a,
.dn-cnn-share-rail button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid #d2d2d2;
  background:#fff;
  color:#111;
  border-radius:3px;
  font-family:var(--dn-ui-sans);
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.dn-cnn-story-body{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.05rem;
  line-height:1.65;
  color:#171717;
}
.dn-cnn-story-body p{
  margin:0 0 1.25em;
}
.dn-cnn-story-body h2,
.dn-cnn-story-body h3{
  font-family:var(--dn-ui-sans);
  line-height:1.08;
}
.dn-cnn-story-body img{
  max-width:100%;
  height:auto;
}
.dn-cnn-related{
  width:min(calc(100% - 34px),var(--dn-cnn-max));
  margin:0 auto 55px;
  padding-top:24px;
  border-top:1px solid #111;
}

/* Reduce visual competition from old newspaper rules within new homepage */
.dn-cnn-home .dn-paper-rule,
.dn-cnn-home .dn-nyt-section-head{
  display:none !important;
}

/* Responsive */
@media(max-width:1024px){
  .dn-cnn-hero-grid,
  .dn-cnn-feature-layout{
    grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);
  }
  .dn-cnn-hero-left{
    grid-column:1/-1;
    grid-row:2;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dn-cnn-hero-main{
    grid-column:1;
  }
  .dn-cnn-hero-right{
    grid-column:2;
  }
  .dn-cnn-feature-list{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
  .dn-cnn-feature-list article{
    display:block;
    border-bottom:0;
    margin:0;
    padding:0;
  }
  .dn-cnn-feature-list .dn-meta{
    grid-column:auto;
  }
  .dn-cnn-feature-main{grid-column:1}
  .dn-cnn-feature-side{grid-column:2}
  .dn-cnn-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dn-cnn-card--lead{
    grid-column:span 2;
  }
  .dn-cnn-article-media-row{
    grid-template-columns:minmax(0,1fr) 210px;
  }
}

@media(max-width:760px){
  .dn-cnn-shell,
  .dn-cnn-article-head,
  .dn-cnn-article-media-row,
  .dn-cnn-related{
    width:calc(100% - 22px);
  }
  .dn-cnn-hero-wrap{
    padding-top:4px;
  }
  .dn-cnn-topic-strip{
    overflow-x:auto;
    scrollbar-width:none;
    margin-bottom:14px;
  }
  .dn-cnn-topic-strip::-webkit-scrollbar{display:none}
  .dn-cnn-hero-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .dn-cnn-hero-main{
    order:-3;
    width:100%;
  }
  .dn-cnn-hero-right{
    order:-2;
    width:100%;
  }
  .dn-cnn-hero-left{
    order:-1;
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .dn-cnn-lead-story h1{
    font-size:2.15rem;
    text-align:left;
  }
  .dn-cnn-lead-summary{
    font-size:.9rem;
  }
  .dn-cnn-lead-story .dn-meta{
    justify-content:flex-start;
  }
  .dn-cnn-watch-card iframe{
    aspect-ratio:16/9;
  }
  .dn-cnn-latest-list article{
    grid-template-columns:92px minmax(0,1fr);
  }

  .dn-cnn-section{
    padding-top:24px;
  }
  .dn-cnn-section-head h2{
    font-size:.95rem;
  }
  .dn-cnn-feature-layout,
  .dn-cnn-card-grid,
  .dn-cnn-opinion-grid,
  .dn-cnn-watch-layout{
    display:block;
  }
  .dn-cnn-feature-list{
    display:none;
  }
  .dn-cnn-feature-main,
  .dn-cnn-feature-side article,
  .dn-cnn-card-grid article,
  .dn-cnn-opinion-grid article{
    padding:0 0 14px;
    margin-bottom:14px;
    border-right:0;
    border-bottom:1px solid var(--dn-cnn-softline);
  }
  .dn-cnn-feature-main h3,
  .dn-cnn-card-grid .dn-cnn-card--lead h3{
    font-size:1.25rem;
  }
  .dn-cnn-feature-side{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .dn-cnn-watch-zone{
    margin-top:18px;
    padding:24px 0;
  }
  .dn-cnn-watch-list{
    margin-top:18px;
  }

  .dn-section-banner--desktop{
    display:none !important;
  }
  .dn-section-banner--mobile{
    display:block !important;
    width:calc(100% - 22px) !important;
    max-width:1080px !important;
    margin:20px auto 16px !important;
  }

  .dn-cnn-article{
    padding-top:18px;
  }
  .dn-cnn-title-lockup{
    grid-template-columns:5px minmax(0,1fr);
    gap:13px;
  }
  .dn-cnn-title-bar{
    width:5px;
  }
  .dn-cnn-title-lockup h1{
    font-size:clamp(2.1rem,10.5vw,3.25rem);
    line-height:.96;
  }
  .dn-cnn-standfirst{
    font-size:.98rem;
  }
  .dn-cnn-update,
  .dn-cnn-byline{
    margin-left:18px;
  }
  .dn-cnn-article-media-row{
    display:block;
  }
  .dn-cnn-article-ad{
    display:none;
  }
  .dn-cnn-story-layout{
    display:block;
    width:calc(100% - 34px);
    margin:24px auto 44px;
  }
  .dn-cnn-share-rail{
    flex-direction:row;
    margin-bottom:20px;
  }
  .dn-cnn-story-body{
    font-size:1rem;
    line-height:1.62;
  }
}

@media(max-width:480px){
  .dn-cnn-feature-side{
    grid-template-columns:1fr;
  }
  .dn-cnn-mini-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* ============================================================
   V4.12 — CNN-inspired homepage refinement
   Presentation only: preserves existing ad, Watch/video, forms
   and Customizer systems from V4.11.
   ============================================================ */
@media (min-width: 1100px){
  /* Keep the paid top billboard exactly where it is, but make the
     publisher chrome around it much more compact. */
  .dn-utility-inner{height:28px}
  .dn-masthead-inner{min-height:82px}
  .dn-brand img{width:min(330px,38vw);max-height:72px}
  .dn-search-btn{width:34px;height:34px}
  .dn-nav{min-height:42px}
  .dn-breaking-inner{min-height:38px}

  /* Editorial canvas: deliberately narrower than the 1440px ad canvas,
     which gives the billboard the CNN-style separation from journalism. */
  .dn-cnn-shell{width:min(calc(100% - 40px),1180px);margin-inline:auto}
  .dn-cnn-hero-wrap{padding-top:22px}
  .dn-cnn-topic-strip{
    min-height:42px;
    padding:0 0 10px;
    margin-bottom:22px;
    gap:14px;
    border-top:0;
    border-bottom:1px solid #b9bec4;
    font-size:.88rem;
    overflow:hidden;
    white-space:nowrap
  }
  .dn-cnn-topic-title{
    font-size:.78rem;
    letter-spacing:.045em;
    color:var(--dn-red);
    flex:0 0 auto
  }

  .dn-cnn-hero-grid{
    display:grid;
    grid-template-columns:250px minmax(0,1fr) 260px;
    gap:28px;
    align-items:start
  }
  .dn-cnn-hero-main{min-width:0}
  .dn-cnn-lead-story h1{
    font-size:clamp(2.25rem,3.15vw,3.6rem);
    line-height:.98;
    letter-spacing:-.045em;
    text-align:center;
    margin:0 0 18px
  }
  .dn-cnn-lead-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
  .dn-cnn-lead-summary{
    font-size:1.05rem;
    line-height:1.38;
    margin:14px 0 8px
  }
  .dn-cnn-side-story{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #d7dadd}
  .dn-cnn-side-story:last-child{border-bottom:0}
  .dn-cnn-side-story h2{font-size:1.2rem;line-height:1.12;margin:9px 0 7px;letter-spacing:-.02em}
  .dn-cnn-side-story p{font-size:.91rem;line-height:1.35;margin:0 0 8px;color:#333}
  .dn-cnn-side-image img{width:100%;aspect-ratio:16/9;object-fit:cover}

  .dn-cnn-related-lines{margin-top:13px}
  .dn-cnn-related-lines a{
    display:block;
    font-size:.98rem;
    font-weight:700;
    line-height:1.25;
    padding:10px 0;
    border-top:1px solid #d7dadd
  }
  .dn-cnn-mini-grid{gap:18px;margin-top:18px}
  .dn-cnn-mini-grid h3{font-size:1rem;line-height:1.2;margin-top:8px}

  .dn-cnn-hero-right{min-width:0}
  .dn-cnn-marker{
    display:block;
    border-left:4px solid var(--dn-red);
    padding-left:8px;
    margin-bottom:10px;
    text-transform:uppercase;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.05em
  }
  .dn-cnn-watch-card iframe,.dn-cnn-watch-card video{width:100%;aspect-ratio:16/9;height:auto}
  .dn-cnn-watch-card h2{font-size:1.08rem;line-height:1.18;margin:8px 0 18px}
  .dn-cnn-latest-list{border-top:1px solid #111;padding-top:13px}
  .dn-cnn-latest-list article{padding:10px 0;border-bottom:1px solid #d7dadd}
  .dn-cnn-latest-list article>div>a{font-size:.94rem;font-weight:700;line-height:1.18}
  .dn-cnn-latest-thumb{width:78px;flex:0 0 78px}

  /* CNN-like breathing room and selective separators. */
  .dn-cnn-section{padding:36px 0 18px}
  .dn-cnn-section-head{
    border-top:1px solid #111;
    border-bottom:0;
    padding:13px 0 14px;
    margin-bottom:0
  }
  .dn-cnn-section-head h2{font-size:1.45rem;letter-spacing:-.025em}
  .dn-cnn-section-head a{font-size:.78rem;font-weight:700}
  .dn-cnn-feature-layout{
    grid-template-columns:250px minmax(0,1fr) 260px;
    gap:28px;
    align-items:start
  }
  .dn-cnn-feature-main h3{font-size:2rem;line-height:1.02;letter-spacing:-.035em;margin:10px 0 8px}
  .dn-cnn-feature-main p{font-size:1rem;line-height:1.4}
  .dn-cnn-feature-list article{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #d7dadd}
  .dn-cnn-feature-list h3{font-size:1rem;line-height:1.18}
  .dn-cnn-feature-side{gap:20px}
  .dn-cnn-feature-side h3{font-size:1rem;line-height:1.2;margin-top:8px}

  .dn-cnn-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}
  .dn-cnn-card-grid .dn-cnn-card--lead{grid-column:span 2;grid-row:span 2}
  .dn-cnn-card-grid .dn-cnn-card--lead h3{font-size:2rem;line-height:1.04;letter-spacing:-.035em}
  .dn-cnn-card-grid article:not(.dn-cnn-card--lead) h3{font-size:1.08rem;line-height:1.18}

  .dn-cnn-watch-zone{margin-top:30px;padding:38px 0;background:#0b0b0b;color:#fff}
  .dn-cnn-watch-zone .dn-cnn-section-head{border-top-color:#fff}
  .dn-cnn-watch-layout{grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:30px}
  .dn-cnn-watch-main h3{font-size:1.7rem;line-height:1.08}
  .dn-cnn-watch-list article{border-bottom:1px solid #343434;padding:0 0 13px;margin-bottom:13px}

  .dn-cnn-opinion-zone{margin-top:30px;background:#f3f3f3;padding:38px 0}
  .dn-cnn-opinion-grid{gap:22px}
  .dn-cnn-opinion-grid article{border:0;border-top:1px solid #aaa;padding:14px 0 0}
  .dn-cnn-opinion-grid h3{font-size:1.15rem;line-height:1.18}

  /* Meta should support hierarchy, not draw a grid around it. */
  .dn-cnn-home .dn-meta{font-size:.7rem;color:#70767c;gap:7px}
  .dn-cnn-home .dn-meta span+span:before{content:"";margin:0}
}

/* Tablet */
@media (min-width: 760px) and (max-width:1099px){
  .dn-masthead-inner{min-height:92px}
  .dn-brand img{max-height:76px;width:min(360px,52vw)}
  .dn-cnn-shell{width:min(calc(100% - 32px),900px)}
  .dn-cnn-hero-grid{grid-template-columns:minmax(0,1.8fr) minmax(220px,.75fr);gap:24px}
  .dn-cnn-hero-left{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .dn-cnn-lead-story h1{font-size:2.6rem;line-height:1}
}

/* Mobile: preserve the separate mobile ad campaigns and make editorial
   cards breathe instead of recreating a tiny desktop grid. */
@media (max-width:759px){
  .dn-utility-inner{height:32px}
  .dn-masthead-inner{min-height:88px}
  .dn-brand img{max-height:70px;width:min(290px,70vw)}
  .dn-cnn-hero-wrap{padding-top:14px}
  .dn-cnn-topic-strip{margin-bottom:18px;padding-bottom:9px}
  .dn-cnn-hero-grid{display:flex;flex-direction:column;gap:24px}
  .dn-cnn-hero-main{order:1}
  .dn-cnn-hero-left{order:2;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .dn-cnn-hero-right{order:3;width:100%}
  .dn-cnn-lead-story h1{font-size:2.25rem;line-height:.98;letter-spacing:-.04em;text-align:left}
  .dn-cnn-lead-summary{font-size:1rem}
  .dn-cnn-side-story h2{font-size:1rem}
  .dn-cnn-side-story p{display:none}
  .dn-cnn-section{padding:28px 0 10px}
  .dn-cnn-section-head{border-top:1px solid #111;border-bottom:0;padding:11px 0}
  .dn-cnn-section-head h2{font-size:1.35rem}
  .dn-cnn-feature-layout,.dn-cnn-card-grid{display:block}
  .dn-cnn-feature-main{margin-bottom:22px}
  .dn-cnn-feature-main h3,.dn-cnn-card-grid .dn-cnn-card--lead h3{font-size:1.65rem;line-height:1.05}
  .dn-cnn-feature-list,.dn-cnn-feature-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .dn-cnn-card-grid article{margin-bottom:24px}
  .dn-cnn-watch-zone{margin-top:24px;padding:28px 0}
}


/* ============================================================
   V4.13 — Latest-first clean homepage
   Removes the artificial Top Stories/topic strip. Latest posts
   automatically drive the opening package, followed by categories.
   ============================================================ */

.dn-cnn-topic-strip{
  display:none !important;
}

.dn-latest-section-label{
  margin:0 0 16px;
  padding:0 0 9px;
  border-bottom:1px solid #bfc4c9;
}
.dn-latest-section-label span{
  display:inline-block;
  padding-left:9px;
  border-left:5px solid var(--dn-red);
  font-size:.82rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:#111;
}

/* Clean editorial dividers: only subtle rules where useful. */
.dn-cnn-side-story + .dn-cnn-side-story{
  border-top:0 !important;
}
.dn-cnn-related-lines{
  border-top:0 !important;
}
.dn-cnn-related-lines a{
  border-top:1px solid #d9dde1 !important;
  border-bottom:0 !important;
}
.dn-cnn-latest-list{
  border-top:0 !important;
}
.dn-cnn-latest-list article{
  border-bottom:0 !important;
  border-top:1px solid #d9dde1 !important;
}
.dn-cnn-section-head{
  border-top:0 !important;
  border-bottom:1px solid #c9cdd1 !important;
  padding-top:0 !important;
  padding-bottom:11px !important;
}
.dn-cnn-section-head h2{
  padding-left:10px !important;
  position:relative;
}
.dn-cnn-section-head h2:before{
  content:"";
  position:absolute;
  left:0;
  top:.08em;
  bottom:.08em;
  width:4px;
  background:var(--dn-red);
}

/* The homepage starts immediately with journalism after the paid banner. */
.dn-cnn-hero-wrap{
  padding-top:22px !important;
}

/* Latest right-column card should not duplicate a whole Latest feed. */
.dn-cnn-latest-list--single article{
  grid-template-columns:78px minmax(0,1fr);
}

/* Keep typography strong but not oversized. */
@media(min-width:1100px){
  .dn-cnn-lead-story h1{
    font-size:clamp(2.15rem,2.8vw,3.25rem) !important;
  }
  .dn-cnn-side-story h2{
    font-size:1.12rem !important;
  }
  .dn-cnn-section-head h2{
    font-size:1.28rem !important;
    text-transform:none !important;
  }
  .dn-cnn-feature-main h3,
  .dn-cnn-card-grid .dn-cnn-card--lead h3{
    font-size:1.72rem !important;
  }
}

@media(max-width:759px){
  .dn-latest-section-label{
    margin-bottom:13px;
  }
  .dn-cnn-hero-left{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V4.14 — consistent card media + headline clamping
   ========================================================= */

.dn-smart-media{
  display:block;
  width:100%;
  overflow:hidden;
  background:#eef1f4;
  text-decoration:none !important;
}
.dn-smart-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dn-smart-media-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:100px;
  background:var(--dn-navy);
  color:#fff;
  line-height:.82;
  text-align:center;
}
.dn-smart-media-placeholder strong{
  font-size:1.15rem;
  letter-spacing:.04em;
}
.dn-smart-media-placeholder span{
  margin-top:5px;
  font-size:.85rem;
  font-weight:900;
  letter-spacing:.12em;
}

/* Stable image ratios prevent cards collapsing when source media differs. */
.dn-cnn-side-image{aspect-ratio:16/9}
.dn-cnn-lead-image{aspect-ratio:16/9}
.dn-cnn-card-media{aspect-ratio:16/9}
.dn-cnn-thumb-media{aspect-ratio:16/9}
.dn-cnn-latest-thumb{aspect-ratio:16/9}
.dn-cnn-watch-media{aspect-ratio:16/9}

/* Homepage titles are intentionally truncated visually only.
   The underlying post title and the single-story page stay complete. */
.dn-cnn-home .dn-cnn-lead-story h1 a,
.dn-cnn-home .dn-cnn-side-story h2 a,
.dn-cnn-home .dn-cnn-mini-grid h3 a,
.dn-cnn-home .dn-cnn-feature-main h3 a,
.dn-cnn-home .dn-cnn-feature-list h3 a,
.dn-cnn-home .dn-cnn-feature-side h3 a,
.dn-cnn-home .dn-cnn-card-grid h3 a,
.dn-cnn-home .dn-cnn-watch-card h2 a,
.dn-cnn-home .dn-cnn-watch-main h3 a,
.dn-cnn-home .dn-cnn-watch-list h4 a,
.dn-cnn-home .dn-cnn-latest-list article > div > a,
.dn-cnn-home .dn-cnn-opinion-grid h3 a{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.dn-cnn-home .dn-cnn-lead-story h1 a{
  -webkit-line-clamp:3;
  line-clamp:3;
}
.dn-cnn-home .dn-cnn-side-story h2 a,
.dn-cnn-home .dn-cnn-feature-main h3 a,
.dn-cnn-home .dn-cnn-card-grid .dn-cnn-card--lead h3 a{
  -webkit-line-clamp:3;
  line-clamp:3;
}
.dn-cnn-home .dn-cnn-mini-grid h3 a,
.dn-cnn-home .dn-cnn-feature-list h3 a,
.dn-cnn-home .dn-cnn-feature-side h3 a,
.dn-cnn-home .dn-cnn-card-grid article:not(.dn-cnn-card--lead) h3 a,
.dn-cnn-home .dn-cnn-watch-card h2 a,
.dn-cnn-home .dn-cnn-watch-main h3 a,
.dn-cnn-home .dn-cnn-watch-list h4 a,
.dn-cnn-home .dn-cnn-latest-list article > div > a,
.dn-cnn-home .dn-cnn-opinion-grid h3 a{
  -webkit-line-clamp:2;
  line-clamp:2;
}

/* Don't let missing excerpts/titles leave odd vertical holes. */
.dn-cnn-side-story h2,
.dn-cnn-feature-main h3,
.dn-cnn-feature-list h3,
.dn-cnn-feature-side h3,
.dn-cnn-card-grid h3,
.dn-cnn-watch-card h2,
.dn-cnn-watch-main h3,
.dn-cnn-watch-list h4{
  min-height:0;
}

@media(max-width:759px){
  .dn-cnn-home .dn-cnn-lead-story h1 a{
    -webkit-line-clamp:4;
    line-clamp:4;
  }
  .dn-smart-media-placeholder{
    min-height:90px;
  }
}

/* V4.15 — shared secondary news rows */
.dn-cnn-list-row{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:10px 0!important;margin:0!important;border:0!important;border-bottom:1px solid #e3e6e8!important}
.dn-cnn-list-row:last-child{border-bottom:0!important}
.dn-cnn-list-row .dn-cnn-row-thumb,.dn-cnn-hero-left .dn-cnn-side-story.dn-cnn-list-row .dn-smart-media,.dn-cnn-feature-list .dn-cnn-list-row .dn-smart-media{width:92px!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;margin:0!important}
.dn-cnn-list-row .dn-cnn-row-copy{min-width:0}
.dn-cnn-list-row h2,.dn-cnn-list-row h3{margin:0 0 4px!important;padding:0!important;font-size:14px!important;line-height:1.1!important;font-weight:800!important;text-align:left!important}
.dn-cnn-list-row h2 a,.dn-cnn-list-row h3 a{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.dn-cnn-list-row .dn-meta{margin-top:4px!important;font-size:9px!important;line-height:1.25!important}
.dn-cnn-feature-main .dn-cnn-lead-image{width:100%;aspect-ratio:16/9}
@media(max-width:759px){.dn-cnn-list-row{grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important}.dn-cnn-list-row .dn-cnn-row-thumb,.dn-cnn-hero-left .dn-cnn-side-story.dn-cnn-list-row .dn-smart-media,.dn-cnn-feature-list .dn-cnn-list-row .dn-smart-media{width:112px!important}.dn-cnn-list-row h2,.dn-cnn-list-row h3{font-size:15px!important}}


/* =========================================================
   V4.16 — lead override / Local mobile / in-feed polish
   ========================================================= */

/* The two visual cards under the latest text links are a separate sub-group. */
.dn-latest-home-lead .dn-cnn-mini-grid{
  border-top:1px solid #d5d9dd;
  padding-top:16px;
  margin-top:14px;
}

/* In-feed ad product: centered, intentionally slimmer than header billboard. */
.dn-section-banner{
  width:min(calc(100% - 36px),970px) !important;
  max-width:970px !important;
  margin:30px auto !important;
}
.dn-section-banner img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Local is a priority section on mobile: one readable story per row.
   About 35% image / 65% copy, with up to three headline lines. */
@media(max-width:759px){
  .dn-cnn-section--local .dn-cnn-feature-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .dn-cnn-section--local .dn-cnn-feature-list .dn-cnn-list-row{
    display:grid !important;
    grid-template-columns:minmax(105px,35%) minmax(0,65%) !important;
    gap:12px !important;
    width:100% !important;
    padding:12px 0 !important;
  }
  .dn-cnn-section--local .dn-cnn-list-row .dn-cnn-row-thumb,
  .dn-cnn-section--local .dn-cnn-feature-list .dn-cnn-list-row .dn-smart-media{
    width:100% !important;
    max-width:none !important;
    aspect-ratio:16/9 !important;
  }
  .dn-cnn-section--local .dn-cnn-list-row h3{
    font-size:16px !important;
    line-height:1.12 !important;
  }
  .dn-cnn-section--local .dn-cnn-list-row h3 a{
    -webkit-line-clamp:3 !important;
    line-clamp:3 !important;
  }
  .dn-cnn-section--local .dn-cnn-list-row .dn-meta{
    font-size:10px !important;
  }

  .dn-section-banner--desktop{display:none !important}
  .dn-section-banner--mobile{
    display:block !important;
    width:min(calc(100% - 22px),420px) !important;
    max-width:420px !important;
    margin:22px auto !important;
  }
}


/* =========================================================
   V4.17 — archive naming, mobile rows, explicit Latest divider
   ========================================================= */

.dn-latest-mini-separator{
  display:block;
  width:100%;
  height:1px;
  background:#c8cdd2;
  margin:16px 0 16px;
}
.dn-latest-home-lead .dn-cnn-mini-grid{
  border-top:0 !important;
  padding-top:0 !important;
  margin-top:0 !important;
}

/* Mobile secondary news rows: prioritise readable headlines over thumbnails.
   This deliberately overrides older 2-column feature-list rules. */
@media(max-width:759px){
  .dn-cnn-section--local .dn-cnn-feature-list,
  .dn-cnn-section .dn-cnn-feature-list{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
  }

  .dn-cnn-section--local .dn-cnn-feature-list .dn-cnn-list-row,
  .dn-cnn-section .dn-cnn-feature-list .dn-cnn-list-row{
    display:grid !important;
    grid-template-columns:34% minmax(0,66%) !important;
    gap:12px !important;
    width:100% !important;
    padding:12px 0 !important;
    align-items:start !important;
  }

  .dn-cnn-section .dn-cnn-list-row .dn-cnn-row-thumb,
  .dn-cnn-section .dn-cnn-feature-list .dn-cnn-list-row .dn-smart-media{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    aspect-ratio:16/9 !important;
    height:auto !important;
  }

  .dn-cnn-section .dn-cnn-list-row h3{
    margin:0 0 5px !important;
    font-size:16px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
  }

  .dn-cnn-section .dn-cnn-list-row h3 a{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    line-clamp:3 !important;
    overflow:hidden !important;
  }

  .dn-cnn-section .dn-cnn-list-row .dn-meta{
    margin-top:5px !important;
    font-size:10px !important;
    line-height:1.25 !important;
  }

  /* Also make the two Latest-left rows use the same readable proportion. */
  .dn-latest-home-lead .dn-cnn-hero-left .dn-cnn-list-row{
    grid-template-columns:34% minmax(0,66%) !important;
    gap:12px !important;
  }
  .dn-latest-home-lead .dn-cnn-hero-left .dn-cnn-row-thumb{
    width:100% !important;
  }

  .dn-latest-mini-separator{
    margin:14px 0 14px;
  }
}


/* =========================================================
   V4.18 — dedicated Local mobile feed + persistent visible nav
   ========================================================= */

/* Desktop/tablet: keep the existing Local editorial layout. */
.dn-local-mobile-feed{
  display:none;
}

/* Keep horizontal category navigation on phones; it is intentionally
   scrollable rather than hidden behind a hamburger. */
@media(max-width:759px){
  .dn-nav{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dn-nav::-webkit-scrollbar{display:none}
  .dn-nav ul{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:100% !important;
  }
  .dn-nav li{
    flex:0 0 auto !important;
  }

  /* Local gets its own mobile-only newsroom feed. */
  .dn-cnn-section--local .dn-local-desktop-layout{
    display:none !important;
  }
  .dn-cnn-section--local .dn-local-mobile-feed{
    display:block !important;
  }

  .dn-local-mobile-lead{
    padding:4px 0 18px;
    margin-bottom:4px;
    border-bottom:1px solid #d9dde1;
  }
  .dn-local-mobile-lead-media{
    display:block;
    width:100% !important;
    aspect-ratio:16/9 !important;
    margin-bottom:10px;
  }
  .dn-local-mobile-lead h3{
    margin:0 0 7px !important;
    font-size:1.55rem !important;
    line-height:1.06 !important;
    letter-spacing:-.025em;
  }
  .dn-local-mobile-lead h3 a{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    overflow:hidden;
  }

  .dn-local-mobile-row{
    display:grid !important;
    grid-template-columns:36% minmax(0,64%) !important;
    gap:12px !important;
    align-items:start !important;
    padding:13px 0 !important;
    border-bottom:1px solid #e1e4e7 !important;
  }
  .dn-local-mobile-row:last-child{
    border-bottom:0 !important;
  }
  .dn-local-mobile-thumb{
    display:block;
    width:100% !important;
    aspect-ratio:16/9 !important;
  }
  .dn-local-mobile-copy{
    min-width:0;
  }
  .dn-local-mobile-row h3{
    margin:0 0 6px !important;
    font-size:1rem !important;
    line-height:1.12 !important;
    font-weight:800 !important;
  }
  .dn-local-mobile-row h3 a{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    line-clamp:4 !important;
    overflow:hidden !important;
  }
  .dn-local-mobile-row .dn-meta,
  .dn-local-mobile-lead .dn-meta{
    margin-top:5px !important;
    font-size:.68rem !important;
    line-height:1.25 !important;
  }
}


/* V4.19 fixed newsroom navigation */
.dn-primary-news-menu{
  margin:0;
  padding:0;
  list-style:none;
}
@media(max-width:759px){
  .dn-primary-news-menu{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:100% !important;
  }
  .dn-primary-news-menu li{flex:0 0 auto !important}
}


/* v4.22 Support Journalism */
.dn-donate-btn{display:inline-flex!important;align-items:center;justify-content:center;padding:5px 10px!important;background:#c8102e;color:#fff!important;border-radius:3px;font-weight:900!important;text-decoration:none!important;white-space:nowrap}
.dn-donate-btn:hover{background:#a80d27;color:#fff!important}
@media(max-width:680px){.dn-donate-btn{padding:5px 8px!important;font-size:10px!important}.dn-utility-right>a:not(.dn-donate-btn):not(:last-child){display:none}}

/* v4.23 — prominent Classifieds entry points */
.dn-classifieds-cta{display:inline-flex!important;align-items:center;justify-content:center;background:#c8102e!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.045em;border:0!important;white-space:nowrap}
.dn-classifieds-cta:hover{background:#a80d27!important;color:#fff!important}
.dn-classifieds-cta--top{min-height:34px;padding:0 13px;margin-left:auto;font-size:11px;border-radius:3px}
.dn-footer-classifieds{width:min(1180px,calc(100% - 32px));margin:0 auto 28px;padding-top:22px}
.dn-classifieds-cta--footer{min-height:48px;padding:0 18px;font-size:12px;border-radius:3px}
.dn-classifieds-cta--footer span{margin-left:9px;font-size:18px}
@media(max-width:820px){.dn-classifieds-cta--top{min-height:32px;padding:0 10px;font-size:10px}}
@media(max-width:560px){.dn-classifieds-cta--top{padding:0 8px;letter-spacing:.02em}.dn-footer-classifieds{width:calc(100% - 24px)}.dn-classifieds-cta--footer{width:100%;box-sizing:border-box}}

/* v4.24 — keep Classifieds CTA compact and on the primary nav line */
.dn-nav{display:flex;align-items:center!important;flex-wrap:nowrap!important}
.dn-nav .dn-classifieds-cta--top{
  flex:0 0 auto!important;
  min-height:28px!important;
  height:28px!important;
  line-height:28px!important;
  padding:0 10px!important;
  margin:0 0 0 10px!important;
  font-size:10px!important;
  border-radius:2px!important;
  align-self:center!important;
}
@media(max-width:980px){
  .dn-nav{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .dn-nav::-webkit-scrollbar{display:none}
  .dn-nav .dn-classifieds-cta--top{position:sticky;right:0;margin-left:8px!important}
}
@media(max-width:560px){
  .dn-nav .dn-classifieds-cta--top{
    min-height:26px!important;height:26px!important;line-height:26px!important;
    padding:0 8px!important;font-size:9px!important;
  }
}


/* v4.25 — dedicated mobile Classifieds bar */
.dn-mobile-classifieds-bar{display:none}

@media(max-width:760px){
  /* Remove the desktop-style CTA from the scrolling news nav on phones. */
  .dn-nav .dn-classifieds-cta--top{display:none!important}

  .dn-mobile-classifieds-bar{
    display:block;
    width:100%;
    background:#c8102e;
    border-top:1px solid rgba(255,255,255,.14);
  }

  .dn-mobile-classifieds-bar a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:min(100% - 28px, 1180px);
    min-height:48px;
    margin:0 auto;
    color:#fff!important;
    text-decoration:none!important;
    font-family:Arial,Helvetica,sans-serif;
  }

  .dn-mobile-classifieds-bar span{
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .dn-mobile-classifieds-bar strong{
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
  }

  /* Menu remains horizontally scrollable and no longer has a floating CTA in it. */
  .dn-nav{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dn-nav::-webkit-scrollbar{display:none}
}

@media(max-width:420px){
  .dn-mobile-classifieds-bar a{
    width:calc(100% - 24px);
    min-height:46px;
  }
  .dn-mobile-classifieds-bar span{font-size:12px}
  .dn-mobile-classifieds-bar strong{font-size:10px}
}


/* v4.27 — utility social bar */
.dn-utility-right a{white-space:nowrap}
.dn-utility-right a + a{margin-left:9px}
@media(max-width:680px){
  .dn-utility-right a + a{margin-left:7px}
}


/* v4.29 — resist browser-forced dark mode */
:root{
  color-scheme: light only!important;
  supported-color-schemes: light!important;
}
html,body{
  background:#fff!important;
  color:#111!important;
}
body,.dn-site,.site,.site-content,.dn-main,.dn-shell{
  color-scheme:light only!important;
}

/* Header/logo surfaces must remain brand-white even when a browser forces dark mode. */
.dn-header,
.dn-masthead,
.dn-logo-wrap,
.dn-brand,
.dn-nav-wrap,
.dn-nav,
.site-header{
  background:#fff!important;
}
.dn-brand img,
.custom-logo,
.site-logo img,
.dn-logo img{
  background:#fff!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}

/* Preserve intentional Duavata dark/navy/red components. */
.dn-utility,
.dn-topbar,
.dn-footer,
.dn-watch,
.dn-watch-strip{
  color-scheme:light only!important;
}

/* Browsers with auto-dark heuristics sometimes invert images. Never invert editorial/media assets. */
img,video,svg,canvas,picture{
  filter:none!important;
  mix-blend-mode:normal!important;
}

@media(prefers-color-scheme:dark){
  html,body{background:#fff!important;color:#111!important}
  .dn-header,.dn-masthead,.dn-logo-wrap,.dn-brand,.dn-nav-wrap,.dn-nav,.site-header{background:#fff!important}
}


/* =========================================================
   V4.30 — advertising reliability / phone / tablet behavior
   ========================================================= */

/*
 * In-feed section banners:
 * - Desktop and tablet (>=768px): use desktop/tablet artwork.
 * - Phones (<768px): use dedicated mobile artwork.
 * - Mobile renderer has a desktop-art fallback when no mobile creative exists.
 */
.dn-section-banner--desktop{
  display:block !important;
}
.dn-section-banner--mobile{
  display:none !important;
}

@media (min-width:768px) and (max-width:1024px){
  .dn-section-banner--desktop{
    display:block !important;
    width:min(calc(100% - 30px),970px) !important;
    max-width:970px !important;
    margin:24px auto !important;
  }
  .dn-section-banner--mobile{
    display:none !important;
  }
}

@media (max-width:767px){
  .dn-section-banner--desktop{
    display:none !important;
  }
  .dn-section-banner--mobile{
    display:block !important;
    width:min(calc(100% - 22px),420px) !important;
    max-width:420px !important;
    margin:22px auto !important;
  }
  .dn-section-banner--mobile .dn-ad-creative-stage,
  .dn-section-banner--mobile .dn-ad-creative,
  .dn-section-banner--mobile .dn-ad-art-link{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }
  .dn-section-banner--mobile img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    background:#fff;
  }
}

/*
 * Side rails are never forced beside content on phones/tablets.
 * Their mobile companion is inserted into the homepage feed.
 */
@media (max-width:1024px), (pointer:coarse){
  .dn-desktop-ad-rails{
    display:none !important;
  }

  .dn-mobile-infeed{
    display:block !important;
  }

  /*
   * If only a 300×600-ish desktop rail creative exists, keep the fallback
   * portrait ad at a sensible centered width instead of stretching it.
   */
  .dn-mobile-rail-ad--desktop-fallback{
    width:min(calc(100% - 30px),360px) !important;
    max-width:360px !important;
    margin:22px auto 26px !important;
  }
  .dn-mobile-rail-ad--desktop-fallback .dn-ad-creative-stage,
  .dn-mobile-rail-ad--desktop-fallback .dn-ad-creative,
  .dn-mobile-rail-ad--desktop-fallback .dn-ad-art-link{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }
  .dn-mobile-rail-ad--desktop-fallback img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
}

/* Dedicated mobile rail companion artwork can use the full mobile content width. */
@media (max-width:767px){
  .dn-mobile-rail-ad:not(.dn-mobile-rail-ad--desktop-fallback){
    width:min(calc(100% - 22px),560px) !important;
    max-width:560px !important;
    margin:20px auto 24px !important;
  }
}

/* Tablet sanity: companions are in-feed, not side rails, and stay readable. */
@media (min-width:768px) and (max-width:1024px){
  .dn-mobile-rail-ad{
    width:min(calc(100% - 40px),720px) !important;
    max-width:720px !important;
    margin:24px auto 28px !important;
  }
  .dn-mobile-rail-ad--desktop-fallback{
    width:min(calc(100% - 40px),360px) !important;
    max-width:360px !important;
  }
}

/* V4.31 — More News rail */
.dn-cnn-more-news article + article{margin-top:14px;padding-top:14px;border-top:1px solid #d9dde2}
@media(max-width:767px){.dn-cnn-hero-right{display:block!important;width:100%!important;margin-top:24px!important}.dn-cnn-more-news{width:100%!important}}


/* V4.32 — helpful 404 */
.dn-404-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0 16px}
.dn-404-actions a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid #cfd6df;color:#071f3d!important;text-decoration:none!important;font-weight:800;font-size:.78rem}
.dn-404-actions .dn-404-home{background:#071f3d;color:#fff!important;border-color:#071f3d}
.dn-404-search{display:flex;justify-content:center;margin-top:12px}


/* v4.33 — Accounts identity handshake */
.dn-masthead-inner{position:relative}
.dn-account-header{display:flex;align-items:center;justify-content:flex-end;min-width:130px}
.dn-account-header .duavata-account-menu{position:relative}
.dn-account-header .duavata-account-trigger,.dn-account-fallback a{color:inherit;font-weight:800;text-decoration:none}
.dn-account-header .duavata-account-pop{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:9999;background:#fff;border:1px solid #dfe5e1;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.14)}
.dn-account-header .duavata-account-menu:hover .duavata-account-pop,.dn-account-header .duavata-account-menu:focus-within .duavata-account-pop{display:block}
.dn-account-fallback{display:flex;gap:10px;align-items:center;font-size:.78rem}
@media(max-width:900px){.dn-account-header{min-width:auto}.dn-account-header .duavata-account-trigger small{display:none}.dn-account-header .duavata-account-trigger strong{font-size:.72rem}}
@media(max-width:640px){.dn-masthead-sponsor{display:none}.dn-account-header{justify-self:end}.dn-account-header .duavata-account-pop{position:fixed;right:10px;left:10px;top:76px;max-width:none!important}.dn-account-fallback a:last-child{display:none}}


/* v4.34 — account header grid repair */
.dn-masthead-right{
  grid-column:3;
  display:flex;
  align-items:center;
  justify-self:end;
  gap:14px;
  min-width:0;
}
.dn-masthead-right .dn-masthead-sponsor{justify-self:auto}
@media(max-width:900px){
  .dn-masthead-right{grid-column:3}
  .dn-masthead-right .dn-masthead-sponsor{display:none}
}
@media(max-width:640px){
  .dn-masthead-right{grid-column:3}
}


/* v4.35 — stable account dropdown interaction */
.dn-account-header .duavata-account-menu{
  padding-bottom:12px; /* creates a continuous pointer bridge into dropdown */
  margin-bottom:-12px;
}
.dn-account-header .duavata-account-menu:after{
  content:"";
  position:absolute;
  left:0;right:0;
  top:100%;
  height:14px;
  pointer-events:auto;
}
.dn-account-header .duavata-account-pop{
  top:100%!important; /* no dead hover gap */
}
.dn-account-header .duavata-account-menu.is-open .duavata-account-pop{
  display:block!important;
}
.dn-account-header .duavata-account-pop:hover{
  display:block!important;
}
@media(max-width:640px){
  .dn-account-header .duavata-account-menu{
    padding-bottom:0;
    margin-bottom:0;
  }
}


/* v4.36 — click-controlled account menu */
.dn-account-header .duavata-account-menu:hover .duavata-account-pop,
.dn-account-header .duavata-account-menu:focus-within .duavata-account-pop{
  display:none!important;
}
.dn-account-header .duavata-account-menu.is-open .duavata-account-pop{
  display:block!important;
}
.dn-account-header .duavata-account-menu{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
.dn-account-header .duavata-account-menu:after{display:none!important}


/* v4.38 — stable News-only masthead */
.dn-account-header,
.duavata-account-menu,
.dn-account-fallback{
  display:none!important;
}
.dn-masthead-inner{
  grid-template-columns:1fr auto 1fr!important;
}
.dn-masthead-actions{
  grid-column:1!important;
  justify-self:start!important;
}
.dn-brand{
  grid-column:2!important;
  justify-self:center!important;
}
.dn-masthead-right{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
}
@media(max-width:900px){
  .dn-masthead-right .dn-masthead-sponsor{display:none!important}
}


/* =========================================================
   v4.39 — launch polish: cleaner article rail, fuller Latest
   package, and non-destructive homepage image presentation.
   ========================================================= */

/* Article sidebar is commercial inventory only. WordPress utility widgets
   do not belong inside the story layout. */
.dn-cnn-article-ad .widget_search,
.dn-cnn-article-ad .widget_recent_entries,
.dn-cnn-article-ad .widget_recent_comments,
.dn-cnn-article-ad .wp-block-search,
.dn-cnn-article-ad .wp-block-latest-posts,
.dn-cnn-article-ad .wp-block-latest-comments,
.widget_recent_comments,
.wp-block-latest-comments{
  display:none!important;
}

/* Homepage story thumbnails should preserve the source composition instead
   of chopping off faces, signs, text or the edges of supplied news photos. */
.dn-cnn-home .dn-cnn-row-thumb,
.dn-cnn-home .dn-cnn-latest-thumb,
.dn-cnn-home .dn-cnn-card-media,
.dn-cnn-home .dn-cnn-mini-grid .dn-smart-media,
.dn-cnn-home .dn-cnn-feature-side .dn-smart-media{
  overflow:hidden;
  background:#f4f5f6;
}
.dn-cnn-home .dn-cnn-row-thumb img,
.dn-cnn-home .dn-cnn-latest-thumb img,
.dn-cnn-home .dn-cnn-card-media img,
.dn-cnn-home .dn-cnn-mini-grid .dn-smart-media img,
.dn-cnn-home .dn-cnn-feature-side .dn-smart-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* A five-story Local rail and an eight-story More News rail need compact,
   consistent rhythm on desktop without affecting the mobile feed order. */
@media(min-width:1025px){
  .dn-latest-home-lead .dn-cnn-hero-left{gap:0!important}
  .dn-latest-home-lead .dn-cnn-hero-left .dn-cnn-list-row{padding:11px 0!important}
  .dn-latest-home-lead .dn-cnn-more-news article{padding:9px 0!important}
  .dn-latest-home-lead .dn-cnn-more-news article + article{margin-top:0!important}
}

@media(max-width:767px){
  /* The same non-cropping treatment naturally carries onto phone cards. */
  .dn-cnn-home .dn-cnn-row-thumb img,
  .dn-cnn-home .dn-cnn-latest-thumb img,
  .dn-cnn-home .dn-cnn-card-media img,
  .dn-cnn-home .dn-cnn-mini-grid .dn-smart-media img,
  .dn-cnn-home .dn-cnn-feature-side .dn-smart-media img{
    object-fit:contain!important;
  }
}


/* v4.39.1 — article page has no right-hand WordPress/widget rail. */
.dn-cnn-article-media-row{
  grid-template-columns:minmax(0,820px)!important;
  justify-content:start;
}


/* v4.39.2 — cleaner article recommendations: 4 relevant + 6 latest elsewhere */
.dn-cnn-related-v2{margin-bottom:55px}
.dn-cnn-related-v2 .dn-cnn-section-head{margin-bottom:14px}
.dn-related-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.dn-related-feature-card{min-width:0}
.dn-related-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f3f3f3}
.dn-related-image img{display:block;width:100%;height:100%;object-fit:cover}
.dn-related-category{display:block;margin:8px 0 4px;color:var(--dn-red);font-family:var(--dn-ui-sans);font-size:.62rem;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.dn-related-feature-card h3,.dn-related-compact-card h3{font-family:var(--dn-ui-sans);font-weight:800}
.dn-related-feature-card h3{margin:0;font-size:.94rem;line-height:1.18}
.dn-related-feature-card h3 a,.dn-related-compact-card h3 a{color:#111;text-decoration:none}
.dn-related-feature-card h3 a:hover,.dn-related-compact-card h3 a:hover{text-decoration:underline}
.dn-related-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:25px;padding-top:20px;border-top:1px solid var(--dn-cnn-softline)}
.dn-related-compact-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:13px;padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--dn-cnn-softline);min-width:0}
.dn-related-compact-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f3f3f3}
.dn-related-compact-image img{display:block;width:100%;height:100%;object-fit:cover}
.dn-related-compact-copy{min-width:0}
.dn-related-compact-copy .dn-related-category{margin-top:1px}
.dn-related-compact-card h3{margin:0;font-size:.9rem;line-height:1.2}
@media(max-width:900px){.dn-related-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.dn-related-compact{grid-template-columns:1fr}}
@media(max-width:560px){.dn-related-featured{display:block}.dn-related-feature-card{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--dn-cnn-softline)}.dn-related-compact{margin-top:6px;padding-top:8px}.dn-related-compact-card{grid-template-columns:112px minmax(0,1fr);gap:11px}.dn-related-feature-card h3{font-size:1.05rem}.dn-related-compact-card h3{font-size:.86rem}}


/* =========================================================
   v4.39.3 — mobile header/search + breaking strip cleanup
   ========================================================= */

/* Keep search available on phones/tablets. Earlier responsive rules hid the
   entire masthead action area below 900px. */
@media(max-width:900px){
  .dn-masthead-actions{
    display:flex!important;
    grid-column:1!important;
    justify-self:start!important;
    align-items:center!important;
    z-index:2;
  }
  .dn-search-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--dn-navy)!important;
  }
  .dn-search-btn svg{
    width:22px;
    height:22px;
    display:block;
    stroke:currentColor;
  }
}

/* Prevent the red Latest badge from shrinking/cropping on narrow screens. */
.dn-breaking-label{
  flex:0 0 auto;
  white-space:nowrap;
}
.dn-breaking-link{
  min-width:0;
  flex:1 1 auto;
}
@media(max-width:760px){
  .dn-breaking-inner{
    gap:.55rem!important;
    overflow:hidden!important;
  }
  .dn-breaking-label{
    min-width:78px;
    box-sizing:border-box;
    text-align:center;
    padding:.32rem .52rem!important;
    font-size:.68rem!important;
  }
}

/* =========================================================
   v4.40.2 — desktop search icon hardening
   The SVG markup intentionally inherits its stroke from the button. The
   desktop rules previously did not assign SVG dimensions/stroke, while the
   <=900px rules did, leaving an empty bordered button on desktop.
   ========================================================= */
.dn-search-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
}
.dn-search-btn svg{
  display:block;
  width:22px;
  height:22px;
  stroke:currentColor;
  overflow:visible;
  pointer-events:none;
}
