/* V1.1 preserves the original upward journey and film treatment. */
.hero h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.07;letter-spacing:-.045em}
.hero .hero-content{max-width:59%}
.hero-signature{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:#d0edf8;margin:0 0 14px}
.hero .hero-copy{max-width:510px;margin-bottom:14px}
.social-links{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.76rem;margin:12px 0 20px}
.social-links a{border-bottom:1px solid #ffffff55;padding:5px 0;overflow-wrap:anywhere}
.social-links a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px}
.social-icon{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.social-icon .social-dot{fill:currentColor;stroke:none}
.social-links a:hover{color:#d0edf8}.hero .social-links span{display:none}
.service-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.service-links a{border:1px solid #c6e9f766;padding:12px 16px;font-size:.8rem;border-radius:3px;transition:background .2s}
.service-links a:hover{background:#c6e9f722}
.offer-card>.fine-print{font-size:.75rem;line-height:1.65;max-width:40em;margin-top:20px}
dialog .social-links a{border-color:#173c4c50}dialog .social-links a:hover{color:#24596f}
@media(max-width:1100px) and (min-width:701px){.hero h1{font-size:4.7vw}.hero-signature{font-size:1.25rem}}
@media(max-width:700px){
 .hero .hero-content{position:relative;inset:auto;transform:none;max-width:none;pointer-events:auto}
 .hero h1{font-size:clamp(1.65rem,7.2vw,2.65rem);line-height:1.07;margin-bottom:7px}
 .hero-signature{font-size:1.05rem;margin-bottom:6px}
 .hero .hero-copy{font-size:.76rem;line-height:1.45;margin-bottom:7px}
 .hero .social-links{font-size:.68rem;gap:20px;margin:0 0 8px}
 .hero .social-links a{padding:2px 0}
 .hero-scroll .hero{min-height:640px;gap:9px;grid-template-rows:auto auto minmax(155px,1fr) 30px}
 .hero .site-header{min-height:68px}
 .hero .hero-actions .button{min-height:40px}
 .service-links{gap:10px}.service-links a{flex:1 1 180px}
 footer .social-links{flex-direction:column;align-items:flex-start}
}
@media(max-width:370px){.hero-scroll .hero{min-height:600px}.hero h1{font-size:1.65rem}.hero-signature{font-size:.93rem}.hero .hero-copy{font-size:.7rem}.hero .site-header{min-height:60px}.hero .hero-actions .button{font-size:.65rem}}

/* Supporting pages are independent destinations, reached through links. */
body.detail-page{background:#204864;color:#f3f8fb;isolation:isolate}
.detail-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 5vw;border-bottom:1px solid #ffffff20;background:linear-gradient(#12354f70,transparent)}
.detail-header .header-resort-logo{width:70px}.detail-header .button{padding:12px 23px}
.detail-header .brand{font-size:.95rem}.detail-nav{display:flex;align-items:center;gap:24px;font-size:.8rem}
.detail-hero{max-width:1440px;margin:auto;padding:64px 6vw 70px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:7vw}
.detail-hero h1{font-size:clamp(2.7rem,4.7vw,5.1rem);line-height:1.05;margin:20px 0 24px}
.detail-hero .eyebrow{margin-top:35px}
.detail-hero h1 em{color:#d0edf8}.detail-hero .intro{color:#edf4f8;max-width:36em;font-size:1.04rem;text-shadow:0 2px 14px #061c2e55}
.detail-hero figure{margin:0}.detail-hero img{width:100%;height:560px;object-fit:cover;border-radius:3px}
.detail-hero figcaption{font-size:.73rem;color:#c7dce8;margin-top:12px}
.detail-content{max-width:1180px;padding:20px 6vw 80px;margin:auto}
.detail-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:46px 0;border-top:1px solid #ffffff2b}
.detail-row h2{font-size:clamp(2rem,3vw,3rem);max-width:12em}.detail-row h3{font-family:var(--serif);font-size:1.5rem;margin:24px 0 12px}
.detail-row p,.detail-row li{color:#edf4f8;font-size:.95rem;line-height:1.85;text-shadow:0 2px 14px #061c2e55}.detail-row ul{padding-left:20px}
.detail-row .eyebrow{font-size:.65rem}.detail-cta{border:1px solid #ffffff29;border-radius:4px;padding:38px;background:#0b2d4529}
.detail-cta h2{font-size:2.7rem}.detail-cta .button{margin-right:18px}.detail-cta p{max-width:44em}
.detail-page footer{padding:35px 6vw 90px;border-top:1px solid #ffffff24}.detail-page footer p{font-size:.76rem}
.detail-page .button-dark{background:#d4edf8;color:#153b4f}.detail-page .social-links{font-size:.78rem}
.detail-faq details{border-bottom:1px solid #ffffff25;padding:20px 0}.detail-faq summary{cursor:pointer;font-size:1rem}.detail-faq p{margin:15px 0 0}
.back-link{font-size:.8rem;color:#d8e7ef;border-bottom:1px solid #ffffff55;padding-bottom:5px}
.detail-second-photo{margin:32px 0 0}.detail-second-photo img{width:100%;height:460px;object-fit:cover;border-radius:3px;border:1px solid #ffffff45}
.detail-second-photo figcaption{font-size:.73rem;color:#e3eff4;margin-top:12px;line-height:1.6}
.detail-row-photo{grid-template-columns:1fr 1.1fr;align-items:start}.detail-row-photo h2{max-width:none}
.detail-hero img{border:1px solid #ffffff55;box-shadow:0 25px 90px #061c4030}
.detail-page .button,.detail-page .button-dark{border-radius:999px;background:#d4edf8;color:#153b4f}.detail-page .button:hover{background:#fff;color:#153b4f}
@media(max-width:760px){.detail-header{padding:20px 6vw;gap:14px}.detail-header .brand{font-size:.7rem}.detail-nav{gap:16px;font-size:.75rem}.detail-nav .button{font-size:.7rem;padding:10px 12px;min-height:42px}.detail-hero{grid-template-columns:1fr;padding-top:35px;gap:28px}.detail-hero h1{font-size:clamp(2.5rem,9vw,4rem)}.detail-hero img{height:390px}.detail-row{grid-template-columns:1fr;gap:12px;padding:30px 0}.detail-row h2{max-width:none;margin-bottom:8px}.detail-cta{padding:25px}.detail-cta h2{font-size:2.2rem}.detail-page .social-links{flex-direction:column;align-items:flex-start}.detail-content{padding-bottom:45px}.detail-hero .intro{font-size:.95rem}}
@media(max-width:700px) and (max-height:640px){.hero-scroll .hero{min-height:568px;grid-template-rows:auto auto minmax(120px,1fr) 30px;gap:7px}.hero .hero-bottom .scroll-guide{font-size:.58rem}}
@media(max-width:760px){.detail-row-photo{grid-template-columns:1fr}.detail-second-photo{margin:24px 0}.detail-second-photo img{height:420px}.detail-header .header-brands{gap:10px}.detail-header .brand svg{width:27px;height:30px}.detail-header .header-resort-logo{width:44px}.detail-header .brand{gap:7px;font-size:.7rem}.detail-header .brand small{font-size:.45rem;letter-spacing:.22em}.detail-header{padding:16px 5vw;gap:10px}.detail-nav{gap:12px}.detail-nav .button{padding:10px 14px}.detail-cta .button{margin-right:0}}
@media(max-width:370px){.detail-header .header-resort-logo{display:none}.detail-header .brand{font-size:.65rem}.detail-nav{gap:10px}.detail-nav .button{font-size:.65rem}.detail-second-photo img{height:350px}}
