/* Amenities Section - Video Matched */
.amenities-section{position:relative;width:100%;min-height:760px;height:min(760px,100vh);overflow:hidden;background:var(--am-bg);color:var(--am-text);isolation:isolate;font-family:inherit}.amenities-section *{box-sizing:border-box}.am-bg-stack,.am-bg,.am-bg img,.am-overlay{position:absolute;inset:0}.am-bg-stack{z-index:0}.am-bg{opacity:0;transform:scale(1.04);transition:opacity 900ms ease,transform 5200ms ease}.am-bg.is-active{opacity:1;transform:scale(1);z-index:1}.am-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) brightness(.72)}.am-overlay{z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,var(--am-overlay) 45%,rgba(0,0,0,.72) 100%)}.am-heading{position:relative;z-index:6;text-align:center;width:min(720px,calc(100% - 36px));margin:0 auto;padding-top:68px}.am-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px;color:var(--am-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.am-eyebrow span{width:34px;height:1px;background:var(--am-accent);opacity:.8}.am-heading h2{margin:0;color:var(--lumana-header-font);font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,2.9vw,48px);font-weight:500;line-height:1.05}.am-heading p{margin:12px auto 0;max-width:640px;color:var(--am-muted);font-size:13px;line-height:1.58}.am-orbit-wrap{position:absolute;z-index:5;left:0;right:0;bottom:22px;height:620px;pointer-events:none}.am-arc-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.am-arc-svg path{fill:none;stroke:var(--am-line);stroke-width:1.35;stroke-linecap:round;opacity:.72}.am-icon-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;border:0;background:var(--am-icon);color:#fff;display:grid;place-items:center;z-index:7;box-shadow:0 12px 34px rgba(0,0,0,.24);cursor:pointer;pointer-events:auto;transition:background .35s ease,transform .35s ease,box-shadow .35s ease}.am-icon-node:hover{transform:translate(-50%,-50%) scale(1.08)}.am-icon-node.is-active{background:var(--am-accent);transform:translate(-50%,-50%) scale(1.12);box-shadow:0 16px 42px rgba(214,165,30,.35)}.am-icon-node svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.am-icon-node img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}.am-detail-card{position:absolute;z-index:8;left:50%;top:46%;transform:translate(-50%,-50%);width:178px;background:var(--am-card-bg);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 48px rgba(0,0,0,.4);pointer-events:auto;opacity:0;transition:opacity .35s ease,transform .45s ease}.am-detail-card.is-visible{opacity:1}.am-detail-card.pos-left{left:38%;top:48%}.am-detail-card.pos-right{left:62%;top:48%}.am-detail-img{height:118px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.18)}.am-detail-img img{width:100%;height:100%;object-fit:cover;display:block}.am-detail-body{text-align:center;padding:10px 10px 12px}.am-detail-body h3{margin:0 0 8px;color:#fff;font-family:var(--lumana-header-font);font-size:15px;line-height:1.15;font-weight:600;text-transform:uppercase}.am-detail-body p{margin:0 0 8px;color:rgba(255,255,255,.72);font-size:10px;line-height:1.35;display:none}.am-detail-body a{display:inline-flex;height:24px;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:9px}.am-next{position:absolute;z-index:10;right:32px;bottom:26px;width:38px;height:38px;border-radius:50%;border:0;background:#fff9db;color:#111;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.25)}.amenities-section.am-is-ready .am-heading{animation:amFadeDown .7s ease both}.amenities-section.am-is-ready .am-icon-node{animation:amNodeIn .65s ease both}.amenities-section.am-is-ready .am-icon-node:nth-of-type(2){animation-delay:.05s}.amenities-section.am-is-ready .am-icon-node:nth-of-type(3){animation-delay:.1s}.amenities-section.am-is-ready .am-icon-node:nth-of-type(4){animation-delay:.15s}@keyframes amFadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes amNodeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:900px){.amenities-section{height:auto;min-height:720px}.am-heading{padding-top:46px}.am-orbit-wrap{height:560px;bottom:0}.am-icon-node{width:52px;height:52px}.am-detail-card{width:160px}.am-detail-img{height:102px}}@media(max-width:640px){.amenities-section{min-height:760px}.am-heading h2{font-size:30px}.am-heading p{font-size:12px}.am-arc-svg{transform:scale(1.25);transform-origin:center bottom}.am-icon-node{width:46px;height:46px}.am-icon-node svg{width:21px;height:21px}.am-detail-card{width:150px}.am-detail-card.pos-left,.am-detail-card.pos-right{left:50%;top:50%}.am-next{right:18px;bottom:18px}}


