/* Photo-led homepage; kept separate from the shared inner-page styles. */
.hero-slider { min-height: max(680px, 100svh); }
.hero-slider .hero-slider__track { inset: 0; width: 100%; height: 100%; border: 0; box-shadow: none; }
.hero-slider .hero-slide__image { object-fit: cover; object-position: center 42%; filter: none; }
.hero-slider .hero-slide__blur, .hero-slider .star-dust { display: none; }
.hero-slider .hero-slide__shade { background: linear-gradient(90deg, rgba(8,24,47,.72), rgba(8,24,47,.12) 70%), linear-gradient(0deg, rgba(8,24,47,.88), transparent 55%, rgba(8,24,47,.32)); }
.hero-slider .hero-content { min-height: max(680px, 100svh); padding: 10rem 0 12rem; justify-content: flex-end; }
.hero-slider .hero-content > * { width: min(38rem, 100%); }
.hero-slider h1 { max-width: 12ch; font-size: clamp(4rem, 6.5vw, 7rem); line-height: .95; }
.hero-slider .hero-content > .kicker { display: none; }
.hero-slider .hero-date { margin-top: 1rem; }
.hero-slider .hero-intro { max-width: 30rem; font-size: .9rem; }
.hero-slider .hero-actions { margin-top: 1.6rem; }
.hero-countdown { position: absolute; z-index: 7; bottom: 2.5rem; left: max(2rem, calc((100vw - 1440px) / 2)); display: flex; align-items: center; gap: 1.5rem; }
.hero-countdown > p { margin: 0; color: var(--gold-soft); font: italic 1.1rem/1.3 var(--serif); }
.hero-countdown .countdown { gap: 1.5rem; margin: 0; }
.hero-countdown .countdown div { min-width: 2.6rem; }
.hero-countdown .countdown strong { font-size: 1.7rem; font-variant-numeric: tabular-nums; }
.hero-countdown .countdown span { margin-top: .3rem; font-size: .55rem; color: rgba(255,255,255,.8); }
.hero-slider .slider-controls { bottom: 2.4rem; gap: .6rem; }
.hero-slider .slider-controls > button { display: grid; width: 2.75rem; height: 2.75rem; }
.hero-slider .slider-controls > button[hidden] { display: none; }
.hero-slider .slider-count { white-space: nowrap; font-size: .7rem; color: var(--gold-soft); font-variant-numeric: tabular-nums; }
.hero-slider .slider-dots { width: min(24vw, 22rem); min-width: 0; gap: .1rem; overflow-x: auto; scrollbar-width: none; }
.hero-slider .slider-dots::-webkit-scrollbar { display: none; }
.hero-slider .slider-dots button { position: relative; width: 2rem; height: 2.75rem; background: transparent; flex: none; }
.hero-slider .slider-dots button::after { content: ''; position: absolute; top: calc(50% - 1px); left: .25rem; right: .25rem; height: 2px; background: rgba(255,255,255,.45); }
.hero-slider .slider-dots button.is-active::after { background: var(--gold-soft); }
.hero-slider button:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 3px; }
.hero-slider .hero-scroll { display: none; }
@media (max-width: 1000px) {
    .hero-countdown { bottom: 6.3rem; }
    .hero-slider .hero-content { padding-bottom: 15rem; }
    .hero-slider .slider-controls { left: 2rem; right: auto; }
}
@media (max-width: 640px) {
    .hero-slider, .hero-slider .hero-content { min-height: max(780px, 100svh); }
    .hero-slider .hero-slide__image { object-position: center 35%; }
    .hero-slider .hero-slide__shade { background: linear-gradient(0deg, rgba(8,24,47,.94), rgba(8,24,47,.65) 30%, transparent 65%, rgba(8,24,47,.35)); }
    .hero-slider .hero-content { padding: 25rem 0 12rem; }
    .hero-slider h1 { max-width: 12ch; font-size: clamp(3.2rem, 12vw, 4.7rem); }
    .hero-slider .hero-date { font-size: 1.5rem; }
    .hero-slider .hero-actions { margin-top: 1.2rem; }
    .hero-countdown { left: 1rem; right: 1rem; bottom: 5rem; gap: .7rem; justify-content: space-between; }
    .hero-countdown > p { max-width: 5rem; font-size: .95rem; }
    .hero-countdown .countdown { gap: .8rem; }
    .hero-countdown .countdown div { min-width: 2rem; }
    .hero-countdown .countdown strong { font-size: 1.45rem; }
    .hero-countdown .countdown span { font-size: .48rem; letter-spacing: .08em; }
    .hero-slider .slider-controls { left: 1rem; right: 1rem; bottom: 1rem; justify-content: center; }
    .hero-slider .slider-dots button { width: 1.55rem; }
    .hero-slider .slider-dots { width: auto; flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .hero-slider .hero-slide { transition: none; } }
.hero-slider .hero-slide--portrait { background: var(--navy); }
.hero-slider .hero-slide--portrait .hero-slide__image { object-fit: contain; object-position: center center; }
