/* Homepage-only luxury club redesign. Add a supplied local photo to
   --home-hero-image later; this page deliberately makes no remote request. */
.home-page {
    --home-hero-image: none
}
.home-page .home-topbar {
    height: 92px;
    padding: 0;
    background: #082b23;
    border-bottom: 1px solid #c6a565;
    color: #f6f2e9
}
.home-nav-shell {
    width: min(100% - 56px,1440px);
    height: 100%;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center
}
.home-page .home-brand {
    justify-self: center;
    color: #f6f2e9;
    gap: 10px
}
.home-page .home-brand .header-logo {
    width: 61px;
    height: 61px
}
.home-page .home-brand small {
    color: #dec486
}
.home-page .home-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px,2vw,38px);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase
}
.home-page .home-nav-right {
    justify-content: flex-end
}
.home-page .home-nav a {
    padding: 10px 0;
    position: relative
}
.home-page .home-nav a:hover,.home-page .home-nav a:focus-visible,.home-page .home-nav .is-current {
    color: #c6a565
}
.home-page .home-nav .is-current:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3px;
    height: 1px;
    background: #c6a565
}
.home-page .home-join-link {
    border: 1px solid #c6a565;
    padding: 11px 15px!important
}
.home-page .home-join-link:hover {
    background: #c6a565;
    color: #082b23
}
.home-page .menu-toggle {
    display: none
}
.home-hero {
    position: relative;
    isolation: isolate;
    min-height: 620px;
    height: calc(90svh - 92px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    background-color: #103c30;
    background-image: var(--home-hero-image),radial-gradient(circle at 50% 120%,#245d4b 0,transparent 45%),linear-gradient(135deg,#082b23,#103c30 58%,#082b23);
    background-position: center;
    background-size: cover
}
.home-hero:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,rgba(5,34,27,.82),rgba(5,34,27,.52) 48%,rgba(5,34,27,.26)),linear-gradient(0deg,rgba(5,34,27,.38),transparent 60%)
}
.hero-overlay {
    display: none
}
.hero-frame {
    position: absolute;
    inset: 22px;
    z-index: 2;
    border: 1px solid rgba(198,165,101,.65);
    pointer-events: none
}
.hero-watermark {
    position: absolute;
    z-index: 1;
    right: 4%;
    bottom: -10%;
    width: min(48vw,600px);
    opacity: .1;
    pointer-events: none
}
.hero-watermark img {
    width: 100%;
    filter: brightness(0) invert(1)
}
.hero-content {
    position: relative;
    z-index: 3;
    width: min(100% - 40px,1050px);
    margin: 7vh auto 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: hero-content-in .8s ease-out both
}
.hero-kicker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}
.hero-kicker>span {
    width: 52px;
    height: 1px;
    background: #c6a565
}
.hero-eyebrow {
    margin: 0;
    color: #dec486;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .26em
}
.home-hero h1 {
    margin: 23px 0 0;
    color: #fff;
    font: 400 clamp(3.35rem,7vw,7rem)/.95 Georgia,"Times New Roman",serif;
    letter-spacing: -.04em
}
.home-hero h1 em {
    color: #dec486
}
.hero-description {
    max-width: 620px;
    margin: 27px 0 0;
    color: #f6f2e9;
    font: clamp(1rem,1.4vw,1.125rem)/1.65 Georgia,"Times New Roman",serif
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 33px
}
.hero-btn {
    min-width: 195px;
    padding: 16px 21px;
    border: 1px solid #c6a565;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease
}
.hero-btn:hover {
    transform: translateY(-2px)
}
.hero-btn:focus-visible,.home-page .home-nav a:focus-visible,.hero-scroll:focus-visible,.introduction-link:focus-visible {
    outline: 2px solid #dec486;
    outline-offset: 4px
}
.hero-btn.primary {
    background: #c6a565;
    color: #082b23
}
.hero-btn.secondary {
    border-color: #dec486;
    color: #f6f2e9
}
.hero-private-label {
    position: absolute;
    z-index: 3;
    right: 46px;
    bottom: 38px;
    margin: 0;
    color: #dec486;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
    writing-mode: vertical-rl
}
.hero-scroll {
    position: absolute;
    z-index: 3;
    bottom: 28px;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    color: #f6f2e9;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    transform: translateX(-50%)
}
.hero-scroll span {
    width: 1px;
    height: 31px;
    background: #c6a565
}
.home-page .home-introduction {
    padding: 125px max(8vw,32px);
    gap: 10vw;
    background: #f6f2e9
}
.home-page .home-introduction>div:last-child {
    border-color: #c6a565;
    padding-left: clamp(25px,4vw,58px)
}
.home-page .home-introduction h2 {
    font-size: clamp(2.5rem,4.5vw,4.5rem);
    color: #082b23
}
.introduction-link {
    display: inline-flex;
    gap: 10px;
    margin-top: 24px;
    padding-bottom: 5px;
    border-bottom: 1px solid #c6a565;
    color: #103c30;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase
}
.section-anchor {
    display: block;
    position: relative;
    top: -92px;
    visibility: hidden
}
@keyframes hero-content-in {
    from {
        opacity: 0;
        transform: translateY(14px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}
/* Adjusts homepage navigation and hero content for narrower screens. */
@media(max-width:980px) {
    .home-nav-shell {
        width: min(100% - 36px,1440px)
    }
    .home-page .home-nav {
        gap: 18px;
        font-size: 10px
    }
    .home-page .home-brand .header-logo {
        width: 54px;
        height: 54px
    }
}
@media(max-width:760px) {
    .home-page .home-topbar {
        height: 76px
    }
    .home-nav-shell {
        width: 100%;
        padding: 0 20px;
        display: flex;
        justify-content: space-between
    }
    .home-page .home-brand {
        order: 1
    }
    .home-page .home-brand .header-logo {
        width: 47px;
        height: 47px
    }
    .home-page .menu-toggle {
        display: grid;
        order: 2;
        width: 43px;
        height: 43px;
        padding: 10px;
        border: 1px solid #dec486;
        place-content: center;
        gap: 5px;
        color: #f6f2e9;
        background: transparent
    }
    .home-page .menu-toggle span {
        width: 20px;
        height: 1px;
        background: currentColor
    }
    .home-page .home-nav-left {
        display: none
    }
    .home-page .home-nav-right {
        position: absolute;
        top: 76px;
        left: 0;
        right: 0;
        display: none;
        padding: 16px 20px 22px;
        background: #082b23;
        border-bottom: 1px solid #c6a565;
        align-items: stretch;
        gap: 0;
        z-index: 5
    }
    .home-page .home-nav-right.open {
        display: flex
    }
    .home-page .home-nav-right a {
        padding: 15px 3px;
        border-bottom: 1px solid rgba(246,242,233,.14)
    }
    .home-page .home-nav-right .home-join-link {
        margin-top: 10px;
        padding: 13px!important;
        text-align: center
    }
    .home-hero {
        height: calc(90svh - 76px);
        min-height: 650px
    }
    .hero-frame {
        inset: 10px
    }
    .hero-content {
        margin-top: 35px
    }
    .hero-private-label {
        right: 20px;
        bottom: 23px;
        font-size: 8px
    }
    .hero-scroll {
        bottom: 19px
    }
    .home-page .home-introduction {
        padding: 84px 24px;
        gap: 40px
    }
    .home-page .home-introduction>div:last-child {
        padding-left: 24px
    }
}
@media(max-width:480px) {
    .home-page .home-brand>span {
        font-size: 10px
    }
    .home-page .home-brand small {
        font-size: 7px
    }
    .home-hero h1 {
        font-size: clamp(2.7rem,13vw,3.7rem)
    }
    .hero-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch
    }
    .hero-btn {
        width: 100%
    }
    .hero-private-label {
        display: none
    }
    .hero-scroll {
        left: 26px;
        transform: none;
        align-items: flex-start
    }
    .hero-scroll span {
        height: 23px
    }
}
@media(prefers-reduced-motion:reduce) {
    .hero-content {
        animation: none
    }
    .hero-btn {
        transition: none
    }
    .hero-btn:hover {
        transform: none
    }
}
