/* Portal density refinement. Keep existing fonts, colours and component markup. */
body.dpt-site #site-header .utility { padding-block:0; height:44px; min-height:44px; }
body.dpt-site #site-header .masthead { height:88px; min-height:88px; padding-block:8px; grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr); grid-template-rows:minmax(0,1fr); align-items:center; }
body.dpt-site #site-header .masthead > .brand { width:300px; max-width:100%; }
body.dpt-site #site-header.dpt-masthead-pinned .masthead { height:68px; min-height:68px; grid-template-columns:minmax(0,1fr) 250px minmax(0,1fr); border-bottom:0; }
body.dpt-site #site-header.dpt-masthead-pinned .masthead > .brand { width:250px; }
body.dpt-site #site-header .masthead button, body.dpt-site #site-header .subscribe { min-height:44px; }
body.dpt-site .nav.v5nav { height:44px; min-height:44px; padding-block:0; }
body.dpt-site .nav.v5nav a { min-height:44px; display:inline-flex; align-items:center; }
body.dpt-site .editoria { margin-bottom:28px; }
body.dpt-site .editoria .sectionhead { padding-top:18px; margin-bottom:18px; gap:16px; }
body.dpt-site .editoria .sectionhead h2 { font-size:30px; }
body.dpt-site .editoria .sectionhead .editorial-title-link { padding:7px 12px; min-height:44px; }
body.dpt-site .rail { gap:22px; scroll-snap-type:x proximity; padding:4px 0 10px; margin-inline:0; max-width:100%; }
body.dpt-site .rail :focus-visible { outline-offset:-2px; }
body.dpt-site .rail .news-card { flex-basis:calc((100% - 66px)/4); min-height:0; padding-bottom:16px; }
body.dpt-site .rail .card-media { height:auto; padding-top:0; aspect-ratio:16/10; }
body.dpt-site .rail .card-media img { height:100%; width:100%; object-fit:cover; }
body.dpt-site .rail .card-media img { aspect-ratio:16/10; }
body.dpt-site .rail .cardcopy { padding-top:12px; }
body.dpt-site .rail .cardcopy h3 { font-size:22px; line-height:1.22; min-height:0; letter-spacing:-.25px; margin:0; }
body.dpt-site .rail .cardcopy .tag { font-size:12px; margin-bottom:8px; }
body.dpt-site .rail .cardcopy .meta { font-size:13px; line-height:1.45; margin-top:12px; padding-top:0; }
body.dpt-site .railactions button { width:44px; height:44px; }
body.dpt-site .railactions a { min-height:44px; display:inline-flex; align-items:center; }
body.dpt-site .rail.dpt-dragging { scroll-behavior:auto; scroll-snap-type:none; cursor:grabbing; user-select:none; }
@media(hover:hover) and (pointer:fine) { body.dpt-site .rail .card-media { cursor:grab; } body.dpt-site .rail.dpt-dragging * { cursor:grabbing; } }
body.dpt-site .category-heading h1 { font-size:44px!important; line-height:1.12; }
body.dpt-site .category-description { font-size:17px; line-height:1.5; }
body.dpt-site .category-list-story { grid-template-columns:240px minmax(0,1fr); gap:24px; padding-block:20px; }
body.dpt-site .category-list-story .cat-media { aspect-ratio:16/10; height:auto; padding-top:0; }
body.dpt-site .category-list-story h2 { font-size:27px; line-height:1.22; margin-top:8px; }
body.dpt-site .category-list-story .cat-meta { margin-top:12px; font-size:13px; }
body.dpt-site .category-list-story.dpt-no-image { grid-template-columns:1fr; }
body.home.dpt-site .feature-main .hero > .dpt-hero-photo { flex:1 1 240px; height:240px; min-height:220px; }
body.home.dpt-site .herocopy h1 { font-size:40px; line-height:1.12; }
body.home.dpt-site .feature-side-card h3 { font-size:24px; line-height:1.22; }
body.home.dpt-site .feature-side-copy .meta { font-size:13px; }
.latest-featured { margin-block:16px 24px; padding:16px 20px; border:1px solid var(--line); border-top:3px solid var(--copper); }
.latest-featured > h2, .latest-feed-title { font:700 24px/1.25 Head,Arial,sans-serif; margin:0 0 12px; }
.latest-featured .category-list-story { border:0; padding-block:8px; }
.dpt-scroll-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-block:12px 18px; font-size:14px; }
.dpt-scroll-controls button, .dpt-scroll-controls a, .dpt-tv-open, .dpt-tv-external { min-height:44px; display:inline-flex; align-items:center; padding:10px 14px; }
.dpt-scroll-controls button { color:var(--fg); background:var(--bg); border:1px solid var(--line); border-radius:4px; cursor:pointer; font:inherit; }
.dpt-scroll-controls button[aria-pressed="false"] { border-color:var(--copper); }
.dpt-progress[data-infinite] > .dpt-pagination { display:flex; flex-wrap:wrap; gap:12px 24px; }
/* Appending above the footer must not anchor the viewport to its moving edge. */
.dpt-progress[data-infinite], .latest-page ~ .footer { overflow-anchor:none; }
.dpt-progress[data-infinite] > .dpt-scroll-controls:first-child .dpt-to-footer { position:fixed; right:16px; bottom:16px; z-index:90; width:auto; background:var(--bg); color:var(--fg); border:1px solid var(--line); border-radius:6px; box-shadow:0 2px 8px #0002; }
#site-footer { scroll-margin-top:calc(var(--dpt-visible-header,0px) + 16px); }
.dpt-tv-library { margin-block:24px 36px; max-width:960px; }
.dpt-tv-library h2, .dpt-tv-recent > h2 { font:700 28px/1.2 Head,Arial,sans-serif; margin-bottom:12px; }
.dpt-tv-library > p { font-size:17px; line-height:1.5; }
.dpt-tv-player-shell { margin-block:20px; background:#141619; color:#fff; border-radius:8px; overflow:hidden; }
.dpt-tv-player-placeholder { padding:24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; }
.dpt-tv-player-placeholder > p { font:700 26px/1.2 Head,Arial,sans-serif; margin:0; }
.dpt-tv-open { background:#b95635; color:#fff; font:700 16px/1.3 Body,Arial,sans-serif; border:0; border-radius:4px; cursor:pointer; }
.dpt-tv-player { width:100%; min-width:0; aspect-ratio:16/9; min-height:220px; }
.dpt-tv-player iframe { display:block; width:100%; max-width:100%; height:100%; min-height:220px; border:0; }
.dpt-tv-library .dpt-tv-player-help { font-size:14px; }
.dpt-tv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.dpt-tv-grid .card-media { height:auto; padding:0; aspect-ratio:16/9; }
.dpt-tv-grid .cardcopy h3 { font-size:23px; line-height:1.25; }
.dpt-tv-grid .news-card { min-width:0; }
@media(max-width:1000px) {
 body.dpt-site .rail .news-card { flex-basis:calc((100% - 44px)/3); }
 body.dpt-site #site-header .masthead { grid-template-columns:minmax(0,1fr) 270px minmax(0,1fr); }
 body.dpt-site #site-header .masthead > .brand { width:270px; }
}
@media(max-width:800px) {
 body.dpt-site .rail .news-card { flex-basis:calc((100% - 22px)/2); }
 body.dpt-site .category-list-story { grid-template-columns:180px minmax(0,1fr); gap:20px; }
 body.dpt-site .category-list-story h2 { font-size:24px; }
 body.home.dpt-site .feature-main .hero > .dpt-hero-photo { flex:none; height:auto; min-height:0; aspect-ratio:16/10; }
}
@media(max-width:600px) {
 .dpt-tv-player-placeholder { padding:20px 16px; }
 .dpt-scroll-controls { align-items:stretch; gap:4px; }
 .dpt-scroll-controls button { flex:1 1 100%; justify-content:center; }
 .dpt-scroll-controls a { justify-content:center; width:100%; }
 body.dpt-site #site-header .masthead { height:76px; min-height:76px; grid-template-columns:88px minmax(0,1fr) 0; column-gap:12px; }
 body.dpt-site #site-header .masthead > .brand { width:220px; }
 body.dpt-site #site-header .masthead .lefttools { gap:0; grid-column:1; grid-row:1; position:static; transform:none; }
 body.dpt-site #site-header .masthead > .brand { grid-column:2; grid-row:1; }
 body.dpt-site #site-header .masthead .righttools { display:none; }
 body.dpt-site #site-header .masthead #menu, body.dpt-site #site-header .masthead #search { display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; }
 body.dpt-site #site-header .masthead .menutext, body.dpt-site #site-header .masthead .action-text { display:none; }
 body.dpt-site #site-header.dpt-masthead-pinned .masthead { height:60px; min-height:60px; padding-block:6px; grid-template-columns:88px minmax(0,1fr) 0; }
 body.dpt-site #site-header.dpt-masthead-pinned .masthead > .brand { width:185px; }
 body.dpt-site .editoria .sectionhead { gap:8px; margin-bottom:14px; }
 body.dpt-site .editoria .sectionhead h2 { font-size:25px; }
 body.dpt-site .editoria .sectionhead .editorial-title-link { padding:8px 10px; }
 body.dpt-site .rail { gap:16px; }
 body.dpt-site .rail .news-card { flex-basis:78%; }
 body.dpt-site .rail .cardcopy h3 { font-size:22px; }
 body.dpt-site .railactions { gap:6px; }
 body.dpt-site .railactions a { display:none; }
 body.dpt-site .category-heading h1 { font-size:36px!important; }
 body.dpt-site .category-list-story { grid-template-columns:108px minmax(0,1fr); gap:16px; padding-block:18px; align-items:start; }
 body.dpt-site .category-list-story h2 { font-size:21px; }
 body.dpt-site .category-list-story .cat-tag { font-size:12px; }
 body.dpt-site .category-list-story .cat-media { aspect-ratio:4/3; }
 .latest-featured { padding:14px; }
 body.home.dpt-site .herocopy h1 { font-size:31px; line-height:1.16; }
 body.home.dpt-site .feature-side-card h3 { font-size:22px; }
}
@media(max-width:359px) {
 body.dpt-site #site-header .masthead > .brand { width:180px; }
 body.dpt-site .editoria .sectionhead h2 { font-size:22px; }
 body.dpt-site .category-list-story { grid-template-columns:88px minmax(0,1fr); gap:12px; }
 body.dpt-site .category-heading h1 { font-size:32px!important; }
}