/* =========================================================
   Final fix: detail card appears near the respective amenity button
   ========================================================= */
.amenities-section .am-detail-card {
    left: var(--am-card-x, 50%) !important;
    top: var(--am-card-y, 50%) !important;
    transform: translate(-50%, calc(-100% - 24px)) !important;
    transition:
        opacity .28s ease,
        transform .32s ease,
        left .32s ease,
        top .32s ease !important;
    will-change: left, top, transform, opacity;
}

.amenities-section .am-detail-card.am-card-below {
    transform: translate(-50%, 24px) !important;
}

.amenities-section .am-detail-card.am-card-right {
    transform: translate(24px, -50%) !important;
}

.amenities-section .am-detail-card.am-card-left {
    transform: translate(calc(-100% - 24px), -50%) !important;
}

/* Do not use old fixed center positions anymore */
.amenities-section .am-detail-card.pos-left,
.amenities-section .am-detail-card.pos-right,
.amenities-section .am-detail-card.pos-center {
    left: var(--am-card-x, 50%) !important;
    top: var(--am-card-y, 50%) !important;
}

/* small pointer feel toward selected button */
.amenities-section .am-detail-card::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    width: 12px;
    height: 12px;
    background: var(--am-card-bg);
    border-right: 1px solid rgba(255,255,255,.22);
    border-bottom: 1px solid rgba(255,255,255,.22);
    transform: translateX(-50%) rotate(45deg);
}

.amenities-section .am-detail-card.am-card-below::after {
    top: -7px;
    bottom: auto;
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid rgba(255,255,255,.22);
    border-top: 1px solid rgba(255,255,255,.22);
}

.amenities-section .am-detail-card.am-card-left::after {
    left: auto;
    right: -7px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%) rotate(45deg);
    border-left: 0;
    border-top: 0;
    border-right: 1px solid rgba(255,255,255,.22);
    border-bottom: 1px solid rgba(255,255,255,.22);
}

.amenities-section .am-detail-card.am-card-right::after {
    left: -7px;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%) rotate(45deg);
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid rgba(255,255,255,.22);
    border-top: 1px solid rgba(255,255,255,.22);
}

@media(max-width:640px){
    .amenities-section .am-detail-card,
    .amenities-section .am-detail-card.pos-left,
    .amenities-section .am-detail-card.pos-right,
    .amenities-section .am-detail-card.pos-center {
        left: var(--am-card-x, 50%) !important;
        top: var(--am-card-y, 50%) !important;
        transform: translate(-50%, calc(-100% - 18px)) !important;
    }

    .amenities-section .am-detail-card.am-card-below {
        transform: translate(-50%, 18px) !important;
    }
}


/* Active amenity background sync layer */
.amenities-section .am-dynamic-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 900ms ease, transform 5200ms ease;
    pointer-events: none;
}

.amenities-section .am-dynamic-bg.is-active {
    opacity: 1;
    transform: scale(1);
}

.amenities-section .am-dynamic-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(.78) brightness(.72);
}


/* Hover pause polish */
.amenities-section:hover .am-detail-card.is-visible {
    opacity: 1;
}

.amenities-section .am-icon-node,
.amenities-section .am-detail-card {
    pointer-events: auto;
}
