:root {
    color-scheme: dark;
    --memories-bg: #0d0e10;
    --memories-surface: #17191c;
    --memories-surface-alt: #202226;
    --memories-red: #c13b43;
    --memories-red-soft: #e06a6f;
    --memories-text: #f2f0eb;
    --memories-muted: #aaa8a2;
    --memories-border: rgba(255,255,255,.12);
    --memories-max: 1240px;
    --memories-radius: 2px;
}

/* Image variants keep the archive readable when a historical file was never attached. */
.archive-image--portrait,.archive-detail-image:not(.emblem-image) { object-fit:cover; }
.archive-image--emblem,.emblem-image { object-fit:contain; padding:1.25rem; background:#111214; }
.archive-image--editorial { object-fit:cover; }
.archive-image-empty { padding:1rem; text-align:center; color:var(--memories-muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.archive-image-empty--portrait { background:#1b1d21; }
.archive-image-empty--emblem { background:#111214; }
.archive-image-empty--editorial { background:#202226; }
.archive-fallback { display:grid; place-items:center; min-height:100%; padding:1rem; text-align:center; color:var(--memories-muted); background:radial-gradient(circle at 50% 25%,rgba(193,59,67,.16),transparent 42%),linear-gradient(145deg,#25282d,#101113 72%); }
.archive-fallback strong { display:block; color:var(--memories-red-soft); font:700 .72rem/1.2 Georgia,serif; letter-spacing:.2em; text-transform:uppercase; }
.archive-fallback span { display:block; margin-top:.45rem; color:rgba(242,240,235,.62); font-size:.76rem; }
.media-frame { position:relative; overflow:hidden; background:#08090a; }
.media-frame > img { display:block; width:100%; height:100%; }
.media-frame > [data-media-fallback] { position:absolute; inset:0; }
.media-frame > [data-media-fallback][hidden] { display:none !important; }
.season-image--trailer,.detail-image--trailer { object-fit:contain; background:#08090a; }
.hall-card--no-image .hall-image { height:auto; min-height:5.5rem; }
.season-card--no-image .season-image { height:8rem; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--memories-bg); color: var(--memories-text); font-family: "Segoe UI", Arial, sans-serif; line-height: 1.65; }
a { color: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible, input:focus-visible { outline: 2px solid var(--memories-red-soft); outline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--memories-border); background: rgba(13,14,16,.96); backdrop-filter: blur(12px); }
.site-header-inner { width: min(var(--memories-max), calc(100% - 2.5rem)); min-height: 74px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.brand-logo { display: block; width: 216px; height: auto; object-fit: contain; }
.footer-brand-logo { display: block; width: 210px; height: auto; margin-bottom: .55rem; }
.site-header nav { display: flex; align-items: center; justify-content: flex-end; gap: .35rem .9rem; }
.site-header nav a, .nav-group summary { padding: .45rem .25rem; color: var(--memories-muted); text-decoration: none; font-size: .86rem; cursor: pointer; }
.site-header nav a:hover, .nav-group summary:hover, .site-footer a:hover, .breadcrumb a:hover, .text-link:hover { color: #fff; }
.mobile-nav { display: none; position: relative; }
.mobile-nav summary { list-style: none; padding: .45rem .7rem; border: 1px solid var(--memories-border); color: var(--memories-text); cursor: pointer; font-size: .82rem; font-weight: 700; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary::after { content: "⌄"; margin-left: .45rem; color: var(--memories-red-soft); }
.site-header .mobile-nav-menu { position: absolute; top: calc(100% + .6rem); right: 0; z-index: 40; width: min(270px, calc(100vw - 1.5rem)); display: grid; padding: .45rem; border: 1px solid var(--memories-border); background: #191b1f; box-shadow: 0 16px 36px rgba(0,0,0,.45); }
.mobile-nav-menu a { padding: .55rem .7rem; color: var(--memories-muted); text-decoration: none; white-space: nowrap; }
.mobile-nav-menu a:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-group { position: relative; color: var(--memories-muted); }.nav-group summary { list-style: none; }.nav-group summary::-webkit-details-marker { display: none; }.nav-group summary::after { content: "⌄"; margin-left: .35rem; color: var(--memories-red-soft); }
.nav-group[open] .nav-menu { position: absolute; top: calc(100% + .65rem); left: -.5rem; min-width: 230px; display: grid; padding: .45rem; border: 1px solid var(--memories-border); background: #191b1f; box-shadow: 0 16px 36px rgba(0,0,0,.45); }
.nav-group .nav-menu a { padding: .55rem .7rem; white-space: nowrap; }.nav-group .nav-menu a:hover { background: rgba(255,255,255,.06); }
.site-main { width: min(var(--memories-max), calc(100% - 2.5rem)); margin: 0 auto; min-height: 76vh; }.site-footer { margin-top: 4rem; border-top: 1px solid var(--memories-border); color: var(--memories-muted); }.site-footer-inner { width: min(var(--memories-max), calc(100% - 2.5rem)); margin: 0 auto; padding: 2.3rem 0; display: flex; justify-content: space-between; gap: 2rem; }.site-footer strong, .site-footer span, .site-footer small { display: block; }.site-footer strong { color: var(--memories-text); letter-spacing: .12em; text-transform: uppercase; }.site-footer span { color: var(--memories-red-soft); letter-spacing: .2em; text-transform: uppercase; font-size: .75rem; }.site-footer small { margin-top: .5rem; }.site-footer nav { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-content: start; }.site-footer nav a { text-decoration: none; font-size: .85rem; }
.hero { position: relative; isolation: isolate; min-height: min(650px, 72vh); margin: 0 calc((100% - 100vw) / 2); padding: clamp(7rem, 15vw, 11rem) max(1.25rem, calc((100vw - var(--memories-max)) / 2 + 1.25rem)) 5rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; }
.hero-background { position:absolute; z-index:-2; inset:0; display:block; }.hero-background img { display:block; width:100%; height:100%; object-fit:cover; }.hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5,6,7,.93) 0%, rgba(5,6,7,.65) 46%, rgba(5,6,7,.3) 100%), linear-gradient(0deg, var(--memories-bg), transparent 26%); }.hero .eyebrow { max-width: 540px; }.hero-logo { display: block; width: min(680px, 100%); height: auto; margin: 0 0 1.2rem; }.hero-message { max-width: 560px; margin: 0 0 2rem; color: #e1dfda; font-size: clamp(1.05rem, 2vw, 1.35rem); }.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.eyebrow { margin: 0 0 .65rem; color: var(--memories-red-soft); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }h1,h2,h3,p { margin-top: 0; }.section,.content-section { padding: 3.4rem 0; }.section-heading { margin-bottom: 1.5rem; }.section-heading h2,.content-section h2 { margin-bottom: 0; font-family: Georgia, serif; font-size: clamp(1.55rem, 3vw, 2.35rem); }.section-heading-row { display:flex; align-items:end; justify-content:space-between; gap:1rem; }.text-link { color: #e7e4dc; font-weight: 700; text-decoration: none; }.text-link::after { color: var(--memories-red-soft); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--memories-border); border-left:1px solid var(--memories-border); }.stat-card { min-height: 120px; padding: 1.35rem; border-right:1px solid var(--memories-border); border-bottom:1px solid var(--memories-border); background: linear-gradient(135deg, var(--memories-surface), rgba(23,25,28,.55)); }.stat-card strong,.detail-stats strong { display:block; color:#fff; font-family:Georgia,serif; font-size:2.25rem; line-height:1.1; }.stat-card span,.detail-stats span { display:block; margin-top:.35rem; color:var(--memories-muted); font-size:.82rem; }
.season-grid,.archive-grid,.player-grid,.video-grid,.projects-grid,.hall-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.15rem; }.season-card,.archive-card,.video-card,.project-card,.hall-card,.project-teaser-grid article { overflow:hidden; border:1px solid var(--memories-border); background:var(--memories-surface); transition:transform .2s ease,border-color .2s ease; }.season-card:hover,.archive-card:hover,.video-card:hover,.project-card:hover,.hall-card:hover { transform:translateY(-3px); border-color:rgba(224,106,111,.55); }.season-image,.archive-image,.hall-image { display:block; width:100%; height:220px; object-fit:cover; background:var(--memories-surface-alt); }.season-image-empty,.archive-image-empty { display:grid; place-items:center; color:rgba(255,255,255,.22); font-weight:800; letter-spacing:.2em; background:linear-gradient(135deg,#282b30,#111214); }.season-card-body,.archive-card-body { padding:1.25rem; }.season-card h2,.season-card h3,.archive-card h2,.archive-card h3 { margin-bottom:.55rem; font-family:Georgia,serif; font-size:1.4rem; }.season-summary { display:-webkit-box; overflow:hidden; color:var(--memories-muted); -webkit-box-orient:vertical; -webkit-line-clamp:3; }.season-meta,.season-stats,.muted,.archive-result-count { color:var(--memories-muted); font-size:.86rem; }.season-stats { display:flex; flex-wrap:wrap; gap:.45rem 1rem; padding:.8rem 0; }.season-card-body .button { margin-top:.5rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:42px; padding:.65rem 1rem; border:1px solid transparent; border-radius:var(--memories-radius); text-decoration:none; font-weight:700; cursor:pointer; }.button-primary { background:var(--memories-red); color:#fff; }.button-primary:hover { background:#d34a52; color:#fff; }.button-secondary { border-color:var(--memories-border); color:var(--memories-text); }.button-secondary:hover { border-color:var(--memories-red-soft); color:#fff; }.home-links-grid,.project-teaser-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:.75rem; }.home-links-grid a { display:flex; justify-content:space-between; padding:1rem; border-left:2px solid var(--memories-red); background:var(--memories-surface); text-decoration:none; font-weight:700; }.home-links-grid a span { color:var(--memories-red-soft); }.project-teaser-grid article { padding:1.1rem; }.project-teaser-grid p { color:var(--memories-muted); font-size:.9rem; }
.page-intro { max-width:780px; padding:4.4rem 0 2.2rem; }.page-intro h1,.detail-heading h1 { margin-bottom:.55rem; font-family:Georgia,serif; font-size:clamp(2.4rem,6vw,4.8rem); line-height:1.02; }.page-intro > p:last-child { color:var(--memories-muted); }.breadcrumb { margin:2rem 0 0; }.breadcrumb a { color:var(--memories-muted); text-decoration:none; }.empty-state { padding:1.3rem; border:1px solid var(--memories-border); background:var(--memories-surface); color:var(--memories-muted); }.archive-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:0 0 1.2rem; padding:1.1rem; border:1px solid var(--memories-border); background:var(--memories-surface); }.archive-filters label { display:grid; gap:.3rem; min-width:min(100%,220px); color:var(--memories-muted); font-size:.82rem; }.archive-filters input,.archive-filters select { min-height:42px; padding:.55rem .7rem; border:1px solid var(--memories-border); background:#0c0d0f; color:var(--memories-text); font:inherit; }.archive-pagination { display:flex; justify-content:center; align-items:center; gap:1rem; padding:1rem 0 3rem; }.archive-pagination span { color:var(--memories-muted); }
.season-detail-hero,.archive-detail-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); align-items:center; gap:2.5rem; padding:2rem 0 3rem; }.detail-image,.archive-detail-image { display:block; width:100%; max-height:470px; object-fit:cover; }.detail-heading h1 { line-height:1.05; }.detail-heading .button { margin-top:.7rem; }.detail-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:1px; margin:1rem 0 2rem; border:1px solid var(--memories-border); background:var(--memories-border); }.detail-stats>div { min-height:100px; padding:1rem; background:var(--memories-surface); }.archive-shortcuts { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.5rem 0; }.content-section { max-width:900px; border-bottom:1px solid var(--memories-border); }.long-copy,.rule-content,.publication-content { color:#d2d0cb; overflow-wrap:anywhere; }.long-copy { white-space:pre-line; }.archive-links { padding-left:1.2rem; overflow-wrap:anywhere; }.archive-links a,.archive-links-inline a,.archive-list a,.tag-list a { color:#e6a1a4; }.archive-attachment img { display:block; max-width:100%; max-height:520px; object-fit:contain; }.archive-attachment figcaption { color:var(--memories-muted); font-size:.85rem; }.archive-detail-hero { padding:1.5rem; background:var(--memories-surface); }.archive-detail-image { max-height:420px; }.emblem-image { object-fit:contain; padding:1rem; }.member-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:.75rem; }.member-card { display:flex; align-items:center; gap:.9rem; padding:.8rem; border:1px solid var(--memories-border); background:var(--memories-surface); }.member-card img,.member-image-empty { flex:0 0 72px; width:72px; height:72px; object-fit:cover; background:var(--memories-surface-alt); }.member-image-empty { display:grid; place-items:center; color:var(--memories-muted); }.member-card h3 { margin:0; font-size:1rem; }.member-card p { margin:.15rem 0; color:var(--memories-muted); }.player-card { padding:1.2rem; }.org-detail-meta { color:var(--memories-muted); }
.video-card img { object-fit:contain; }.video-card .media-frame { aspect-ratio:16/9; }.video-card h2,.video-card h3 { font-size:1.2rem; }.video-grid-home { grid-template-columns:repeat(3,1fr); }.project-card { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:1.25rem; padding:1.25rem; }.project-card img,.project-mark { width:120px; height:120px; object-fit:contain; background:var(--memories-surface-alt); }.project-mark { display:grid; place-items:center; color:var(--memories-red-soft); font:800 2.5rem Georgia,serif; }.project-card p { color:var(--memories-muted); }.hall-grid { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }.hall-card { display:flex; flex-direction:column; }.hall-image { height:auto; aspect-ratio:4 / 3; object-fit:cover; }.hall-card .archive-card-body { display:flex; flex:1; flex-direction:column; }.hall-card h2 { font-family:Georgia,serif; font-size:1.35rem; }.hall-card .text-link { display:block; margin-top:.55rem; }.hall-card .text-link:first-of-type { margin-top:auto; }.rules-index { position:sticky; top:90px; z-index:2; display:flex; flex-wrap:wrap; gap:.5rem 1rem; padding:1rem; border:1px solid var(--memories-border); background:rgba(23,25,28,.96); }.rules-index a { color:#e6a1a4; text-decoration:none; }.rule-section { scroll-margin-top:100px; }.rule-content img { max-width:100%; height:auto; }.season-trailer img { display:block; width:min(100%,760px); aspect-ratio:16/9; object-fit:contain; background:#08090a; }.tag-list { display:flex; flex-wrap:wrap; gap:.4rem; margin:.65rem 0; }.tag-list a { padding:.2rem .5rem; border:1px solid var(--memories-border); text-decoration:none; font-size:.82rem; }.publication-detail { max-width:780px; margin:2rem auto; }.publication-description { color:var(--memories-muted); font-size:1.1rem; }.publication-media-gallery { margin:2rem 0 2.8rem; }.publication-media-gallery h2 { margin-bottom:1.25rem; font-family:Georgia,serif; font-size:clamp(1.55rem,3vw,2.35rem); }.publication-media-grid { display:grid; gap:1rem; }.publication-media-item { min-width:0; margin:0; padding:.75rem; border:1px solid var(--memories-border); background:var(--memories-surface); }.publication-image { display:block; width:100%; max-width:100%; max-height:640px; margin:0 auto; object-fit:contain; background:#08090a; }.publication-media-gallery--single .publication-media-item { padding:0; border:0; background:transparent; }.publication-media-gallery--multiple .publication-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.publication-media-gallery--multiple .publication-media-item:first-child { grid-column:1 / -1; }.publication-media-gallery--multiple .publication-image { max-height:430px; aspect-ratio:16/9; }.map-summary { display:flex; flex-wrap:wrap; gap:.65rem; margin:1rem 0; }.map-summary span { padding:.4rem .65rem; color:var(--memories-muted); background:var(--memories-surface); border:1px solid var(--memories-border); }
@media (max-width:900px) { .site-header-inner { align-items:flex-start; flex-direction:column; padding:1rem 0; gap:.65rem; }.site-header nav { justify-content:flex-start; flex-wrap:wrap; }.nav-group[open] .nav-menu { position:static; min-width:0; margin-top:.25rem; box-shadow:none; }.stats-grid { grid-template-columns:repeat(2,1fr); }.detail-stats { grid-template-columns:repeat(3,1fr); }.video-grid-home { grid-template-columns:repeat(2,1fr); } }
@media (max-width:650px) { .site-main,.site-header-inner,.site-footer-inner { width:min(100% - 1.5rem,var(--memories-max)); }.brand-logo { width:180px; }.hero { margin:0 -.75rem; padding:6rem 1.25rem 4rem; min-height:620px; background-position:62% center; }.hero-logo { width:min(560px,100%); }.section,.content-section { padding:2.4rem 0; }.section-heading-row { align-items:flex-start; flex-direction:column; }.season-detail-hero,.archive-detail-hero { grid-template-columns:1fr; gap:1.25rem; padding:1rem 0 2rem; }.archive-detail-hero { padding:1rem; }.detail-stats { grid-template-columns:repeat(2,1fr); }.video-grid-home { grid-template-columns:1fr; }.project-card { grid-template-columns:72px 1fr; gap:.8rem; padding:.9rem; }.project-card img,.project-mark { width:72px; height:72px; }.site-footer-inner { flex-direction:column; }.rules-index { position:static; }.archive-filters label { flex:1 1 100%; }.archive-pagination { flex-wrap:wrap; } }

/* Organisation archives */
.law-list-card { display:flex; flex-direction:column; }
.law-list-card .archive-card-body { display:flex; flex:1; flex-direction:column; min-width:0; }
.law-list-excerpt { display:-webkit-box; overflow:hidden; color:var(--memories-muted); -webkit-box-orient:vertical; -webkit-line-clamp:6; }
.law-list-card > .archive-card-body > a.text-link { margin-top:auto; }
@media (max-width:650px) { .law-list-excerpt { -webkit-line-clamp:5; } }
.blog-list-card { display:flex; flex-direction:column; }
.blog-list-card .archive-card-body { display:flex; flex:1; flex-direction:column; min-width:0; }
.blog-list-excerpt { display:-webkit-box; overflow:hidden; color:var(--memories-muted); -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.blog-list-card > .archive-card-body > a.text-link { margin-top:auto; }
@media (max-width:650px) { .blog-list-excerpt { -webkit-line-clamp:4; } }
.video-card { display:flex; flex-direction:column; }
.video-card .archive-card-body { display:flex; flex:1; flex-direction:column; }
.video-card .button { margin-top:auto; }
.organisation-list-card .archive-image { height:200px; }
.organisation-list-count { margin:.45rem 0; color:var(--memories-muted); font-size:.86rem; }
.organisation-detail-hero .archive-detail-image { aspect-ratio:16/9; object-fit:contain; background:var(--memories-surface-alt); }
.organisation-detail-hero .archive-image-empty { flex-direction:column; gap:.35rem; color:var(--memories-red-soft); font:700 1.5rem Georgia,serif; letter-spacing:.08em; }
.organisation-detail-hero .archive-image-empty small { color:var(--memories-muted); font:700 .65rem "Segoe UI",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.organisation-detail-section { max-width:1100px; }
@media (max-width:650px) { .organisation-detail-hero .archive-detail-image { height:clamp(160px,42vw,180px); max-height:180px; padding:.75rem; } }
.member-card--anonymous { border-style:dashed; }
.member-card--anonymous .member-image-empty { color:var(--memories-red-soft); font-size:1.2rem; }
.commerce-list-card .archive-image { height:200px; }
.commerce-list-meta { margin:.45rem 0; color:var(--memories-muted); font-size:.86rem; }
.commerce-detail-hero .commerce-detail-image { aspect-ratio:16/9; object-fit:contain; background:var(--memories-surface-alt); }
.commerce-detail-hero .archive-image-empty { flex-direction:column; gap:.35rem; color:var(--memories-red-soft); font:700 1.5rem Georgia,serif; letter-spacing:.08em; }
.commerce-detail-hero .archive-image-empty small { color:var(--memories-muted); font:700 .65rem "Segoe UI",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.commerce-detail-section { max-width:1050px; }
.commerce-detail-copy { max-width:800px; font-size:1.03rem; line-height:1.8; }
.commerce-owner-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.event-list-card { display:flex; }
.event-list-card .archive-card-body { display:flex; flex:1; flex-direction:column; min-width:0; }
.event-list-excerpt { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:6; }
.event-participant-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:.75rem; }
.event-participant-card { min-width:0; padding:.8rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.event-participant-card h3 { margin:0 0 .25rem; font-family:Georgia,serif; font-size:1.05rem; overflow-wrap:anywhere; }
.event-participant-card p { margin:0 0 .35rem; color:var(--memories-muted); }
.event-participant-card .text-link { font-size:.84rem; overflow-wrap:anywhere; }
@media (max-width:650px) { .event-list-excerpt { -webkit-line-clamp:5; }.event-participant-grid { grid-template-columns:1fr; } }
.journal-list-card { display:flex; flex-direction:column; }
.journal-list-card .archive-card-body { display:flex; flex:1; flex-direction:column; min-width:0; }
.journal-list-excerpt { display:-webkit-box; overflow:hidden; color:var(--memories-muted); -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.journal-detail-image { width:100%; max-width:760px; height:auto; margin-left:auto; margin-right:auto; }
.season-card--no-image .season-image { height:8rem; }
.season-detail-hero--no-image { grid-template-columns:1fr; }
.season-blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; margin-top:1.25rem; }
.season-blog-card { display:grid; grid-template-columns:minmax(100px,140px) 1fr; gap:1rem; padding:1rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.season-blog-card:not(:has(img)) { grid-template-columns:1fr; }
.season-blog-card img { width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--memories-surface-alt); }
.season-blog-card h3 { margin:.2rem 0 .45rem; font-family:Georgia,serif; font-size:1.15rem; }
.season-blog-card p { color:var(--memories-muted); font-size:.9rem; }
@media (max-width:650px) { .season-blog-card { grid-template-columns:1fr; }.season-blog-card img { max-height:180px; } }
.home-links-grid a > span:first-child { display:grid; gap:.2rem; }.home-links-grid a strong { color:var(--memories-text); }.home-links-grid a small { color:var(--memories-muted); font-size:.82rem; font-weight:400; }.home-links-grid a > span:last-child { color:var(--memories-red-soft); }

/* Chronological period catalogue */
.archive-page-intro { padding-bottom: 1.5rem; }
.archive-catalog-counts { display:flex; flex-wrap:wrap; gap:.55rem 1.25rem; margin-top:1.35rem; color:var(--memories-muted); font-size:.86rem; }
.archive-catalog-counts strong { color:var(--memories-text); font-family:Georgia,serif; font-size:1.2rem; margin-right:.25rem; }
.archive-list-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; margin:0 0 2.2rem; padding:1rem; border-top:1px solid var(--memories-border); border-bottom:1px solid var(--memories-border); }
.toolbar-label { color:var(--memories-muted); font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.archive-filter-buttons { display:flex; flex-wrap:wrap; gap:.5rem; }
.archive-filter-buttons .button { min-height:36px; padding:.4rem .75rem; font-size:.85rem; }
.archive-filter-buttons .button.is-active { border-color:var(--memories-red-soft); background:rgba(193,59,67,.16); color:#fff; }
.season-year-group + .season-year-group { margin-top:3.2rem; }
.season-year-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding-bottom:.65rem; border-bottom:1px solid var(--memories-border); }
.season-year-heading h2 { margin:0; color:var(--memories-text); font-family:Georgia,serif; font-size:clamp(1.65rem,3vw,2.35rem); }
.season-year-heading span { color:var(--memories-muted); font-size:.8rem; }
.season-grid-list { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
.season-card-timeline { display:flex; flex-direction:column; }
.season-card-timeline .season-card-body { display:flex; flex:1; flex-direction:column; }
.season-card-timeline .season-card-body .button { margin-top:auto; }
.season-card-timeline .season-trailer-link { display:block; margin-bottom:.85rem; }
.season-card-timeline .season-image { aspect-ratio:16/9; height:auto; }
.season-card-timeline .season-image > img { height:100%; }
.season-card-timeline h3 { min-height:2.9rem; }
@media (max-width:900px) { .season-grid-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .archive-list-toolbar { align-items:flex-start; flex-direction:column; }.season-year-heading { align-items:flex-start; flex-direction:column; gap:.25rem; }.season-year-group + .season-year-group { margin-top:2.4rem; }.season-card-timeline h3 { min-height:0; }.season-grid-list { grid-template-columns:1fr; } }

/* Adaptive period archive hub */
.season-detail-hero { min-height:0; }
.season-detail-hero--no-image { display:block; padding:1.5rem 0 2.4rem; }
.season-detail-hero--no-image .detail-heading { max-width:780px; }
.season-detail-hero--no-image .detail-heading h1 { font-size:clamp(2.4rem,6vw,4.8rem); }
.detail-image { aspect-ratio:16/9; height:auto; }
.detail-image > img { height:100%; }
.season-trailer-frame { width:min(100%,760px); aspect-ratio:16/9; }
.season-trailer-frame img { object-fit:contain; }
.detail-stats-editorial { grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
.period-explore { padding:2.25rem 0; border-top:1px solid var(--memories-border); border-bottom:1px solid var(--memories-border); }
.period-explore-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:.7rem; }
.period-explore-card { display:grid; gap:.25rem; min-height:82px; padding:1rem; border-left:2px solid var(--memories-red); background:var(--memories-surface); text-decoration:none; transition:background .2s ease,border-color .2s ease; }
.period-explore-card:hover,.period-explore-card:focus-visible { border-color:var(--memories-red-soft); background:var(--memories-surface-alt); }
.period-explore-card strong { color:var(--memories-text); font-family:Georgia,serif; font-size:1.05rem; }
.period-explore-card span { color:var(--memories-muted); font-size:.82rem; }
.period-editorial { max-width:900px; }
.period-editorial .content-section { padding-left:0; padding-right:0; }
.period-navigation { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:3rem 0 1rem; padding-top:1rem; border-top:1px solid var(--memories-border); }
.period-navigation-link { display:grid; gap:.3rem; padding:1rem; border:1px solid var(--memories-border); background:var(--memories-surface); text-decoration:none; }
.period-navigation-link:hover,.period-navigation-link:focus-visible { border-color:var(--memories-red-soft); }
.period-navigation-link span { color:var(--memories-muted); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.period-navigation-link strong { color:var(--memories-text); font-family:Georgia,serif; font-size:1.05rem; }
.period-navigation-link--next { text-align:right; }
.period-editorial { max-width:900px; margin-top:1.25rem; }
.period-editorial-label { margin:0; padding-top:1.25rem; }
.period-editorial .content-section:first-of-type { padding-top:1.8rem; }
.period-editorial .content-section + .content-section { padding-top:4.1rem; }
.period-archives-section { margin-top:1rem; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:650px) { .period-navigation { grid-template-columns:1fr; }.period-navigation-link--next { text-align:left; }.detail-stats-editorial { grid-template-columns:repeat(2,1fr); }.period-explore { padding:1.5rem 0; }.period-editorial-label { padding-top:.75rem; }.period-editorial .content-section:first-of-type { padding-top:1.5rem; }.period-editorial .content-section + .content-section { padding-top:3.2rem; } }

/* Player history */
.player-card-counts { margin-bottom:.9rem; color:var(--memories-text); }
.player-card-meta,.player-profile-meta { display:grid; gap:.5rem; margin:0 0 1.1rem; }
.player-card-meta div,.player-profile-meta div { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--memories-border); padding-top:.45rem; }
.player-card-meta dt,.player-profile-meta dt { color:var(--memories-muted); font-size:.78rem; }
.player-card-meta dd,.player-profile-meta dd { margin:0; color:var(--memories-text); text-align:right; font-size:.86rem; }
.player-profile-header { max-width:900px; }
.player-profile-meta { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; margin-top:1.4rem; gap:1rem 2rem; }
.player-period-index { max-width:1100px; margin:1.5rem 0 2.5rem; padding:1rem 1.15rem 1.15rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.player-period-index-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.player-period-index-heading h2 { margin:0; font-family:Georgia,serif; font-size:clamp(1.35rem,2.5vw,1.8rem); }
.player-period-index-heading .eyebrow { margin-bottom:.25rem; }
.player-period-index-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.5rem; }
.player-period-index-link { display:grid; gap:.2rem; min-width:0; padding:.65rem .75rem; border-left:2px solid var(--memories-red); background:var(--memories-surface-alt); text-decoration:none; transition:background .2s ease,border-color .2s ease; }
.player-period-index-link:hover,.player-period-index-link:focus-visible { border-color:var(--memories-red-soft); background:#25282d; }
.player-period-index-link span { color:var(--memories-red-soft); font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.player-period-index-link strong { display:-webkit-box; min-width:0; overflow:hidden; color:var(--memories-text); font-family:Georgia,serif; font-size:.9rem; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.player-period { scroll-margin-top:1.5rem; }
.player-journey-section { max-width:none; }
.player-journey { display:grid; gap:2rem; }
.player-period { padding:1.25rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.player-period-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; padding-bottom:.8rem; border-bottom:1px solid var(--memories-border); }
.player-period-heading h3 { margin:0; font-family:Georgia,serif; font-size:clamp(1.35rem,2.5vw,2rem); }
.player-period-back { flex:0 0 auto; color:var(--memories-muted); font-size:.78rem; text-decoration:none; }
.player-period-back:hover,.player-period-back:focus-visible { color:var(--memories-red-soft); }
.player-character-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:1rem; }
.player-character-card { display:grid; grid-template-columns:145px minmax(0,1fr); gap:1rem; min-width:0; border:1px solid var(--memories-border); background:var(--memories-surface-alt); }
.player-character-photo { display:block; width:145px; height:109px; object-fit:cover; background:var(--memories-surface); }
.player-character-photo--empty { display:grid; place-items:center; color:rgba(255,255,255,.3); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.player-character-body { min-width:0; padding:.85rem .85rem .9rem 0; }
.player-character-body h4 { margin:0 0 .25rem; font-family:Georgia,serif; font-size:1.15rem; }
.player-character-status { margin:0; color:var(--memories-muted); font-size:.82rem; }
.player-character-links { margin-top:.7rem; font-size:.84rem; overflow-wrap:anywhere; }
.player-character-links strong { color:var(--memories-text); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.player-character-links ul { margin:.25rem 0 0; padding-left:1rem; }
.player-character-links li + li { margin-top:.2rem; }

/* Character archive dossier */
.character-list-card--event { border-color:rgba(224,106,111,.45); }
.character-list-status { margin:.35rem 0 0; color:var(--memories-muted); font-size:.82rem; }
@media (max-width:650px) {
    .character-list-card { grid-template-columns:clamp(95px,28vw,115px) minmax(0,1fr); align-items:start; }
    .character-list-card > .archive-image { width:clamp(95px,28vw,115px); height:clamp(112px,30vw,135px); }
    .character-list-card .archive-card-body { min-width:0; padding:.85rem .85rem .9rem 0; }
    .character-list-card h2 { overflow-wrap:anywhere; }
}
.character-archive-hero { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); align-items:center; gap:2.5rem; padding:1.5rem; background:var(--memories-surface); border:1px solid var(--memories-border); }
.character-archive-portrait { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; max-height:480px; object-fit:cover; background:var(--memories-surface-alt); }
.character-archive-portrait--empty { flex-direction:column; gap:.45rem; color:var(--memories-red-soft); font:700 2rem Georgia,serif; letter-spacing:.08em; }
.character-archive-portrait--empty small { color:var(--memories-muted); font:700 .68rem "Segoe UI",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.character-archive-identity h1 { margin:.15rem 0 .6rem; font-family:Georgia,serif; font-size:clamp(2.1rem,5vw,4.8rem); line-height:1; }
.character-archive-period { margin-bottom:1rem; font-size:1.05rem; }
.character-archive-period a { color:var(--memories-text); }
.character-archive-facts { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.character-archive-facts span { padding:.35rem .55rem; color:var(--memories-muted); border:1px solid var(--memories-border); background:var(--memories-surface-alt); font-size:.82rem; }
.character-archive-facts .character-status { color:#f3eee6; border-color:rgba(111,183,132,.55); }
.character-archive-facts .character-status--dead { border-color:rgba(224,106,111,.65); }
.character-archive-links { margin-top:1.25rem; }
.character-archive-section { max-width:1050px; }
.character-archive-copy { max-width:780px; font-size:1.03rem; line-height:1.8; }
.character-archive-copy p + p { margin-top:1rem; }
.character-archive-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; }
.character-archive-panel { min-width:0; padding:1.1rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.character-archive-panel h3 { margin-bottom:.8rem; font-family:Georgia,serif; }
.character-specialty { display:flex; gap:1rem; align-items:flex-start; max-width:760px; padding:1rem; border-left:3px solid var(--memories-red); background:var(--memories-surface); }
.character-specialty h3 { margin-bottom:.35rem; font-family:Georgia,serif; }
.character-specialty p { margin-bottom:0; color:var(--memories-muted); }
.character-specialty-symbol { color:var(--memories-red-soft); font-size:1.6rem; font-weight:700; }
.character-commerce-panel img { display:block; width:100%; max-height:180px; margin:-1.1rem -1.1rem 1rem; width:calc(100% + 2.2rem); object-fit:contain; background:var(--memories-surface-alt); }
.character-message-list { display:grid; gap:.75rem; max-width:900px; }
.character-message-card { padding:1rem; border-left:2px solid var(--memories-red); background:var(--memories-surface); }
.character-message-card time { color:var(--memories-muted); font-size:.8rem; }
.character-message-card p { margin:.5rem 0 0; white-space:pre-line; overflow-wrap:anywhere; }
.character-history-list { max-width:900px; }
.character-hall-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:1rem; }
.character-hall-card { display:flex; gap:1rem; align-items:flex-start; padding:1rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.character-hall-card img { width:110px; height:74px; object-fit:contain; background:var(--memories-surface-alt); }
.character-hall-card h3 { margin-bottom:.35rem; font-family:Georgia,serif; }
.section-count { color:var(--memories-muted); font:400 .55em "Segoe UI",sans-serif; }
@media (max-width:650px) {
    .character-archive-hero { grid-template-columns:1fr; gap:1.25rem; padding:1rem; }
    .character-archive-portrait { max-height:none; }
    .character-archive-identity h1 { font-size:clamp(2rem,12vw,3.4rem); }
    .character-archive-facts { gap:.4rem; }
    .character-archive-facts span { font-size:.76rem; }
    .character-archive-panel { padding:.9rem; }
    .character-commerce-panel img { margin:-.9rem -.9rem .9rem; width:calc(100% + 1.8rem); }
    .character-hall-card { align-items:center; }
}
.player-hall-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:.8rem; margin:1rem 0; }
.player-hall-card { display:grid; grid-template-columns:100px minmax(0,1fr); gap:.8rem; padding:.75rem; border:1px solid var(--memories-border); background:var(--memories-surface); }
.player-hall-card img { width:100px; height:75px; object-fit:cover; }
.player-hall-card h3 { margin:0; font-family:Georgia,serif; font-size:1rem; }
.player-hall-card p { margin:.2rem 0 0; font-size:.82rem; }
@media (max-width:650px) {
    .player-profile-meta { grid-template-columns:1fr; gap:.5rem; }
    .player-period-index { margin:1rem 0 2rem; padding:.85rem; }
    .player-period-index-heading { align-items:flex-start; flex-direction:column; gap:.25rem; }
    .player-period-index-list { display:flex; flex-wrap:nowrap; gap:.4rem; max-width:100%; overflow-x:auto; padding-bottom:.25rem; }
    .player-period-index-link { padding:.55rem .6rem; }
    .player-period-index-link { flex:0 0 9.5rem; }
    .player-period-index-link span { font-size:.58rem; }
    .player-period-index-link strong { font-size:.8rem; }
    .player-period { padding:.85rem; }
    .player-period-heading { align-items:flex-start; flex-direction:column; }
    .player-character-card { grid-template-columns:96px minmax(0,1fr); gap:.75rem; }
    .player-character-photo { width:96px; height:72px; }
    .player-character-body { padding:.65rem .65rem .75rem 0; }
    .player-character-body h4 { font-size:1rem; }
}
.archive-meta { margin:.35rem 0; color:var(--memories-muted); font-size:.86rem; }
.archive-meta a { color:#e6a1a4; }
.blog-video-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; }
.blog-video-card { display:block; padding:.8rem; border:1px solid var(--memories-border); background:var(--memories-surface); text-decoration:none; }
.blog-video-card .media-frame { aspect-ratio:16/9; margin-bottom:.65rem; }
.blog-video-card img { object-fit:contain; }
.blog-navigation { margin-top:2rem; }

/* Keep archive media proportional while preserving trailer artwork and text. */
.season-image { height:auto; aspect-ratio:16/9; }
.season-image > img { object-fit:cover; }
.season-image > img.season-image--trailer { object-fit:contain; background:#08090a; }
.season-detail-hero .detail-image { aspect-ratio:16/9; max-height:470px; }
.detail-image > img { object-fit:cover; }
.detail-image > img.detail-image--trailer { object-fit:contain; background:#08090a; }

@media (max-width:650px) { .publication-media-gallery--multiple .publication-media-grid { grid-template-columns:1fr; }.publication-media-gallery--multiple .publication-media-item:first-child { grid-column:auto; } }
@media (max-width:650px) { .journal-list-excerpt { -webkit-line-clamp:4; }.journal-detail-image { max-width:100%; } }

/* Projects archive */
.projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.project-card { grid-template-columns: minmax(190px, 1fr) minmax(0, 1.2fr); align-items: stretch; gap: 1.5rem; padding: 1.5rem; }
.project-logo, .project-card .project-mark { display: grid; width: auto; height: 180px; min-height: 180px; align-self: start; place-items: center; background: var(--memories-surface-alt); }
.project-logo img { width: 100%; height: 180px; object-fit: contain; }
.project-mark--word { width: auto; height: auto; padding: 1.25rem; border: 1px solid var(--memories-border); color: var(--memories-text); text-align: center; }
.project-mark--word span { font: 700 clamp(1.2rem, 2vw, 1.8rem) Georgia, serif; overflow-wrap: anywhere; }
.project-card-body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.project-card-body .button { margin-top: auto; }
.project-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: auto; }
.project-logo img { max-width: 100%; }
.project-mark--pz { display: flex !important; flex-direction: column; gap: .15rem; background: linear-gradient(180deg, rgba(12,27,58,.95), rgba(4,9,22,.95)) !important; border: 1px solid rgba(140,193,255,.3); border-radius: 12px; color: #8cc1ff; font-family: Arial, sans-serif; letter-spacing: .12em; text-align: center; }
.project-mark--pz strong { font-size: clamp(2rem, 5vw, 3.5rem); line-height: .9; }
.project-mark--pz span { font-size: .85rem; font-weight: 800; }
.project-status { display: inline-flex; padding: .35rem .65rem; border: 1px solid rgba(224,106,111,.45); color: var(--memories-red-soft); font-size: .82rem; font-weight: 700; letter-spacing: .04em; }
.project-teaser-logo, .project-teaser-mark { display: grid; width: 100%; min-height: 100px; margin-bottom: .9rem; place-items: center; background: var(--memories-surface-alt); }
.project-teaser-logo img { width: 90%; max-width: 260px; height: 84px; object-fit: contain; }
.project-teaser-mark { color: var(--memories-text); font: 700 1.15rem Georgia, serif; }
.project-teaser-mark--word { overflow-wrap: anywhere; padding: .75rem; text-align: center; }
.project-teaser-mark:not(.project-teaser-mark--word) { display: flex; flex-direction: column; gap: .1rem; background: linear-gradient(180deg, rgba(12,27,58,.95), rgba(4,9,22,.95)); color: #8cc1ff; font-family: Arial, sans-serif; letter-spacing: .1em; }
.project-teaser-mark strong { font-size: 1.65rem; line-height: .9; }
.project-teaser-mark span { font-size: .65rem; }
.project-note { padding-left: .8rem; border-left: 2px solid var(--memories-red); font-size: .9rem; }
@media (max-width: 900px) { .projects-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) {
    .site-header-inner { flex-direction: row; align-items: center; gap: .75rem; padding: .55rem 0; }
    .site-header-inner > nav:not(.mobile-nav) { display: none; }
    .brand { min-width: 0; flex: 1 1 auto; }
    .brand-logo { width: 220px; max-width: 100%; }
    .mobile-nav { display: block; flex: 0 0 auto; }
    .project-card { grid-template-columns: 1fr; gap: 1rem; padding: 1rem; }
    .project-logo, .project-card .project-mark { height: 140px; min-height: 140px; }
    .project-logo img { height: 140px; transform: scale(1.08); }
    .footer-brand-logo { width: 230px; max-width: 100%; }
    .project-actions { align-items: stretch; flex-direction: column; width: 100%; }
    .project-actions .button { width: 100%; }
}
