/* Dedicated media pages, using the established Army FM banner system. */
.gallery-page,.partners-page { background:#fff; }
.gallery-archive { padding-bottom:clamp(40px,5vw,80px); }
.gallery-archive-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0 28px; }
.gallery-categories { display:flex; flex-wrap:wrap; gap:8px; }
.gallery-categories a { display:inline-flex; align-items:center; min-height:44px; padding:10px 20px; border-radius:26px; background:#e8f2f7; color:#466b7e; font-size:13px; text-decoration:none; transition:background .2s,box-shadow .2s,color .2s; }
.gallery-categories a[aria-current="page"] { background:var(--navy); color:#fff; box-shadow:0 4px 20px #7aa7ba33; }
.gallery-archive-toolbar > p { font-size:12px; color:#6d8b9b; white-space:nowrap; }
.gallery-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gallery-archive-card { min-width:0; margin:0; }
.gallery-archive-card .gallery-photo-button { display:block; position:relative; width:100%; padding:0; border:0; overflow:hidden; border-radius:16px; background:#eef5f8; color:#fff; cursor:zoom-in; }
.gallery-archive-card img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; transition:filter .3s; }
.gallery-photo-open { position:absolute; bottom:12px; right:12px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#052e3ed9; font-size:22px; opacity:0; transform:translateY(4px); transition:opacity .25s,transform .25s; }
.partner-profiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-top:10px; padding-bottom:clamp(40px,6vw,100px); }
.partner-profile { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; padding:28px; border:1px solid #dbe8ef; border-radius:20px; background:#f8fcfe; align-items:start; transition:box-shadow .25s,transform .25s; }
.partner-profile-logo { width:130px; min-height:130px; display:grid; place-items:center; background:#eaf3f7; border-radius:14px; }
.partner-profile-logo .partner-logo { display:grid; place-items:center; width:100%; height:130px; min-height:0; padding:16px; }
.partner-profile-logo img { max-width:100%; max-height:95px; object-fit:contain; }
.partner-profile-logo.partner-card--armyinform { background:#052e3e; }
.partner-profile-logo.partner-card--bryz { background:#7aa7ba; }
.partner-profile h2 { margin:0 0 14px; font-family:var(--display); font-size:clamp(17px,1.6vw,26px); font-weight:600; line-height:1.3; letter-spacing:-.03em; }
.partner-profile p { margin:0 0 16px; font-size:15px; line-height:1.65; color:#526f80; }
.partner-profile a { display:inline-flex; align-items:center; min-height:44px; gap:14px; font-size:12px; color:#315d75; text-decoration:none; }
.partners-page > .partners-section { padding-top:20px; padding-bottom:30px; }
.partners-page .partners-heading { display:none; }
.ep-hero--broadcast .ep-hero-image { object-position:center 65%; opacity:.7; }
.ep-hero--broadcast h1 { max-width:800px; font-size:clamp(34px,min(5vw,7svh),76px); }
.broadcast-map { position:absolute; width:46%; height:90%; object-fit:contain; right:2%; top:6%; z-index:-1; opacity:.8; filter:drop-shadow(0 0 24px #94cee54d); animation:broadcast-breathe 7s ease-in-out infinite alternate; }
.ep-hero--broadcast .ep-hero-shade { background:linear-gradient(90deg,#001e2ee8,#001d2b91 52%,#001c2b30),linear-gradient(180deg,#001d2b8c,transparent); }
.ep-photo-credit { position:absolute; right:20px; bottom:12px; z-index:1; color:#e1edf4b3; font-size:9px; }
.ep-photo-credit a { text-decoration:none; }
.coverage-page > .coverage-section { padding-top:30px; }
@media(hover:hover) {
 .gallery-categories a:hover { box-shadow:0 0 20px #7aa7ba44; }
 .gallery-archive-card .gallery-photo-button:hover .gallery-photo-open,.gallery-archive-card .gallery-photo-button:focus-visible .gallery-photo-open { opacity:1; transform:none; }
 .partner-profile a:hover { text-decoration:underline; }
 .partner-profile:hover { transform:translateY(-3px); box-shadow:0 12px 30px #315d7512; }
}
@keyframes broadcast-breathe { to { opacity:1; filter:drop-shadow(0 0 34px #94cee57d); } }
@media(max-width:1100px) { .partner-profile { grid-template-columns:100px minmax(0,1fr); gap:18px; padding:22px; } .partner-profile-logo { width:100px; } }
@media(max-width:1000px) { .gallery-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .partner-profiles { grid-template-columns:1fr; } }
@media(max-width:760px) {
 .gallery-archive-toolbar { align-items:flex-start; gap:10px; flex-wrap:wrap; padding:8px 0 18px; }
 .gallery-categories { gap:6px; } .gallery-categories a { font-size:11px; padding:9px 14px; }
 .gallery-archive-toolbar > p { margin:0; }
 .gallery-archive-grid { gap:8px; } .gallery-archive-card .gallery-photo-button { border-radius:12px; }
 .gallery-photo-open { opacity:1; transform:none; width:26px; height:26px; font-size:17px; bottom:8px; right:8px; }
 .partner-profiles { gap:12px; padding-top:0; }
 .partner-profile { grid-template-columns:76px minmax(0,1fr); gap:16px; padding:18px; border-radius:16px; }
 .partner-profile-logo { width:76px; min-height:90px; }
 .partner-profile-logo .partner-logo { height:90px; padding:10px; }
 .partner-profile-logo img { max-height:68px; }
 .partner-profile h2 { font-size:16px; margin-bottom:10px; } .partner-profile p { font-size:13px; }
 .partner-profile a { font-size:11px; }
 .ep-hero--broadcast h1 { max-width:100%; font-size:clamp(28px,8.5vw,54px); }
 .broadcast-map { width:78%; height:65%; top:27%; right:-3%; opacity:.45; }
 .ep-photo-credit { right:20px; left:20px; font-size:8px; }
 .ep-hero--broadcast .ep-hero-inner { padding-bottom:58px; }
}
@media(max-width:600px) { .gallery-archive-grid { grid-template-columns:1fr; gap:12px; } }
@media(prefers-reduced-motion:reduce) { .gallery-page *, .partners-page *, .coverage-page .ep-hero * { animation:none!important; transition:none!important; } .partner-profile a:hover { text-decoration:underline; }
 .partner-profile:hover { transform:none; } }

.portal-container--coverage { max-width:none; }
