/* Shared responsive finishing layer. Loaded after page-specific styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0}
main,section,article,header,footer,form,nav{min-width:0}
:where(h1,h2,h3,h4,p,li,a,label){overflow-wrap:break-word}
.header nav a{white-space:nowrap;padding-block:12px}
.button{min-height:52px;line-height:1.45;gap:16px;border-radius:9px}
.button:disabled{transform:none}
.text-link{text-underline-offset:5px}
.eyebrow{line-height:1.7}
.section-heading>div{min-width:0}
.offer-grid{align-items:stretch}
.offer-card h3{min-height:0}
.offer-card .offer-summary{min-height:0}
.offer-card .offer-top{line-height:1.6}
.offer-card .button{margin-top:8px}
.offer-card .offer-price{letter-spacing:-.035em}
.price-unit{letter-spacing:0}
.signature-intro .fifth-heading>div{min-width:0}
.signature-intro .fifth-heading>div:first-child{flex:1}
.fifth-heading .offer-price{letter-spacing:-.035em}
.fifth-card .fifth-purchase{white-space:normal}
.purchase-bottom>div{min-width:0}
.membership-copy .eyebrow,.membership-copy .benefit>span,.closing .eyebrow{color:#a9c2ff}
.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.checkout-fields label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:0}
.checkout-fields input,.checkout-fields select{min-height:52px;padding:13px 14px;border:1px solid #aeb9c9;border-radius:8px;background:#fff;color:#20242b;font:400 16px/1.5 Arial,sans-serif}
.checkout-fields input:focus-visible,.checkout-fields select:focus-visible{outline:2px solid #245beb;outline-offset:3px}
.purchase-panel{padding:32px;border-radius:16px}
.purchase-panel>p{margin-block:16px}
.checkout-consent{margin-top:26px}
.consent-label{letter-spacing:0;font-size:14px;line-height:1.75}
.consent-label input{margin-top:5px;flex-shrink:0}
.checkout-continue{width:100%;font-size:16px}
.payment-summary{border:1px solid #dce2ec;border-radius:14px}
.payment-page a:not(.button){text-decoration:underline;text-underline-offset:4px}
.payment-page .button{width:100%}
.payment-help{overflow-wrap:anywhere}
.faq summary{min-height:44px;padding:8px 36px 8px 0;line-height:1.55;font-weight:500}
.faq summary:after{top:2px;color:#245beb}
.faq details{padding:12px 0}
footer a{display:inline-flex;align-items:center;min-height:44px}
footer>div{gap:8px 22px}
#mobile-nav{border-bottom:1px solid #e1e4e9;padding:12px 6% 20px}
#mobile-nav a{padding:14px 0;font-size:16px;min-height:48px}
@media(max-width:1000px){
 .header{height:80px;gap:14px;padding:0 5%}
 .header nav{display:none}
 .header .brand img{width:190px;height:64px}
 .header .login-top{margin-left:auto;font-size:12px;padding:12px 16px;min-height:46px;white-space:nowrap}
 .header .menu-toggle{display:grid;place-items:center;flex:0 0 44px;min-width:44px;height:44px;padding:0;font-size:25px;border-radius:8px}
 .header .menu-toggle:hover{background:#f0f4fb}
 .fifth-heading{flex-wrap:wrap}
 .fifth-heading>div{max-width:100%}
}
@media(max-width:760px){
 html{scroll-padding-top:24px}
 .header{height:76px;padding:0 6%;gap:12px}
 .header .brand img{width:168px;height:58px}
 .hero{height:auto;min-height:620px;display:flex;flex-direction:column;justify-content:center}
 .hero-content{width:100%;padding:62px 6% 100px}
 .hero h1{font-size:clamp(44px,11vw,64px);line-height:1.05;letter-spacing:-.045em;max-width:600px}
 .hero .eyebrow{font-size:10px;margin-bottom:26px}
 .hero-description{font-size:17px;line-height:1.65;margin-top:24px;max-width:390px}
 .hero-description br{display:none}
 .hero .actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:28px}
 .hero .button{font-size:15px;padding:17px 22px;min-height:56px}
 .hero .text-link{font-size:14px;min-height:44px}
 .hero-bottom{left:6%;right:6%;bottom:24px;gap:24px;font-size:8px;line-height:1.7;letter-spacing:.13em}
 .hero-bottom span{max-width:150px}
 .categories{padding:22px 6%;font-size:clamp(11px,3.1vw,17px);gap:6px;justify-content:space-between}
 .categories b{font-size:7px}
 .section{padding:56px 6%}
 h2{font-size:clamp(32px,8.4vw,44px);line-height:1.13}
 .section-heading{margin-bottom:28px}
 .section-heading>p{font-size:16px;line-height:1.75;margin-top:20px}
 .offer-grid{gap:28px}
 .offer-card{padding:24px;border-radius:14px}
 .offer-image-link{margin:-24px -24px 24px;border-radius:13px 13px 0 0}
 .offer-image-link .offer-photo{height:auto;aspect-ratio:4/3}
 .offer-image-link>span{font-size:12px;right:12px;bottom:12px;max-width:calc(100% - 24px)}
 .offer-card h3{font-size:30px;line-height:1.16}
 .offer-summary,.offer-card li{font-size:15px;line-height:1.7}
 .offer-card .offer-price{font-size:49px;margin:22px 0}
 .offer-card .button{font-size:14px;padding:16px 18px;min-height:54px}
 .offer-card ul{padding-top:20px;margin-bottom:14px}
 .offer-card .offer-disclosure{font-size:13px;line-height:1.6}
 .availability-banner{padding:24px;margin-bottom:28px}
 .availability-banner h3{font-size:29px}
 .fifth-card{padding:24px;margin-top:32px}
 .fifth-photos{margin:-24px -24px 0;gap:3px;border-radius:12px 12px 0 0}
 .fifth-photos img{height:125px}
 .signature-intro{margin:0 -24px;padding:28px 24px}
 .signature-intro .offer-top{font-size:9px;letter-spacing:.13em;gap:14px}
 .signature-intro .fifth-heading h3{font-size:34px;line-height:1.12}
 .signature-intro .offer-summary{margin:20px 0 26px;font-size:15px}
 .signature-intro .offer-price{font-size:52px;margin:0 0 18px}
 .signature-intro .fifth-purchase{margin-top:0}
 .included-stays{padding:26px 0;gap:22px}
 .included-stays h4{font-size:25px}
 .included-stays p{font-size:15px}
 .stay-total{line-height:1.8}
 .possibilities{padding-top:25px}
 .possibilities>h3{font-size:30px}
 .experience-options h4{font-size:26px}
 .experience-options p{font-size:15px;line-height:1.75}
 .benefit-stats strong{font-size:30px}
 .benefit-stats span{font-size:14px}
 .concierge-feature{padding:24px;gap:18px}
 .concierge-feature h4{font-size:32px}
 .purchase-bottom{padding:25px 0 16px}
 .membership-copy{padding:46px 6%}
 .membership-copy h2{font-size:38px}
 .membership-art{min-height:340px}
 .art-label{font-size:34px}
 .experience-grid{gap:26px 22px}
 .experience-grid h3{font-size:25px}
 .experience-grid p{font-size:14px}
 .inquire{gap:28px}
 .inquire form{padding:24px 20px}
 .inquire form label{font-size:14px}
 .form-note{font-size:13px}
 .closing h2{font-size:42px}
 .faq h2{font-size:36px}
 .faq summary{font-size:16px}
 .faq details p{font-size:15px;line-height:1.75}
 .disclosure-page>.eyebrow{margin-top:30px}
 .disclosure-page h1{font-size:38px;line-height:1.12}
 .disclosure-page h2{font-size:27px;line-height:1.2}
 .disclosure-page p,.disclosure-page li{font-size:15px;line-height:1.8}
 .purchase-panel{padding:22px;margin-top:30px}
 .purchase-panel h2{font-size:28px}
 .purchase-panel .checkout-total{font-size:32px}
 .checkout-fields{grid-template-columns:minmax(0,1fr);gap:18px}
 .checkout-consent .consent-label{font-size:14px;line-height:1.75;gap:12px}
 .checkout-continue{font-size:15px}
 .resort-heading{padding-top:28px;padding-bottom:28px}
 .resort-heading h1{font-size:38px;line-height:1.12}
 .resort-visual{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:240px 105px}
 .package-box{padding:24px;border-radius:14px;min-width:0}
 .package-box .button{font-size:14px}
 .gallery-tile span{font-size:14px;line-height:1.6}
 .passport-stats{gap:15px}
 .passport-stats span{font-size:12px}
 .review-pager{gap:14px;flex-wrap:wrap}
 .review-controls{align-items:stretch}
 footer{padding:28px 6%}
 footer>div{gap:4px 18px;font-size:13px}
 footer p{font-size:12px;line-height:1.8}
}
@media(max-width:480px){
 .header .login-top{display:none}
 .header .menu-toggle{margin-left:auto}
 .header .brand img{width:180px;height:62px}
 .header>a:not(.brand):not(.login-top){font-size:12px;max-width:130px;text-align:right}
 .hero{min-height:620px}
 .hero .button{width:100%;justify-content:space-between}
 .experience-grid{grid-template-columns:1fr}
 .experience-grid article{padding-top:22px}
 .line-icon{margin-bottom:14px}
 .fifth-photos img{height:100px}
 .offer-card h3{font-size:28px}
 .signature-intro .fifth-heading h3{font-size:31px}
 .purchase-panel{padding:20px}
}
@media(prefers-reduced-motion:reduce){.button:hover,.gallery-tile:hover{transform:none}}

@media(min-width:761px) and (max-width:1000px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
