@charset "UTF-8";
/* ─── Media page layout tweaks ─────────────────────────── */
.page-media .media-page { display: flex; flex-direction: column; gap: 1.5rem; }

.page-media .media-hero { position: relative; overflow: hidden; padding: 2.2rem clamp(1.6rem, 3vw, 2.6rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 220px); gap: 1.5rem; align-items: center; }

.page-media .media-hero__copy h2 { margin-bottom: 0.45rem; }

.page-media .media-lede { margin: 0 0 1rem; color: var(--bs-secondary-color); max-width: 54ch; }

.page-media .media-stats { display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; font-size: 0.95rem; color: var(--bs-secondary-color); }

.page-media .media-stat { display: inline-flex; gap: 0.35rem; align-items: center; padding: 0.3rem 0.75rem; border-radius: 999px; background: rgba(40, 109, 192, 0.12); border: 1px solid rgba(40, 109, 192, 0.2); }

.page-media .media-hero__ornament { width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; background: radial-gradient(circle at 30% 35%, rgba(255, 255, 255, 0.65), transparent 60%), radial-gradient(circle at 60% 60%, rgba(40, 109, 192, 0.25), transparent 70%), conic-gradient(from 120deg, rgba(40, 109, 192, 0.2), rgba(110, 188, 255, 0.35), rgba(255, 168, 88, 0.25), rgba(40, 109, 192, 0.2)); filter: blur(0.3px) saturate(1.05); opacity: 0.9; display: grid; place-items: center; }

.page-media .media-ornament { width: 100%; height: 100%; --media-year-strength: 0.6; --media-tv-scale: 1; --media-radio-scale: 1; --media-print-scale: 1; transition: --media-year-strength 0.35s ease; }

