/* Hero carousel */
.hero { --hero-h: clamp(560px, 82vh, 920px); color: #fff; }
.hero--full { --hero-h: calc(100vh - var(--header-h)); }
.hero--medium { --hero-h: clamp(440px, 62vh, 680px); }
.hero__carousel { --slide-w: 100%; --slide-gap: 0px; }
.hero__slide { position: relative; height: var(--hero-h); display: flex; align-items: flex-end; isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: 0; background: var(--c-dark, #1a1a1a); overflow: hidden; }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal, center); transform: scale(1.04); transition: transform 7s linear; }
.hero__slide.is-active .hero__img { transform: scale(1); }
.hero__media::after {
    content: '';
    position: absolute; inset: 0;
    background:
        linear-gradient(to top, rgba(8, 8, 8, 0.82) 0%, rgba(8, 8, 8, 0.35) 45%, rgba(8, 8, 8, 0.05) 75%),
        linear-gradient(to right, rgba(8, 8, 8, 0.45) 0%, transparent 60%);
}
.hero__inner { position: relative; z-index: 1; padding-bottom: clamp(3rem, 7vw, 6rem); padding-top: 3rem; }
.hero__content { max-width: 720px; }
.hero__eyebrow { color: var(--c-highlight, #c9a35b); }
.hero__title {
    font-family: var(--font-display);
    font-size: var(--text-hero);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: #fff;
    text-wrap: balance;
    max-width: 16ch;
}
.hero__copy { margin-top: 1.25rem; font-size: var(--text-lead); color: rgba(255, 255, 255, 0.86); max-width: 52ch; }
.hero__actions { margin-top: 2rem; }
.hero__footer { position: absolute; left: 0; right: 0; bottom: 1.75rem; z-index: 2; display: flex; justify-content: flex-end; pointer-events: none; }
.hero__footer .jk-carousel__dots { pointer-events: auto; }
.hero .jk-carousel__arrow { color: #fff; border-color: rgba(255, 255, 255, 0.45); background: rgba(10, 10, 10, 0.25); backdrop-filter: blur(6px); }
.hero .jk-carousel__arrow:hover { background: #fff; color: var(--c-ink, #141414); border-color: #fff; }
.hero .hero__eyebrow, .hero .hero__title, .hero .hero__copy, .hero .hero__actions { opacity: 0; transform: translateY(18px); transition: opacity 0.8s var(--ease), transform 0.9s var(--ease); }
.hero .is-active .hero__eyebrow { opacity: 1; transform: none; transition-delay: 0.15s; }
.hero .is-active .hero__title { opacity: 1; transform: none; transition-delay: 0.25s; }
.hero .is-active .hero__copy { opacity: 1; transform: none; transition-delay: 0.38s; }
.hero .is-active .hero__actions { opacity: 1; transform: none; transition-delay: 0.5s; }
.no-js .hero__eyebrow, .no-js .hero__title, .no-js .hero__copy, .no-js .hero__actions { opacity: 1; transform: none; }
@media (max-width: 900px) {
    .hero { --hero-h: clamp(520px, 78vh, 760px); }
    .hero .jk-carousel__arrow { display: none; }
    .hero__footer { justify-content: flex-start; bottom: 1.25rem; }
    .hero__inner { padding-bottom: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
    .hero__img { transform: none; }
    .hero .hero__eyebrow, .hero .hero__title, .hero .hero__copy, .hero .hero__actions { opacity: 1; transform: none; }
}
