:root{--paper:#faf9f5;--white:#fff;--ink:#2e382e;--muted:#74776c;--olive:#3c4737;--line:#ddded5;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}h2{font-size:clamp(36px,3.7vw,54px);letter-spacing:-1.4px;margin-bottom:26px}h3{font-size:28px}h2 em,h1 em{font-weight:400}p{margin-bottom:22px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b89753;outline-offset:5px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.2px;line-height:1.6;margin-bottom:22px}.eyebrow.light{color:#fff}.tiny-line{display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;gap:28px;position:relative;z-index:10}.home-header{position:absolute;inset:0 0 auto;color:white;border-bottom:1px solid #ffffff36}.brand{width:185px;flex-shrink:0}.brand img{object-fit:contain;height:auto}.header nav{display:flex;gap:34px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.header nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:24px}.header-book{padding:12px 20px;border:1px solid #ffffff80;font-size:13px}.header-book span{margin-left:26px}.menu-toggle{display:none;background:none;border:0;width:38px;height:42px;color:inherit;padding:6px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:8px 0}.hero{height:820px;min-height:700px;max-height:1050px;position:relative;color:white}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:50% 57%}.hero-shade{background:linear-gradient(90deg,#102017a8 0%,#13251d4d 53%,#101d1833 100%),linear-gradient(0deg,#0e201a85,transparent 45%,#14241936)}.hero-content{position:relative;padding-top:218px}.hero h1{font-size:clamp(54px,5.7vw,84px);line-height:1.13;letter-spacing:-2.8px;margin:0 0 28px}.hero h1 em{color:#eee7cd}.hero-content>p:not(.eyebrow){font-size:16px;color:#f2f2ea;line-height:1.85;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:17px 25px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1.6;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e9e7dc}.button-dark{background:var(--olive);color:#fff}.button-dark:hover{background:#283123}.hero-bottom{position:absolute;bottom:90px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.7px}.hero-bottom a{display:flex;align-items:center;gap:22px}.hero-bottom a span{font-size:22px}.booking-wrap{position:relative;margin-top:-48px;z-index:2;scroll-margin-top:50px}.booking-bar{background:var(--paper);border:1px solid var(--line);padding:27px 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr 1fr;gap:24px;align-items:center;box-shadow:0 12px 30px #26362206}.booking-intro .eyebrow{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:5px}.booking-intro>span:last-child{font-family:var(--serif);font-size:20px}.booking-bar label{border-left:1px solid var(--line);padding-left:24px;font-size:11px;color:var(--muted);display:grid;gap:5px}.booking-bar input,.booking-bar select{border:0;background:none;width:100%;color:var(--ink);font-size:13px;min-height:30px;outline-offset:1px;min-width:0}.booking-bar .button{padding:18px 14px;gap:20px}.story{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.story-visual{position:relative;margin-right:12px}.story-visual>img{height:550px}.image-caption{display:block;font-size:9px;letter-spacing:1.8px;margin-top:17px}.year-stamp{position:absolute;right:-48px;bottom:65px;width:157px;height:157px;background:var(--paper);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 7px #faf9f55c;transform:rotate(-10deg)}.year-stamp span{font-size:10px}.year-stamp strong{font-size:45px;font-family:var(--serif);font-weight:400;line-height:1.4}.story-text>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:470px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;font-weight:600;border-bottom:1px solid #989d8f;padding-bottom:9px}.story-facts{display:flex;gap:40px;margin-top:45px;border-top:1px solid var(--line);padding-top:23px}.story-facts>div{display:flex;flex-direction:column}.story-facts strong{font-family:var(--serif);font-size:35px;font-weight:400}.story-facts span{font-size:10px;color:var(--muted)}.stays{background:#f0f0e9}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:5px}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.villa-image{height:355px;position:relative;overflow:hidden}.villa-image img{height:100%;transition:transform .6s}.villa-card:hover .villa-image img{transform:scale(1.035)}.image-label{position:absolute;top:18px;left:18px;padding:6px 12px;background:#faf9f5f2;font-size:10px;letter-spacing:1px}.round-arrow{position:absolute;bottom:18px;right:18px;border-radius:50%;height:43px;width:43px;background:var(--paper);display:grid;place-items:center;font-size:22px}.villa-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:22px 0 9px}.villa-card h3{margin-bottom:10px}.villa-card>p{font-size:13px;color:var(--muted);margin-bottom:20px}.villa-bottom{border-top:1px solid #d5d7cd;display:flex;justify-content:space-between;padding-top:14px;font-size:10px;gap:12px}.villa-bottom>span:last-child{font-weight:600}.all-stays{display:flex;justify-content:space-between;align-items:center;margin-top:44px}.all-stays>span{font-size:12px;color:var(--muted)}.life{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.life-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:420px}.life-item{border-bottom:1px solid var(--line);padding:20px 0;display:flex;gap:24px}.life-item>span{font-size:11px;color:var(--muted);padding-top:4px}.life-item h3{font-size:21px;margin:0 0 7px}.life-item p{font-size:12px;color:var(--muted);margin:0}.life-visual{position:relative}.life-visual img{height:630px}.photo-note{position:absolute;left:-25px;bottom:35px;background:var(--paper);padding:18px 28px;font-family:var(--serif);font-style:italic;font-size:21px;transform:rotate(-4deg)}.invitation{background:var(--olive);text-align:center;padding:80px 0 90px;color:var(--paper)}.invitation h2{font-size:clamp(36px,4vw,58px);margin-bottom:30px}.invitation .eyebrow{opacity:.75}footer{background:#283228;color:#eeeee6;padding:65px 0 0}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px;padding-bottom:60px}.footer-brand img{width:190px;height:auto}.footer-brand p{font-size:12px;margin:25px 0 12px;color:#c0c7bb}.footer-brand>span{font-size:9px;letter-spacing:1.8px;color:#aab5a2}.footer-main h3{font-family:var(--sans);font-size:12px;font-weight:500;margin-bottom:22px}.footer-main .phone{display:block;font-family:var(--serif);font-size:24px;margin-bottom:8px}.footer-main>div>a:not(.phone){font-size:12px}.footer-main>div>p{font-size:12px;color:#c0c7bb}.footer-map{border-bottom:1px solid #64735e;padding-bottom:7px}.footer-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;padding-top:20px;padding-bottom:20px;color:#acb4a5;font-size:10px}.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:white;color:#223021;padding:10px}.skip-link:focus{top:10px}.request-dialog{border:1px solid var(--line);padding:45px;width:min(500px,calc(100% - 32px));color:var(--ink);background:var(--paper);max-height:90dvh;overflow:auto}.request-dialog::backdrop,.gallery-dialog::backdrop{background:#162019c9;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:28px;color:inherit;width:36px;height:36px;line-height:1}.request-dialog h2{font-size:42px}.request-dialog .request-note{font-size:13px;color:var(--muted)}.request-dialog .button{width:100%}body:has(dialog[open]){overflow:hidden}.detail-header{background:var(--olive);color:#fff;height:100px}.breadcrumbs{display:flex;gap:12px;font-size:11px;color:var(--muted);padding-top:28px;margin-bottom:30px}.detail-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px;gap:20px}.detail-title .eyebrow{margin-bottom:9px}.detail-title h1{font-size:64px;letter-spacing:-2px;margin:0}.detail-title p{font-size:13px;margin:0 0 5px;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:1.65fr 1fr 1fr;grid-template-rows:200px 200px;gap:12px;position:relative}.gallery-photo{padding:0;border:0;background:#eee;overflow:hidden;position:relative}.gallery-photo img{height:100%;transition:transform .5s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:first-child{grid-column:1 / 3;grid-row:1 / 3}.gallery-photo:nth-child(4){display:none}.gallery-open{position:absolute;right:20px;bottom:20px;background:var(--paper);color:var(--ink);padding:10px 16px;border:0;font-size:12px;box-shadow:0 3px 10px #0002}.detail-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:85px;padding-top:42px;padding-bottom:90px;align-items:start}.detail-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:12px;margin-bottom:35px}.detail-tabs a:first-child{font-weight:700}.feature-strip{display:flex;gap:30px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:34px}.feature-strip span{font-size:12px;display:flex;align-items:center;gap:10px}.feature-strip svg,.amenities svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}.detail-copy h2{font-size:37px}.detail-copy>section>p{color:var(--muted);font-size:14px}.detail-copy section{scroll-margin-top:25px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin:28px 0 42px}.amenities>div{display:flex;align-items:center;gap:14px;font-size:13px}.detail-section{border-top:1px solid var(--line);padding-top:32px;margin-top:35px}.detail-section h2{font-size:29px}.detail-reservation{background:#efefe7;border:1px solid var(--line);padding:30px;position:sticky;top:30px}.detail-reservation .eyebrow{font-size:10px;margin-bottom:14px}.detail-reservation h2{font-size:30px;letter-spacing:-.5px;margin-bottom:14px}.detail-reservation>p{font-size:12px;color:var(--muted)}.detail-reservation form{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.detail-reservation label{font-size:11px;display:grid;gap:6px}.detail-reservation input,.detail-reservation select{min-width:0;width:100%;background:var(--paper);border:1px solid #d3d6c8;padding:12px 9px;font-size:12px;color:var(--ink);min-height:46px}.detail-reservation .full{grid-column:1/-1}.detail-reservation .button{width:100%;margin-top:4px}.reservation-foot{font-size:10px;text-align:center;display:block;margin-top:15px;color:var(--muted)}.reservation-phone{border-top:1px solid #d3d6c8;margin-top:24px;padding-top:20px;text-align:center;font-size:12px}.reservation-phone a{display:block;font-size:19px;font-family:var(--serif);margin-top:5px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:13px;padding-right:15px}details p{font-size:13px;color:var(--muted);margin:15px 0 0}.location-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.location-line p{font-size:13px;color:var(--muted)}.gallery-dialog{padding:50px 25px 25px;border:0;background:#192219;color:white;width:min(1100px,94vw);max-height:94dvh}.gallery-dialog img{height:min(66vh,700px);object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:15px;font-size:12px}.gallery-controls button{background:none;border:1px solid #7e8977;color:#fff;padding:8px 20px}.detail-closing{border-top:1px solid var(--line);padding:45px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.detail-closing h2{font-size:29px;margin:0}.detail-closing .text-link{flex-shrink:0}
@media(min-width:1600px){.hero{height:900px}.hero-content{padding-top:255px}}@media(max-width:1150px){.container{width:calc(100% - 64px)}.header{padding:0 32px}.header nav{gap:20px;font-size:12px}.brand{width:155px}.story,.life{gap:65px}.booking-bar{gap:15px;padding:22px}.booking-intro>span:last-child{font-size:17px}.booking-bar label{padding-left:15px}.booking-bar .button{font-size:11px;gap:12px}.villa-image{height:290px}.story-visual>img{height:500px}.detail-layout{gap:40px}.footer-main{gap:40px}}
@media(max-width:850px){.header{height:90px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--olive);padding:28px 32px;flex-direction:column;font-size:16px;gap:22px;border-top:1px solid #ffffff25}.header nav.is-open{display:flex}.menu-toggle{display:block}.header-book{padding:9px 12px}.header-book span{margin-left:15px}.hero{height:780px}.hero-content{padding-top:205px}.hero h1{font-size:67px}.booking-bar{grid-template-columns:1fr 1fr 1fr}.booking-intro{grid-column:1/-1}.booking-bar label{border:0;padding:0}.booking-bar .button{grid-column:1/-1}.booking-wrap{margin-top:-45px}.hero-bottom{bottom:80px}.hero-bottom>span{display:none}.story,.life{gap:45px}.story-facts{gap:25px}.year-stamp{width:120px;height:120px;right:-20px}.year-stamp strong{font-size:36px}.year-stamp span{font-size:8px}.story-visual>img{height:470px}.story h2,.life h2{font-size:37px}.section{padding-block:75px}.story-facts span{font-size:9px}.villa-grid{gap:18px}.villa-image{height:240px}.villa-card h3{font-size:25px}.villa-bottom{font-size:10px}.villa-bottom>span:last-child{display:none}.villa-meta{font-size:8px;letter-spacing:1px}.villa-card>p{font-size:12px}.life-visual img{height:550px}.photo-note{font-size:17px;left:-20px;padding:14px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}.detail-layout{grid-template-columns:1.25fr 1fr;gap:25px}.detail-reservation{padding:23px}.detail-reservation form{grid-template-columns:1fr}.feature-strip{gap:15px;flex-wrap:wrap}.detail-gallery{grid-template-rows:170px 170px}.amenities{gap:20px}.detail-title h1{font-size:55px}.detail-title>p{max-width:220px;text-align:right}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.header{padding:0 20px;height:82px;gap:15px}.brand{width:137px}.header nav{top:82px}.header-actions{gap:13px}.header-book{font-size:11px;padding:8px 10px}.header-book span{display:none}.hero{height:710px;min-height:0}.hero-content{padding-top:185px}.hero h1{font-size:48px;line-height:1.2;letter-spacing:-1.8px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-content>p:not(.eyebrow){font-size:14px}.hero-image{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#14231ad1,#14231a40),linear-gradient(0deg,#13231b90,transparent)}.hero-bottom{bottom:65px;font-size:8px}.booking-wrap{margin-top:-29px}.booking-bar{padding:22px;grid-template-columns:1fr 1fr;gap:16px}.booking-bar label:nth-of-type(3){grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.booking-bar select{max-width:none}.booking-intro{border-bottom:1px solid var(--line);padding-bottom:14px}.booking-intro>span:last-child{font-size:20px}.booking-bar label{font-size:12px}.booking-bar input,.booking-bar select{font-size:14px}.booking-bar .button{font-size:13px}.section{padding-block:60px}.story,.life{grid-template-columns:1fr;gap:45px}.story-visual{margin-right:20px}.story-visual>img{height:390px}.year-stamp{width:125px;height:125px;right:-20px;bottom:53px}.image-caption{font-size:8px}.story h2,.life h2{font-size:39px}.story-text>p:not(.eyebrow),.life-copy>p:not(.eyebrow){font-size:15px}.eyebrow{font-size:10px;margin-bottom:18px}.story-facts{justify-content:space-between;margin-top:30px}.story-facts span{font-size:11px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:14px;margin-top:22px}.villa-grid{grid-template-columns:1fr;gap:38px}.villa-image{height:360px}.villa-meta{font-size:10px}.villa-card h3{font-size:30px}.villa-card>p{font-size:14px}.villa-bottom{font-size:11px}.villa-bottom>span:last-child{display:block}.all-stays{align-items:flex-start;flex-direction:column;gap:20px;margin-top:35px}.life-visual{margin-left:15px}.life-visual img{height:460px}.life-item h3{font-size:23px}.life-item p{font-size:13px}.photo-note{font-size:19px;left:-15px}.invitation{padding:60px 0}.invitation h2{font-size:39px}.footer-main{grid-template-columns:1fr;gap:36px;padding-bottom:40px}.footer-brand{grid-column:auto}.footer-main h3{margin-bottom:15px;font-size:13px}.footer-main>div>p,.footer-main>div>a:not(.phone){font-size:13px}.footer-bottom{font-size:10px}footer{padding-top:45px}.request-dialog{padding:38px 26px}.detail-title{display:block;margin-bottom:25px}.detail-title h1{font-size:49px}.detail-title>p{text-align:left;max-width:none;margin-top:15px}.breadcrumbs{font-size:10px;gap:8px;margin-bottom:24px}.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 120px;gap:8px}.gallery-photo:first-child{grid-column:1/-1;grid-row:1}.gallery-open{bottom:14px;right:14px;font-size:11px;padding:9px 12px}.detail-layout{grid-template-columns:1fr;gap:35px;padding-top:30px;padding-bottom:50px}.detail-reservation{position:static;grid-row:2;padding:26px}.detail-reservation form{grid-template-columns:1fr 1fr}.detail-tabs{gap:25px;font-size:12px}.feature-strip{gap:20px}.feature-strip span{font-size:11px}.detail-copy h2{font-size:32px}.detail-copy>section>p{font-size:15px}.amenities{font-size:12px;gap:22px 14px}.amenities>div{font-size:12px;gap:10px}.detail-section h2{font-size:28px}.location-line{display:block}.detail-closing{display:block;padding:35px 0}.detail-closing h2{margin-bottom:25px;font-size:29px}.gallery-dialog{padding-inline:15px}.gallery-dialog img{height:60vh}.gallery-controls button{padding:7px 13px}.gallery-controls{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
