*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f3f0e6;color:#17251e;font-family:"DM Sans",sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.nav{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f3f0e6;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(23,59,43,.08)}
.brand{font-family:"Playfair Display",serif;font-size:21px;line-height:.85;letter-spacing:.02em;white-space:nowrap}
.brand span{font-weight:600}
.brand small{display:block;font:600 8px "DM Sans";letter-spacing:.18em;margin-top:9px;color:#657166}
.nav nav{display:flex;gap:27px;font-size:13px}
.nav nav a:hover,.text-link:hover,.arrow:hover{opacity:.58}
.nav-cta{background:#173b2b;color:#f6f2e8;padding:10px 18px;border-radius:99px;font-size:13px}
.hero{height:calc(100vh - 78px);min-height:650px;position:relative;color:white;display:flex;align-items:flex-end;overflow:hidden}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.03);transition:opacity 1.2s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,18,.78),rgba(7,27,18,.14) 75%),linear-gradient(0deg,rgba(7,27,18,.76),transparent 58%)}
.hero-copy{position:relative;z-index:2;padding:8vw 7vw 7.5vw;max-width:1000px}
.eyebrow,.kicker{font-size:10px;letter-spacing:.2em;font-weight:600}
.hero h1{font:500 clamp(48px,7vw,92px)/.96 "Playfair Display",serif;margin:18px 0 24px}
.lead{max-width:650px;font-size:17px;color:#e7ebe4}
.actions{display:flex;gap:28px;align-items:center;margin-top:30px}
.button{display:inline-block;border:0;padding:14px 22px;border-radius:99px;font:600 13px "DM Sans";cursor:pointer}
.button.light{background:#f4f1e7;color:#173b2b}
.dark-button{background:#173b2b;color:#f4f1e7;margin-top:26px}
.text-link,.arrow{font-weight:600;font-size:13px}
.hero-dots{position:absolute;z-index:3;right:7vw;bottom:8vw;display:flex;gap:8px}
.hero-dots i{width:28px;height:2px;background:rgba(255,255,255,.45);display:block}
.hero-dots i.active{background:white}
.section{padding:110px 7vw}
.intro{display:grid;grid-template-columns:.55fr 1.45fr;gap:9vw;max-width:1400px;margin:auto}
.intro h2,.section-head h2,.split h2,.border-copy h2,.location h2,.enquire h2{font:500 clamp(40px,5vw,68px)/1.05 "Playfair Display",serif;margin:0 0 22px}
.intro p{font-size:18px;max-width:800px}
.muted{color:#69736c}
.dark{background:#173b2b;color:#f3f0e6}
.section-head{max-width:820px;margin-bottom:55px}
.section-head p{color:#b9c5bc}
.stay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.stay-card{background:#224a38;overflow:hidden}
.card-photo{height:420px;background:center/cover no-repeat;transition:transform .6s ease}
.stay-card:hover .card-photo{transform:scale(1.025)}
.card-body{padding:26px 28px 34px}
.card-body span{font-size:10px;letter-spacing:.15em;color:#a9b9ae}
.card-body h3{font:500 32px "Playfair Display";margin:9px 0}
.card-body p{margin:0;color:#c2cdc5;max-width:620px}
.cream{background:#e4dfd0}
.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#bdb9ac}
.experience-grid article{background:#e4dfd0}
.experience-image{height:300px;background-position:center;background-size:cover}
.experience-copy{padding:28px 34px 36px;min-height:235px}
.experience-copy b{font-size:10px;letter-spacing:.2em}
.experience-copy h3{font:500 31px "Playfair Display";margin:14px 0 8px}
.experience-copy p{max-width:520px}
.split,.borderlands{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.split-image,.border-image{min-height:680px;background:center/cover no-repeat}
.split-copy,.border-copy{padding:110px 9vw;display:flex;flex-direction:column;justify-content:center}
.split-copy p{max-width:610px}
.wide-image{height:620px;position:relative;overflow:hidden}
.wide-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.wide-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,27,18,.72),transparent 58%)}
.wide-caption{position:absolute;z-index:2;left:7vw;bottom:65px;color:white;max-width:700px}
.wide-caption span{display:block;font-size:10px;letter-spacing:.2em;font-weight:600;margin-bottom:10px}
.wide-caption strong{font:500 clamp(30px,4vw,52px)/1.05 "Playfair Display",serif}
.explore{background:#f3f0e6}
.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c6c1b3}
.destination-grid>div{background:#f3f0e6;padding:35px;min-height:210px}
.destination-grid span{font-size:10px;letter-spacing:.15em;color:#788177}
.destination-grid h3{font:500 29px "Playfair Display";margin:13px 0 8px}
.destination-grid p{margin:0;color:#59645d}
.route{display:flex;gap:22px;align-items:center;margin:25px 0;font-size:11px;letter-spacing:.18em}
.route i{font-style:normal;font-size:22px}
.location{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.location-details{display:flex;flex-direction:column;gap:3px;margin-top:25px;font-size:13px}
.location-details span{color:#69736c}
.map-card{height:390px;background:#d7d3c4;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.map-card:before,.map-card:after{content:"";position:absolute;width:130%;height:1px;background:#aaa99e;transform:rotate(23deg)}
.map-card:after{transform:rotate(-18deg)}
.map-card strong,.map-card span,.map-card small{position:relative;z-index:1}
.map-card strong{font:500 34px "Playfair Display"}
.map-card span{font-size:10px;letter-spacing:.18em}
.map-card small{font-size:9px;letter-spacing:.15em;color:#626b64}
.map-rings{position:absolute;width:210px;height:210px;border:1px solid #aaa99e;border-radius:50%;opacity:.7}
.map-rings:before,.map-rings:after{content:"";position:absolute;border:1px solid #aaa99e;border-radius:50%;inset:25px}
.map-rings:after{inset:55px}
.gallery{background:#f3f0e6}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:10px}
.gallery-grid figure{margin:0;overflow:hidden}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.035)}
.gallery-grid .g-wide{grid-column:span 2}
.gallery-grid .g-tall{grid-row:span 2}
.enquire{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}
.enquire form{display:grid;gap:16px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:11px;letter-spacing:.08em}
input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #496354;background:transparent;color:#f3f0e6;border-radius:3px;font:14px "DM Sans"}
input::placeholder,textarea::placeholder{color:#9cad9f}
select option{color:#17251e}
textarea{resize:vertical}
.enquire small{color:#b9c5bc}
.contact-note{display:flex;flex-direction:column;gap:4px;margin-top:35px}
.contact-note span{color:#b9c5bc;font-size:12px}
.contact-note strong{font:500 28px "Playfair Display"}
footer{background:#10291f;color:#dfe6df;padding:70px 7vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8vw;font-size:13px}
footer b{font-size:10px;letter-spacing:.18em}
.footer-brand{color:#fff}
.footer-brand small{color:#9aaba0}
footer a{color:#dfe6df}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;width:62px;height:62px;border-radius:50%;background:#1fa463;color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.2);font-weight:700}
.whatsapp-float span{font-size:15px}
.whatsapp-float small{position:absolute;right:72px;white-space:nowrap;background:#173b2b;color:white;border-radius:6px;padding:7px 10px;font:600 11px "DM Sans";opacity:0;transform:translateX(5px);transition:.2s}
.whatsapp-float:hover small{opacity:1;transform:none}
@media(max-width:900px){
  .nav nav{display:none}
  .nav{padding:0 5vw}
  .hero{min-height:690px}
  .hero-copy{padding:15vw 6vw 18vw}
  .hero h1{font-size:clamp(44px,12vw,68px)}
  .hero-dots{right:6vw;bottom:8vw}
  .intro,.split,.borderlands,.location,.enquire{grid-template-columns:1fr}
  .split-image,.border-image{min-height:430px}
  .split-copy,.border-copy{padding:78px 7vw}
  .stay-grid,.experience-grid{grid-template-columns:1fr}
  .destination-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}
  .gallery-grid .g-wide{grid-column:span 2}
  .gallery-grid .g-tall{grid-row:span 2}
  .section{padding:82px 6vw}
  .card-photo{height:330px}
  .wide-image{height:500px}
  footer{grid-template-columns:1fr;gap:40px}
}
@media(max-width:560px){
  .brand{font-size:18px}
  .brand small{font-size:7px;letter-spacing:.13em}
  .nav-cta{padding:9px 14px}
  .actions{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-copy{padding-bottom:20vw}
  .destination-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}
  .gallery-grid .g-wide{grid-column:span 1}
  .gallery-grid .g-tall{grid-row:span 1}
  .two{grid-template-columns:1fr}
  .whatsapp-float{right:16px;bottom:16px}
  .whatsapp-float small{display:none}
  .wide-image{height:440px}
  .wide-caption{left:6vw;bottom:45px;right:6vw}
}