.page-media .media-ornament__halo { fill: url(#mediaGlow); opacity: calc(0.35 + (var(--media-year-strength) * 0.4)); transition: opacity 0.35s ease; }

.page-media .media-ornament__ring { fill: none; stroke: rgba(40, 109, 192, 0.35); stroke-width: 1.5; stroke-dasharray: 7 10; opacity: calc(0.35 + (var(--media-year-strength) * 0.45)); animation: media-orbit 10s linear infinite; transition: opacity 0.35s ease, stroke 0.35s ease, stroke-dasharray 0.35s ease; }

.page-media .media-ornament__ring.ring--mid { stroke: rgba(110, 188, 255, 0.45); animation-duration: 12s; }

.page-media .media-ornament__ring.ring--inner { stroke: rgba(255, 168, 88, 0.5); animation-duration: 14s; }

.page-media .media-ornament__wave { fill: none; stroke: rgba(40, 109, 192, 0.45); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 140; stroke-dashoffset: 120; opacity: calc(0.4 + (var(--media-year-strength) * 0.45)); animation: media-wave 5s ease-in-out infinite; transition: opacity 0.35s ease, stroke 0.35s ease; }

.page-media .media-ornament__node-group { transform-box: fill-box; transform-origin: center; transition: transform 0.45s ease, opacity 0.35s ease; --media-emphasis: 1; cursor: pointer; }

.page-media .media-ornament__node-group:focus-visible .media-ornament__node, .page-media .media-ornament__node-group:focus-visible .media-ornament__glyph { stroke: rgba(255, 255, 255, 0.95); stroke-width: 2; }

.page-media .media-ornament__node-group.node-group--tv { transform: scale(calc(var(--media-tv-scale) * var(--media-emphasis))); }

.page-media .media-ornament__node-group.node-group--radio { transform: scale(calc(var(--media-radio-scale) * var(--media-emphasis))); }

.page-media .media-ornament__node-group.node-group--print { transform: scale(calc(var(--media-print-scale) * var(--media-emphasis))); }

.page-media .media-ornament__node { stroke: rgba(255, 255, 255, 0.7); stroke-width: 1.2; filter: drop-shadow(0 0 6px rgba(110, 188, 255, 0.35)); transition: transform 0.35s ease, fill 0.35s ease, opacity 0.35s ease, stroke 0.35s ease; }

.page-media .node-group--tv .media-ornament__node { fill: rgba(255, 168, 88, 0.55); }

.page-media .node-group--radio .media-ornament__node { fill: rgba(110, 188, 255, 0.55); }

.page-media .node-group--print .media-ornament__node { fill: rgba(160, 168, 255, 0.55); }

.page-media .media-ornament__glyph { fill: none; stroke: rgba(255, 255, 255, 0.9); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; opacity: 0.95; transition: stroke 0.35s ease, fill 0.35s ease, opacity 0.35s ease; }

.page-media .node-group--tv .media-ornament__glyph { stroke: rgba(122, 63, 0, 0.9); }

.page-media .node-group--radio .media-ornament__glyph { stroke: rgba(10, 74, 110, 0.9); fill: rgba(10, 74, 110, 0.9); }

.page-media .node-group--print .media-ornament__glyph { stroke: rgba(47, 44, 107, 0.9); }

.page-media .glyph--radio { fill: rgba(10, 74, 110, 0.9); stroke: rgba(10, 74, 110, 0.85); }

.page-media .media-ornament[data-media-figure-mode="filter"] .media-ornament__node-group { opacity: 0.45; --media-emphasis: 0.85; }

.page-media .media-ornament[data-media-figure-mode="filter"][data-media-figure-types~="tv"] .node-group--tv, .page-media .media-ornament[data-media-figure-mode="filter"][data-media-figure-types~="radio"] .node-group--radio, .page-media .media-ornament[data-media-figure-mode="filter"][data-media-figure-types~="print"] .node-group--print { opacity: 1; --media-emphasis: 1.15; }

.page-media .media-ornament[data-media-figure-type="radio"] .media-ornament__wave { stroke: rgba(110, 188, 255, 0.85); }

.page-media .media-ornament[data-media-figure-type="print"] .media-ornament__ring { stroke-dasharray: 2 6; }

.page-media .media-ornament[data-media-figure-mode="all"] .media-ornament__node-group { opacity: 0.9; --media-emphasis: 1; }

.page-media .media-card.reveal { transform: none; transition: opacity 0.8s ease; }

.page-media .media-card.reveal.visible { transform: none; }

@keyframes media-orbit { from { stroke-dashoffset: 0;
    transform: rotate(0deg);
    transform-origin: 50% 50%; }
  to { stroke-dashoffset: -80;
    transform: rotate(360deg);
    transform-origin: 50% 50%; } }

@keyframes media-wave { 0%, 100% { stroke-dashoffset: 120; }
  50% { stroke-dashoffset: 0; } }

.page-media .media-controls { padding: 1.6rem clamp(1.4rem, 2.5vw, 2rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }

.page-media .media-filter-group { display: flex; flex-direction: column; gap: 0.75rem; }

.page-media .media-filter-title { margin: 0; font-size: 1.05rem; letter-spacing: 0.02em; }

.page-media .media-filter-chips, .page-media .media-filter-years { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.page-media .media-filter-types { display: flex; flex-wrap: wrap; gap: 0.85rem 0.5rem; }

.page-media .media-chip { border: 1px solid rgba(40, 109, 192, 0.24); border-radius: 999px; padding: 0.35rem 0.85rem; background: rgba(255, 255, 255, 0.72); color: #1c3559; display: inline-flex; align-items: center; gap: 0.45rem; transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }

.page-media .media-chip.is-active { background: linear-gradient(135deg, rgba(40, 109, 192, 0.18), rgba(110, 188, 255, 0.3)); border-color: rgba(40, 109, 192, 0.45); box-shadow: 0 0.6rem 1.4rem rgba(15, 38, 70, 0.12); transform: translateY(-1px); }

.page-media .media-chip.is-active:hover, .page-media .media-chip.is-active:focus-visible { background: linear-gradient(135deg, rgba(40, 109, 192, 0.3), rgba(110, 188, 255, 0.45)); border-color: rgba(40, 109, 192, 0.65); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7), 0 0.6rem 1.6rem rgba(15, 38, 70, 0.14); transform: translateY(-1px); }

.page-media .media-chip:hover, .page-media .media-chip:focus-visible { background: rgba(255, 255, 255, 0.95); box-shadow: 0 0.5rem 1.2rem rgba(15, 38, 70, 0.12); transform: translateY(-1px); }

[data-bs-theme="dark"] .page-media .media-chip { background: rgba(14, 26, 48, 0.75); border-color: rgba(120, 160, 220, 0.28); color: #d9e6ff; }

[data-bs-theme="dark"] .page-media .media-chip.is-active { background: linear-gradient(135deg, rgba(220, 235, 255, 0.9), rgba(178, 205, 240, 0.95)); border-color: rgba(220, 235, 255, 0.9); color: #12233a; box-shadow: 0 0.6rem 1.4rem rgba(5, 12, 24, 0.35); }

[data-bs-theme="dark"] .page-media .media-chip:hover, [data-bs-theme="dark"] .page-media .media-chip:focus-visible { background: rgba(32, 52, 86, 0.9); box-shadow: 0 0.5rem 1.2rem rgba(5, 12, 24, 0.4); }

[data-bs-theme="dark"] .page-media .media-chip.is-active:hover, [data-bs-theme="dark"] .page-media .media-chip.is-active:focus-visible { background: linear-gradient(135deg, rgba(235, 245, 255, 0.95), #c4dcfa); border-color: rgba(235, 245, 255, 0.95); }

[data-bs-theme="dark"] .page-media .media-chip__icon { background: rgba(110, 150, 210, 0.22); border-color: rgba(120, 160, 220, 0.4); }

[data-bs-theme="dark"] .page-media .media-chip[data-media-type="tv"] .media-chip__icon { color: #f2a15a; background: rgba(242, 161, 90, 0.2); border-color: rgba(242, 161, 90, 0.5); }

[data-bs-theme="dark"] .page-media .media-chip[data-media-type="radio"] .media-chip__icon { color: #9fd0ff; background: rgba(110, 188, 255, 0.22); border-color: rgba(110, 188, 255, 0.5); }

[data-bs-theme="dark"] .page-media .media-chip[data-media-type="print"] .media-chip__icon { color: #c4c7ff; background: rgba(160, 168, 255, 0.22); border-color: rgba(160, 168, 255, 0.5); }

.page-media .media-chip__icon { width: 1rem; height: 1rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(40, 109, 192, 0.12); border: 1px solid rgba(40, 109, 192, 0.2); }

.page-media .media-chip__icon svg { width: 0.7rem; height: 0.7rem; stroke: currentColor; fill: none; }

.page-media .media-chip[data-media-type="tv"] .media-chip__icon { color: #7a3f00; background: rgba(255, 168, 88, 0.2); border-color: rgba(255, 168, 88, 0.45); }

.page-media .media-chip[data-media-type="radio"] .media-chip__icon { color: #0a4a6e; background: rgba(110, 188, 255, 0.22); border-color: rgba(110, 188, 255, 0.5); }

.page-media .media-chip[data-media-type="print"] .media-chip__icon { color: #2f2c6b; background: rgba(160, 168, 255, 0.2); border-color: rgba(160, 168, 255, 0.45); }

.page-media .media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }

.page-media .media-results { position: relative; transition: opacity 0.55s ease; opacity: 1; will-change: opacity; transform: translateZ(0); backface-visibility: hidden; }

.page-media .media-results.is-fading { opacity: 0.06; }

.page-media .media-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 0.6rem; font-size: 0.95rem; letter-spacing: 0.04em; text-transform: uppercase; color: #1c3559; background: rgba(248, 251, 255, 0.78); border: 1px dashed rgba(40, 109, 192, 0.3); border-radius: 18px; z-index: 2; }

.page-media .media-loading::before { content: ""; width: 1.1rem; height: 1.1rem; border-radius: 999px; border: 2px solid rgba(40, 109, 192, 0.25); border-top-color: rgba(40, 109, 192, 0.85); animation: media-spin 0.9s linear infinite; }

@keyframes media-spin { to { transform: rotate(360deg); } }

.page-media .media-card { padding: 1.4rem 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; min-height: 160px; transition: transform 0.25s ease, box-shadow 0.2s ease; }

.page-media .media-card.reveal { transition-delay: var(--reveal-delay, 0ms); }

.page-media .media-card:hover, .page-media .media-card:focus-within { transform: translateY(-3px); box-shadow: 0 1.2rem 2.1rem rgba(12, 32, 67, 0.18); }

.page-media .media-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.03em; color: rgba(28, 53, 89, 0.75); }

.page-media .media-card__meta .media-date { margin-left: auto; }

.page-media .media-type { padding: 0.18rem 0.55rem; border-radius: 999px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; background: rgba(40, 109, 192, 0.12); border: 1px solid rgba(40, 109, 192, 0.2); }

.page-media .media-type--tv { background: rgba(255, 168, 88, 0.2); border-color: rgba(255, 168, 88, 0.45); color: #7a3f00; }

.page-media .media-type--radio { background: rgba(110, 188, 255, 0.22); border-color: rgba(110, 188, 255, 0.5); color: #0a4a6e; }

.page-media .media-type--print { background: rgba(160, 168, 255, 0.2); border-color: rgba(160, 168, 255, 0.45); color: #2f2c6b; }

.page-media .media-title { margin: 0; font-size: 1.15rem; }

.page-media .media-title a { color: inherit; text-decoration: none; }

.page-media .media-title a:hover, .page-media .media-title a:focus { text-decoration: underline; }

[data-bs-theme="dark"] .page-media .media-card { background: rgba(16, 28, 48, 0.78); border: 1px solid rgba(120, 160, 220, 0.18); }

[data-bs-theme="dark"] .page-media .media-card__meta { color: rgba(210, 226, 255, 0.82); }

[data-bs-theme="dark"] .page-media .media-title { color: #eef4ff; }

[data-bs-theme="dark"] .page-media .media-type { background: rgba(70, 110, 170, 0.28); border-color: rgba(120, 160, 220, 0.45); color: #e9f2ff; }

[data-bs-theme="dark"] .page-media .media-type--tv { background: rgba(242, 161, 90, 0.2); border-color: rgba(242, 161, 90, 0.5); color: #ffd3a6; }

[data-bs-theme="dark"] .page-media .media-type--radio { background: rgba(110, 188, 255, 0.22); border-color: rgba(110, 188, 255, 0.5); color: #cfe8ff; }

[data-bs-theme="dark"] .page-media .media-type--print { background: rgba(160, 168, 255, 0.24); border-color: rgba(160, 168, 255, 0.5); color: #dadcff; }

.page-media .media-date.is-undated { font-style: italic; opacity: 0.7; }

.page-media .media-empty { padding: 2rem; text-align: center; }

@media (max-width: 820px) { .page-media .media-hero { grid-template-columns: minmax(0, 1fr); } .page-media .media-hero__ornament { max-width: 220px; justify-self: center; } .page-media .media-controls { grid-template-columns: minmax(0, 1fr); } }

/*# sourceMappingURL=media.css.map */