/* Shared editorial rhythm for all twenty editions. Keep theme colors and layouts. */
:is(body.p-edition,body[class*="gx-page-"]) :is(.gx-card,.dv-card,.bp-card,.sp-story,.nw-story,.np-card,.gs-card,.nf-card,.pd-story,.ti-story-card,.bv-story,.le-story,.hs-story,.cs-story,.tv-story) {
 --editorial-card-density:1; min-width:0; box-sizing:border-box;
}
/* These image attributes describe source resolution, not the displayed card height. */
body.p-edition :is(.np-card-photo,.gs-card-image,.bv-story-image,.hs-story-image,.cs-story-image) {
 display:block; position:relative; height:auto!important; min-height:0!important;
 aspect-ratio:16/10!important; overflow:hidden;
}
body.p-edition :is(.np-card-photo,.gs-card-image,.bv-story-image,.hs-story-image,.cs-story-image)>img {
 position:absolute; inset:0; display:block; width:100%!important; height:100%!important;
 min-height:0!important; object-fit:cover;
}
/* Content drives row height; avoid inherited viewport-sized empty card bodies. */
:is(body.p-edition,body[class*="gx-page-"]) :is(.np-card-copy,.gs-card-copy,.bv-story>div,.hs-story>div,.cs-story>div,.nw-story-copy,.le-story-copy,.pd-story-copy,.tv-story-copy,.nf-card-copy) {
 min-height:0; overflow-wrap:break-word;
}
/* Compact section intervals across every edition, including custom homepages. */
:is(body.p-edition,body[class*="gx-page-"]) :is(.gx-desk,.gx-section,.dv-section,.dv-trending,.dv-latest,.bp-news-layout,.sp-chapter,.nw-perspectives,.nw-storytelling,.nw-discovery-layout,.np-latest,.np-reading,.ff-section,.ff-about,.gs-picks,.gs-discovery-banner,.nf-top,.nf-opinion,.pd-latest,.pd-more-layout,.ti-notes,.bv-section,.bv-reading-room,.le-picks,.hs-section,.hs-timeline-callout,.cs-latest,.cs-workbench,.tv-picks,.tv-longread,.tv-discovery) {
 margin-top:28px!important; margin-bottom:28px!important;
}
@media(max-width:767px) {
 :is(body.p-edition,body[class*="gx-page-"]) :is(.gx-desk,.gx-section,.dv-section,.dv-trending,.dv-latest,.bp-news-layout,.sp-chapter,.nw-perspectives,.nw-storytelling,.nw-discovery-layout,.np-latest,.np-reading,.ff-section,.ff-about,.gs-picks,.gs-discovery-banner,.nf-top,.nf-opinion,.pd-latest,.pd-more-layout,.ti-notes,.bv-section,.bv-reading-room,.le-picks,.hs-section,.hs-timeline-callout,.cs-latest,.cs-workbench,.tv-picks,.tv-longread,.tv-discovery) {
  margin-top:20px!important; margin-bottom:20px!important;
 }
}
/* Every edition's story grid shares a compact gap without changing its columns. */
:is(body.p-edition,body[class*="gx-page-"]) :is(.gx-editorial-grid,.dv-feature-grid,.bp-latest-grid,.sp-front-support,.p-story-grid,.np-latest-grid,.ff-journal,.gs-five-grid,.nf-support,.pd-latest-grid,.ti-notes-grid,.bv-editor-grid,.le-briefs,.hs-desk,.cs-opening,.tv-opening) {
 --editorial-grid-density:1; gap:16px!important;
}
@media(max-width:767px) {
 :is(body.p-edition,body[class*="gx-page-"]) :is(.gx-editorial-grid,.dv-feature-grid,.bp-latest-grid,.sp-front-support,.p-story-grid,.np-latest-grid,.ff-journal,.gs-five-grid,.nf-support,.pd-latest-grid,.ti-notes-grid,.bv-editor-grid,.le-briefs,.hs-desk,.cs-opening,.tv-opening) { gap:14px!important; }
}
/* News links gain the reference underline on interaction; opened article headings retain it. */
:is(body.p-edition.p-edition.p-edition,body[class*="gx-page-"]) main :is(h1,h2,h3,h4) a[href*="page=article"]:is(:hover,:focus-visible,:active),
:is(body.p-page-article.p-edition.p-edition,body.gx-page-article) main h1 {
 text-decoration-line:underline!important;
 text-decoration-style:solid!important;
 text-decoration-thickness:.055em!important;
 text-underline-offset:.12em!important;
 text-decoration-skip-ink:auto;
}
