.home-page { overflow: hidden; }
.home-page .home-section { padding-block: var(--space-9); }
.home-page .home-section > .container--content, .home-page .home-section > .container--media { min-width: 0; }
.home-hero { position: relative; padding-block: var(--space-7) var(--space-9); }
.home-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.home-hero__copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__copy h1, .home-hero__copy p { margin: 0; }
.home-hero__copy h1 { max-width: 38rem; }
.home-hero__standfirst { max-width: 34rem; color: var(--color-platinum-300); font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-hero__actions { width: 100%; }
.home-hero__meta { max-width: 38rem; border-block-start: 1px solid var(--color-champagne-500); padding-block-start: var(--space-4); }
.home-hero__media { width: 100%; min-width: 0; margin: 0; overflow: hidden; aspect-ratio: 16 / 10; background: var(--color-midnight-800); }
.home-hero__media img { width: 100%; height: 100%; filter: saturate(.9) contrast(1.04); }
.home-endures { border-block: var(--border-subtle); background: var(--color-midnight-900); }
.home-endures__intro, .home-vault__intro, .home-universe__intro, .home-craft__intro, .home-canon__intro, .home-gallery__intro, .home-watch__intro, .home-cinephile__intro, .home-faq__intro { min-width: 0; }
.home-endures__intro { max-width: 46rem; }
.home-endures__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); border-block-start: 1px solid var(--color-champagne-500); padding-block-start: var(--space-5); }
.home-numbered-note { min-width: 0; border-block-start: var(--border-subtle); padding-block-start: var(--space-4); }
.home-numbered-note__number { display: block; margin-block-end: var(--space-4); color: var(--color-champagne-300); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.home-numbered-note h3 { font-size: 1.5rem; }
.home-numbered-note p { margin-block-end: 0; color: var(--color-platinum-300); }
.home-vault__intro { max-width: 43rem; }
.home-vault__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.home-vault-card { min-width: 0; display: flex; flex-direction: column; }
.home-vault-card .card__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-vault-card .card__body > * { margin: 0; }
.home-vault-card p:not(.eyebrow) { color: var(--color-platinum-300); }
.home-vault-card__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.home-vault__cta { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-block-start: var(--space-6); }
.home-vault__cta p { max-width: 42rem; margin: 0; color: var(--color-platinum-300); }
.home-universe { background: linear-gradient(135deg, rgba(114,20,34,.22), transparent 45%), var(--color-obsidian-950); }
.home-universe__intro { max-width: 45rem; }
.home-universe__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.home-universe__grid > article { min-width: 0; border: var(--border-subtle); background: var(--color-midnight-900); padding: var(--space-5); }
.home-universe__grid > article p { margin-block-end: 0; color: var(--color-platinum-300); }
.home-boundary { max-width: 50rem; margin-block-start: var(--space-5); border-inline-start: 2px solid var(--color-champagne-500); background: var(--color-midnight-900); padding: var(--space-5); }
.home-boundary p { margin: 0; }
.home-craft { border-block: var(--border-subtle); background: var(--color-midnight-900); }
.home-craft__intro { max-width: 43rem; }
.home-craft__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.home-craft__figure { min-width: 0; margin: 0; }
.home-craft__media { aspect-ratio: 16 / 10; width: 100%; }
.home-craft__media img { filter: saturate(.9) contrast(1.04); }
.home-craft__figure figcaption { max-width: 24rem; }
.home-craft__annotations { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.home-craft__annotations article { position: relative; min-width: 0; border-block-start: var(--border-subtle); padding: var(--space-4) 0 0 calc(var(--space-5) + var(--space-2)); }
.home-craft__annotations span { position: absolute; inset-inline-start: 0; inset-block-start: var(--space-4); color: var(--color-champagne-300); font-size: var(--text-xs); font-weight: 700; }
.home-craft__annotations h3 { margin-block-end: var(--space-2); font-size: 1.35rem; }
.home-craft__annotations p { margin: 0; color: var(--color-platinum-300); }
.home-canon__intro { max-width: 45rem; }
.home-canon__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--space-6); }
.home-canon__list article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); min-width: 0; gap: var(--space-3); border-block-start: var(--border-subtle); padding-block: var(--space-5); }
.home-canon__list > article > span { color: var(--color-platinum-300); font-size: var(--text-xs); font-weight: 700; }
.home-canon__list article > div { min-width: 0; }
.home-canon__list article p { max-width: 34rem; color: var(--color-platinum-300); }
.home-canon__list article .eyebrow { margin-block-end: var(--space-2); }
.home-gallery { background: var(--color-midnight-900); }
.home-gallery__intro { max-width: 42rem; }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.home-gallery__tile { min-width: 0; margin: 0; }
.home-gallery__open { display: block; width: 100%; min-width: 0; min-height: 0; overflow: hidden; border: 0; padding: 0; background: var(--color-midnight-800); }
.home-gallery__open img { width: 100%; height: 100%; transition: transform var(--transition-fast), filter var(--transition-fast); filter: saturate(.88) contrast(1.04); }
.home-gallery__open:hover img, .home-gallery__open:focus-visible img { transform: scale(1.025); }
.home-gallery__tile--table .home-gallery__open, .home-gallery__tile--architecture .home-gallery__open { aspect-ratio: 2 / 1; }
.home-gallery__tile--portrait .home-gallery__open { aspect-ratio: 4 / 5; }
.home-gallery__tile--showdown .home-gallery__open, .home-gallery__tile--bts .home-gallery__open { aspect-ratio: 16 / 10; }
.home-gallery__tile--camera .home-gallery__open, .home-gallery__tile--collector .home-gallery__open { aspect-ratio: 1; }
.home-gallery__tile figcaption { max-width: 20rem; }
.home-watch__intro { max-width: 44rem; }
.home-watch__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.home-watch__grid article { min-width: 0; border-block-start: var(--border-subtle); padding-block-start: var(--space-4); }
.home-watch__grid article p { margin-block-end: 0; color: var(--color-platinum-300); }
.home-watch__format, .home-watch__external { display: inline-block; min-height: 1.75rem; margin-block-end: var(--space-3); color: var(--color-champagne-300); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; line-height: 1.75rem; }
.home-watch__cta { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-block-start: var(--space-6); border: var(--border-subtle); background: var(--color-midnight-900); padding: var(--space-5); }
.home-watch__cta > div { min-width: 0; max-width: 38rem; }
.home-watch__cta h3, .home-watch__cta p { margin: 0; }
.home-watch__cta p:not(.eyebrow) { margin-block-start: var(--space-3); color: var(--color-platinum-300); }
.home-cinephile { border-block: var(--border-subtle); background: linear-gradient(135deg, rgba(114,20,34,.18), transparent 48%), var(--color-obsidian-950); }
.home-cinephile__intro { max-width: 46rem; }
.home-cinephile__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.home-cinephile__grid .panel { min-width: 0; margin: 0; }
.home-cinephile__grid .panel p { margin-block-end: 0; color: var(--color-platinum-300); }
.home-faq__intro { max-width: 42rem; }
.home-faq__list { max-width: var(--container-reading); margin-inline: auto; }
.home-faq__item { border-block-start: var(--border-subtle); }
.home-faq__item h3 { margin: 0; }
.home-faq__item button { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; width: 100%; min-width: 0; align-items: start; gap: var(--space-4); background: transparent; padding: var(--space-4) 0; color: var(--color-ivory-50); font-family: var(--font-heading); font-size: clamp(1.3rem, 3vw, 1.65rem); font-weight: 600; line-height: 1.12; text-align: left; }
.home-faq__item button span { display: block; color: var(--color-champagne-300); font-family: var(--font-body); font-size: 1.5rem; line-height: 1; text-align: right; transition: transform var(--transition-fast); }
.home-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.home-faq__answer { border-inline-start: 2px solid var(--color-champagne-500); padding: 0 var(--space-5) var(--space-5); }
.home-faq__answer p { max-width: 46rem; margin: 0; color: var(--color-platinum-300); }
.home-closing { padding-block-start: var(--space-10) !important; }
.home-closing__panel { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); border: var(--border-subtle); background: linear-gradient(135deg, rgba(114,20,34,.32), transparent 55%), var(--color-midnight-900); padding: var(--space-7) var(--space-5); text-align: center; }
.home-closing__panel > * { margin: 0; }
.home-closing__panel h2, .home-closing__panel p:not(.eyebrow) { max-width: 42rem; }
.home-closing__panel p:not(.eyebrow) { color: var(--color-platinum-300); }
.home-closing__actions { justify-content: center; }
.home-lightbox[hidden] { display: none; }
.home-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: var(--space-4); }
.home-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.82); }
.home-lightbox__panel { position: relative; z-index: 1; display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; width: min(100%, 78rem); min-width: 0; align-items: center; gap: var(--space-2); }
.home-lightbox__panel figure { min-width: 0; margin: 0; }
.home-lightbox__panel img { width: 100%; max-height: 76vh; object-fit: contain; background: var(--color-obsidian-950); }
.home-lightbox__panel figcaption { padding-block: var(--space-3); color: var(--color-ivory-50); }
.home-lightbox__close, .home-lightbox__nav { display: grid; min-width: 44px; width: 44px; place-items: center; border: var(--border-subtle); border-radius: var(--radius-card); background: var(--color-midnight-900); color: var(--color-ivory-50); font-size: 1.5rem; }
.home-lightbox__close { position: absolute; z-index: 2; inset-block-start: var(--space-2); inset-inline-end: var(--space-2); }
.home-lightbox__nav--previous { grid-column: 1; }
.home-lightbox__nav--next { grid-column: 3; }
.home-lightbox__panel figure { grid-column: 2; grid-row: 1; }
body.home-lightbox-open { overflow: hidden; }
@media (min-width: 700px) { .home-hero__actions { width: auto; } .home-endures__grid, .home-universe__grid, .home-watch__grid, .home-cinephile__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-endures__grid > :nth-child(3), .home-universe__grid > :nth-child(3), .home-watch__grid > :nth-child(3), .home-cinephile__grid > :nth-child(3) { grid-column: 1 / -1; } .home-vault__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-craft__annotations { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-gallery__tile { grid-column: auto; } .home-canon__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-watch__cta { flex-direction: row; justify-content: space-between; } .home-watch__cta > a { flex: 0 0 auto; } }
@media (min-width: 900px) { .home-hero__layout { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); gap: 0; min-height: 37rem; } .home-hero__copy { position: relative; z-index: 1; padding: var(--space-8) var(--space-6) var(--space-8) 0; } .home-hero__media { height: 100%; aspect-ratio: auto; } .home-endures__grid, .home-universe__grid, .home-watch__grid, .home-cinephile__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); } .home-endures__grid > :nth-child(3), .home-universe__grid > :nth-child(3), .home-watch__grid > :nth-child(3), .home-cinephile__grid > :nth-child(3) { grid-column: auto; } .home-craft__layout { grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); } .home-craft__annotations { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1080px) { .home-vault__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; } .home-vault-card--reviews { grid-column: span 4; } .home-vault-card--character { grid-column: span 3; } .home-vault-card--plot { grid-column: span 3; } .home-vault-card--utility { grid-column: span 2; } }
@media (min-width: 1100px) { .home-gallery__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .home-gallery__tile--table { grid-column: span 7; } .home-gallery__tile--portrait { grid-column: span 5; } .home-gallery__tile--showdown { grid-column: span 5; } .home-gallery__tile--architecture { grid-column: span 7; } .home-gallery__tile--bts { grid-column: span 6; } .home-gallery__tile--camera { grid-column: span 3; } .home-gallery__tile--collector { grid-column: span 3; } }
@media (max-width: 699px) { .home-page .home-section { padding-block: var(--space-8); } .home-hero__actions > .button { width: 100%; } .home-lightbox__panel { grid-template-columns: minmax(0, 1fr); } .home-lightbox__panel figure { grid-column: 1; } .home-lightbox__nav { position: absolute; z-index: 2; inset-block-end: 3.5rem; } .home-lightbox__nav--previous { inset-inline-start: var(--space-2); } .home-lightbox__nav--next { inset-inline-end: var(--space-2); } }
@media (max-width: 479px) { .home-closing__actions { width: 100%; flex-direction: column; } .home-closing__actions .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .home-gallery__open img, .home-faq__item button span { transition: none; } }
