/* Mobile newsroom: one consistent, readable story pattern. */
@media (max-width: 620px) {
  body:has(#featured) .head-top { display:grid !important; grid-template-columns:44px minmax(0,1fr) !important; gap:8px !important; min-height:72px !important; padding:0 !important; }
  body:has(#featured) .head-top .corporate-menu-button { position:static !important; grid-column:1 !important; grid-row:1 !important; align-self:center !important; justify-self:start !important; transform:none !important; }
  body:has(#featured) .brand-lockup { grid-column:2 !important; grid-row:1 !important; min-width:0 !important; width:100% !important; display:flex !important; flex-direction:row-reverse !important; justify-content:flex-end !important; align-items:center !important; gap:8px !important; overflow:visible !important; }
  body:has(#featured) .brand-lockup > span { min-width:0 !important; flex:0 1 auto !important; }
  body:has(#featured) .brand-lockup img { flex:0 0 36px !important; width:36px !important; height:36px !important; margin:0 !important; }
  body:has(#featured) .brand-name { display:block !important; max-width:none !important; font-size:clamp(1.18rem,5.7vw,1.42rem) !important; line-height:1 !important; letter-spacing:-.035em !important; white-space:nowrap !important; overflow:visible !important; }
  body:has(#featured) .brand-kicker { display:none !important; }
  body:has(#featured) .head-actions { display:none !important; }
  body:has(#featured) .topic-nav { overflow:hidden !important; }
  body:has(#featured) .topic-list { width:100% !important; padding:0 8px !important; overflow-x:auto !important; overscroll-behavior-inline:contain !important; scrollbar-width:none !important; scroll-snap-type:x proximity !important; }
  body:has(#featured) .topic-list::-webkit-scrollbar { display:none !important; }
  body:has(#featured) .topic-list a { flex:0 0 auto !important; padding:12px 13px !important; font-size:10px !important; scroll-snap-align:start !important; }
  .featured-section .featured-grid,
  .featured-section .featured-side,
  #latest .latest-grid,
  #latest .latest-side,
  .directory .news-grid { display: block !important; }

  .featured-main,
  .featured-card,
  .latest-primary,
  .latest-side-card,
  .directory .card {
    display: grid !important;
    grid-template-columns: 118px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 17px 0 !important;
    border: 0 !important;
    border-top: 1px solid #d7d9dc !important;
    background: #fff !important;
  }

  /* Pagination must win over the mobile card layout. */
  .directory .news-grid .card[hidden] {
    display: none !important;
  }

  .featured-main > img,
  .featured-card > img,
  .latest-primary > img,
  .latest-side-card > img,
  .directory .card > img,
  body:not(.search-mode) .directory .news-grid .card > img {
    grid-column: 1 !important;
    grid-row: 1 / span 6 !important;
    width: 118px !important;
    height: 92px !important;
    min-height: 92px !important;
    max-height: 92px !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
    background: #eceeef !important;
  }

  .featured-main .story-copy,
  .latest-primary .story-copy,
  .directory .card-body { display: contents !important; padding: 0 !important; }
  .featured-main .category,.featured-card .category,.latest-primary .category,.latest-side-card .category,.directory .card .category { grid-column: 2 !important; margin: 0 0 3px !important; font-size: 9px !important; line-height: 1.2 !important; }
  .featured-main h3,.featured-card h3,.latest-primary h3,.latest-side-card h3,.directory .card h3 { grid-column: 2 !important; margin: 0 !important; font-size: 1.08rem !important; font-weight: 750 !important; letter-spacing: -.025em !important; line-height: 1.16 !important; }
  .featured-main p,.featured-card p,.latest-primary p,.latest-side-card p,.directory .card p { display: none !important; }
  .featured-main .story-meta,.featured-card .story-meta,.latest-primary .story-meta,.latest-side-card .story-meta,.directory .card .story-meta { grid-column: 2 !important; margin: 7px 0 0 !important; padding: 0 !important; font-size: 8px !important; line-height: 1.35 !important; }
  .featured-main .story-meta img,.featured-card .story-meta img,.latest-primary .story-meta img,.latest-side-card .story-meta img,.directory .card .story-meta img { width: 24px !important; height: 24px !important; }
  .featured-side,.latest-side { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  .section { padding: 26px 0 34px !important; }
  .section-head { margin-bottom: 5px !important; }

  /* Keep exactly two strong lead stories before the compact stream. */
  .featured-main,
  .latest-primary {
    display: block !important;
    padding: 18px 0 24px !important;
  }
  .featured-main > img,
  .latest-primary > img {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    margin: 0 0 13px !important;
    object-fit: cover !important;
  }
  .featured-main .story-copy,.latest-primary .story-copy { display: block !important; }
  .featured-main .category,.latest-primary .category { display:block !important; margin:0 0 6px !important; }
  .featured-main h3,.latest-primary h3 { display:block !important; margin:0 !important; font-size:1.75rem !important; line-height:1.04 !important; }
  .featured-main p,.latest-primary p { display:block !important; margin:9px 0 0 !important; color:#50545a !important; font-size:12px !important; line-height:1.5 !important; }
  .featured-main .story-meta,.latest-primary .story-meta { display:flex !important; margin-top:11px !important; }

  body:has(#featured) .directory { display:block !important; }
  .mobile-news-gate { display:none !important; }
}

@media(min-width:621px){.mobile-news-gate{display:none!important}}

/* Ad areas never reserve blank space. They appear only after Google reports a fill. */
.cnr-ad-placement { display: none; width: 100%; margin: 0; padding: 0; text-align: center; }
.cnr-ad-placement.is-filled { display: block; box-sizing: border-box; margin: 24px 0; padding: 26px max(20px,calc((100% - 1100px)/2)); border-top: 1px solid #dedfda; border-bottom: 1px solid #dedfda; background: #f5f5f2; }
.cnr-ad-placement::before { display: block; margin-bottom: 7px; color: #858a91; font: 700 8px "Bricolage Grotesque",Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; content: "Advertisement"; }
.cnr-ad-placement .adsbygoogle { width: 100%; min-height: 90px; }
@media(max-width:620px){.cnr-ad-placement-desktop{display:none!important}.cnr-ad-placement:not(.cnr-ad-placement-desktop).is-filled{margin:18px 0;padding:12px 14px}.cnr-ad-placement .adsbygoogle{min-height:60px}}
