/* Shared accessibility and narrow-screen resilience; keep the editorial palette. */
body :where(p,li,dd,dt,h1,h2,h3,h4,figcaption,a,button,summary){overflow-wrap:anywhere}
body :where(main,section,article,nav,figure,.actions,.entry-actions,.article-actions)>*{min-width:0}
body :where(img,video,iframe,audio){max-width:100%}
body :where(button,summary){min-height:44px}
body :where(button,a,summary){touch-action:manipulation}
body .brand{min-width:0;max-width:100%;flex-shrink:1}
body .chapter-controls{flex-wrap:wrap}
body .chapter-controls button{font-size:.875rem}
body .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
body .skip{left:1rem;top:0;transform:translateY(-160%);max-width:calc(100% - 2rem)}
body .skip:focus{transform:none;z-index:100}
body :is(a,button,summary,input,select,textarea,audio,[tabindex]):focus-visible{outline:3px solid var(--rust);outline-offset:4px}
body :is(.worlds,.birds,.nature-section,.about-chapters,.enquiry-section,.project-section,.sport-radio,.broadcast-recordings)> :where(a,button,summary):focus-visible,
body :is(.worlds,.birds,.nature-section,.about-chapters,.enquiry-section,.project-section,.sport-radio,.broadcast-recordings) :where(a,button,summary,audio,[tabindex]):focus-visible{outline-color:var(--gold)}
body .worlds .world-copy :where(a,button,summary,[tabindex]):focus-visible,
body .worlds .world-copy:focus-visible,
body .series-material :where(a,button,summary):focus-visible{outline-color:var(--rust)}
body .contact :where(a,button,summary):focus-visible{outline-color:var(--cream)}
body>footer.wrap :where(a,summary):focus-visible{outline-color:var(--gold)}
body .photo-button:focus-visible{outline-offset:-6px}
body .worlds .world-copy a:hover,body .series-material a:not(.button):hover{color:var(--rust)}
body :is(.worlds,.birds,.nature-section,.about-chapters,.enquiry-section,.project-section,.sport-radio,.broadcast-recordings) :where(a:not(.button)):hover{color:var(--gold)}
body .worlds .world-copy a:hover{color:var(--rust)}
body .contact .text-link:hover{color:var(--cream);text-decoration:underline}
body .audio-status{font-size:.875rem;line-height:1.6;margin-top:12px}
body .audio-status:empty{display:none}
body .audio-samples .text-link{font-size:1rem}
@media(max-width:1200px){body>header{gap:12px 20px}body>header>.brand{flex:1 1 0}body>header>.menu{flex:0 0 auto}}
@media(max-width:760px){body .dialog-bar{flex-wrap:wrap}body .dialog-bar h2{flex:1 1 12rem}body .career-strip>div{flex-wrap:wrap}body .career-strip b{flex-basis:auto}}
@media(max-width:350px){body>header{padding-inline:18px}body>header .brand{padding-left:9px;border-left-width:3px}body>header .brand span{font-size:1.5rem}body>header .brand small{line-height:1.5}body>header>.menu{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){body :where(a,button,summary,audio,[tabindex]):focus-visible{outline-color:Highlight!important}body .button,body .menu,body .tabs button{border:1px solid ButtonText}body .tabs button[aria-selected=true]{outline:2px solid Highlight;outline-offset:-4px}body .source-cover{forced-color-adjust:none}}

/* Solid caption surfaces keep archive labels readable over every photograph. */
.image-caption,.world-image>p,.birds figcaption{background:var(--deep);padding-top:18px}
.original-radio-portrait figcaption,.about-portrait figcaption{position:relative;background:var(--deep)}
audio a{text-decoration:underline}

/* Enlarged text can move the desktop navigation onto another line. */
header{flex-wrap:wrap}header nav{flex-wrap:wrap;max-width:100%;min-width:0}header nav a{white-space:normal}
.hero-art .image-caption{padding-top:18px}

.image-caption,.world-image>p,.birds figcaption{color:var(--cream)}
.hero-sectors{position:relative;z-index:1}.hero-sectors a{background:var(--deep)}
