:root{--paper:#f7f5f0;--white:#fff;--ink:#233c34;--green:#183e37;--green-light:#e9eee8;--muted:#69746c;--bronze:#96714e;--line:#dddeda;--display:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--radius:12px;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
.is-dialog-open body{overflow:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04}h1{letter-spacing:-2px}h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-1.6px}h3{font-size:40px;letter-spacing:-.8px}h1 em,h2 em{font-weight:400;color:var(--bronze)}p{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bfa279;outline-offset:5px}button:disabled{opacity:.45}input,select{min-width:0}dialog{color:var(--ink);font-family:var(--sans)}dialog:not([open]){display:none}[hidden]{display:none!important}.icon{flex-shrink:0;vertical-align:middle}.flip{transform:rotate(180deg)}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:105px}.eyebrow{display:block;font-family:var(--sans);font-weight:600;color:var(--bronze);font-size:10px;letter-spacing:2.5px;line-height:1.8}.eyebrow.light{color:#cbb99c}.eyebrow+.section-heading{margin-top:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:16px 24px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:white}.button-dark:hover{background:#27554a}.button-cream{background:#eeeadf;color:var(--green)}.button-cream:hover{background:white}.button .icon{width:18px}.text-link{border:0;background:none;display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:600;padding:6px 0;border-bottom:1px solid #b5bcb4}.text-link:hover{color:var(--bronze);border-color:var(--bronze)}.text-link .icon{width:18px}.text-link.light{color:#f7f5f0;border-color:#70847b}.circle-button{display:inline-flex;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;background:transparent;transition:background .2s}.circle-button:hover{background:var(--green-light)}.circle-button .icon{width:18px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--green);color:white;z-index:1000}.skip-link:focus{top:10px}
/* Navigation */
.site-header{position:sticky;top:0;z-index:30;height:90px;background:rgba(247,245,240,.96);border-bottom:1px solid rgba(35,60,52,.1);transition:background .25s,box-shadow .25s;color:var(--green)}.header-inner{height:100%;width:min(1440px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;gap:10px;align-items:center;white-space:nowrap}.brand>span{font:500 30px/1.1 var(--display);letter-spacing:-.9px}.brand small{display:block;margin-top:7px;font:500 7px/1.2 var(--sans);letter-spacing:2.2px}.brand-mark{color:var(--bronze);flex-shrink:0}.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto;margin-right:auto;padding-left:55px}.desktop-nav a{font-size:12px;position:relative}.desktop-nav a:after{content:'';display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s;position:absolute;inset:auto 0 -5px}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;gap:12px;align-items:center}.header-cta{display:flex;align-items:center;gap:18px;padding:12px 18px;border:1px solid #cad0c8;border-radius:4px;font-size:11px;font-weight:600}.header-cta .icon{width:17px;height:17px}.header-on-hero{position:absolute;inset:0 0 auto;background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}.header-on-hero .brand-mark{color:#e4d7bd}.header-on-hero .header-cta{border-color:#ffffff65}.header-on-hero.is-scrolled{position:fixed;background:rgba(247,245,240,.97);color:var(--green);box-shadow:0 4px 20px #15332908;border-color:var(--line);animation:headerIn .25s}.header-on-hero.is-scrolled .brand-mark{color:var(--bronze)}.header-on-hero.is-scrolled .header-cta{border-color:#cad0c8}.menu-toggle{display:none;background:none;padding:8px;color:inherit}.mobile-menu{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;padding:28px;background:var(--paper);z-index:100}.mobile-menu::backdrop{background:#152d28a6}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:65px}.mobile-menu>.eyebrow{margin-bottom:22px}.mobile-menu nav{display:flex;flex-direction:column;gap:0}.mobile-menu nav a{font:400 36px var(--display);display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.mobile-menu nav a:nth-child(2),.mobile-menu nav a:nth-child(3){font-size:27px;padding-left:16px;color:var(--muted)}.mobile-menu nav span{font:11px var(--sans);letter-spacing:1px;color:var(--bronze)}.mobile-menu-bottom{display:flex;flex-direction:column;gap:24px;margin-top:40px}.mobile-menu-bottom>a:first-child{font:32px var(--display)}body:has(dialog[open]){overflow:hidden}
/* Home, photography and slider */
.home-hero{position:relative;min-height:680px;height:min(820px,91svh);color:white;isolation:isolate;overflow:hidden;background:#183e37}.hero-images,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(11,34,29,.65),rgba(15,34,29,.25) 60%,rgba(11,28,24,.12)),linear-gradient(0deg,rgba(9,30,24,.55),transparent 48%);z-index:1}.hero-content{position:relative;z-index:2;padding-top:clamp(175px,23svh,245px)}.hero-location{font-size:9px;font-weight:600;letter-spacing:2.8px;display:flex;gap:10px;align-items:center;margin-bottom:25px}.hero-location .icon{width:14px}.hero-content h1{font-size:clamp(68px,7.5vw,106px);line-height:.98;letter-spacing:-2px;font-weight:400;margin-left:-4px;max-width:800px}.hero-content h1 em{color:#eadcc5}.hero-content p{font-size:13px;color:#e9ece7;line-height:1.9;margin-top:25px;max-width:460px}.hero-explore{display:inline-flex;align-items:center;gap:25px;margin-top:31px;font-size:9px;letter-spacing:1.5px;font-weight:600}.hero-explore>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;transition:background .2s}.hero-explore:hover>span{background:#ffffff25}.hero-explore .icon{width:17px}.hero-bottom{position:absolute;bottom:36px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between}.hero-caption{font-size:10px;letter-spacing:.4px;color:#f1f1e9}.slider-controls{display:flex;align-items:center;gap:18px}.slider-controls .circle-button{border-color:#ffffff66;color:white;width:36px;height:36px}.slider-controls .circle-button:hover{background:#ffffff20}.slide-count{font-size:10px;letter-spacing:2px;min-width:47px;text-align:center}.slider-pause{color:white;background:transparent;font-size:13px;min-width:30px;min-height:36px}
/* Booking and request */
.home-booking{position:relative;z-index:3;padding:31px 35px;background:#fff;border:1px solid #e6e7e0;box-shadow:0 12px 48px #1b3d2810;border-radius:9px;margin-top:28px}.booking-intro{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.booking-intro h2{font-size:27px;letter-spacing:-.5px}.booking-intro p{font-size:11px}.home-booking-form{display:grid;grid-template-columns:1.15fr 1.1fr 1.1fr .75fr 1.1fr;gap:0;align-items:end}.form-field{display:block;min-width:0}.form-field>span{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.3px;font-weight:700;color:var(--muted);margin-bottom:9px}.form-field>span .icon{width:14px;height:14px;stroke-width:1.6}.form-field input,.form-field select{display:block;width:100%;height:43px;background:white;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:12px;font-weight:500;padding:10px 12px;outline-offset:2px}.form-field select{appearance:auto}.home-booking-form>.form-field{padding:0 19px;border-right:1px solid var(--line)}.home-booking-form>.form-field:first-child{padding-left:0}.home-booking-form>.form-field input,.home-booking-form>.form-field select{border:0;padding:0;height:27px;background:transparent}.home-booking-form>.calculate-button{margin-left:23px;min-height:58px;padding:15px 14px;gap:14px;font-size:11px;white-space:nowrap}.quote-result{grid-column:1/-1;min-width:0}.quote-result:empty{display:none}.quote-result:not(:empty){margin-top:23px;padding-top:23px;border-top:1px solid var(--line)}.quote-result h3{font-size:27px;margin-bottom:15px}.quote-summary{padding:18px;background:var(--paper);border-radius:7px;margin-bottom:18px}.quote-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;padding:8px 0;color:var(--muted)}.quote-eyebrow{font-size:12px;font-weight:600;color:var(--green)}.quote-dates{font-size:11px;margin-top:5px}.quote-period{display:block;line-height:1.6}.quote-line small{display:block;font-size:10px;line-height:1.7;margin-top:3px}.quote-line strong{font-weight:600;color:var(--ink);white-space:nowrap}.quote-total{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-top:9px;color:var(--green)}.quote-total strong{font:500 35px/1.2 var(--display);white-space:nowrap}.quote-breakdown{margin:14px 0;border-top:1px solid var(--line);padding-top:10px}.quote-note{font-size:10px!important;line-height:1.7;margin-top:12px;color:var(--muted)}.quote-error{color:#943e36;font-size:12px;background:#fbefeb;border-radius:5px;padding:14px}.quote-loading{color:var(--muted);font-size:12px}.request-name{display:block;margin-top:20px;font-size:11px;font-weight:600}.request-name input,.quote-result input[name=fullName]{width:100%;padding:13px;border:1px solid var(--line);background:white;border-radius:4px;font-size:13px;margin-top:8px;min-height:47px}.reservation-request{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;background:var(--green);color:white;min-height:52px;border-radius:4px;font-size:12px;font-weight:600;margin-top:15px;padding:14px 17px;cursor:pointer}.reservation-request:hover{background:#28594b}.home-booking .quote-result:not(:empty){max-width:700px;margin:28px auto 0;width:100%}
/* Villas and story */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:44px}.section-heading h2{margin-top:16px}.section-heading>p{font-size:12px;line-height:1.95;max-width:360px;padding-bottom:6px}.villa-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.villa-card{min-width:0}.villa-card-image{display:block;position:relative;aspect-ratio:1.37;overflow:hidden;border-radius:8px}.villa-card-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#132e2544)}.villa-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.villa-card-image:hover img{transform:scale(1.035)}.villa-card-tag{position:absolute;top:20px;left:20px;background:#fffefaed;padding:9px 12px;border-radius:3px;font-size:8px;letter-spacing:1.2px;font-weight:600}.image-arrow{position:absolute;right:20px;bottom:20px;width:43px;height:43px;background:white;border-radius:50%;display:grid;place-items:center;z-index:1}.image-arrow .icon{width:19px}.villa-card-body{padding:25px 0 0}.villa-card-heading{display:flex;justify-content:space-between;align-items:center}.villa-card-heading h3{margin-top:6px;font-size:43px}.villa-card-heading .eyebrow{font-size:8px;letter-spacing:1.7px}.card-number{font:italic 45px var(--display);color:#c8c9bc}.villa-specs{display:flex;flex-wrap:wrap;gap:22px;margin:20px 0 24px}.villa-specs>span{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.villa-specs .icon{width:17px;height:17px;color:var(--bronze)}.villa-card-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:14px}.villa-card-bottom strong{font:500 29px var(--display);color:var(--green)}.villa-card-bottom p>span{font-size:9px}.villa-card-bottom .text-link{font-size:10px;gap:9px}.story-section{background:#eeeee6;padding:100px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.story-visual{position:relative;padding-right:20px}.story-main{width:100%;height:540px;object-fit:cover;object-position:60% center;border-radius:170px 170px 6px 6px}.story-stamp{position:absolute;right:-20px;bottom:40px;background:var(--paper);width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;outline:1px solid #ccc8b8;outline-offset:-9px;box-shadow:0 8px 22px #12271c10}.story-stamp span{font-size:7px;letter-spacing:1.3px;color:var(--bronze)}.story-stamp .icon{width:28px;height:28px}.story-copy h2{margin:16px 0 27px}.story-copy p{font-size:12px;line-height:1.95;margin-top:15px}.story-copy .story-lead{font-size:16px;line-height:1.8;color:var(--ink)}.story-signature{margin-top:28px;padding-top:24px;border-top:1px solid #d5d7cc}.story-signature>span{font:italic 26px var(--display)}.story-signature small{display:block;font-size:7px;letter-spacing:1.9px;color:var(--bronze);margin-top:8px}.experience-strip{padding-block:72px;display:grid;grid-template-columns:repeat(3,1fr)}.experience-strip>div{text-align:center;padding:10px 35px;border-right:1px solid var(--line)}.experience-strip>div:last-child{border:0}.experience-strip>div>.icon{width:30px;height:30px;color:var(--bronze);margin-bottom:22px}.experience-strip h3{font-size:29px;margin-bottom:14px}.experience-strip p{font-size:11px;line-height:1.8}
/* Contact and footer */
.contact-section{padding-block:78px;background:var(--green);color:var(--paper);overflow:hidden}.contact-grid{display:grid;grid-template-columns:1.1fr .85fr;gap:100px;align-items:center}.contact-copy :is(h1,h2){margin-top:18px;font-size:64px}.contact-copy :is(h1,h2) em{color:#c9b69a}.contact-copy>p{color:#b8c7be;font-size:12px;line-height:1.9;max-width:400px;margin-top:25px}.contact-phone{display:inline-flex;align-items:center;gap:18px;font:400 38px var(--display);margin-top:30px;border-bottom:1px solid #64796d;padding-bottom:10px}.contact-phone .icon{width:22px;color:#c9b69a}.contact-actions{display:flex;align-items:center;gap:28px;margin-top:26px}.contact-actions .button{font-size:10px;min-height:48px;padding:13px 20px;gap:20px}.contact-actions .text-link{font-size:10px}.contact-address{border-top:1px solid #ffffff20;margin-top:40px;padding-top:22px;display:flex;align-items:center;gap:8px;color:#bbcabf;font-size:10px;flex-wrap:wrap}.contact-address>.icon{width:15px}.contact-address a{margin-left:auto;display:flex;align-items:center;gap:5px}.contact-address a .icon{width:13px}.contact-image{position:relative}.contact-image img{width:100%;height:480px;object-fit:cover;object-position:60%;border-radius:7px}.image-note{position:absolute;bottom:22px;left:25px;right:25px;font-size:8px;letter-spacing:2.1px;color:white;text-shadow:0 1px 5px #000}.site-footer{background:var(--paper)}.footer-top{padding-block:55px;display:flex;align-items:center;justify-content:space-between;gap:50px}.footer-top .brand>span{font-size:34px}.footer-top>p{font-size:12px;line-height:1.9}.footer-top nav{display:flex;gap:27px;font-size:10px}.footer-bottom{border-top:1px solid var(--line);padding-block:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;color:var(--muted)}.footer-bottom a:hover{color:var(--bronze)}
/* Villa detail */
.detail-intro{padding-top:26px}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:9px;color:#7f897e}.breadcrumbs a:hover{color:var(--bronze)}.breadcrumbs [aria-current]{color:var(--green)}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:36px 32px}.detail-title .eyebrow{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.8px}.detail-title .eyebrow .icon{width:14px;height:14px}.detail-title h1{font-size:88px;margin-top:12px;line-height:.95}.detail-title h1 em{font-style:normal}.detail-title>p{font-size:11px;line-height:1.9}.detail-gallery{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:480px;border-radius:10px;overflow:hidden;position:relative}.gallery-tile{padding:0;position:relative;overflow:hidden;background:var(--green-light)}.gallery-tile-0{grid-row:1/3}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.gallery-tile:hover img{transform:scale(1.025)}.gallery-tile:focus-visible{outline-offset:-6px;z-index:1}.gallery-all{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;background:#fffffff0;backdrop-filter:blur(8px);padding:11px 15px;border-radius:4px;font-size:10px;font-weight:600;box-shadow:0 4px 16px #102e2820}.gallery-all .icon{width:14px;height:14px}.gallery-property-label{position:absolute;bottom:24px;left:26px;display:flex;gap:11px;align-items:center;color:white;text-shadow:0 2px 6px #0009;pointer-events:none}.gallery-property-label .brand-mark{width:27px;color:white;height:32px}.gallery-property-label>span{font:italic 22px var(--display)}.detail-subnav{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:23px 0;gap:20px}.detail-subnav nav{display:flex;gap:30px;font-size:10px;font-weight:500}.detail-subnav nav a:hover{color:var(--bronze)}.detail-subnav>span{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.detail-subnav .icon{width:16px;height:16px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px;padding-top:56px;padding-bottom:85px;align-items:start}.detail-content{min-width:0}.villa-about h2{margin-top:14px;font-size:53px}.villa-description{font-size:12px;line-height:2;margin-top:24px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 15px;margin-top:35px;padding-block:30px;border-block:1px solid var(--line)}.amenity-grid>div{display:grid;grid-template-columns:25px 1fr;column-gap:11px;align-items:center;min-width:0}.amenity-grid .icon{grid-row:1/3;width:23px;color:var(--bronze)}.amenity-grid span{font-size:9px;color:var(--muted)}.amenity-grid strong{font-size:10px;font-weight:600;line-height:1.7;margin-top:3px}.booking-aside{padding:28px;background:#fff;border:1px solid #e1e2d9;border-radius:10px;box-shadow:0 8px 35px #223d3408;position:sticky;top:116px;scroll-margin-top:115px}.booking-aside>.eyebrow{font-size:8px;letter-spacing:1.7px}.booking-aside>h2{font-size:34px;letter-spacing:-.7px;margin-top:10px}.booking-price{margin-top:20px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.booking-price strong{font:500 39px/1.1 var(--display)}.booking-price>span{font-size:9px;color:var(--muted)}.booking-note{font-size:10px;margin-top:9px;padding-bottom:23px;border-bottom:1px solid var(--line)}.villa-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;padding-top:23px}.villa-booking-form .form-field>span{font-size:7px;letter-spacing:1px}.villa-booking-form input,.villa-booking-form select{font-size:11px;padding:10px 8px;height:44px}.villa-booking-form .form-field>span .icon{width:12px;height:12px}.villa-booking-form .guest-field{grid-column:1/-1}.villa-booking-form .calculate-button{grid-column:1/-1;width:100%;min-height:49px;font-size:11px}.villa-booking-form .quote-result:not(:empty){margin-top:0}.booking-reassurance{display:flex;gap:8px;justify-content:center;align-items:center;font-size:9px;color:var(--muted);margin-top:20px}.booking-reassurance .icon{width:15px;height:15px;color:var(--bronze)}.booking-help{border-top:1px solid var(--line);padding-top:17px;margin-top:20px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:10px;font-weight:500}.booking-help .icon{width:14px;height:14px}.availability-section,.season-section,.small-gallery{margin-top:54px}.compact{margin-bottom:15px}.compact h2,.season-section h2{font-size:45px}.section-description{font-size:11px;line-height:1.9;margin-top:14px;max-width:520px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-bottom:20px}.calendar-toolbar>span{font-size:10px;color:var(--muted)}.calendar-toolbar>div{display:flex;gap:8px}.calendar-toolbar .circle-button{width:32px;height:32px}.calendar-toolbar .icon{width:14px}.availability-calendar{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:265px}.calendar-month{min-width:0}.calendar-month-title{font:600 12px var(--sans);text-transform:capitalize;text-align:center;margin-bottom:18px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{font-size:8px;text-align:center;color:var(--muted);margin-bottom:8px}.weekdays>*{padding-block:5px}.calendar-day{height:43px;background:#eaf0e8;border-radius:4px;border:1px solid transparent;color:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;position:relative;padding:4px 0;min-width:0;font-size:10px}.calendar-day .day-number{font-size:10px}.calendar-day .day-price{font-size:8px;white-space:nowrap;line-height:1.1;opacity:.8}.calendar-day:not(:disabled):hover{border-color:var(--green)}.calendar-day.is-booked{background:#f3e4df;color:#9c6a5c}.calendar-day.is-booked:before{content:'';width:3px;height:3px;background:#ac7567;border-radius:50%;position:absolute;right:3px;top:3px}.calendar-day.is-past{background:#eeeeea;color:#9c9f96;opacity:.5}.calendar-day.is-selected,.calendar-day.is-start,.calendar-day.is-end{background:var(--green);color:white;border-color:var(--green)}.calendar-day.is-range{background:#d1ded0;color:var(--green)}.calendar-day.is-today:not(.is-selected){border-color:var(--bronze)}.calendar-empty{height:43px}.calendar-foot{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:21px 0;gap:12px}.calendar-legend{display:flex;gap:15px;align-items:center;font-size:8px;color:var(--muted)}.calendar-legend span{display:inline-flex;gap:5px;align-items:center}.dot{width:7px;height:7px;border-radius:2px;display:inline-block}.dot.available{background:#c6d7c3}.dot.booked{background:#d7b4a6}.dot.selected{background:var(--green)}.clear-dates{font-size:8px;color:var(--muted);padding:5px 0;border-bottom:1px solid #bac0b6;background:none}.calendar-selection{font-size:10px;color:var(--bronze);margin-top:15px}.season-section h2{margin-top:14px}.season-table-wrap{margin-top:25px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.season-table{border-collapse:collapse;width:100%;text-align:left;font-size:10px}.season-table th{background:#eeeee7;font-size:8px;font-weight:600;color:#647164;padding:14px 18px}.season-table td{padding:13px 18px;border-top:1px solid var(--line)}.season-table th:last-child,.season-table td:last-child{text-align:right;font-weight:600;color:var(--green)}.season-table tbody tr:nth-child(even){background:#fff9}.small-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 24px}.small-gallery-heading h2{font-size:38px}.small-gallery-heading .text-link{font-size:9px;white-space:nowrap}.small-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.small-gallery-grid button{padding:0;aspect-ratio:1;background:none;border-radius:6px;overflow:hidden}.small-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.small-gallery-grid button:hover img{transform:scale(1.06)}.other-villa{background:#edeee6;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:10px;overflow:hidden;margin-bottom:90px}.other-villa>div{padding:46px}.other-villa h2{font-size:48px;margin-top:16px}.other-villa p{font-size:10px;margin-top:18px}.other-villa .button{margin-top:24px;min-height:46px;font-size:10px}.other-villa>a{height:100%;min-height:350px}.other-villa img{height:100%;width:100%;object-fit:cover}.mobile-booking-bar{display:none}
/* Photo viewer */
.gallery-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:20px 35px;background:#101e1bf7;color:#fff;overflow:hidden}.gallery-dialog::backdrop{background:#101e1b}.gallery-top{display:flex;justify-content:space-between;align-items:center;height:48px;max-width:1400px;margin:auto}.gallery-top>span{font:30px var(--display)}.gallery-top small{font:10px var(--sans);color:#aeb9b0;margin-left:18px;letter-spacing:1px}.gallery-top .circle-button{color:white;border-color:#ffffff45}.gallery-top .circle-button:hover{background:#ffffff14}.gallery-stage{position:relative;height:calc(100dvh - 210px);max-width:1400px;display:flex;align-items:center;justify-content:center;margin:14px auto 0;touch-action:pan-y}.gallery-stage>img{width:100%;height:100%;object-fit:contain}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff50;background:#162e28a6;color:white;border-radius:50%;z-index:2}.gallery-arrow-prev{left:8px}.gallery-arrow-next{right:8px}.gallery-arrow .icon{width:20px}.gallery-caption{text-align:center;color:#d0d8cf;font-size:10px;margin:13px 0;min-height:18px}.gallery-thumbs{display:flex;gap:7px;justify-content:flex-start;overflow-x:auto;max-width:920px;margin:0 auto;padding-bottom:7px;scrollbar-width:thin}.gallery-thumbs button{width:66px;height:48px;flex-shrink:0;padding:0;background:transparent;opacity:.55;border-radius:3px;overflow:hidden;border:1px solid transparent}.gallery-thumbs button.is-active,.gallery-thumbs button[aria-current=true],.gallery-thumbs button[aria-pressed=true]{border-color:#e4d5b7;opacity:1}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
@keyframes headerIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(min-width:1500px){.home-hero{min-height:790px}.hero-content{padding-top:245px}.hero-content h1{font-size:108px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.header-inner{width:calc(100% - 60px);gap:20px}.desktop-nav{padding-left:15px;gap:25px}.brand>span{font-size:27px}.hero-content h1{font-size:83px}.home-booking{padding:25px}.home-booking-form>.form-field{padding-inline:12px}.home-booking-form>.calculate-button{margin-left:12px;gap:8px;padding-inline:8px}.home-booking-form .form-field input,.home-booking-form .form-field select{font-size:10px}.story-grid{gap:60px}.story-main{height:470px}.contact-grid{gap:60px}.contact-copy :is(h1,h2){font-size:56px}.contact-phone{font-size:32px}.detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:36px}.booking-aside{padding:23px}.availability-calendar{gap:14px}.calendar-day{height:38px}.calendar-day .day-price{font-size:8px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.detail-gallery{height:420px}.detail-subnav nav{gap:20px}.detail-content .small-gallery-heading{display:block}.small-gallery-heading .text-link{margin-top:10px}.footer-top{gap:30px}.footer-top nav{gap:17px}}
@media(max-width:850px){.site-header{height:78px}.header-inner{width:calc(100% - 40px)}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-actions{margin-left:auto}.header-cta{padding:10px 13px;font-size:10px}.brand>span{font-size:27px}.brand-mark{width:34px;height:38px}.brand small{font-size:6px}.home-hero{min-height:650px;height:84svh}.hero-content{padding-top:177px}.hero-content h1{font-size:77px}.hero-content p{font-size:12px}.home-booking{padding:25px}.home-booking-form{grid-template-columns:1fr 1fr;gap:18px}.home-booking-form>.form-field{border:0;padding:0}.home-booking-form>.form-field:first-child{grid-column:1/-1}.home-booking-form>.form-field input,.home-booking-form>.form-field select{font-size:12px;border:1px solid var(--line);padding:9px 11px;height:43px}.home-booking-form>.calculate-button{margin:0;min-height:43px;font-size:12px;gap:22px}.home-booking-form>.guest-field{align-self:end}.booking-intro p{font-size:10px}.section{padding-block:75px}.section-heading{gap:30px}.section-heading h2{font-size:48px}.section-heading>p{max-width:260px;font-size:11px}.villa-grid{gap:23px}.villa-card-image{aspect-ratio:1.05}.villa-card-tag{font-size:7px;padding:8px;left:13px;top:13px}.villa-card-heading h3{font-size:36px}.villa-specs{gap:14px}.villa-specs>span{font-size:9px;gap:5px}.villa-card-bottom{display:block}.villa-card-bottom>.text-link{margin-top:12px}.story-section{padding-block:75px}.story-grid{gap:45px;grid-template-columns:.95fr 1fr}.story-main{height:460px;border-radius:140px 140px 5px 5px}.story-copy h2{font-size:44px}.story-copy .story-lead{font-size:14px}.story-copy p{font-size:11px}.story-stamp{width:100px;height:100px;right:-6px;gap:7px}.story-stamp span{font-size:5px}.story-stamp .icon{width:23px}.experience-strip{padding-block:55px}.experience-strip>div{padding-inline:18px}.experience-strip h3{font-size:26px}.experience-strip p{font-size:10px}.contact-grid{gap:40px;grid-template-columns:1.15fr .8fr}.contact-copy :is(h1,h2){font-size:48px}.contact-phone{font-size:29px}.contact-actions{gap:17px;flex-wrap:wrap}.contact-image img{height:435px}.contact-address{font-size:9px}.contact-address a{margin-left:22px}.footer-top{flex-wrap:wrap}.footer-top nav{margin-left:auto}.footer-bottom{font-size:7px}.detail-title h1{font-size:76px}.detail-gallery{height:370px}.detail-subnav>span{display:none}.detail-subnav nav{width:100%;justify-content:space-between}.detail-layout{grid-template-columns:1fr;gap:35px;padding-top:40px}.booking-aside{position:relative;top:auto;grid-row:1;margin-bottom:15px;padding:28px}.booking-aside>h2{font-size:37px}.booking-price{position:absolute;right:28px;top:28px;display:block;margin:0;text-align:right}.booking-price strong{display:block;font-size:36px}.booking-note{margin-top:21px}.villa-booking-form{grid-template-columns:1fr 1fr .7fr 1.3fr;gap:14px;align-items:end}.villa-booking-form .guest-field,.villa-booking-form .calculate-button{grid-column:auto}.villa-booking-form .calculate-button{min-height:44px;padding:11px;font-size:10px;gap:12px}.villa-booking-form .quote-result{grid-column:1/-1}.booking-reassurance{justify-content:flex-start}.booking-help{position:absolute;right:28px;bottom:27px;border:0;margin:0;padding:0}.detail-content .villa-about h2{font-size:55px}.amenity-grid{grid-template-columns:repeat(3,1fr)}.availability-calendar{gap:25px}.calendar-day{height:47px}.calendar-day .day-price{font-size:8px}.calendar-month-title{font-size:14px}.calendar-day .day-number{font-size:12px}.other-villa h2{font-size:43px}.other-villa>div{padding:30px}.other-villa>a{min-height:330px}.mobile-booking-bar{position:fixed;z-index:25;inset:auto 0 0;padding:12px 25px calc(12px + env(safe-area-inset-bottom));background:#fffefbf7;backdrop-filter:blur(12px);border-top:1px solid #d9ddd4;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 -5px 20px #12342a08}.mobile-booking-bar strong{font:500 30px/1 var(--display)}.mobile-booking-bar small{font-size:8px;display:block;margin-top:5px;color:var(--muted)}.mobile-booking-bar .button{min-height:43px;font-size:11px;padding:12px 18px;gap:20px}.page-villa .site-footer{padding-bottom:87px}}
@media(max-width:580px){html{scroll-padding-top:92px}.shell{width:calc(100% - 40px)}body{font-size:13px}.header-inner{width:calc(100% - 36px);gap:12px}.site-header{height:74px}.brand{gap:7px}.brand>span{font-size:26px}.brand-mark{width:30px;height:34px}.brand small{font-size:5px;letter-spacing:1.8px;margin-top:5px}.header-cta{display:none}.header-actions{gap:0}.menu-toggle{padding:7px}.menu-toggle .icon{width:24px;height:24px}.home-hero{height:690px;min-height:600px;max-height:91svh}.hero-content{padding-top:170px}.hero-content h1{font-size:64px;letter-spacing:-1.7px;line-height:1.02}.hero-content p{font-size:11px;max-width:280px;line-height:1.9;margin-top:23px}.hero-location{font-size:7px;letter-spacing:2px;margin-bottom:26px}.hero-location .icon{width:12px}.hero-shade{background:linear-gradient(90deg,#0c2c256e,#0c2c2533),linear-gradient(0deg,#0c2c256e,transparent 70%)}.hero-slide img{object-position:57% center}.hero-explore{font-size:8px;gap:20px;margin-top:30px}.hero-bottom{bottom:25px}.hero-caption{font-size:8px;max-width:140px}.slider-controls{gap:10px}.slider-controls .circle-button{width:32px;height:32px}.slider-pause{min-width:22px;padding:0}.slide-count{font-size:8px;min-width:35px;letter-spacing:1px}.home-booking{margin-top:20px;padding:24px 20px;border-radius:7px}.booking-intro{display:block;margin-bottom:23px}.booking-intro h2{font-size:29px}.booking-intro p{margin-top:6px;font-size:9px}.form-field>span{font-size:7px;letter-spacing:1px}.form-field>span .icon{width:12px;height:12px}.home-booking-form{gap:17px 13px}.home-booking-form>.calculate-button{font-size:10px;gap:12px}.home-booking-form>.form-field input,.home-booking-form>.form-field select{font-size:11px;padding:10px 8px}.section{padding-block:65px}.section-heading{display:block;margin-bottom:31px}.section-heading h2{font-size:46px;margin-top:14px}.section-heading>p{max-width:none;font-size:10px;margin-top:22px}.eyebrow{font-size:8px;letter-spacing:1.9px}.villa-grid{grid-template-columns:1fr;gap:43px}.villa-card-image{aspect-ratio:1.2}.villa-card-tag{font-size:7px;top:15px;left:15px;padding:8px 10px}.villa-card-body{padding-top:21px}.villa-card-heading h3{font-size:42px}.villa-card-heading .eyebrow{font-size:7px}.card-number{font-size:40px}.villa-specs{gap:20px;margin:18px 0 21px}.villa-specs>span{font-size:9px}.villa-card-bottom{display:flex;padding-top:17px;gap:10px}.villa-card-bottom strong{font-size:28px}.villa-card-bottom p>span{font-size:7px}.villa-card-bottom>.text-link{margin:0;font-size:9px;gap:8px}.story-section{padding-block:65px}.story-grid{display:flex;flex-direction:column;gap:48px}.story-visual{width:100%;padding:0 28px 0 0}.story-main{height:390px;border-radius:140px 140px 4px 4px;object-position:center}.story-stamp{right:0;bottom:24px;width:114px;height:114px}.story-stamp span{font-size:6px}.story-copy h2{font-size:46px;margin:15px 0 24px}.story-copy p{font-size:11px;line-height:1.95}.story-copy .story-lead{font-size:15px}.story-signature{margin-top:25px}.experience-strip{grid-template-columns:1fr;padding-block:28px}.experience-strip>div{padding:32px 12px;border-right:0;border-bottom:1px solid var(--line)}.experience-strip>div>.icon{margin-bottom:15px}.experience-strip h3{font-size:30px;margin-bottom:10px}.experience-strip p{font-size:11px}.experience-strip p br{display:none}.contact-section{padding:58px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy :is(h1,h2){font-size:51px}.contact-copy>p{font-size:11px;margin-top:22px}.contact-phone{font-size:33px;gap:14px;margin-top:25px}.contact-actions{gap:25px;margin-top:25px}.contact-actions .button{font-size:10px;gap:15px;padding:13px 17px}.contact-actions .text-link{font-size:10px}.contact-address{margin-top:30px;padding-top:20px;font-size:9px;gap:7px}.contact-address a{margin-left:auto}.contact-image img{height:300px;object-position:center}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-block:38px}.footer-top .brand{grid-column:1/-1}.footer-top .brand>span{font-size:34px}.footer-top>.brand .brand-mark{width:37px;height:42px}.footer-top>p{font-size:10px}.footer-top nav{flex-direction:column;gap:12px;font-size:10px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:11px 17px;font-size:7px;padding-block:20px}.footer-bottom>span:first-child{width:100%}.footer-bottom>a{margin-left:auto}.detail-intro{padding-top:22px}.breadcrumbs{font-size:8px;gap:9px}.detail-title{display:block;padding-block:30px 25px}.detail-title h1{font-size:72px;margin-top:12px}.detail-title .eyebrow{font-size:8px;letter-spacing:1.7px}.detail-title>p{font-size:10px;margin-top:18px}.detail-title>p br{display:none}.detail-gallery{height:375px;grid-template-columns:1fr 1fr;grid-template-rows:250px 115px;gap:7px;border-radius:7px}.gallery-tile-0{grid-column:1/-1;grid-row:1}.gallery-property-label{bottom:auto;top:211px;left:16px}.gallery-property-label .brand-mark{width:20px;height:24px}.gallery-property-label>span{font-size:17px}.gallery-all{font-size:7px;gap:6px;bottom:12px;right:9px;padding:8px}.gallery-all .icon{width:11px;height:11px}.detail-subnav{padding-block:18px;overflow:auto}.detail-subnav nav{gap:18px;justify-content:flex-start;min-width:max-content;font-size:9px}.detail-layout{padding-top:26px;gap:29px;padding-bottom:55px}.booking-aside{padding:22px;margin-bottom:10px;border-radius:7px;scroll-margin-top:90px}.booking-aside>h2{font-size:31px}.booking-price{right:22px;top:23px}.booking-price strong{font-size:31px}.booking-price>span{font-size:7px}.booking-aside>.eyebrow{font-size:7px;letter-spacing:1px}.booking-note{font-size:9px;margin-top:23px;padding-bottom:19px}.villa-booking-form{grid-template-columns:1fr 1fr;gap:16px 12px;padding-top:20px}.villa-booking-form .guest-field{grid-column:1/-1}.villa-booking-form .calculate-button{grid-column:1/-1;min-height:46px;font-size:11px;gap:30px}.villa-booking-form input,.villa-booking-form select{font-size:12px}.booking-reassurance{font-size:8px;margin-top:18px;justify-content:center}.booking-help{position:static;border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:10px}.detail-content .villa-about h2{font-size:47px}.villa-description{font-size:11px;margin-top:21px;line-height:1.95}.amenity-grid{grid-template-columns:1fr 1fr;gap:25px 15px;padding-block:27px;margin-top:27px}.amenity-grid>div{column-gap:8px}.amenity-grid .icon{width:21px}.amenity-grid span{font-size:8px}.amenity-grid strong{font-size:9px}.availability-section,.season-section,.small-gallery{margin-top:44px}.compact h2,.season-section h2{font-size:41px}.section-description{font-size:10px;margin-top:12px}.calendar-toolbar{margin-top:20px;padding-bottom:21px}.calendar-toolbar>span{font-size:9px}.availability-calendar{grid-template-columns:1fr;gap:28px}.calendar-month-title{font-size:13px;margin-bottom:14px}.weekdays{font-size:8px}.weekdays,.calendar-days{gap:5px}.calendar-day{height:47px;border-radius:4px}.calendar-day .day-number{font-size:12px}.calendar-day .day-price{font-size:8px}.calendar-foot{padding-block:20px;gap:10px}.calendar-legend{font-size:8px;gap:14px}.clear-dates{font-size:8px}.calendar-selection{font-size:10px}.season-table{font-size:9px}.season-table th{font-size:7px;padding:12px 10px}.season-table td{padding:12px 10px}.season-table-wrap{margin-top:21px}.small-gallery-heading h2{font-size:38px}.small-gallery-heading .text-link{font-size:9px;margin-top:13px}.small-gallery-grid{gap:7px}.other-villa{grid-template-columns:1fr;margin-bottom:55px}.other-villa>div{padding:30px}.other-villa h2{font-size:44px}.other-villa>a{min-height:0;height:280px}.other-villa .button{font-size:10px;gap:20px}.mobile-booking-bar{padding-inline:20px}.mobile-booking-bar strong{font-size:28px}.mobile-booking-bar .button{font-size:10px;gap:18px;padding-inline:16px}.gallery-dialog{padding:15px 12px}.gallery-top{height:44px}.gallery-top>span{font-size:26px}.gallery-top small{font-size:9px;margin-left:10px}.gallery-top .circle-button{width:35px;height:35px}.gallery-stage{height:calc(100dvh - 187px);margin-top:9px}.gallery-arrow{width:34px;height:34px;background:#152d258c}.gallery-arrow-prev{left:0}.gallery-arrow-next{right:0}.gallery-arrow .icon{width:16px}.gallery-caption{font-size:9px;margin:10px 0 14px}.gallery-thumbs{gap:5px}.gallery-thumbs button{width:58px;height:43px}.mobile-menu-top{margin-bottom:45px}.mobile-menu nav a{font-size:32px}.mobile-menu-bottom{margin-top:32px}.quote-line{font-size:10px}.quote-total strong{font-size:31px}.quote-summary{padding:14px}.reservation-request{font-size:11px}.request-name{font-size:10px}}
@media(max-width:360px){.hero-content h1{font-size:56px}.hero-caption{font-size:7px}.slider-controls{gap:7px}.villa-card-bottom{display:block}.villa-card-bottom>.text-link{margin-top:10px}.contact-phone{font-size:29px}.contact-actions{gap:16px}.booking-price strong{font-size:27px}.booking-aside>h2{font-size:27px}.booking-aside>.eyebrow{font-size:6px}.villa-booking-form .form-field>span{font-size:6px}.villa-booking-form input{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-slide img{transform:none}}
@media print{.site-header,.site-footer,.booking-aside,.mobile-booking-bar,.contact-section,.gallery-dialog{display:none!important}.shell{width:100%}.detail-layout{display:block}.detail-gallery{height:250px}}

/* Shared bespoke date selection */
.booking-form input[type=hidden]{display:none}.date-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:5px;text-align:left;padding:10px 11px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:11px;transition:border-color .2s,box-shadow .2s}.date-trigger>span{min-width:0;line-height:1.5}.date-trigger>.icon{width:12px;height:12px;color:var(--bronze);transform:rotate(90deg)}.date-trigger:hover,.date-trigger[aria-expanded=true]{border-color:var(--bronze);box-shadow:0 0 0 3px #96714e0a}.home-booking-form>.date-field .date-trigger{padding:0;border:0;min-height:27px;background:transparent;font-size:12px}.date-trigger:focus-visible{outline-offset:3px}
.availability-card{margin-top:26px;padding:24px;background:#fff;border:1px solid #e3e5dd;border-radius:16px;box-shadow:0 7px 30px #183e3704}.availability-card .calendar-toolbar{margin:0;padding-bottom:25px}.availability-card .calendar-toolbar>span{font-size:11px;font-weight:500;color:var(--green)}.availability-card .calendar-toolbar .circle-button{width:36px;height:36px;background:var(--paper)}.availability-card .calendar-foot{padding-bottom:17px;border-bottom:0}.availability-card .calendar-selection{padding:14px 16px;margin-top:0;background:var(--paper);border-radius:9px;font-size:11px;color:var(--green)}.availability-card .calendar-month-title{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.5px;margin-bottom:17px}.availability-card .weekdays{font-size:9px;font-weight:500;margin-bottom:10px}.availability-card .calendar-days{gap:5px}.availability-card .calendar-day{height:46px;background:#f5f6f1;border:1px solid transparent;border-radius:8px;gap:2px;transition:background .15s,border-color .15s}.availability-card .calendar-day .day-number{font-size:12px;font-weight:600}.availability-card .calendar-day .day-price{font-size:8px;opacity:.85}.availability-card .calendar-day.is-booked{background:#fcf4ef;color:#b59686}.availability-card .calendar-day.is-past{background:transparent;opacity:.35}.availability-card .calendar-day.is-selected{background:var(--green);color:#fff;box-shadow:0 3px 8px #183e3726}.availability-card .calendar-day.is-range{background:#e4ece1;border-radius:3px}.availability-card .calendar-day:not(:disabled):hover{background:#e9eee5;border-color:#a6b6a0}.availability-card .calendar-day.is-selected:hover{background:var(--green)}.availability-card .calendar-legend{font-size:9px}.availability-card .clear-dates{font-size:10px}.availability-card .calendar-error{grid-column:1/-1;padding:20px;background:var(--paper);border-radius:10px;font-size:12px}.availability-card .calendar-error button{margin-top:14px;border:1px solid var(--line)}
.date-picker{width:min(820px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 44px);border:1px solid #f1efe6;border-radius:20px;background:#fffdfa;padding:28px 30px 0;box-shadow:0 28px 120px #102e2840;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.date-picker::backdrop{background:#112b2666;backdrop-filter:blur(5px)}.picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}.picker-head .eyebrow{font-size:9px;letter-spacing:2px}.picker-head h2{font-size:38px;letter-spacing:-1px;margin-top:8px}.picker-head .circle-button{width:36px;height:36px;background:#f4f3ee;align-self:flex-start}.picker-date-pair{display:grid;grid-template-columns:1fr 24px 1fr;gap:14px;align-items:center}.picker-date-pair>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:13px 44px 13px 16px;background:#f4f4ee;border:1px solid #e3e5dc;border-radius:10px;min-width:0;min-height:75px;transition:background .18s,border-color .18s}.picker-date-pair>button>span{font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:600}.picker-date-pair strong{font:500 19px/1.2 var(--display);margin-top:7px;letter-spacing:-.25px}.picker-date-pair>button>.icon{position:absolute;right:16px;top:27px;width:19px;height:19px;color:var(--bronze)}.picker-date-pair>button.is-active,.picker-date-pair>button[aria-pressed=true]{background:#edf2e9;border-color:#6e8c74;box-shadow:0 0 0 2px #6e8c7412}.picker-pair-arrow{color:#95a18e;text-align:center}.picker-pair-arrow>.icon{width:20px}.picker-month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 18px}.picker-month-toolbar>p{font-size:12px;color:var(--green)}.picker-month-toolbar>div{display:flex;gap:8px;flex-shrink:0}.picker-month-toolbar .circle-button{width:35px;height:35px;background:#fff}.picker-month-toolbar .circle-button .icon{width:15px}.picker-months{display:grid;grid-template-columns:1fr 1fr;gap:33px;min-height:322px}.picker-months>.calendar-month+ .calendar-month{position:relative}.picker-months>.calendar-month+ .calendar-month:before{content:'';position:absolute;width:1px;top:4px;bottom:0;left:-17px;background:#ecece4}.picker-months .calendar-month-title{text-align:center;font:500 26px/1.2 var(--display);letter-spacing:-.6px;margin-bottom:19px}.picker-months .weekdays{font-size:10px;letter-spacing:.2px;font-weight:500;margin-bottom:9px}.picker-months .weekdays,.picker-months .calendar-days{gap:4px}.picker-months .calendar-day{height:44px;border-radius:8px;background:#f2f4ed;border:1px solid transparent;color:var(--green);transition:background .15s,border-color .15s,box-shadow .15s;gap:3px}.picker-months .calendar-day .day-number{font-size:12px;font-weight:600;line-height:1.2}.picker-months .calendar-day .day-price{font-size:8px;line-height:1;opacity:.8}.picker-months .calendar-day.is-past{opacity:.35;background:transparent}.picker-months .calendar-day.is-booked{background:#fbf0e9;color:#b39483}.picker-months .calendar-day.is-booked:before{background:#bd9c88;right:5px;top:5px}.picker-months .calendar-day.is-range{background:#e0e9db;border-radius:3px}.picker-months .calendar-day.is-today:not(.is-selected){border-color:#b9a67e}.picker-months .calendar-day.is-selected{background:var(--green);color:#fff;box-shadow:0 3px 9px #183e3726;opacity:1}.picker-months .calendar-day:not(:disabled):hover{border-color:#8fa58a;background:#e1e9db}.picker-months .calendar-day.is-selected:hover{background:var(--green)}.picker-months .calendar-day:focus-visible{outline-offset:1px;z-index:1}.picker-months .calendar-empty{height:44px}.picker-months[aria-busy=true]{opacity:.6}.picker-error{grid-column:1/-1;padding:25px;background:var(--paper);border-radius:12px;font-size:12px;align-self:start}.picker-error .button{margin-top:16px;border:1px solid var(--line)}.picker-key{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0}.picker-key .calendar-legend{font-size:9px;gap:17px}.picker-key p{font-size:9px}.picker-footer{position:sticky;bottom:0;background:#fffdfa;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e4e5dc;padding:18px 0 22px;z-index:3}.picker-footer>p{font-size:12px;color:var(--green);max-width:350px;line-height:1.6}.picker-footer>div{display:flex;align-items:center;gap:22px;flex-shrink:0}.picker-clear{background:transparent;padding:8px 0;font-size:11px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.picker-footer .button{min-height:47px;padding:12px 19px;gap:22px;font-size:11px;border-radius:7px}.picker-footer .button:disabled{background:#a9b6a5;opacity:.55;transform:none}
@media(min-width:851px) and (max-width:1050px){.availability-card .availability-calendar{grid-template-columns:1fr;gap:30px}.availability-card .calendar-day{height:47px}}
@media(max-width:850px){.home-booking-form>.date-field .date-trigger{padding:10px 11px;border:1px solid var(--line);min-height:43px;font-size:12px}.date-trigger{padding:10px 8px}.availability-card{padding:21px}.availability-card .calendar-month-title{font-size:25px}}
@media(max-width:580px){.date-picker{width:100%;max-height:94dvh;max-width:none;margin:auto 0 0;border-radius:21px 21px 0 0;border-bottom:0;padding:25px 20px 0}.picker-head{margin-bottom:21px}.picker-head h2{font-size:32px}.picker-head .eyebrow{font-size:8px;letter-spacing:1.7px}.picker-head .circle-button{width:32px;height:32px}.picker-head .circle-button .icon{width:16px}.picker-date-pair{gap:8px;grid-template-columns:1fr 17px 1fr}.picker-date-pair>button{min-height:74px;padding:13px 10px}.picker-date-pair>button>.icon{display:none}.picker-date-pair>button>span{font-size:7px;letter-spacing:1px}.picker-date-pair strong{font-size:18px;margin-top:8px}.picker-pair-arrow>.icon{width:17px}.picker-month-toolbar{margin:21px 0 19px;gap:12px}.picker-month-toolbar>p{font-size:11px}.picker-month-toolbar .circle-button{width:33px;height:33px}.picker-months{grid-template-columns:1fr;gap:29px;min-height:310px}.picker-months>.calendar-month+ .calendar-month:before{display:none}.picker-months .calendar-month-title{font-size:26px;margin-bottom:15px}.picker-months .weekdays{font-size:10px}.picker-months .calendar-day{height:44px}.picker-months .calendar-day .day-number{font-size:13px}.picker-months .calendar-day .day-price{font-size:8px}.picker-key{align-items:flex-start;flex-direction:column;gap:11px;padding-block:23px}.picker-key .calendar-legend{font-size:9px;gap:20px}.picker-footer{display:block;padding:15px 0 max(18px,env(safe-area-inset-bottom))}.picker-footer>p{font-size:11px;margin-bottom:12px;min-height:18px}.picker-footer>div{justify-content:space-between}.picker-footer .button{min-height:45px;padding:12px 19px}.picker-clear{font-size:11px}.availability-card{padding:18px 13px;border-radius:14px;margin-top:22px}.availability-card .calendar-toolbar{padding-bottom:23px;gap:12px}.availability-card .calendar-toolbar>span{font-size:10px}.availability-card .calendar-toolbar .circle-button{width:31px;height:31px}.availability-card .calendar-day{height:44px;border-radius:7px}.availability-card .calendar-days{gap:4px}.availability-card .calendar-month-title{font-size:25px}.availability-card .calendar-legend{font-size:8px;gap:10px}.availability-card .clear-dates{font-size:9px}.availability-card .calendar-selection{font-size:10px;padding:12px}.date-trigger,.home-booking-form>.date-field .date-trigger{font-size:11px;min-height:45px;padding:10px 8px}.date-trigger>.icon{width:10px}.date-trigger>span{font-variant-numeric:tabular-nums}}
@media(max-width:360px){.picker-head h2{font-size:29px}.picker-months .calendar-day{height:40px}.picker-date-pair strong{font-size:16px}.date-picker{padding-inline:16px}.date-trigger,.home-booking-form>.date-field .date-trigger{font-size:10px}.availability-card .calendar-day .day-price{font-size:7px}.availability-card .calendar-day{height:42px}}
@media print{.date-picker{display:none!important}}
@media(min-width:581px) and (max-height:800px){.date-picker{padding:22px 26px 0}.picker-head{margin-bottom:16px}.picker-head h2{font-size:34px}.picker-date-pair>button{min-height:66px;padding-block:10px}.picker-date-pair>button>.icon{top:24px}.picker-month-toolbar{margin:17px 0 12px}.picker-months{min-height:288px}.picker-months .calendar-month-title{font-size:24px;margin-bottom:12px}.picker-months .weekdays{font-size:9px;margin-bottom:6px}.picker-months .calendar-day,.picker-months .calendar-empty{height:38px}.picker-key{padding:14px 0}.picker-footer{padding:14px 0 18px}.picker-footer .button{min-height:44px}}
/* Çilingir Villaları: original source copy within the VillaHD design. */
.hero-content h1{max-width:920px;font-size:clamp(65px,7.2vw,102px);line-height:1.03}.hero-content p{font-size:15px}.card-description{font-size:12px;line-height:1.9;margin-top:16px;max-width:490px}.price-inquiry{font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;line-height:1.7!important}.villa-card-bottom{min-height:55px}.story-link{margin-top:25px}.experience-strip p{line-height:1.95}.explore-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:75px;padding-bottom:100px;padding-top:15px}.explore-section>img{width:100%;height:430px;object-fit:cover;border-radius:8px}.explore-section h2{margin:18px 0 26px}.explore-section p{font-size:13px;line-height:1.9}.detail-title>p{max-width:350px;font-size:12px}.villa-description p+p{margin-top:20px}.villa-license{display:flex;gap:10px;align-items:center;font-size:10px;line-height:1.8;margin-top:22px;color:var(--bronze)}.amenity-grid .bed-detail{grid-column:span 2}.footer-top nav{flex-wrap:wrap;max-width:355px}.calendar-day.is-unknown{background:#f0eee8;border:1px dashed #d3cec2}.calendar-day.is-unknown .day-price{color:#7d7768}.calendar-day.is-unknown.is-selected,.calendar-day.is-unknown.is-start,.calendar-day.is-unknown.is-end{background:var(--green);color:white;border-color:var(--green)}.calendar-day.is-unknown.is-in-range{background:#e0e8df}.dot.unknown{background:#ece8df;border:1px dashed #a99f8c}.calendar-legend{flex-wrap:wrap;gap:10px}.calendar-foot{align-items:flex-start}.mobile-menu nav .mobile-villa-link{font-size:27px;padding-left:16px;color:var(--muted)}.mobile-menu{overflow:auto}.mobile-menu-top{margin-bottom:35px}.about-page h1,.page-content .section h1{font-size:84px;margin-top:20px}.about-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px;align-items:start}.about-page-grid>img{width:100%;height:630px;object-fit:cover;border-radius:160px 160px 8px 8px}.source-copy p{font-size:14px;line-height:2}.source-copy p+p{margin-top:22px}.booking-price{position:static;margin-top:20px;text-align:left}.booking-note{margin-top:15px}.hero-content{padding-top:clamp(170px,22svh,230px)}
@media(max-width:850px){.explore-section{gap:35px}.explore-section>img{height:400px}.about-page-grid{gap:35px}.about-page-grid>img{height:540px}.footer-top nav{max-width:300px}.hero-content h1{font-size:76px}}
@media(max-width:580px){.hero-content h1{font-size:58px;max-width:380px}.hero-content p{font-size:12px}.hero-content{padding-top:160px}.explore-section{grid-template-columns:1fr;gap:32px;padding-top:25px;padding-bottom:65px}.explore-section>img{height:300px}.explore-section h2{font-size:45px}.explore-section p{font-size:11px}.card-description{font-size:11px}.villa-card-bottom{gap:14px}.villa-card-bottom>.text-link{max-width:145px}.price-inquiry{font-size:10px!important}.about-page h1,.page-content .section h1{font-size:60px}.about-page-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.about-page-grid>img{height:380px}.source-copy p{font-size:12px}.amenity-grid .bed-detail{grid-column:auto}.calendar-legend{font-size:7px;gap:8px}.mobile-menu-top{margin-bottom:28px}.mobile-menu nav a{font-size:29px;padding-block:9px}.mobile-menu nav .mobile-villa-link{font-size:23px}.mobile-menu-bottom{margin-top:25px}.footer-top nav{max-width:none}.detail-title>p{font-size:11px}.booking-price{position:static;text-align:left;margin-top:13px}.booking-note{margin-top:13px}.hero-location{letter-spacing:1.2px}.mobile-booking-bar .price-inquiry{font-size:11px!important}}
@media(max-width:360px){.hero-content h1{font-size:51px}.brand>span{font-size:24px}.hero-location{font-size:6px}.villa-card-bottom>.text-link{max-width:none}}
.calendar-day.is-unavailable{background:#f1ede8;border:1px solid #e0d6cb}.calendar-day.is-unavailable .day-price{color:#8a7867}.dot.unavailable{background:#d9c7b5}.calendar-day.is-unavailable.is-selected,.calendar-day.is-unavailable.is-start,.calendar-day.is-unavailable.is-end{background:var(--green);border-color:var(--green);color:#fff}.calendar-day.is-unavailable.is-in-range{background:#e0e8df}.calendar-day.is-unavailable.is-start .day-price,.calendar-day.is-unavailable.is-end .day-price{color:#fff}
.source-mark{display:block;position:relative;width:42px;height:45px}.source-mark img{width:100%;height:100%;object-fit:contain}.source-mark .logo-light{display:none}.header-on-hero:not(.is-scrolled) .source-mark .logo-dark,.gallery-property-label .source-mark .logo-dark{display:none}.header-on-hero:not(.is-scrolled) .source-mark .logo-light,.gallery-property-label .source-mark .logo-light{display:block}.mobile-menu .source-mark .logo-dark{display:block}.mobile-menu .source-mark .logo-light{display:none}
.calendar-updated{font-size:9px;line-height:1.8;margin-top:12px}.calendar-day.is-unavailable.is-range,.calendar-day.is-unknown.is-range{background:#e4ebe1}.calendar-day.is-unavailable.is-selected,.calendar-day.is-unknown.is-selected{background:var(--green);color:#fff}.calendar-day.is-selected .day-price{color:#fff}

/* Imported booking boundaries: a departure day is free from the afternoon. */
.calendar-day.is-option{background:#f5e7bc;color:#856019}
.calendar-day.is-check-in{background:linear-gradient(135deg,#eaf0e8 49%,#f3e4df 51%)}
.calendar-day.is-check-out{background:linear-gradient(135deg,#f3e4df 49%,#eaf0e8 51%)}
.calendar-day.is-turnover{background:#f3e4df;box-shadow:inset 0 0 0 1px #bd8c7c}
.calendar-day.is-turnover:after{content:'';position:absolute;inset:3px;background:linear-gradient(135deg,transparent 48%,#fff9 49%,#fff9 51%,transparent 52%);pointer-events:none}
.calendar-day.is-option.is-check-in{background:linear-gradient(135deg,#eaf0e8 49%,#f5e7bc 51%)}
.calendar-day.is-option.is-check-out{background:linear-gradient(135deg,#f5e7bc 49%,#eaf0e8 51%)}
.calendar-day.is-start,.calendar-day.is-end,.calendar-day.is-selected{background:var(--green);color:#fff}
.dot.option{background:#ead38b}.dot.changeover{background:linear-gradient(135deg,#d7b4a6 49%,#c6d7c3 51%)}
.price-conditions{margin-top:18px;font-size:11px;line-height:1.9;color:var(--muted)}
.price-conditions p+p{margin-top:7px}
.season-table th:nth-child(3),.season-table td:nth-child(3){text-align:right;white-space:nowrap}
.season-table th:last-child,.season-table td:last-child{white-space:nowrap}
@media(max-width:580px){.season-table th,.season-table td{padding:12px 7px;font-size:9px}.season-table th{font-size:7px}.price-conditions{font-size:10px}}

/* Keep browser tap/selection highlights off the gallery photograph and letterbox. */
.gallery-dialog,.gallery-dialog *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.gallery-dialog img{-webkit-user-drag:none}
.gallery-dialog img::selection{background:transparent}
.gallery-stage>img{background:transparent}

.price-available .price-amount{white-space:nowrap}
.price-available .price-from{display:block;font:400 9px/1.6 var(--sans);color:var(--muted);margin-top:5px;letter-spacing:0}
.mobile-booking-bar>div{min-width:0}
.mobile-booking-bar .button{flex-shrink:0;white-space:nowrap}
.mobile-booking-bar .price-from{font-size:8px}

/* Dialog autofocus must remain accessible without leaving a ring after a tap. */
[tabindex]:focus-visible{outline:3px solid #bfa279;outline-offset:5px}
html[data-input-modality="pointer"] :is(button,a,[tabindex]):not(input,select,textarea,[contenteditable]):focus{outline:none}

/* Repeated control taps should activate the control, while pinch zoom stays available. */
button,a,input,select,textarea{touch-action:manipulation}
.gallery-stage{touch-action:pan-y pinch-zoom}

/* iOS zooms small editable controls on focus, including the WhatsApp name field. */
@media(max-width:850px),(pointer:coarse){
  .form-field input,.form-field select,
  .home-booking-form>.form-field input,.home-booking-form>.form-field select,
  .villa-booking-form input,.villa-booking-form select,
  .request-name input,.quote-result input[name=fullName]{font-size:16px;min-height:48px}
}
