@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#20382d;--paper:#f6f3eb;--gold:#b99660;--muted:#697267}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:20}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;line-height:1;display:flex;align-items:center;gap:13px}.brand-mark{border:1px solid var(--gold);border-radius:50%;width:42px;height:49px;display:grid;place-items:center}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:9px}nav{display:flex;gap:28px;align-items:center;font-size:12px}nav a:hover,.text-link:hover{color:#a0733d}.button{background:var(--ink);color:white;display:inline-flex;gap:40px;justify-content:space-between;align-items:center;padding:15px 24px;border:1px solid var(--ink);font-size:13px;transition:.2s}.button:hover{background:#395443;transform:translateY(-2px)}.small{padding:11px 18px}.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.menu{display:none}.hero{height:min(790px,85vh);min-height:570px;position:relative;color:white;margin:0 20px}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,16,.68),rgba(9,28,16,.12)),linear-gradient(0deg,rgba(9,28,16,.45),transparent 50%)}.hero-copy{position:absolute;left:6%;top:17%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 20px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05;margin:0}h1{font-size:clamp(64px,7.9vw,116px);letter-spacing:-3px}h2{font-size:clamp(44px,4.6vw,69px);letter-spacing:-1.5px}h3{font-size:32px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin:27px 0}.hero-bottom{position:absolute;bottom:28px;left:6%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.section{padding:105px max(6%,calc((100% - 1240px)/2))}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro-grid p{color:var(--muted);font-size:14px}.intro-grid .lead{font-size:21px;color:var(--ink);margin-top:0}.text-link{background:none;border:0;border-bottom:1px solid var(--gold);padding:5px 0;font-size:12px;display:inline-block}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid #d9dccf;padding-top:28px}.facts span{font-size:11px;color:var(--muted);border-right:1px solid #d9dccf;padding-left:25px}.facts span:first-child{padding-left:0}.facts span:last-child{border:0}.facts strong{font:30px 'Libre Caslon Display',Georgia,serif;color:var(--ink);display:block;margin-bottom:7px}.stays{background:#e9ecdf}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px}.section-head>p{font-size:13px;color:var(--muted)}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c7cebf;border:1px solid #c7cebf}.villa{padding:28px;background:#e9ecdf;position:relative;display:flex;flex-direction:column}.villa-num{font-family:'Libre Caslon Display',serif;color:#9caa97;font-size:46px;margin-bottom:25px}.villa .eyebrow{font-size:8px;letter-spacing:1.5px}.villa h3{font-size:32px;min-height:68px}.villa p:not(.eyebrow){font-size:13px;color:var(--muted);margin:22px 0}.villa ul{font-size:12px;padding:15px 0 15px 16px;border-top:1px solid #c7cebf;margin-top:auto}.villa .text-link{align-self:start}.villa.featured{background:var(--ink);color:var(--paper)}.villa.featured p:not(.eyebrow){color:#d1d8cd}.subtle{font-size:11px;color:var(--muted);margin-top:24px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;padding:20px}.gallery figure{height:470px;position:relative;margin:0;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;padding:45px 20px 20px;width:100%;color:white;font-size:12px;background:linear-gradient(transparent,#112519aa)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.experience-grid article{border-top:1px solid var(--gold);padding-top:23px}.experience-grid span{font-size:9px;letter-spacing:1px;color:var(--muted)}.experience-grid h3{margin-top:25px;font-size:35px}.experience-grid p{font-size:13px;color:var(--muted)}.nearby{background:#eeebe2}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid #c7cbbf;background:transparent;color:var(--ink);padding:8px 16px;border-radius:20px;font-size:11px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.destination img{width:100%;height:210px;object-fit:cover}.destination .meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-top:15px;color:var(--muted)}.destination h3{font-size:27px;margin-top:8px}.destination p{font-size:12px;color:var(--muted);margin-bottom:8px}.destination{padding-bottom:23px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit>div>p:not(.eyebrow){font-size:14px;margin:30px 0}.visit-info{padding-top:25px}.visit-info h3{font-size:30px;margin-bottom:20px}details{border-bottom:1px solid #ccd1c4;padding:17px 0}summary{cursor:pointer;font-size:14px}details p{font-size:13px;color:var(--muted)}.booking{background:#e1e6d7;display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.booking>div>p:not(.eyebrow){font-size:13px;max-width:300px;margin:27px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #8f9f89;background:transparent;padding:12px 0;color:var(--ink);font-size:13px;border-radius:0}textarea{resize:vertical}form>label{margin:22px 0}form .button{width:100%}#form-error{color:#9e301d;font-size:12px}footer{background:#1c3026;color:#e7e8df;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:65px 6% 28px;font-size:12px}footer .brand{display:block;font-size:36px}footer>div{display:flex;flex-direction:column;align-items:start;gap:10px}footer>span{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:20px;font-size:10px;color:#bdc7b8}img{display:block}section{scroll-margin-top:20px}@media(min-width:1600px){.hero{max-width:1560px;margin:auto}}@media(max-width:900px){nav{gap:15px}.section{padding:75px 6%}.intro-grid,.visit,.booking{gap:40px}.villa{padding:22px}.villa h3{font-size:28px}.gallery figure{height:340px}.experience-grid{gap:25px}}@media(max-width:680px){header{height:78px}.brand{font-size:29px}.menu{display:block;border:0;background:none;color:var(--ink);font-size:23px}nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 6%;background:var(--paper);flex-direction:column;align-items:start}nav.open{display:flex}.hero{margin:0 10px;min-height:590px;height:80vh}.hero-copy{left:7%;right:5%;top:20%}h1{font-size:69px}.hero-copy p{font-size:13px}.hero-bottom{font-size:8px;left:7%;letter-spacing:.4px}.hero-bottom>a{display:none}.section{padding:65px 7%}.intro-grid,.visit,.booking{grid-template-columns:1fr;gap:30px}.facts{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.facts span:nth-child(3){padding-left:0}.facts span:nth-child(2){border:0}.section-head{display:block}.section-head>p{margin-top:25px}.section-head>.text-link{margin-top:25px}.villa-grid{grid-template-columns:1fr;gap:1px}.villa{padding:28px}.villa-num{margin-bottom:8px}.villa h3{min-height:0;font-size:36px}.gallery{grid-template-columns:1fr 1fr;padding:10px;gap:10px}.gallery .wide{grid-column:1/-1;height:340px}.gallery figure{height:240px}.gallery figcaption{font-size:10px;padding:20px 12px 12px}.experience-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.experience-grid h3{margin-top:10px}.destination-grid{grid-template-columns:1fr 1fr;gap:18px}.destination img{height:155px}.destination h3{font-size:24px}.destination .meta{font-size:8px;letter-spacing:0}.destination p{font-size:11px}.filters button{font-size:10px;padding:7px 12px}.form-grid{gap:15px}footer{grid-template-columns:1fr;gap:22px;padding:48px 7% 25px}footer>span{grid-column:1}.booking h2 br:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.brand-logo{width:auto;height:82px;object-fit:contain}footer .brand{justify-self:start;align-self:start;background:var(--paper);padding:14px;border-radius:4px}footer .brand-logo{height:140px;width:auto}@media(max-width:680px){header .brand-logo{height:68px}}

footer .contact-links{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 30px}footer .contact-links a{overflow-wrap:anywhere}footer .contact-links a:hover{text-decoration:underline}

.header-actions{display:flex;align-items:center;gap:24px}.contact-menu{position:relative;border:0;padding:0}.contact-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;font-size:12px;white-space:nowrap}.contact-menu>summary::-webkit-details-marker{display:none}.contact-menu[open]>summary{color:#805c32}.contact-panel{position:absolute;top:calc(100% + 18px);right:0;width:290px;padding:12px;background:var(--paper);color:var(--ink);border:1px solid #c7cbbf;box-shadow:0 14px 35px #172d2529;z-index:40}.contact-panel a{display:block;padding:12px;font-size:12px;overflow-wrap:anywhere}.contact-panel a:hover{background:#e1e6d7}.contact-panel a span{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:3px}.contact-menu[open]>summary span{transform:rotate(180deg)}@media(max-width:680px){nav .contact-menu{width:100%}nav .contact-panel{position:static;width:100%;box-shadow:none;margin-top:14px}.header-actions{gap:15px}.header-actions .button{font-size:11px;padding:10px}.header-actions .contact-panel{right:0;width:min(290px,85vw)}.header-actions .contact-menu>summary{font-size:12px}}
