/* Location page — shares the villa-detail palette */
.location-hero{position:relative;min-height:610px;display:flex;align-items:center;color:#fff;background:#24392d url('../images/visual-resort-entrance.webp') center 48%/cover no-repeat;isolation:isolate}
.location-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,35,27,.66),rgba(22,35,27,.25) 62%,rgba(22,35,27,.08));z-index:-1}
.location-hero-content{padding-top:105px;padding-bottom:95px;max-width:1200px;width:100%}.location-hero-content h1{font-size:clamp(2.8rem,6vw,5.2rem);line-height:1.05;max-width:760px;margin:18px 0}.location-hero-content h1 em,.location-cta h2 em{font-family:'Playfair Display',serif;font-weight:400}.location-hero-content>p:not(.eyebrow){max-width:620px;font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.92)}.location-hero-bottom{display:flex;justify-content:space-between;gap:20px;position:absolute;bottom:0;left:50%;transform:translateX(-50%);padding:20px 0;border-top:1px solid rgba(255,255,255,.35);font-size:.82rem;letter-spacing:.04em;color:#fff}.location-overview{background:#fffefa}.location-overview-grid,.location-experience-grid,.location-getting-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,84px)}.location-overview h2,.location-experience h2,.location-getting h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;margin:12px 0 20px;color:#27382e}.location-overview h2 em,.location-experience h2 em,.location-getting h2 em{font-family:'Playfair Display',serif;font-weight:400}.location-lede{line-height:1.8;color:#60665e;max-width:620px}.address-card{display:flex;gap:18px;margin-top:28px;padding:22px;background:#f7f5ef;border:1px solid #e8e5dc;border-radius:4px}.address-icon{font-size:1.7rem;color:#516b56}.address-card strong{font-size:1.05rem}.address-card p{line-height:1.7;color:#60665e;margin:8px 0}.text-link{display:inline-block;color:#314c38;font-weight:700;text-decoration:none;border-bottom:1px solid #9ba995;padding-bottom:4px}.location-map-card{position:relative;display:block;overflow:hidden;border-radius:5px;background:#e9eee7;box-shadow:0 18px 42px rgba(36,57,45,.10)}.location-map-card img{display:block;width:100%;height:auto;aspect-ratio:1005/783;object-fit:cover;transition:transform .5s}.location-map-card:hover img{transform:scale(1.025)}.map-card-cta{display:flex;justify-content:space-between;align-items:center;background:#24392d;color:#fff;padding:16px 20px;font-weight:600}.location-nearby{background:#f0f2ec}.section-heading{max-width:700px;margin:0 auto 38px;text-align:center}.section-heading h2{font-size:clamp(2rem,4vw,3.1rem);margin:10px 0;color:#27382e}.section-heading h2 em{font-family:'Playfair Display',serif;font-weight:400}.section-heading .heading-aside{color:#60665e;line-height:1.7}.nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.nearby-card{background:#fffefa;border:1px solid #e5e7df;display:flex;flex-direction:column;min-width:0}.nearby-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.nearby-card-body{padding:21px;display:flex;flex-direction:column;flex:1}.nearby-distance{font-size:.78rem;font-weight:700;color:#59715b;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px}.nearby-card h3{font-size:1.15rem;margin:0 0 10px;color:#283a2f}.nearby-card-body>p:not(.nearby-distance){font-size:.91rem;line-height:1.7;color:#62675f;margin:0 0 18px}.nearby-card a{margin-top:auto;color:#314c38;font-weight:700;text-decoration:none}.nearby-card a span{margin-left:5px}.location-disclaimer{font-size:.83rem;line-height:1.65;color:#71766e;margin:24px 0 0}.location-experience{background:#fffefa}.location-experience-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.location-experience>div>div:last-child>p:not(.eyebrow){line-height:1.8;color:#60665e}.location-list{list-style:none;margin:25px 0 0;padding:0}.location-list li{display:flex;gap:16px;padding:14px 0;border-top:1px solid #e6e7df}.location-list li>span{font-size:.82rem;color:#6e836e;font-weight:700}.location-list strong,.location-list small{display:block}.location-list small{color:#666d64;line-height:1.6;margin-top:4px}.location-getting{background:#f7f5ef}.travel-facts{margin:24px 0}.travel-facts div{display:flex;gap:20px;justify-content:space-between;padding:13px 0;border-bottom:1px solid #e1dfd6}.travel-facts strong{flex:0 0 140px;color:#2b3d31}.travel-facts span{color:#62675f;line-height:1.6}.getting-here-card{background:#fffefa;box-shadow:0 12px 32px rgba(36,57,45,.08)}.getting-here-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.getting-here-card>div{padding:24px}.getting-here-card h3{margin:0 0 10px;color:#283a2f}.getting-here-card p{line-height:1.7;color:#60665e}.location-cta{background:#24392d;color:#fff}.location-cta-inner{text-align:center;max-width:760px;margin:auto}.location-cta h2{font-size:clamp(2.2rem,4.5vw,3.5rem);margin:12px 0}.location-cta-inner>p:not(.eyebrow){color:rgba(255,255,255,.82);line-height:1.8}.location-cta .hero-actions{justify-content:center;margin-top:26px}
@media(max-width:1000px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-overview-grid,.location-experience-grid,.location-getting-grid{gap:34px}}
@media(max-width:700px){.location-hero{min-height:570px;background-position:58% center}.location-hero-content{padding-top:90px;padding-bottom:100px}.location-hero-content h1{font-size:clamp(2.5rem,11vw,3.8rem)}.location-hero-bottom{width:calc(100% - 40px);left:20px;transform:none;flex-wrap:wrap;gap:8px 18px;font-size:.72rem}.location-overview-grid,.location-experience-grid,.location-getting-grid{grid-template-columns:1fr}.location-map-card{order:2}.nearby-grid{grid-template-columns:1fr 1fr;gap:12px}.nearby-card-body{padding:15px}.nearby-card h3{font-size:1rem}.nearby-card-body>p:not(.nearby-distance){font-size:.86rem}.travel-facts div{display:block}.travel-facts span{display:block;margin-top:5px}}
@media(max-width:430px){.nearby-grid{grid-template-columns:1fr}.nearby-card>img{aspect-ratio:16/9}}
