#amenities{container:amenities / inline-size;--hair:var(--line);--edge:var(--line);--taupe:var(--accent);--white:var(--paper);font-family:var(--font-body)}
#amenities .img{background-position: center center; background-size: cover; background-repeat: no-repeat;}
#amenities .img.pool{background-image: var(--photo-pool);}
#amenities .img.fitness{background-image: var(--photo-fitness);}
#amenities .img.garden{background-image: var(--photo-garden);}
#amenities .img.children{background-image: var(--photo-children);}
#amenities .img.beach{background-image: var(--photo-beach);}
#amenities .img.concierge{background-image: var(--photo-concierge);}
#amenities .block{background: var(--paper); color: var(--ink); font-size: 13px;}
#amenities .kicker{font-size: 10px; letter-spacing: 0.19em; text-transform: uppercase; font-weight: 700; color: var(--taupe);}
#amenities .serif{font-family: var(--font-display); font-weight: 400; letter-spacing: -0.035em;}
#amenities .display{font: 400 clamp(34px, 4.7cqw, 69px) / 1.16 var(--font-display); letter-spacing: -0.04em; margin: 18px 0px 25px;}
#amenities .bodycopy{font-size: 13px; line-height: 1.93; color: var(--taupe); max-width: 460px; margin: 0px;}
#amenities .micro{font-size: 10px; line-height: 1.7; color: rgb(124, 116, 107);}
#amenities .textlink{display: inline-flex; gap: 20px; align-items: center; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: 0.02em; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor; border-image: none; background: transparent; padding: 0px 0px 10px; line-height: 1.4;}
#amenities .textlink.light{color: rgb(247, 245, 241);}
#amenities .arrow{display: inline-block; font-size: 19px; font-weight: 400; line-height: 0.5; transition: transform 0.2s;}
#amenities .textlink:hover .arrow{transform: translateX(3px);}
#amenities .photo-tag{position: absolute; bottom: 20px; left: 20px; display: flex; gap: 10px; align-items: center; background: rgba(247, 245, 241, 0.96); padding: 12px 14px; color: var(--ink); font-size: 9px; letter-spacing: 0.13em; text-transform: uppercase;}
#amenities .tap-note{font-size: 10px; color: rgb(133, 122, 112);}
#amenities .v01-upper{display: grid; grid-template-columns: 41.5% 58.5%; min-height: 516px;}
#amenities .v01-copy{padding: 65px clamp(36px, 5cqw, 78px) 43px clamp(31px, 4.8cqw, 73px); display: flex; flex-direction: column; align-items: start;}
#amenities .v01 .display{margin-bottom: 24px;}
#amenities .v01 .v01-action{margin-top: auto; padding-top: 29px;}
#amenities .v01-image{position: relative; min-height: 516px; background-image: var(--photo-pool); background-size: cover; background-position: center 44%;}
#amenities .v01-image::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 65%, rgba(36, 43, 40, 0.63) 100%);}
#amenities .v01-image .photo-tag{z-index: 1;}
#amenities .v01-image .corner-mark{position: absolute; top: 31px; right: 30px; z-index: 1; color: rgb(255, 255, 255); font: 400 18px var(--font-display); letter-spacing: 0.07em; text-shadow: rgba(0, 0, 0, 0.4) 0px 1px 12px;}
#amenities .v01-bottom{border-top: 1px solid var(--hair); display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); background: var(--paper);}
#amenities .v01-amenity{border-top: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-right: 1px solid var(--edge); background: transparent; min-height: 147px; text-align: left; padding: 19px 17px 20px 22px; display: flex; flex-direction: column; transition: background 0.18s;}
#amenities .v01-amenity:last-child{border-right: 0px;}
#amenities .v01-amenity:hover{background: rgb(235, 232, 225);}
#amenities .v01-amenity .num{font-size: 10px; color: rgb(145, 135, 124); letter-spacing: 0.14em; margin-bottom: auto;}
#amenities .v01-amenity .name{font-size: 12px; font-weight: 600; line-height: 1.55;}
#amenities .v01-amenity .english{font-size: 9px; color: rgb(145, 135, 124); margin-top: 5px; letter-spacing: 0.03em;}
#amenities .v01-amenity .smallarrow{align-self: end; font-size: 18px; margin-top: 4px;}
#amenities .v02{padding: 57px 63px 60px; background: var(--paper);}
#amenities .v02-heading{display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 37px;}
#amenities .v02-heading h2{font: 400 clamp(38px, 4.5cqw, 65px) / 1.12 var(--font-display); letter-spacing: -0.035em; margin: 16px 0px 0px;}
#amenities .v02-heading .intro-p{max-width: 290px; font-size: 12px; color: var(--taupe); line-height: 1.9;}
#amenities .v02-body{display: grid; grid-template-columns: 35% 65%; border-top: 1px solid var(--hair);}
#amenities .v02-menu{padding-right: 24px;}
#amenities .v02-tab{background: transparent; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--hair); display: grid; grid-template-columns: 40px 1fr 23px; align-items: center; min-height: 75px; width: 100%; text-align: left; color: var(--ink); transition: background 0.2s, padding 0.2s;}
#amenities .v02-tab:hover{background: var(--surface); padding-left: 8px;}
#amenities .v02-tab[aria-selected="true"]{background: var(--surface); padding: 0px 14px;}
#amenities .v02-tab .tab-id{font: 400 15px var(--font-display); color: rgb(139, 129, 118);}
#amenities .v02-tab .tab-name{font-size: 14px; font-weight: 600;}
#amenities .v02-tab .tab-arrow{font-size: 21px; color: var(--taupe); opacity: 0.65;}
#amenities .v02-media{height: 451px; position: relative; overflow: hidden; background: rgb(213, 202, 187);}
#amenities .v02-media .img{position: absolute; inset: 0px; transition: background-image 0.1s, transform 0.35s;}
#amenities .v02-media::after{content: ""; position: absolute; inset: 35% 0px 0px; background: linear-gradient(transparent, rgba(26, 27, 25, 0.74));}
#amenities .v02-info{position: absolute; z-index: 1; bottom: 0px; left: 0px; right: 0px; padding: 28px 32px 25px; color: rgb(255, 255, 255); display: flex; align-items: end; justify-content: space-between; gap: 20px;}
#amenities .v02-info h3{font: 400 30px / 1.2 var(--font-display); margin: 5px 0px 9px;}
#amenities .v02-info p{font-size: 11px; line-height: 1.75; max-width: 390px; margin: 0px; color: rgb(241, 237, 232);}
#amenities .v02-counter{font: 400 14px var(--font-display); letter-spacing: 0.07em; color: rgb(249, 246, 241); white-space: nowrap;}
#amenities .v02-small{margin-top: 20px; display: flex; justify-content: space-between; gap: 18px; align-items: center;}
#amenities .v02-small span{font-size: 10px; line-height: 1.7; color: rgb(137, 127, 117);}
#amenities .v03{background: rgb(247, 245, 241); padding: 57px 54px 54px;}
#amenities .v03-top{display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 33px;}
#amenities .v03-top h2{font: 400 clamp(36px, 4.5cqw, 64px) / 1.14 var(--font-display); letter-spacing: -0.035em; margin: 16px 0px 0px;}
#amenities .v03-top p{max-width: 335px; font-size: 12px; line-height: 1.9; color: var(--taupe); margin: 0px 0px 2px;}
#amenities .mosaic{display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); grid-template-rows: 208px 208px 203px; gap: 8px;}
#amenities .mosaic-card{position: relative; overflow: hidden; border: 0px; padding: 0px; display: block; color: rgb(255, 255, 255); text-align: left; min-width: 0px; min-height: 0px; background: rgb(155, 146, 136);}
#amenities .mosaic-card .tile-image{position: absolute; inset: 0px; transform: scale(1.003); transition: transform 0.6s;}
#amenities .mosaic-card:hover .tile-image{transform: scale(1.055);}
#amenities .mosaic-card::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(to top, rgba(14, 15, 13, 0.69), transparent 58%);}
#amenities .mosaic-card .tile-copy{position: absolute; bottom: 22px; left: 24px; right: 22px; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 16px;}
#amenities .mosaic-card .tile-copy span{display: block; font-size: 9px; color: rgb(240, 235, 228); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px;}
#amenities .mosaic-card .tile-copy b{font: 400 20px / 1.23 var(--font-display);}
#amenities .mosaic-card.pool .tile-copy b{font-size: 34px;}
#amenities .mosaic-card .tile-copy i{display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.533); border-radius: 50%; width: 31px; height: 31px; font-size: 19px; font-style: normal; flex: 0 0 auto;}
#amenities .mosaic-card.pool{grid-area: 1 / 1 / 3 / 8;}
#amenities .mosaic-card.fitness{grid-area: 1 / 8 / 2 / 13;}
#amenities .mosaic-card.garden{grid-area: 2 / 8 / 3 / 13;}
#amenities .mosaic-card.children{grid-area: 3 / 1 / 4 / 5;}
#amenities .mosaic-card.beach{grid-area: 3 / 5 / 4 / 9;}
#amenities .mosaic-card.concierge{grid-area: 3 / 9 / 4 / 13;}
#amenities .v03-footer{display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 22px;}
#amenities .v03-footer span{color: rgb(132, 121, 110); font-size: 10px; line-height: 1.7;}
#amenities .v03-footer strong{font: 400 15px var(--font-display); letter-spacing: 0.05em;}
#amenities .v04{background: rgb(45, 43, 41); color: rgb(247, 245, 241);}
#amenities .v04-primary{display: grid; grid-template-columns: 48% 52%; min-height: 492px;}
#amenities .v04-copy{padding: 65px 58px 40px 62px; display: flex; flex-direction: column;}
#amenities .v04 .kicker{color: rgb(204, 193, 181);}
#amenities .v04 .display{font-size: clamp(40px, 5cqw, 72px); color: rgb(247, 245, 241);}
#amenities .v04 .bodycopy{color: rgb(198, 190, 181);}
#amenities .v04-copy .rule{height: 1px; background: rgb(106, 100, 93); width: 100%; margin: 39px 0px 22px;}
#amenities .v04-copy .service-teaser{font-size: 11px; color: rgb(206, 197, 186); letter-spacing: 0.06em;}
#amenities .v04-copy .service-teaser b{font-size: 17px; font-weight: 500; color: rgb(255, 255, 255); margin-right: 7px; letter-spacing: 0px;}
#amenities .v04-copy .textlink{margin-top: auto; align-self: start; padding-top: 22px;}
#amenities .v04-hero{min-height: 492px; position: relative; background-image: var(--photo-concierge); background-size: cover; background-position: 50% 45%;}
#amenities .v04-hero .caption-box{position: absolute; right: 0px; bottom: 0px; background: rgba(247, 245, 241, 0.95); padding: 22px 27px; color: rgb(45, 43, 41); min-width: 275px; max-width: 80%;}
#amenities .v04-hero .caption-box b{font: 400 21px var(--font-display);}
#amenities .v04-hero .caption-box small{display: block; color: rgb(106, 97, 88); font-size: 10px; margin-top: 8px;}
#amenities .v04-rail{display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); border-top: 1px solid rgb(93, 87, 80); border-bottom: 1px solid rgb(93, 87, 80);}
#amenities .v04-rail button{border-width: 0px 1px 0px 0px; border-style: none solid none none; border-color: currentcolor rgb(93, 87, 80) currentcolor currentcolor; border-image: none; color: rgb(236, 231, 225); text-align: left; background: transparent; padding: 23px 17px; min-height: 108px; transition: background 0.2s;}
#amenities .v04-rail button:hover{background: rgb(71, 65, 59);}
#amenities .v04-rail button:last-child{border-right: 0px;}
#amenities .v04-rail small{display: block; font-size: 10px; letter-spacing: 0.15em; color: rgb(170, 161, 151); margin-bottom: 18px;}
#amenities .v04-rail b{font-size: 12px; font-weight: 500; line-height: 1.5;}
#amenities .v04-service{background: rgb(247, 245, 241); color: rgb(45, 43, 41); padding: 41px 55px; display: grid; grid-template-columns: 31% 69%; gap: 28px; align-items: start;}
#amenities .v04-service h3{font: 400 28px / 1.32 var(--font-display); margin: 0px;}
#amenities .v04-service-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 22px;}
#amenities .v04-service-item{border-left: 1px solid rgb(209, 202, 192); padding-left: 21px;}
#amenities .v04-service-item b{display: block; font-size: 12px; font-weight: 700; margin-bottom: 10px;}
#amenities .v04-service-item p{font-size: 10px; line-height: 1.9; color: rgb(117, 107, 98); margin: 0px;}
#amenities .v05{background: var(--paper);}
#amenities .v05-topline{display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 43px;}
#amenities .v05-topline b{font: 400 16px var(--font-display); letter-spacing: 0.1em;}
#amenities .v05-topline span{font-size: 10px; color: var(--taupe); letter-spacing: 0.12em;}
#amenities .v05-stage{position: relative; min-height: 628px; overflow: hidden; background: rgb(98, 101, 91);}
#amenities .v05-stage .v05-image{position: absolute; inset: 0px; background-image: var(--photo-pool); background-size: cover; background-position: center center; transition: background-image 0.1s;}
#amenities .v05-stage::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(19, 24, 23, 0.74) 0%, rgba(24, 27, 25, 0.53) 45%, rgba(16, 21, 20, 0.16) 70%); pointer-events: none;}
#amenities .v05-left{position: absolute; z-index: 1; top: 0px; left: 0px; bottom: 0px; width: 58%; display: flex; flex-direction: column; align-items: start; padding: 69px 60px 40px 65px; color: rgb(255, 255, 255);}
#amenities .v05-left .kicker{color: rgb(226, 217, 202);}
#amenities .v05-left h2{font: 400 clamp(43px, 5.7cqw, 78px) / 1.13 var(--font-display); letter-spacing: -0.038em; margin: 72px 0px 25px; max-width: 650px;}
#amenities .v05-left p{font-size: 12px; line-height: 1.95; color: rgb(240, 235, 228); max-width: 410px; margin: 0px;}
#amenities .v05-left .v05-caption{font: 400 15px var(--font-display); letter-spacing: 0.12em; margin-top: auto; border-top: 1px solid rgba(255, 255, 255, 0.475); width: 100%; padding-top: 21px;}
#amenities .v05-dock{position: absolute; z-index: 2; top: 27px; right: 26px; bottom: 27px; width: 315px; background: rgba(40, 40, 37, 0.93); backdrop-filter: blur(8px); display: flex; flex-direction: column; padding: 29px 22px 20px; color: rgb(255, 255, 255);}
#amenities .v05-dock > .kicker{color: rgb(210, 199, 188); padding: 0px 6px 18px;}
#amenities .v05-dock .switches{display: flex; flex-direction: column; min-height: 0px;}
#amenities .v05-choice{background: transparent; color: rgb(211, 204, 195); border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(110, 104, 96) currentcolor currentcolor; border-image: none; text-align: left; display: grid; grid-template-columns: 28px 1fr 20px; align-items: center; padding: 17px 7px; gap: 6px; flex: 1 1 0%; transition: background 0.2s;}
#amenities .v05-choice:hover{background: rgba(255, 255, 255, 0.07);}
#amenities .v05-choice[aria-selected="true"]{background: rgb(247, 245, 241); color: rgb(45, 43, 41); padding-left: 14px;}
#amenities .v05-choice small{font: 400 13px var(--font-display); color: inherit; opacity: 0.7;}
#amenities .v05-choice b{font-size: 12px; font-weight: 600;}
#amenities .v05-choice .v05-arr{font-size: 20px; line-height: 0.7;}
#amenities .v05-dock .count{margin-top: auto; border-top: 1px solid rgb(110, 104, 96); padding: 20px 7px 0px; display: flex; justify-content: space-between; font: 400 13px var(--font-display); color: rgb(234, 229, 219); letter-spacing: 0.1em;}
#amenities dialog{border: 0px; padding: 0px; max-width: min(760px, -30px + 100vw); width: 760px; background: var(--paper); box-shadow: rgba(23, 21, 19, 0.314) 0px 20px 90px; color: var(--ink);}
#amenities dialog::backdrop{background: rgba(28, 29, 27, 0.816); backdrop-filter: blur(3px);}
#amenities .modal-inner{display: grid; grid-template-columns: 48% 52%; min-height: 420px;}
#amenities .modal-image{min-height: 420px;}
#amenities .modal-description{padding: 49px 38px 30px; display: flex; flex-direction: column;}
#amenities .modal-description h2{font: 400 36px / 1.2 var(--font-display); letter-spacing: -0.025em; margin: 18px 0px;}
#amenities .modal-description p{font-size: 12px; line-height: 1.95; color: var(--taupe); margin: 0px;}
#amenities .modal-description .modal-note{margin-top: auto; border-top: 1px solid var(--hair); padding-top: 18px; font-size: 10px; color: rgb(123, 115, 104);}
#amenities .modal-close{position: absolute; z-index: 5; right: 10px; top: 10px; display: grid; place-items: center; border: 0px; background: rgb(45, 43, 41); color: rgb(255, 255, 255); font-size: 23px; width: 36px; height: 36px;}
@container amenities (max-width: 600px){#amenities .block{font-size: 12px;}
#amenities .kicker{font-size: 9px; letter-spacing: 0.14em;}
#amenities .display{font-size: 36px; margin: 15px 0px 17px;}
#amenities .bodycopy{font-size: 11.5px; line-height: 1.95;}
#amenities .textlink{font-size: 10px;}
#amenities .photo-tag{font-size: 8px; bottom: 13px; left: 13px; padding: 9px 12px;}
#amenities .v01-upper{display: flex; flex-direction: column;}
#amenities .v01-copy{padding: 34px 28px 29px;}
#amenities .v01 .v01-action{margin-top: 26px; padding: 0px;}
#amenities .v01-image{min-height: 300px; background-position: 50% 48%;}
#amenities .v01-image .corner-mark{font-size: 14px; top: 16px; right: 15px;}
#amenities .v01-bottom{grid-template-columns: repeat(2, minmax(0px, 1fr));}
#amenities .v01-amenity{min-height: 101px; padding: 14px 15px; border-bottom: 1px solid var(--edge);}
#amenities .v01-amenity:nth-child(2n){border-right: 0px;}
#amenities .v01-amenity .num{font-size: 9px;}
#amenities .v01-amenity .name{font-size: 11px;}
#amenities .v01-amenity .english{font-size: 8px; margin-top: 2px;}
#amenities .v01-amenity .smallarrow{margin-top: -10px; font-size: 15px;}
#amenities .v02{padding: 36px 0px 32px;}
#amenities .v02-heading{display: block; margin: 0px 26px 21px;}
#amenities .v02-heading h2{font-size: 35px; line-height: 1.2; margin: 13px 0px;}
#amenities .v02-heading .intro-p{font-size: 11px; max-width: unset; margin: 0px;}
#amenities .v02-body{display: flex; flex-direction: column; border: 0px;}
#amenities .v02-menu{display: flex; gap: 6px; padding: 0px 25px 15px; overflow-x: auto; scrollbar-width: thin;}
#amenities .v02-tab{display: flex; width: auto; min-width: max-content; min-height: 40px; gap: 8px; padding: 11px 12px; border: 1px solid var(--hair);}
#amenities .v02-tab[aria-selected="true"]{padding: 11px 12px;}
#amenities .v02-tab:hover{padding: 11px 12px;}
#amenities .v02-tab .tab-id{font-size: 10px;}
#amenities .v02-tab .tab-name{font-size: 10px;}
#amenities .v02-tab .tab-arrow{display: none;}
#amenities .v02-media{height: 345px;}
#amenities .v02-info{padding: 17px 23px 20px;}
#amenities .v02-info h3{font-size: 24px;}
#amenities .v02-info p{font-size: 10px; line-height: 1.6;}
#amenities .v02-counter{font-size: 11px;}
#amenities .v02-small{margin: 16px 25px 0px;}
#amenities .v02-small span{font-size: 9px;}
#amenities .v02-small .textlink{gap: 10px;}
#amenities .v03{padding: 34px 17px 26px;}
#amenities .v03-top{display: block; margin: 0px 11px 24px;}
#amenities .v03-top h2{font-size: 34px; line-height: 1.18; margin-top: 13px;}
#amenities .v03-top p{font-size: 11px; margin: 15px 0px 0px;}
#amenities .mosaic{grid-template-columns: repeat(2, minmax(0px, 1fr)); grid-template-rows: 250px 180px 180px 175px; gap: 6px;}
#amenities .mosaic-card.pool{grid-area: 1 / 1 / auto / 3;}
#amenities .mosaic-card.fitness{grid-area: 2 / 1;}
#amenities .mosaic-card.garden{grid-area: 2 / 2;}
#amenities .mosaic-card.children{grid-area: 3 / 1;}
#amenities .mosaic-card.beach{grid-area: 3 / 2;}
#amenities .mosaic-card.concierge{grid-area: 4 / 1 / auto / 3;}
#amenities .mosaic-card .tile-copy{left: 11px; right: 10px; bottom: 12px; gap: 4px;}
#amenities .mosaic-card .tile-copy span{font-size: 8px; margin-bottom: 4px;}
#amenities .mosaic-card .tile-copy b{font-size: 15px;}
#amenities .mosaic-card.pool .tile-copy b{font-size: 25px;}
#amenities .mosaic-card .tile-copy i{width: 24px; height: 24px; font-size: 14px;}
#amenities .v03-footer{padding: 14px 8px 0px;}
#amenities .v03-footer span{font-size: 9px;}
#amenities .v03-footer strong{font-size: 12px;}
#amenities .v04-primary{display: flex; flex-direction: column;}
#amenities .v04-copy{padding: 40px 29px 32px;}
#amenities .v04 .display{font-size: 37px;}
#amenities .v04-copy .rule{margin: 27px 0px 20px;}
#amenities .v04-copy .service-teaser{font-size: 10px;}
#amenities .v04-copy .service-teaser b{font-size: 16px;}
#amenities .v04-copy .textlink{margin-top: 22px; padding-top: 0px;}
#amenities .v04-hero{min-height: 284px;}
#amenities .v04-hero .caption-box{padding: 17px 19px; min-width: 220px;}
#amenities .v04-hero .caption-box b{font-size: 18px;}
#amenities .v04-rail{grid-template-columns: repeat(2, minmax(0px, 1fr));}
#amenities .v04-rail button{padding: 14px 16px; min-height: 76px; border-bottom: 1px solid rgb(93, 87, 80);}
#amenities .v04-rail button:nth-child(2n){border-right: 0px;}
#amenities .v04-rail small{font-size: 9px; margin-bottom: 9px;}
#amenities .v04-rail b{font-size: 11px;}
#amenities .v04-service{padding: 27px 24px 30px; display: block;}
#amenities .v04-service h3{font-size: 25px; max-width: 310px; margin-bottom: 22px;}
#amenities .v04-service-grid{display: block;}
#amenities .v04-service-item{padding: 12px 0px 13px; border-left: 0px; border-top: 1px solid var(--hair);}
#amenities .v04-service-item b{margin-bottom: 4px;}
#amenities .v04-service-item p{font-size: 10px;}
#amenities .v05-topline{padding: 17px 22px;}
#amenities .v05-topline b{font-size: 13px;}
#amenities .v05-topline span{font-size: 8px;}
#amenities .v05-stage{min-height: 0px; display: flex; flex-direction: column; background: rgb(247, 245, 241);}
#amenities .v05-stage .v05-image{height: 450px; bottom: auto;}
#amenities .v05-stage::after{inset: 0px 0px auto; height: 450px; background: linear-gradient(0deg, rgba(19, 24, 23, 0.776) 0%, transparent 65%), linear-gradient(90deg, rgba(23, 25, 23, 0.56), transparent);}
#amenities .v05-left{position: relative; height: 450px; top: auto; bottom: auto; left: auto; width: 100%; padding: 29px 25px; justify-content: end;}
#amenities .v05-left h2{font-size: 35px; line-height: 1.18; margin: 0px 0px 13px;}
#amenities .v05-left .kicker{position: absolute; left: 25px; top: 28px;}
#amenities .v05-left p{font-size: 10.5px; line-height: 1.75;}
#amenities .v05-left .v05-caption{font-size: 11px; margin-top: 22px; padding-top: 14px;}
#amenities .v05-dock{position: relative; top: auto; bottom: auto; right: auto; width: 100%; padding: 21px 19px 19px; display: block; background: rgb(45, 43, 41);}
#amenities .v05-dock > .kicker{display: block; padding: 0px 6px 11px;}
#amenities .v05-dock .switches{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 5px;}
#amenities .v05-choice{border: 1px solid rgb(98, 91, 84); min-height: 48px; padding: 10px 7px; grid-template-columns: 20px 1fr 13px; gap: 3px;}
#amenities .v05-choice[aria-selected="true"]{padding-left: 7px;}
#amenities .v05-choice small{font-size: 10px;}
#amenities .v05-choice b{font-size: 10px;}
#amenities .v05-choice .v05-arr{font-size: 13px;}
#amenities .v05-dock .count{padding: 16px 5px 0px; font-size: 11px;}
}
/* Approved Nightfall typography, surfaces, and interaction states. */
#amenities .block{font-family:var(--font-body)}
#amenities button,#amenities a{border-radius:0;touch-action:manipulation}
#amenities button:focus-visible,#amenities a:focus-visible,#amenities [role=tabpanel]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
#amenities .v04-primary button:focus-visible,#amenities .v04-primary a:focus-visible,#amenities .v04-rail button:focus-visible,#amenities .v05-dock button:focus-visible,#amenities .mosaic-card:focus-visible{outline-color:var(--paper);outline-offset:-4px}
#amenities .bodycopy,#amenities .v02-heading .intro-p,#amenities .v03-top p,#amenities .v04-service-item p,#amenities .v02-small span,#amenities .v03-footer span{color:var(--muted);font-size:13px}
#amenities .v04 .bodycopy{color:#d5cdc4}
#amenities .v01-amenity .num,#amenities .v01-amenity .english,#amenities .v02-tab .tab-id{color:var(--muted)}
#amenities .v01-amenity .english{font-size:10px}
#amenities .v01-image .corner-mark,#amenities .v02-counter,#amenities .v03-footer strong,#amenities .v05-topline b,#amenities .v05-left .v05-caption,#amenities .v05-choice small,#amenities .v05-dock .count{font-family:var(--font-display);font-weight:400}
#amenities .mosaic-card .tile-copy i{border-radius:0}
#amenities .textlink{min-height:44px;align-items:center}
#amenities .v02-tab{min-height:64px}
#amenities .v02-tab[aria-selected=true]{background:var(--surface)}
#amenities .v02-info p,#amenities .v05-left p{font-size:13px}
#amenities .v03-footer{flex-wrap:wrap}
#amenities .v04-service{grid-template-columns:minmax(0,.9fr) minmax(0,2fr)}
#amenities .v04-service-item{border-color:var(--line)}
#amenities .v05-topline{flex-wrap:wrap}
#amenities .modal-close{width:46px;height:46px}
#amenities dialog{border-radius:0;max-height:calc(100dvh - 30px);overflow:auto;margin:auto;box-shadow:none}
#amenities .modal-description p{font-size:13px;color:var(--muted)}
#amenities .modal-description .modal-note{font-size:11px;color:var(--muted);padding-top:18px;margin-top:24px}
html.nf-amenities-modal-open{overflow:hidden}
@container amenities (max-width:600px){
 #amenities .v02-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
 #amenities .v02-tab{min-width:0;width:100%;min-height:44px}
 #amenities .v02-tab .tab-name{font-size:12px}
 #amenities .v01-amenity .name,#amenities .v04-rail b,#amenities .v05-choice b{font-size:12px}
 #amenities .v04-service{display:block}
 #amenities .modal-inner{grid-template-columns:1fr;min-height:0}
 #amenities .modal-image{min-height:0;height:230px}
 #amenities .modal-description{padding:24px}
 #amenities .modal-description h2{font-size:30px}
 #amenities .v05-left{height:470px}
 #amenities .v05-stage .v05-image,#amenities .v05-stage:after{height:470px}
 #amenities .v01 .textlink{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#amenities *{transition:none!important;scroll-behavior:auto!important}}
