/* Media and editorial cards: one owner for geometry, no positional catalog overrides. */
:root{--media-radius:3px;--ratio-service:4 / 3;--ratio-article:4 / 3;--ratio-wide:2 / 1;--ratio-portrait:3 / 4;--ratio-inline:4 / 3}
.responsive-media{display:block;width:100%;min-width:0;overflow:hidden;border-radius:var(--media-radius);background:#f8f5ef;aspect-ratio:var(--ratio-service)}
.responsive-media img{display:block;width:100%;height:100%;object-fit:var(--media-fit,cover);object-position:var(--media-focus,50% 50%);transition:transform 220ms ease}
.media-article{aspect-ratio:var(--ratio-article)}.media-wide{aspect-ratio:var(--ratio-wide)}.media-portrait{aspect-ratio:var(--ratio-portrait)}.media-inline{aspect-ratio:var(--ratio-inline)}
.editorial-image{min-width:0;margin:0}
.editorial-image figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-block:14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}
.media-credit{font-size:10px;letter-spacing:.04em}
.page-hero.visual-hero{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding-bottom:clamp(40px,5vw,76px)}
.visual-hero .page-hero-copy{min-width:0}.visual-hero h1{font-size:clamp(32px,3.45vw,52px);max-width:22ch}
.visual-hero .editorial-status{font-size:11px;gap:10px 20px;margin-top:24px}
.page-hero.visual-wide{grid-template-columns:1fr;gap:28px}.visual-wide .page-hero-copy{max-width:1020px}.visual-wide h1{max-width:26ch}
.visual-wide .editorial-image{max-width:100%;width:100%}.visual-wide .responsive-media{max-height:none}
.prose-section>.editorial-image{margin-block:32px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;align-items:start}
.story-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px}
.story-card{min-width:0;display:flex;flex-direction:column;gap:22px;border-top:1px solid var(--line);padding-top:20px;background:transparent;color:var(--ink)}
.story-image-link{display:block;min-width:0;overflow:hidden}.story-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.story-copy .eyebrow{margin:0;font-size:11px;line-height:1.7;color:var(--accent);overflow-wrap:anywhere}
.story-copy :is(h2,h3){margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.23;letter-spacing:-.03em;overflow-wrap:break-word}
.story-copy :is(h2,h3) a{display:block}.story-copy :is(h2,h3) a:hover{color:var(--accent)}
.story-copy .story-description{margin:0;line-height:1.75;color:var(--muted);max-width:60ch}
.story-copy .story-link{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}
.story-featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center;padding-top:28px}
.story-featured h2{font-size:clamp(30px,3.2vw,46px)}
.text-story{border-top:1px solid var(--line);padding-top:24px;min-width:0}.text-story h3{font-size:26px;line-height:1.3}.text-story p{margin-top:18px;color:var(--muted)}
.media-fallback{aspect-ratio:4 / 3;display:flex;align-items:end;padding:24px;border:1px solid var(--line);color:var(--muted);font-size:14px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.story-card:hover .responsive-media img{transform:scale(1.025)}}
@media(max-width:1000px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.visual-hero h1{font-size:clamp(32px,4vw,42px)}}
@media(max-width:800px){.page-hero.visual-hero{grid-template-columns:1fr;gap:28px}.visual-hero h1{font-size:clamp(34px,5.5vw,48px);max-width:26ch}.story-featured{grid-template-columns:1fr;gap:24px}.story-featured .responsive-media{aspect-ratio:4 / 3}.media-wide{aspect-ratio:4 / 3}.breadcrumbs{margin-bottom:32px}}
@media(max-width:640px){.story-grid{grid-template-columns:1fr;gap:36px}.story-card{gap:18px}.story-featured{grid-column:auto}.story-copy :is(h2,h3){font-size:28px}.story-copy{gap:14px}.editorial-image figcaption{font-size:12px}.visual-hero .editorial-status{line-height:1.7}.page-hero.visual-hero{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.responsive-media img{transition:none}.story-card:hover .responsive-media img{transform:none}}
