/* Reference amenities gallery, with the resort intro's height and hero rails. */
.pam{--rail:calc((100vw - min(100vw,1900px))/2 + 170px);--k:calc((100vw - 2 * var(--rail))/1430);position:relative;isolation:isolate;height:var(--pam-intro-height,calc(150px + 837 * var(--k)));margin-top:80px;padding:150px var(--rail) 0;background:#faf7ef;color:#073b57;overflow:hidden}
.pam *{box-sizing:border-box}
.pam :where(h2,h3,p,figure){margin:0}
.pam__art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;pointer-events:none}
.pam__frame{container-type:inline-size;position:relative;width:100%;height:calc(837 * var(--k))}
.pam__layout{--u:calc(100cqw / 1368);position:relative;height:100%}
.pam__eyebrow{display:flex;align-items:center;gap:calc(20 * var(--u));color:#997a5b;font:400 calc(13 * var(--u))/1.4 "Univers Next",Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.pam__eyebrow::before{content:'';width:calc(38 * var(--u));height:1px;background:currentColor}
.pam .pam__title{margin-top:calc(12 * var(--u));font:400 calc(79 * var(--u))/.94 "Comfort Bodoni",Georgia,serif;letter-spacing:-.035em;color:#073b57!important}
.pam__title span{display:block;color:#917658;white-space:nowrap}
.pam__lead{position:absolute;top:calc(57 * var(--u));right:0;width:calc(374 * var(--u));font:400 calc(23 * var(--u))/1.5 "Comfort Newsreader",Georgia,serif}
.pam__gallery{position:absolute;top:calc(196 * var(--u));left:0;width:100%;height:calc(365 * var(--u));border-radius:calc(23 * var(--u));overflow:hidden;background:#d2e6e8}
.pam__slide{width:100%;height:100%}
.pam__slide[hidden]{display:none}
.pam__slide :is(img,svg){display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.pam__arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:calc(58 * var(--u));height:calc(58 * var(--u));min-width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:#fff;color:#997a5b;box-shadow:0 3px 15px #073b5720;cursor:pointer}
.pam__arrow--prev{left:calc(12 * var(--u))}.pam__arrow--next{right:calc(12 * var(--u))}
.pam__arrow svg{width:12px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pam__dots{position:absolute;top:calc(570 * var(--u));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:calc(12 * var(--u))}
.pam__dot{display:grid;place-items:center;width:30px;height:26px;padding:0;border:0;background:transparent;cursor:pointer}
.pam__dot::before{content:'';width:calc(20 * var(--u));min-width:15px;height:7px;border-radius:6px;background:#d7c6b3}.pam__dot[aria-pressed=true]::before{width:calc(26 * var(--u));background:#073b57}
.pam__bottom{position:absolute;top:calc(615 * var(--u));left:0;right:0;display:grid;grid-template-columns:62% 1fr;gap:4%}
.pam__thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(19 * var(--u))}
.pam__thumb{position:relative;display:block;width:100%;height:calc(164 * var(--u));padding:0;border:2px solid transparent;border-radius:calc(17 * var(--u));background:transparent;overflow:hidden;cursor:pointer}
.pam__thumb[aria-pressed=true]{padding:3px;border-color:#0d5d7c}
.pam__thumb :is(img,svg){display:block;width:100%;height:100%;object-fit:cover;border-radius:calc(12 * var(--u))}
.pam__number{position:absolute;top:calc(12 * var(--u));left:calc(12 * var(--u));display:grid;place-items:center;width:calc(36 * var(--u));height:calc(36 * var(--u));min-width:28px;min-height:28px;border:1px solid #fff;border-radius:50%;background:#967958a8;color:#fff;font:400 calc(17 * var(--u))/1 "Univers Next",Arial,sans-serif}
.pam__thumb[aria-pressed=true] .pam__number{background:#073b57}
.pam__caption-number{display:block;margin:calc(3 * var(--u)) 0 calc(4 * var(--u));color:#997a5b;font:400 calc(18 * var(--u))/1.2 "Univers Next",Arial,sans-serif}
.pam .pam__caption-title{font:400 calc(42 * var(--u))/1.1 "Comfort Bodoni",Georgia,serif;letter-spacing:-.035em;white-space:nowrap;color:#073b57!important}
.pam__caption-text{border-top:1px solid #cdb89e;margin-top:calc(16 * var(--u))!important;padding-top:calc(16 * var(--u));font:400 calc(20 * var(--u))/1.4 "Comfort Newsreader",Georgia,serif;color:#52677d}
.pam button:hover{filter:brightness(.96)}
.pam button:focus-visible{outline:3px solid #0b6f86;outline-offset:4px}
@media(min-width:1901px){.pam{--rail:calc(170 * 100vw / 1900)}}
@media(max-width:1450px){.pam{--rail:clamp(80px,8.947vw,170px)}}
@media(max-width:1150px){
 .pam{height:auto;min-height:var(--pam-intro-height,0px);padding-bottom:75px}
 .pam__frame,.pam__layout{height:auto}
 .pam__eyebrow{font-size:12px;gap:18px}.pam__eyebrow::before{width:38px}
 .pam .pam__title{font-size:clamp(48px,6.2vw,70px);margin-top:16px;line-height:1}
 .pam__lead{position:static;width:auto;max-width:560px;font-size:23px;line-height:1.4;margin-top:24px!important}
 .pam__gallery{position:relative;top:auto;margin-top:32px;height:auto;aspect-ratio:1368/520;border-radius:20px}
 .pam__slide{position:absolute;inset:0}
 .pam__dots{position:static;margin:8px 0 18px;gap:8px}
 .pam__bottom{position:static;display:flex;flex-direction:column;gap:28px}
 .pam__thumb{height:auto;aspect-ratio:1.65;border-radius:16px}.pam__thumbs{gap:16px}
 .pam__number{font-size:16px;top:10px;left:10px;width:32px;height:32px}
 .pam__caption-number{font-size:16px;margin:0 0 6px}
 .pam .pam__caption-title{font-size:36px;white-space:normal}
 .pam__caption-text{font-size:22px;margin-top:16px!important;padding-top:16px}
}
@media(max-width:900px){.pam{--rail:24px}}
@media(max-width:640px){
 .pam{padding-top:100px;padding-bottom:60px}
 .pam .pam__title{font-size:clamp(36px,8.8vw,54px);letter-spacing:-.045em}.pam__title span{white-space:normal}
 .pam__eyebrow{font-size:10px;gap:14px}
 .pam__lead{font-size:21px;margin-top:22px!important}
 .pam__gallery{aspect-ratio:1.4;margin-top:28px;border-radius:18px}
 .pam__arrow--prev{left:10px}.pam__arrow--next{right:10px}
 .pam__thumbs{gap:10px}.pam__thumb{aspect-ratio:1.1;border-radius:12px}.pam__thumb :is(img,svg){border-radius:8px}
 .pam__number{top:8px;left:8px;font-size:13px;width:28px;height:28px}
 .pam .pam__caption-title{font-size:32px}.pam__caption-text{font-size:20px}
}
