/* Shared presentation seam: navigation, cards and responsive dossier layout. */
.hierarchy-rail{min-width:0;padding-top:54px}
.hierarchy-nav{border-top:2px solid var(--nhk-text);padding-top:12px}
.hierarchy-nav ul{list-style:none;margin:0;padding:0}
.hierarchy-nav li{padding:7px 0;border-bottom:1px solid var(--nhk-border)}
.hierarchy-nav a{color:var(--nhk-text)}
.hierarchy-nav a:hover,.hierarchy-nav a:focus{color:var(--nhk-accent)}
.hierarchy-nav details{border-top:1px solid var(--nhk-border);padding:12px 0}
.hierarchy-nav summary{cursor:pointer;font-weight:700}
.hierarchy-parent{margin:0 0 10px;color:var(--nhk-muted);font-size:.84rem}
.hierarchy-parent strong{display:block;margin-top:4px;color:var(--nhk-text)}
.local-section-nav{margin:22px 0 8px;border-bottom:1px solid var(--nhk-border);overflow-x:auto}
.local-section-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;white-space:nowrap}
.local-section-nav a{display:block;padding:10px 0;color:var(--nhk-text);font-size:.88rem;font-weight:700}
.local-section-nav a:hover,.local-section-nav a:focus{color:var(--nhk-accent)}
.breadcrumbs{margin:0 0 8px;color:var(--nhk-muted);font-size:.84rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.breadcrumbs li:not(:last-child)::after{content:'→';margin-left:8px;color:var(--nhk-border)}
.breadcrumbs a{color:var(--nhk-muted)}
.breadcrumbs li:last-child span{color:var(--nhk-text);font-weight:700}
.visual-rail{display:grid;gap:22px;margin-bottom:28px}
.rail-module{border-top:2px solid var(--nhk-text);padding-top:12px}
.rail-module h2{font:700 1.1rem/1.2 Georgia,serif;margin:0 0 12px}
.rail-item+.rail-item{margin-top:12px}
.rail-item .media-card{padding:0}
.rail-item .media-card-image{display:block}
.rail-item .media-card figcaption{padding:8px 10px;font-size:.76rem}
.image-placeholder{display:block;min-height:100%;background:linear-gradient(135deg,#f2ece3,#e7ddcf)}
.card-summary{color:var(--nhk-muted);font-size:.9rem;line-height:1.5}
.media-card{margin:0;min-width:0;padding:0;overflow:hidden}
.media-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#e9e1d7}
.media-card-image img{display:block;width:100%;height:100%;object-fit:contain}
.media-card figcaption{padding:10px 12px;color:var(--nhk-muted);font-size:.82rem}
.video-card:focus-visible,.visual-card:focus-visible,.related-card:focus-visible,.entity-card:focus-within{outline:3px solid var(--nhk-accent-secondary);outline-offset:3px}
@media(max-width:64rem){.semantic-layout{grid-template-columns:minmax(0,1fr) minmax(210px,250px)}.hierarchy-rail{grid-column:1 / -1;padding-top:26px}.hierarchy-nav ul{display:flex;flex-wrap:wrap;gap:8px}.hierarchy-nav li{border:1px solid var(--nhk-border);padding:7px 10px}.hierarchy-nav .hierarchy-parent{display:inline-block;margin-right:12px}}
@media(max-width:48rem){.semantic-layout{display:block}.hierarchy-rail{padding-top:20px}.context-rail{padding-top:32px}.visual-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.local-section-nav ul{gap:14px}}
@media(max-width:36rem){.visual-rail{grid-template-columns:1fr}}
.count-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.count-badges span{display:inline-flex;padding:4px 7px;border:1px solid var(--nhk-border);color:var(--nhk-muted);font-size:.72rem;line-height:1.2}
.nav-list a[aria-current="page"]{color:var(--nhk-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.local-section-nav a:focus-visible,.hierarchy-nav a:focus-visible,.context-box a:focus-visible,.count-badges:focus-visible{outline:3px solid var(--nhk-accent-secondary);outline-offset:3px}
.local-section-nav ul{scroll-snap-type:x proximity}
.local-section-nav li{scroll-snap-align:start}
.visual-card img,.video-poster img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
.media-card-image,.video-poster{display:block;position:relative;overflow:hidden;background:#e9e1d7}
.media-card-image{aspect-ratio:4/3}
.nhk-media--portrait .media-card-image{aspect-ratio:4/5}
.nhk-media--square .media-card-image{aspect-ratio:1}
.nhk-media--landscape .media-card-image{aspect-ratio:4/3}
.nhk-media--unknown .media-card-image{aspect-ratio:16/9}
.visual-frame img,.card-image img,.featured-image img,.entity-card-image img,.entity-hero-visual img,.media-figure img{object-fit:contain}
.visual-frame.nhk-media--portrait{aspect-ratio:4/5;max-width:min(100%,360px);margin-inline:auto}
.visual-frame.nhk-media--square{aspect-ratio:1}
.visual-frame.nhk-media--landscape{aspect-ratio:4/3}
.video-play{position:absolute;inset:auto auto 14px 14px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,253,249,.94);color:var(--nhk-accent);box-shadow:0 5px 18px rgba(57,41,28,.15)}
.homepage-visual-fallback{display:grid;place-items:center;align-content:center;gap:8px;width:100%;height:100%;min-height:78px;background:linear-gradient(135deg,#f2ece3,#e4d8c9);color:var(--nhk-text);text-align:center}.homepage-visual-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(57,41,28,.22);border-radius:50%;font-size:1.1rem}.homepage-visual-fallback small{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.latest-feed-thumb .homepage-visual-fallback{min-height:78px}.video-poster .homepage-visual-fallback{aspect-ratio:16/9}.video-poster .video-play{z-index:1}
@media(max-width:48rem){.local-section-nav{margin-inline:calc(-1 * var(--nhk-gutter, 14px));padding-inline:var(--nhk-gutter, 14px)}.local-section-nav ul{overflow-x:auto;padding-bottom:2px}.entity-card-body{padding:15px}.visual-rail{gap:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Video cards use one predictable frame for every source orientation. */
.video-card{min-width:0;height:100%;overflow:hidden}
.video-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.video-poster{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9}
.video-poster img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
.video-card-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:7px;padding:16px}
.video-card-copy strong,.video-card-copy small,.video-card-copy time{overflow-wrap:anywhere}
.video-card-copy strong{font:700 1.15rem/1.25 Georgia,serif}
.video-card-copy small{color:var(--nhk-muted);font-size:.88rem;line-height:1.45}
.video-card-copy time{margin-top:auto;color:var(--nhk-muted);font-size:.78rem}
.video-play{z-index:1}
