.site-footer, html[data-theme="dark"] .site-footer { background: #1a171a; color: #f4f0f4; }
.site-footer .footer-grid { grid-template-columns: 1fr; }
.site-footer .footer-logo-main { color: #f4f0f4 !important; font-size: 1.6rem; line-height: 1.35; }
.site-footer .footer-nav-title { color: #ded5de; font-family: var(--font-body); font-size: .9rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.site-footer :is(.footer-nav-list a, .footer-year-link, .footer-copyright, .footer-legal a) { color: #d6ccd6; font-family: var(--font-body); font-size: .9rem; letter-spacing: 0; }
.site-footer :is(.footer-nav-list a:hover, .footer-year-link:hover, .footer-year-link.current, .footer-legal a:hover) { color: #f2c9f1 !important; text-decoration: underline; }
.site-footer a:focus-visible { outline: 2px solid #f2c9f1; outline-offset: 4px; }
.site-footer .footer-legal:empty { display: none; }
.site-footer .footer-years-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem 1rem; }
.site-footer .footer-bottom { border-color: #514551; }
@media (min-width: 768px) { .site-footer .footer-grid { grid-template-columns: 1.3fr 1fr 1.2fr; gap: 3rem; } }
.home-video-player { width: 100%; max-width: 880px; margin: 0 auto; }
.home-video-main { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #151315; border-radius: 4px; }
.home-video-caption { display: flex; align-items: flex-start; justify-content: flex-end; gap: 1rem; padding: 1rem 0; }
.home-video-caption-copy { min-width: 0; }
.home-video-year { display: block; color: var(--color-gray); font-size: .85rem; margin-bottom: .35rem; }
.home-video-caption h3 { font-family: 'Crimson Pro', Georgia, serif; color: var(--color-black); font-size: 1.5rem; line-height: 1.3; margin: 0; letter-spacing: 0; overflow-wrap: anywhere; }
.home-video-navigation { display: flex; gap: .5rem; flex-shrink: 0; }
.home-video-navigation button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--theme-border, #d8dcdf); border-radius: 4px; background: var(--surface, #f7f8f8); color: var(--color-black); cursor: pointer; }
.home-video-navigation span { display: block; width: 20px; height: 20px; background: currentColor; }
.home-video-prev-icon { mask: url('chevron-left.svg') center / contain no-repeat; -webkit-mask: url('chevron-left.svg') center / contain no-repeat; }
.home-video-next-icon { mask: url('chevron-right.svg') center / contain no-repeat; -webkit-mask: url('chevron-right.svg') center / contain no-repeat; }
.home-video-choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding-top: .5rem; }
.home-video-choice { display: flex; flex-direction: column; min-width: 0; padding: 0 0 .75rem; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--color-black); text-align: left; font: inherit; border-radius: 0; cursor: pointer; }
.home-video-choice.is-active { border-bottom-color: var(--color-primary); }
.home-video-thumbnail { display: block; position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #242124; border-radius: 4px; margin-bottom: .65rem; }
.home-video-thumbnail video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.home-video-play-icon { position: absolute; right: .5rem; bottom: .5rem; width: 20px; height: 20px; background: #fff; filter: drop-shadow(0 1px 3px #000); mask: url('play.svg') center / contain no-repeat; -webkit-mask: url('play.svg') center / contain no-repeat; }
.home-video-choice-year { font-size: .75rem; color: var(--color-gray); margin-bottom: .25rem; }
.home-video-choice-title { font-size: .85rem; line-height: 1.4; overflow-wrap: anywhere; }
.home-video-status { color: var(--color-gray); font-size: .9rem; }
.home-video-status:empty { display: none; }
.home-video-player button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
@media (max-width: 600px) { .home-video-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-video-caption h3 { font-size: 1.25rem; } }
