/* Project catalog, scoped to this route and its project series. */
.site-frame:has(.projects-catalog) { position:relative; --catalog-header-height:90px; }
.site-frame:has(.projects-catalog) > .portal-header { position:absolute; inset:0 0 auto; background:transparent; }
.portal-main--projects { padding:0; background:#f7fbfd; }
.portal-container--projects { max-width:none; }
.projects-catalog { color:var(--navy); background:#f7fbfd; padding-bottom:64px; }
.projects-catalog-hero { position:relative; isolation:isolate; height:40svh; min-height:360px; max-height:600px; overflow:hidden; background:var(--navy); color:#fff; }
.projects-catalog-hero-image,.projects-catalog-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.projects-catalog-hero-image { z-index:-2; object-fit:cover; object-position:60% 50%; animation:catalog-hero-enter 1.3s cubic-bezier(.16,1,.3,1) both; }
.projects-catalog-hero-shade { z-index:-1; background:linear-gradient(180deg,#001d2dc9,transparent 56%),linear-gradient(90deg,#002b3c66,transparent 70%); }
.projects-catalog-hero-inner { display:flex; flex-direction:column; justify-content:center; height:100%; width:100%; max-width:2080px; margin:auto; padding:calc(var(--catalog-header-height) + 8px) clamp(20px,4.15vw,90px) 24px; }
.projects-catalog-hero h1 { max-width:850px; margin:0; font-family:var(--display); font-size:clamp(44px,min(7vw,10svh),120px); font-weight:600; line-height:1; letter-spacing:-.04em; color:#fff; background:none; -webkit-text-fill-color:currentColor; white-space:normal; text-shadow:0 3px 18px #00192780; animation:catalog-copy-enter .75s .08s both; }
.projects-catalog-hero p { max-width:580px; margin:16px 0 0; color:#e5f0f5; font-size:clamp(15px,1.2vw,20px); line-height:1.5; text-wrap:pretty; animation:catalog-copy-enter .75s .16s both; }
.project-catalog-body { max-width:1920px; margin:auto; padding:22px clamp(20px,4.15vw,90px) 0; }
.project-catalog-body > .breadcrumbs { padding:0; margin:0 0 24px; font-size:12px; background:transparent; }
.project-catalog-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:28px; align-items:start; }
.project-catalog-sidebar { position:sticky; top:24px; min-width:0; padding:20px 14px 14px; border-radius:18px; background:#edf5f9; }
.project-catalog-sidebar > h2 { margin:0 6px 18px; font-family:var(--display); font-size:16px; font-weight:600; line-height:1.4; }
.project-catalog-filters { display:grid; gap:4px; }
.project-catalog-filter { display:grid; grid-template-columns:21px minmax(0,1fr) 23px; align-items:center; gap:10px; padding:10px 9px; min-height:43px; border-radius:10px; font-size:13px; line-height:1.4; transition:background .2s,box-shadow .2s; }
.project-catalog-filter > svg { width:20px; height:20px; }
.project-catalog-filter small { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#d9eaf2; color:#456b7c; font-size:11px; }
.project-catalog-filter.is-active { background:#dbeef8; font-weight:700; box-shadow:inset 3px 0 var(--navy),0 4px 16px #8cb9cd12; }
.project-catalog-status { margin:18px 6px 0; padding-top:16px; border-top:1px solid #d4e5ed; }
.project-catalog-status > p { margin:0 0 10px; font-size:12px; color:#597988; }
.project-catalog-status > div { display:flex; gap:7px; }
.project-catalog-status button { min-height:33px; padding:6px 13px; border-radius:99px; color:var(--navy); background:#e4eff5; font-size:12px; transition:background .2s,box-shadow .2s; }
.project-catalog-status button[aria-pressed=true] { background:var(--navy); color:#fff; box-shadow:0 4px 13px #002b3c20; }
.project-catalog-archive-note { display:grid; grid-template-columns:23px minmax(0,1fr); gap:10px; margin-top:20px; padding:15px 12px; border-radius:12px; background:#dcecf4; }
.project-catalog-archive-note > svg { width:21px; height:21px; }
.project-catalog-archive-note strong { display:block; font-size:12px; line-height:1.5; }
.project-catalog-archive-note p { margin:7px 0 10px; font-size:12px; line-height:1.5; color:#527180; }
.project-catalog-archive-note button { display:flex; align-items:center; gap:8px; padding:0; text-align:left; background:none; color:var(--navy); font-size:12px; font-weight:700; line-height:1.5; }
.project-catalog-archive-note button svg { width:19px; height:19px; }
.project-catalog-results { min-width:0; }
.project-catalog-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:15px 20px; min-height:42px; margin-bottom:20px; }
.project-catalog-result-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.project-catalog-result-heading h2 { margin:0; font-family:var(--display); font-size:clamp(21px,1.9vw,34px); font-weight:600; line-height:1.2; letter-spacing:-.035em; }
.project-catalog-result-heading p { margin:0; padding-left:12px; border-left:1px solid #d7e6ec; color:#60808f; font-size:12px; }
.project-catalog-tools { display:flex; align-items:center; gap:13px; }
.project-catalog-tools label { display:flex; align-items:center; gap:9px; color:#60808f; font-size:11px; }
.project-catalog-tools select { width:170px; max-width:100%; min-height:37px; padding:8px 10px; border:1px solid #d5e4eb; border-radius:10px; background:#fff; color:var(--navy); font-size:12px; }
.project-catalog-views { display:flex; gap:3px; padding:3px; background:#eaf3f7; border-radius:10px; }
.project-catalog-views button { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:transparent; color:#668795; }
.project-catalog-views button[aria-pressed=true] { background:var(--navy); color:#fff; box-shadow:0 3px 9px #002b3c1a; }
.project-catalog-views svg { width:17px; height:17px; }
.project-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.project-catalog-card { min-width:0; border:1px solid #dbe7ed; border-radius:15px; padding:5px; background:#fff; overflow:hidden; box-shadow:0 5px 20px #6e99ad06; transition:transform .25s,box-shadow .25s,border-color .25s; animation:catalog-copy-enter .5s both; animation-delay:calc(var(--catalog-order,0)*.06s); }
.project-catalog-photo { position:relative; aspect-ratio:16/7.8; overflow:hidden; border-radius:11px; background:#d9e9f0; }
.project-catalog-photo-link { display:block; width:100%; height:100%; padding:0; background:transparent; }
.project-catalog-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.16,1,.3,1); }
.project-catalog-category { position:absolute; top:9px; left:9px; max-width:calc(100% - 18px); padding:6px 9px; border-radius:6px; background:#edf8fff0; color:var(--navy); font-family:var(--display); font-size:clamp(8px,.65vw,12px); font-weight:600; line-height:1.5; }
.project-catalog-copy { position:relative; min-height:124px; padding:13px 49px 15px 9px; }
.project-catalog-copy h3 { margin:0; min-height:2.5em; font-family:var(--display); font-size:clamp(16px,1.2vw,22px); font-weight:600; line-height:1.25; letter-spacing:-.03em; }
.project-catalog-title { padding:0; background:transparent; color:inherit; text-align:left; font:inherit; user-select:text; }
.project-catalog-title,.project-catalog-copy p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; text-overflow:ellipsis; }
.project-catalog-copy p { margin:8px 0 0; min-height:3em; max-height:3em; color:#5c7988; font-size:13px; line-height:1.5; }
.project-catalog-excerpt { color:inherit; font:inherit; }
.project-catalog-card { cursor:pointer; }
.project-catalog-date { margin-top:9px; min-height:32px; color:#5c7988; font-size:11px; }
.project-catalog-date time { display:inline-flex; align-items:center; gap:5px; min-height:32px; }
.project-catalog-date svg { width:14px; height:14px; }
.project-catalog-date a:hover { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.project-catalog-arrow { position:absolute; right:8px; top:22px; display:grid; place-items:center; width:34px; height:34px; border:1px solid #cee0e9; border-radius:50%; background:#edf6fa; color:var(--navy); transition:background .2s,box-shadow .2s,transform .2s; }
.project-catalog-arrow svg { width:19px; height:19px; }
.project-catalog-empty { margin:0; padding:32px; border-radius:16px; background:#eaf4f9; color:#4d6e7e; font-size:16px; line-height:1.7; }
[data-catalog-view=list] .project-catalog-grid { grid-template-columns:minmax(0,1fr); }
[data-catalog-view=list] .project-catalog-card { display:grid; grid-template-columns:32% minmax(0,1fr); align-items:center; gap:12px; }
[data-catalog-view=list] .project-catalog-photo { aspect-ratio:16/8; }
.project-catalog-dialog { width:460px; padding:35px; border-radius:22px; background:#f5fbfe; box-shadow:0 25px 100px #001e3a55; }
.project-catalog-dialog > p { color:#557887; font-size:14px; line-height:1.6; }
.project-catalog-dialog > p:first-of-type { font-family:var(--display); font-size:10px; font-weight:600; }
.project-catalog-dialog h2 { margin:18px 0; padding-right:10px; font-size:clamp(23px,4vw,30px); }
.project-catalog-dialog-close { position:absolute; right:14px; top:12px; width:34px; height:34px; border-radius:50%; background:#e2f0f7; color:var(--navy); font:26px/1 Arial; }
.project-catalog-dialog-back,.project-series-read { display:inline-flex; align-items:center; gap:16px; margin-top:16px; padding:11px 17px; border-radius:99px; background:var(--navy); color:#fff; font-size:12px; line-height:1.5; }
.project-catalog-dialog-back svg,.project-series-read svg { width:20px; height:20px; }
.projects-catalog--detail .projects-catalog-hero h1 { max-width:900px; font-size:clamp(36px,5.2vw,82px); text-wrap:balance; }
.project-series > h2 { margin:26px 0; font-size:clamp(25px,2.2vw,40px); }
.project-series-card { display:grid; grid-template-columns:42% minmax(0,1fr); gap:30px; padding:14px; border:1px solid #dbe7ed; border-radius:20px; background:#fff; }
.project-series-card > a { display:block; overflow:hidden; border-radius:13px; }
.project-series-card img { display:block; width:100%; height:100%; max-height:330px; object-fit:cover; }
.project-series-card > div { align-self:center; padding:14px; }
.project-series-card h3 { margin:0 0 18px; font-family:var(--display); font-size:clamp(19px,2vw,30px); font-weight:600; line-height:1.25; letter-spacing:-.03em; }
.project-series-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.project-series-card p { margin:15px 0 0; color:#557584; font-size:16px; line-height:1.6; }
@media(hover:hover) { .project-catalog-filter:hover { background:#dceef6; box-shadow:0 0 18px #9bc4d230; } .project-catalog-card:hover { transform:translateY(-3px); box-shadow:0 10px 32px #729daf22; border-color:#b8d7e7; } .project-catalog-card:hover img { transform:scale(1.025); } .project-catalog-arrow:hover { background:#c9e8f7; box-shadow:0 0 18px #7aa7ba55; transform:translateX(2px); } }
@media(max-width:1100px) and (min-width:761px) { .site-frame:has(.projects-catalog) { --catalog-header-height:142px; } .projects-catalog-hero { min-height:380px; } .project-catalog-layout { grid-template-columns:220px minmax(0,1fr); gap:20px; } .project-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .project-catalog-toolbar { align-items:flex-start; } }
@media(max-width:760px) {
 .site-frame:has(.projects-catalog) { --catalog-header-height:78px; }
 .projects-catalog { padding-bottom:36px; }
 .projects-catalog-hero { height:430px; min-height:430px; max-height:none; }
 .projects-catalog-hero-image { object-position:65% 50%; }
 .projects-catalog-hero-shade { background:linear-gradient(90deg,#002b3cd9,#002b3c88 65%,#002b3c33),linear-gradient(0deg,#001e2b88,transparent); }
 .projects-catalog-hero-inner { padding:106px 20px 76px; justify-content:center; }
 .projects-catalog-hero h1 { font-size:clamp(40px,10vw,64px); }
 .projects-catalog-hero p { margin-top:18px; max-width:410px; font-size:15px; line-height:1.6; }
 .project-catalog-body { padding:20px 20px 0; }
 .project-catalog-body > .breadcrumbs { font-size:11px; margin-bottom:21px; }
 .project-catalog-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .project-catalog-sidebar { position:static; padding:16px 0 0; background:transparent; }
 .project-catalog-sidebar > h2 { margin:0 0 12px; font-size:15px; }
 .project-catalog-filters { display:flex; overflow-x:auto; gap:8px; padding:0 0 10px; scrollbar-width:thin; overscroll-behavior-x:contain; }
 .project-catalog-filter { flex-shrink:0; grid-template-columns:18px auto 21px; gap:8px; min-height:43px; padding:9px 12px; background:#eaf4f9; font-size:12px; white-space:nowrap; }
 .project-catalog-filter > svg { width:18px; height:18px; }
 .project-catalog-filter small { width:21px; height:21px; }
 .project-catalog-filter.is-active { box-shadow:0 4px 12px #729daf18; background:#cfe7f4; }
 .project-catalog-status { display:flex; align-items:center; gap:13px; padding:0; border:0; margin:8px 0 0; }
 .project-catalog-status > p { margin:0; }
 .project-catalog-status button { min-height:36px; }
 .project-catalog-archive-note { display:none; }
 .project-catalog-toolbar { gap:16px; margin-bottom:17px; }
 .project-catalog-result-heading h2 { font-size:25px; }
 .project-catalog-tools { width:100%; justify-content:space-between; gap:8px; }
 .project-catalog-tools label { gap:7px; font-size:10px; }
 .project-catalog-tools select { width:150px; min-height:42px; font-size:11px; }
 .project-catalog-views button { width:36px; height:36px; }
 .project-catalog-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .project-catalog-photo { aspect-ratio:16/8; }
 .project-catalog-category { font-size:9px; }
 .project-catalog-copy { min-height:112px; padding:16px 56px 18px 12px; }
 .project-catalog-copy h3 { font-size:20px; }
 .project-catalog-copy p { font-size:14px; }
 .project-catalog-arrow { width:38px; height:38px; }
 [data-catalog-view=list] .project-catalog-card { grid-template-columns:33% minmax(0,1fr); gap:3px; }
 [data-catalog-view=list] .project-catalog-photo { height:100%; min-height:140px; }
 [data-catalog-view=list] .project-catalog-category { top:5px; left:5px; max-width:calc(100% - 10px); padding:4px; font-family:Arial,sans-serif; font-size:9px; white-space:normal; }
 [data-catalog-view=list] .project-catalog-copy { min-height:140px; padding:12px 12px 48px; }
 [data-catalog-view=list] .project-catalog-copy h3 { font-size:16px; }
 [data-catalog-view=list] .project-catalog-copy p { font-size:12px; }
 [data-catalog-view=list] .project-catalog-arrow { width:29px; height:29px; top:auto; bottom:8px; }
 .project-catalog-dialog { padding:30px 24px; border-radius:18px; }
 .projects-catalog--detail .projects-catalog-hero h1 { font-size:clamp(32px,8.2vw,54px); }
 .project-series-card { grid-template-columns:minmax(0,1fr); gap:8px; padding:10px; }
 .project-series-card > div { padding:14px 8px; }
 .project-series-card h3 { font-size:22px; }
 .project-series-card p { font-size:15px; }
}
@media(max-width:359px) { .project-catalog-tools label { flex-direction:column; align-items:flex-start; gap:5px; } }
@keyframes catalog-hero-enter { from {transform:scale(1.035);opacity:.75} to {transform:scale(1);opacity:1} }
@keyframes catalog-copy-enter { from {transform:translateY(9px);opacity:0} to {transform:translateY(0);opacity:1} }
@media(prefers-reduced-motion:reduce) { .projects-catalog *, .projects-catalog *::before,.projects-catalog *::after { animation:none!important; transition:none!important; } .project-catalog-card:hover,.project-catalog-card:hover img,.project-catalog-arrow:hover { transform:none; } }

/* Approved phone hierarchy: all seven directions, then that direction's projects. */
.project-mobile-directions,.project-mobile-context-slot,.project-direction-dock,.project-catalog-pending { display:none; }
.project-directions-sheet:not([open]) { display:none; }
@media screen and (max-width:760px) {
 .projects-catalog.has-project-directions .project-catalog-sidebar,
 .projects-catalog.has-project-directions .project-catalog-toolbar { display:none; }
 .projects-catalog.has-project-directions[data-mobile-direction="all"] .project-catalog-layout { display:none; }
 .has-project-directions .project-mobile-directions { display:block; }
 .has-project-directions .project-mobile-directions > h2 { margin:4px 0 18px; font-family:var(--display); font-size:clamp(20px,5.2vw,27px); font-weight:600; line-height:1.25; letter-spacing:-.035em; }
 .project-direction-list { display:grid; gap:7px; min-width:0; }
 .project-direction-row { display:grid; grid-template-columns:22px minmax(0,1fr) 16px; align-items:center; gap:12px; min-height:46px; padding:10px 13px; border-radius:12px; background:#eaf4fa; color:#123e51; text-decoration:none; font-size:clamp(12px,3.1vw,15px); line-height:1.35; -webkit-tap-highlight-color:transparent; transition:background .16s,color .16s,box-shadow .16s,transform .16s; }
 .project-direction-row > svg { width:22px; height:22px; }
 .project-direction-row .project-direction-chevron,.project-direction-row .project-direction-check { width:16px; height:16px; }
 .project-direction-row .project-direction-check { display:none; }
 .project-direction-row.is-active { background:#052e40; color:#f2fbff; box-shadow:0 0 15px #68b9df66,inset 0 1px 0 #b9e5f529; }
 .project-direction-row.is-active .project-direction-check { display:block; }
 .project-direction-row.is-active .project-direction-chevron { display:none; }
 .project-direction-row:active { background:#d4eaf5; transform:scale(.99); }
 .project-direction-row.is-active:active { background:#174f66; }
 .has-project-directions .project-mobile-context-slot { display:block; margin-bottom:14px; min-width:0; overflow-anchor:none; }
 .project-mobile-context { position:relative; isolation:isolate; display:flex; align-items:stretch; min-width:0; min-height:48px; border-radius:14px; padding:5px; background:#f5fbff; color:var(--navy); }
 .project-mobile-context::before { content:''; position:absolute; z-index:-1; inset:-3px; border-radius:16px; pointer-events:none; box-shadow:0 0 18px 4px #78bbd65e,0 0 30px 4px #a5dff53d; animation:project-context-glow 5.2s ease-in-out infinite alternate; }
 .project-mobile-context.is-glow-paused::before { animation-play-state:paused; }
 .project-mobile-context button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:6px 9px; border:0; background:transparent; color:inherit; text-align:left; line-height:1.3; -webkit-tap-highlight-color:transparent; }
 .project-mobile-context button:active { background:#dcedf6; border-radius:9px; }
 .project-direction-open { flex-shrink:0; font-size:11px; }
 .project-direction-open svg { width:18px; height:18px; }
 .project-mobile-context .project-direction-current { flex:1; min-width:0; justify-content:space-between; padding-left:12px; border-left:1px solid #c9dfe9; font-family:var(--display); font-size:clamp(9px,2.55vw,12px); font-weight:600; letter-spacing:-.025em; }
 .project-direction-current > span { min-width:0; overflow-wrap:anywhere; }
 .project-direction-current > svg { width:15px; height:15px; flex-shrink:0; }
 .project-direction-dock { display:block; position:fixed; z-index:40; top:calc(8px + env(safe-area-inset-top,0px)); left:calc(14px + env(safe-area-inset-left,0px)); right:calc(14px + env(safe-area-inset-right,0px)); padding:6px; border-radius:18px; background:#f5fbfff7; box-shadow:0 6px 22px #17435b24,0 0 24px #76bcdf40; }
 .project-direction-dock::before { content:''; position:absolute; top:calc(-8px - env(safe-area-inset-top,0px)); left:calc(-14px - env(safe-area-inset-left,0px)); height:calc(8px + env(safe-area-inset-top,0px)); width:100vw; background:#f5fbfff7; pointer-events:none; }
 .dialog-open .project-direction-dock { visibility:hidden; pointer-events:none; }
 body.project-directions-open .project-direction-dock { visibility:visible; pointer-events:none; }
 .project-directions-sheet { position:fixed; inset:auto 0 0; width:min(100%,560px); max-width:100%; margin:0 auto; max-height:calc(100svh - 18px - env(safe-area-inset-top,0px)); padding:12px max(18px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px)); border:0; border-radius:24px 24px 0 0; background:#f6fbfe; color:var(--navy); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 -8px 35px #001e3a29; }
 .project-directions-sheet[open] { animation:project-directions-enter .2s ease-out; }
 .project-directions-sheet::backdrop { background:#001b2d9e; backdrop-filter:none; }
 .project-directions-handle { width:42px; height:4px; margin:0 auto 12px; border-radius:3px; background:#abc1cc; }
 .project-directions-sheet > header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:13px; }
 .project-directions-sheet h2 { margin:0; font-family:var(--display); font-size:clamp(20px,5.4vw,27px); font-weight:600; line-height:1.3; letter-spacing:-.035em; }
 .project-directions-sheet [data-directions-close] { width:44px; height:44px; flex-shrink:0; padding:0; border-radius:50%; background:#e8f3f9; color:var(--navy); font:28px/1 Arial,sans-serif; }
 .project-directions-overview { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin-top:10px; padding:7px 10px; font-size:12px; color:#406b7e; text-decoration:underline; text-underline-offset:3px; }
 .project-directions-overview svg { width:17px; height:17px; }
 .has-project-directions .project-catalog-pending { display:block; position:absolute; left:9px; bottom:9px; padding:4px 8px; border-radius:6px; background:#e8f5ffed; color:#325c71; font-size:10px; line-height:1.4; }
 .project-catalog-photo-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:100%; padding:26px 15px; background:linear-gradient(135deg,#d9edf6,#eaf4f9); color:#507b90; font-size:12px; }
 .project-catalog-photo-placeholder > svg { width:36px; height:36px; }
 .has-project-directions .project-catalog-layout { gap:0; }
 .has-project-directions .project-catalog-grid { gap:14px; }
 .has-project-directions .project-catalog-copy { min-height:0; padding-bottom:16px; }
 .has-project-directions .project-catalog-copy h3 { font-size:clamp(18px,4.7vw,24px); }
 .has-project-directions .project-catalog-copy p { font-size:13px; }
 .has-project-directions .project-catalog-empty { padding:22px 18px; font-size:14px; }
 /* A card entrance must not move the last scrollable pixel of the document. */
 .project-catalog-card { animation:catalog-phone-enter .3s ease-out both; animation-delay:0s; }
}
@keyframes catalog-phone-enter { from { opacity:.65; } to { opacity:1; } }
@keyframes project-context-glow { from { opacity:.6; } to { opacity:.95; } }
@keyframes project-directions-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media screen and (max-width:760px) and (prefers-reduced-motion:reduce) { .project-mobile-context::before { animation:none; opacity:.8; } .project-directions-sheet[open],.project-direction-row { animation:none; transition:none; } }
@media print { .project-direction-dock,.project-mobile-context-slot,.project-mobile-directions,.project-directions-sheet { display:none!important; } }
/* Programme overviews reuse article.html; these additions never affect news. */
.radio-article--programme .radio-article-meta{justify-content:flex-start;align-items:center;gap:10px 18px}
.radio-article--programme .article-author{font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.radio-article--programme .article-text-controls{margin-left:auto}
.radio-article--programme .programme-status{font-size:12px;padding:6px 10px;border-radius:7px;background:#edf5f8;color:#426d7f}
.radio-article--programme .article-cover{width:100%;max-height:440px;object-fit:contain;background:#f2f7f9;box-shadow:none}
.radio-article--programme .article-audio--playlist iframe{height:320px}
.radio-article--programme .article-related>header{margin-bottom:18px}
.radio-article--programme .article-related-card>a{display:block;min-width:0;background:#edf4f7}
.radio-article--programme .article-related-card>a img{display:block;width:100%;height:154px;object-fit:contain}
.radio-article--programme .article-related-card h3 a{display:block}
@media(max-width:760px){
 .radio-article--programme .article-cover{max-height:330px}
 .radio-article--programme .article-author{font-size:12px;flex:1 1 180px}
 .radio-article--programme .article-text-controls{margin-left:0}
 .radio-article--programme .article-related-card>a img{height:108px}
}
