/* Media page. Builds on styles.css, sections.css and team.css tokens. */
/* A shorter hero than the team pages, so the first card's text shows without scrolling. */
.media-hero .team-hero-content{padding-top:30px;padding-bottom:24px}
.media-hero .section-index{margin-bottom:12px}
.media-hero h1{font-size:clamp(44px,5vw,80px)}
.media-hero .team-tagline{margin-top:8px;font-size:clamp(17px,1.6vw,22px)}
.media-section{background:var(--paper);padding-top:24px}
.media-section .section-heading{font-size:clamp(26px,2.3vw,32px);margin-bottom:14px}
.media-section .section-heading:before{width:36px;height:4px;margin-bottom:8px}
.media-empty{max-width:650px;padding-top:28px;border-top:3px solid var(--red)}
.media-empty .lead{font-size:22px;font-weight:500}
.media-empty>p:not(.lead){color:var(--muted)}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}
.media-grid:empty{display:none}
.media-card{position:relative;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-top:3px solid var(--navy);transition:border-color .2s}
.media-card:hover,.media-card:focus-within{border-top-color:var(--red)}
.media-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.media-card-placeholder{display:grid;place-items:center;aspect-ratio:16/9;background:white;border-bottom:1px solid var(--line)}
.media-card-placeholder img{width:44%;height:auto}
.media-card-body{padding:24px 24px 28px}
.media-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}
.media-type{color:var(--red)}
.media-meta time{color:var(--muted)}
.media-card h3{font-size:clamp(24px,2.2vw,32px);line-height:1.08;letter-spacing:0}
.media-card h3 a{transition:color .2s}
.media-card h3 a:after{content:'';position:absolute;inset:0}
.media-card:hover h3 a{color:var(--red)}
.media-source,.media-summary{margin-top:12px!important;font-size:16px;line-height:1.5;color:var(--muted)}
.media-source{font-weight:700}
.media-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

@media(max-width:1000px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:700px){.media-hero .team-hero-content{padding-top:24px;padding-bottom:20px}.media-hero h1{font-size:clamp(40px,11vw,56px)}.media-hero .team-tagline{font-size:16px}.media-section{padding-top:22px}.media-section .section-heading{font-size:26px;margin-bottom:14px}.media-grid{grid-template-columns:1fr}.media-empty .lead{font-size:20px}.media-card-body{padding:20px 20px 24px}}
