:root{--ivory:#f7f2e9;--ivory-2:#efe7d8;--sand:#e3d6bf;--stone:#b9ae9b;--forest:#1e3328;--forest-2:#2b4637;--olive:#66703f;--gold:#a88e5f;--gold-soft:#c9b48a;--charcoal:#24231f;--muted:#5d5a52;--line:rgba(36,35,31,0.14);--serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;--sans:"Jost","Helvetica Neue",Arial,system-ui,sans-serif;--wrap:1240px;--gutter:clamp(20px,5vw,64px);--ease:cubic-bezier(0.22,0.61,0.36,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,video{max-width:100%;display:block}a{color:inherit}::selection{background:var(--forest);color:var(--ivory)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--forest);color:var(--ivory);padding:12px 18px}.skip-link:focus{left:12px;top:12px}.display,h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.05;margin:0 0 .4em;color:inherit}h1{font-size:clamp(44px,7vw,96px)}h2{font-size:clamp(34px,4.6vw,62px)}h3{font-size:clamp(24px,2.4vw,32px);line-height:1.15}p{margin:0 0 1.1em}.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--olive);margin:0 0 18px;display:inline-flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:32px;height:1px;background:currentColor}.on-dark .eyebrow{color:var(--gold-soft)}.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.65;color:var(--muted);max-width:62ch}.on-dark .lede{color:rgba(247,242,233,.82)}.prose{max-width:70ch}.prose h2{font-size:clamp(30px,3.4vw,42px);margin-top:1.6em}.prose h3{margin-top:1.4em}.prose ol,.prose ul{padding-left:1.2em;margin:0 0 1.2em}.prose li{margin-bottom:.4em}.prose a{color:var(--forest);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(80px,11vw,160px) 0}.section.tight{padding:clamp(56px,7vw,96px) 0}.bg-sand{background:var(--ivory-2)}.bg-forest{background:var(--forest)}.bg-forest,.on-dark{color:var(--ivory)}.grid-2{display:grid;grid-template-columns:1fr;grid-gap:clamp(36px,6vw,96px);gap:clamp(36px,6vw,96px);align-items:center}.grid-3{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px}@media (min-width:880px){.grid-2{grid-template-columns:1fr 1fr}.grid-2.wide-left{grid-template-columns:1.25fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}.stack>*+*{margin-top:16px}.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}.rule{height:1px;background:var(--line);border:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font-family:var(--sans);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;text-decoration:none;border:1px solid var(--forest);background:var(--forest);color:var(--ivory);cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.btn:hover{background:var(--forest-2)}.btn.ghost{background:transparent;color:var(--forest)}.btn.ghost:hover{background:var(--forest);color:var(--ivory)}.hero .btn,.on-dark .btn{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}.hero .btn:hover,.on-dark .btn:hover{background:var(--sand)}.hero .btn.ghost,.on-dark .btn.ghost{background:transparent;color:var(--ivory);border-color:rgba(247,242,233,.6)}.hero .btn.ghost:hover,.on-dark .btn.ghost:hover{background:rgba(247,242,233,.12)}.btn[disabled]{opacity:.6;cursor:progress}.btn-row{display:flex;flex-wrap:wrap;gap:14px}.text-link{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;font-weight:500;border-bottom:1px solid var(--gold);padding-bottom:6px;color:var(--forest)}.on-dark .text-link,.site-header{color:var(--ivory)}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease)}.site-header.light-page,.site-header.solid{background:rgba(247,242,233,.96);color:var(--charcoal);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand .wordmark{font-family:var(--serif);font-size:27px;letter-spacing:.16em;font-weight:500}.brand .sub{font-size:9.5px;letter-spacing:.44em;text-transform:uppercase;margin-top:6px;opacity:.8}.main-nav ul{list-style:none;margin:0;padding:0;display:none;gap:clamp(12px,1.25vw,24px)}.site-header .wrap{max-width:1480px}.main-nav a{text-decoration:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 0;white-space:nowrap;border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}.main-nav a:hover,.main-nav a[aria-current=page]{border-color:currentColor}.header-cta{display:none}.menu-toggle{background:none;border:1px solid;color:inherit;height:44px;padding:0 16px;font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}@media (min-width:1280px){.main-nav ul{display:flex}.menu-toggle{display:none}.header-cta{display:inline-flex;min-height:44px;padding:0 20px;white-space:nowrap}.site-header:not(.solid):not(.light-page) .header-cta{background:transparent;border-color:rgba(247,242,233,.6);color:var(--ivory)}}.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--forest);color:var(--ivory);padding:24px var(--gutter) 40px;display:flex;flex-direction:column;overflow-y:auto}.mobile-menu .top{display:flex;justify-content:space-between;align-items:center;height:60px}.mobile-menu ul{list-style:none;padding:0;margin:32px 0}.mobile-menu li a{display:block;font-family:var(--serif);font-size:34px;padding:8px 0;text-decoration:none}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--ivory);overflow:hidden;background:var(--forest)}.hero.short{min-height:72svh}.hero .media-fill,.hero:after{position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(180deg,rgba(18,28,22,.55),rgba(18,28,22,.1) 35%,rgba(18,28,22,.25) 60%,rgba(18,28,22,.78));pointer-events:none}.hero .inner{position:relative;z-index:2;padding-bottom:clamp(56px,10vh,120px);padding-top:140px}.hero h1{max-width:14ch;font-weight:400}.hero .lede{color:rgba(247,242,233,.88);margin-bottom:36px}.hero .label-chip{position:absolute;right:var(--gutter);bottom:24px;z-index:3}.reveal{animation:rise 1.2s var(--ease) both}.reveal.d2{animation-delay:.15s}.reveal.d3{animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.media{position:relative;overflow:hidden;background:var(--sand)}.media img{width:100%;height:100%;object-fit:cover}.media.ratio-portrait{aspect-ratio:4/5}.media.ratio-landscape{aspect-ratio:3/2}.media.ratio-wide{aspect-ratio:16/9}.media.ratio-square{aspect-ratio:1}.media-fill>.media,.media-fill>.media>img{width:100%;height:100%}.placeholder{position:absolute;inset:0;display:flex;align-items:flex-end;padding:20px}.placeholder:before{content:"";position:absolute;inset:0;opacity:.55;background-image:repeating-linear-gradient(115deg,transparent 0 22px,rgba(255,255,255,.05) 22px 23px)}.placeholder .ph-text{position:relative;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,242,233,.8);max-width:34ch;line-height:1.5}.tone-forest{background:radial-gradient(120% 90% at 70% 20%,#4f6a4a 0,#26402f 45%,#142219 100%)}.tone-sand{background:radial-gradient(120% 90% at 30% 20%,#e9dcc3 0,#c7b08a 50%,#8e7754 100%)}.tone-olive{background:radial-gradient(120% 90% at 60% 10%,#a3a86f 0,#6c7442 45%,#343a1f 100%)}.tone-stone{background:radial-gradient(120% 90% at 40% 20%,#d9d1c2 0,#a59a86 55%,#6b6253 100%)}.tone-dusk{background:radial-gradient(110% 80% at 70% 15%,#e9c58c 0,#b07c52 22%,#4f4b3a 55%,#18241b 100%)}.chip{display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:6px 10px;background:rgba(20,28,22,.62);color:var(--ivory);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1.2}.media .chip{position:absolute;top:14px;left:14px;z-index:2}.chip.status{background:var(--ivory-2);color:var(--olive);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.villa-card{text-decoration:none;display:block;color:inherit}.villa-card .media img,.villa-card .placeholder{transition:transform 1.2s var(--ease)}.villa-card:hover .media img,.villa-card:hover .placeholder{transform:scale(1.04)}.villa-card h3{margin-top:22px;margin-bottom:6px}.villa-card .meta{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.spec-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin:28px 0}.spec-list div{padding:18px 0;border-bottom:1px solid var(--line)}.spec-list dt{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.spec-list dd{margin:4px 0 0;font-family:var(--serif);font-size:26px}@media (min-width:700px){.spec-list{grid-template-columns:repeat(4,1fr)}}.feature{border-top:1px solid var(--line);padding-top:26px}.on-dark .feature{border-color:rgba(247,242,233,.2)}.feature .num{font-family:var(--serif);font-size:18px;color:#7a6339;display:block;margin-bottom:10px}.notice{border-left:2px solid var(--gold);background:rgba(168,142,95,.08);padding:18px 22px;font-size:15px;color:var(--muted)}.notice strong{color:var(--charcoal);font-weight:500}.story-split{display:grid;grid-gap:clamp(24px,4vw,56px);gap:clamp(24px,4vw,56px);grid-template-columns:1fr}@media (min-width:880px){.story-split{grid-template-columns:1fr 1fr}.story-split .offset{margin-top:120px}}.breadcrumbs{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;opacity:.85}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.breadcrumbs li+li:before{content:"/";margin-right:8px;opacity:.6}.breadcrumbs a{text-decoration:none}.form,.form .row{display:grid;grid-gap:22px;gap:22px}.form .row{grid-template-columns:1fr}@media (min-width:700px){.form .row{grid-template-columns:1fr 1fr}}.field label{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px;color:var(--muted);font-weight:500}.field .req{color:var(--gold)}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--charcoal);background:transparent;border:0;border-bottom:1px solid rgba(36,35,31,.35);padding:10px 0 12px;border-radius:0;transition:border-color .3s var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--charcoal) 50%),linear-gradient(135deg,var(--charcoal) 50%,transparent 50%);background-position:calc(100% - 12px) 22px,calc(100% - 7px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 1px 0 var(--forest)}.field .err{color:#9a3b26;font-size:13.5px;margin-top:6px}.field [aria-invalid=true]{border-color:#9a3b26}.phone-row{display:grid;grid-template-columns:110px 1fr;grid-gap:14px;gap:14px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.55}.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--forest);flex:none}.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.form-alert{padding:16px 18px;border:1px solid #9a3b26;color:#7a2e1d;background:#fbf1ec;font-size:15px}.form-card{background:var(--ivory);padding:clamp(28px,4vw,56px);border:1px solid var(--line)}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.gallery-filters button{font-family:var(--sans);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;background:transparent;border:1px solid var(--line);padding:10px 16px;cursor:pointer;color:var(--charcoal);min-height:44px}.gallery-filters button[aria-pressed=true]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}.gallery-grid{column-count:1;column-gap:18px}@media (min-width:640px){.gallery-grid{column-count:2}}@media (min-width:1000px){.gallery-grid{column-count:3}}.gallery-grid button{display:block;width:100%;padding:0;border:0;margin:0 0 18px;cursor:zoom-in;page-break-inside:avoid;break-inside:avoid;background:none;text-align:left}.gallery-grid figcaption{font-size:13px;color:var(--muted);padding:10px 0 0}.lightbox{position:fixed;inset:0;z-index:80;background:rgba(14,20,16,.94);display:flex;align-items:center;justify-content:center;padding:64px 16px;animation:fade .3s var(--ease)}.lightbox .frame{width:min(1200px,100%)}.lightbox .frame .media{max-height:76vh}.lightbox .cap{color:var(--ivory);margin-top:14px;font-size:14px;display:flex;justify-content:space-between;gap:16px}.lightbox .ctrl{position:absolute;background:rgba(247,242,233,.1);border:1px solid rgba(247,242,233,.35);color:var(--ivory);width:52px;height:52px;font-size:20px;cursor:pointer;z-index:2}.lightbox .close{top:16px;right:16px}.lightbox .prev{left:16px;top:50%}.lightbox .next{right:16px;top:50%}@keyframes fade{0%{opacity:0}}.site-footer{background:#16241c;color:rgba(247,242,233,.82);padding:96px 0 40px;font-size:15px}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}.footer-grid{display:grid;grid-template-columns:1fr;grid-gap:40px;gap:40px}@media (min-width:880px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}.site-footer h2{font-family:var(--sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;font-weight:500}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.footer-base{border-top:1px solid rgba(247,242,233,.14);margin-top:64px;padding-top:28px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px;color:rgba(247,242,233,.6)}.cta-band{text-align:center}.cta-band h2{max-width:18ch;margin-left:auto;margin-right:auto}.cta-band .btn-row{justify-content:center;margin-top:36px}.post-card{text-decoration:none;display:block;border-top:1px solid var(--line);padding-top:24px}.post-card h3{font-size:28px}.post-card p,.post-meta{color:var(--muted)}.post-meta{font-size:12px;letter-spacing:.2em;text-transform:uppercase}.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:560px;background:var(--ivory);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.16);padding:22px;font-size:14px}.consent-banner .btn{min-height:42px;padding:0 18px;font-size:11px}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;background:var(--forest)}.mobile-cta a{min-height:54px;display:flex;align-items:center;justify-content:center;color:var(--ivory);text-decoration:none;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase}.mobile-cta a+a{border-left:1px solid rgba(247,242,233,.2)}@media (min-width:880px){.mobile-cta{display:none}}@media (max-width:879px){.site-footer{padding-bottom:96px}}.on-dark .feature .num{color:var(--gold-soft)}.field .req{color:#8a6f3e}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.prose table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:15px;display:block;overflow-x:auto}.prose td,.prose th{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}.prose th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}.prose hr{border:0;height:1px;background:var(--line);margin:2em 0}.consent input,.field input,.field select,.field textarea{scroll-margin-top:130px}.wa-float{position:fixed;right:18px;bottom:22px;z-index:45;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float:focus-visible{outline:3px solid #1e3328;outline-offset:3px}
@media (max-width:879px){.wa-float{bottom:72px;right:14px;width:52px;height:52px}}
.cce-has-bar .wa-float{bottom:84px}
