/* CMS media bindings; component type/colour/spacing remains canonical. */
.cms-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.story-figure:has(>.v49-story-photo){height:auto;aspect-ratio:auto}.story-figure>.v49-story-photo{display:block;width:100%;height:auto;object-fit:contain}.story-body img{max-width:100%;height:auto!important;object-fit:contain}.story-body iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;border:0}.story-body table{display:block;max-width:100%;overflow-x:auto}.story-body{overflow-wrap:anywhere}.story-body :is(span,font,div){font-family:inherit!important}.story-body a{text-decoration:none}.story-source{overflow-wrap:anywhere}.story-tags{display:flex;flex-wrap:wrap;gap:8px}.story-tags a{min-height:24px}.archive-thumb img{display:block;width:100%;height:auto;object-fit:contain}.archive-thumb{height:auto;aspect-ratio:auto}.archive-story--no-photo{grid-template-columns:50px minmax(0,1fr)}.archive-story--no-photo .archive-story-copy{grid-column:2}.archive-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.archive-pagination a,.archive-pagination>span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.archive-pagination [aria-current]{font-weight:600;color:var(--accent-ink)}.aux-search{margin:24px 0}.aux-search label{display:block;margin-bottom:8px}.aux-search>div{display:flex;gap:12px}.aux-search input{flex:1;min-width:0;padding:12px 16px;font:inherit;font-size:16px;color:var(--ink);background:white;border:1px solid var(--prototype-line);border-radius:12px}.aux-search input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.author-text{overflow-wrap:anywhere}.authors-item:not(:has(.author-photo)){grid-template-columns:minmax(0,1fr)}.authors-item .author-photo{object-fit:cover;border-radius:50%}.story-related{background:var(--city-tint)}.read-also-inline .read-also-label{display:block;margin-bottom:9px}.read-also-inline{margin-block:24px}.archive-story{position:relative}.archive-story .news-headline:after{content:"";position:absolute;inset:0}.archive-story:focus-within{outline:2px solid var(--accent-ink);outline-offset:2px}.archive-day{clear:both}.footer-band a.logo{display:inline-flex;text-decoration:none}
@media(max-width:600px){.aux-search>div{flex-wrap:wrap}.story-body iframe{height:auto}.archive-story--no-photo{grid-template-columns:44px minmax(0,1fr)}}

.art:has(>img){background:none}.art:has(>img)::before,.art:has(>img)::after{display:none}html body main[data-v49-listing=section][data-section-topic] .section-priority .art:has(img){height:auto!important;min-height:0!important;aspect-ratio:auto!important}html body main[data-v49-listing=section][data-section-topic] .section-priority .art img{position:static;width:100%;height:auto!important;object-fit:contain}.v49-list-photo{display:block;width:100%;height:auto;object-fit:contain}.v49-pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.v49-pagination .btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}main[data-v49-listing]{min-width:0}.pagination-gap{padding:8px}

/* Accepted common related/compact-useful composition (TRANSFER-RULES 30.10). */
.story-body .read-also-inline{margin-block:24px}.story-body .read-also-label{display:block;margin-bottom:9px}.story-page>.ad-article[hidden]+.story-related{margin-top:24px}.story-page .story-related{background:var(--city-tint);padding-inline:20px}@media(max-width:900px){.story-page .story-related{padding-inline:16px}}
.wrap #city .city-grid>.useful-feed{display:block;border:0;border-radius:0;box-shadow:none;padding:16px}.wrap #city .useful-feed .news-item{display:block;padding:16px 0;padding-block:16px!important;margin:0;border:0}.wrap #city .useful-feed .news-item+.news-item{border-top:1px solid var(--line)}.wrap #city .useful-feed h4{margin:0;min-width:0;line-height:1.4}.wrap #city .useful-feed .news-headline{font-size:17px!important;line-height:1.4!important;font-weight:400!important}

/* Approved ZPRZ short-video cards: real posters and full, flowing headlines. */
html[data-city="zprz"] .short[data-video-item]{aspect-ratio:auto;overflow:visible;background:var(--ink)}
html[data-city="zprz"] .short[data-video-item]::before{display:none}
html[data-city="zprz"] .short[data-video-item]::after{inset:0;background:linear-gradient(transparent 15%,#14253108 35%,#142531ef 100%);pointer-events:none}

html[data-city="zprz"] .short-published{display:block;font-family:"Fixel Text",sans-serif;font-size:13px;font-weight:400;line-height:1.4;margin-bottom:8px;color:white}
html[data-city="zprz"] .short-sound svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html[data-city="zprz"] .short-sound [hidden]{display:none}
html[data-city="zprz"] .short-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
html[data-city="zprz"] .video-archive{padding-top:24px;padding-bottom:32px}
html[data-city="zprz"] .video-archive h1{margin-bottom:24px}
@media(max-width:900px){html[data-city="zprz"] .short-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html[data-city="zprz"] .shorts .short-track{padding-right:18px;gap:12px}html[data-city="zprz"] .shorts .short[data-video-item]{flex:0 0 82%;min-width:0}html[data-city="zprz"] .short-video-grid{grid-template-columns:minmax(0,1fr)}}

html[data-city="zprz"] .short[data-video-item]{display:flex;flex-direction:column;overflow:hidden}
html[data-city="zprz"] .short[data-video-item]::after{display:none}
html[data-city="zprz"] .short-media{position:relative;aspect-ratio:9/16;width:100%;background:var(--ink)}
html[data-city="zprz"] .short-media video,html[data-city="zprz"] .short-media .short-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
html[data-city="zprz"] .short-media .short-poster{z-index:1;object-fit:cover;cursor:pointer}
html[data-city="zprz"] .short-media>[hidden]{display:none!important}
html[data-city="zprz"] .short-media button{position:absolute;display:grid;place-items:center;border:0;color:white;background:var(--ink);cursor:pointer;z-index:2}
html[data-city="zprz"] .short-media button:focus-visible{outline:2px solid white;outline-offset:-4px}
html[data-city="zprz"] .short-play{left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%}
html[data-city="zprz"] .short-play svg{fill:currentColor;stroke:none}
html[data-city="zprz"] .short-sound{right:8px;top:8px;width:44px;height:44px;border-radius:8px;padding:10px}
html[data-city="zprz"] .short[data-video-item] .short-content{position:static;inset:auto;padding:12px;min-width:0;overflow-wrap:anywhere}
html[data-city="zprz"] .short[data-video-item] .short-content h3{margin-bottom:12px}

/* Owner 31.10: desktop rail height follows the real adjacent editorial block. */
@media(min-width:901px){
 .news-layout>.latest{position:static;grid-column:1;grid-row:1;height:var(--rail-height,auto);min-height:0;align-self:start;visibility:visible}
 .news-layout>.latest>.rail-window{flex:1 1 0;min-height:0}
 .news-layout>.latest [data-rail-fit-hidden]{display:none!important}
}

/* Accepted 30.10 lower homepage: two cards on tint, full-width white feed to footer. */
.city-band{background:var(--city-tint);padding-bottom:40px}
html body .city-band #city{background:transparent;border:0;border-radius:0;box-shadow:none;margin-bottom:0;padding-bottom:0}
html body .city-band #city .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html body .city-band #city .city-grid>.useful-feed{grid-column:1/-1;position:relative;isolation:isolate;background:transparent;border:0;border-radius:0;box-shadow:none;padding:24px 0}
.city-band #city .city-grid>.useful-feed::before{content:none}
html body:has(.city-band) .footer-band{margin-top:0}
@media(max-width:600px){html body .city-band #city .city-grid{grid-template-columns:minmax(0,1fr)}}

/* Owner: duration overlays the video immediately before the sound control. */
html[data-city="zprz"] .short-media>.duration{position:absolute;top:8px;right:60px;z-index:2;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 11px;border-radius:8px;background:var(--ink);color:white;line-height:1;pointer-events:none}

/* Owner: publication date before the video, original metadata typography. */
html[data-city="zprz"] .short[data-video-item]>.short-published{margin:0;padding:12px}

/* Keep both badges low enough to cover the source timer, without cropping. */
html[data-city="zprz"] .short-media>.duration,html[data-city="zprz"] .short-media>.short-sound{top:calc(9.6% - 22px)}
html[data-city="zprz"] .short-media>.duration{left:auto;right:64px;min-width:0;width:auto;padding-inline:8px}

/* Keep approved rounded corners on the video itself, below its date. */
html[data-city="zprz"] .short-media{border-radius:14px;overflow:hidden}

/* Owner 31.10: useful titles only, Fixel Regular17px, no displayed dates/time. */
html[data-city="zprz"] body #city .useful-feed .news-headline,
html[data-city="zprz"] body #city .useful-feed .news-headline *{font-family:"Fixel Text",sans-serif!important;font-weight:400!important}

/* Owner 31.10: desktop useful list beside the two lead cards; mobile unchanged. */
@media(min-width:901px){
 html body .city-band #city .city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 html body .city-band #city .city-grid>.useful-feed{grid-column:auto;align-self:start;padding:0}
}

/* ZPRZ owner 31.10: mobile secondary photos align with visible headline glyphs. */
@media(max-width:900px){
 html[data-city="zprz"] body .top-grid>.secondary article:not(.cms-banner-slot)>.art{margin-top:4px!important}
}

/* Owner 31.10: homepage videos have no separate card backplate. */
html[data-city="zprz"] .shorts .short[data-video-item]{background:transparent}

