@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap');
:root{--editorial-serif:"Libre Caslon Text",Georgia,serif}
body{font-size:16px;line-height:1.75;background-image:none;background-color:#f1eee7}
h1,h2,h3,.brand,.facts strong,.price,.heritage-note p,.walking-grid article>span{font-family:var(--editorial-serif);font-weight:400;letter-spacing:-.6px}
header{max-width:none;padding:27px 4vw;min-height:100px;border-bottom:1px solid #252d261a;background:#f1eee7;gap:28px}
.brand{font-size:17px;letter-spacing:.8px}.brand span{font-size:9px;letter-spacing:1.8px}header nav{font-size:12px;gap:22px}.languages a span{font-size:11px}
.hero{position:relative;display:block;max-width:none;margin:0 32px;min-height:0}.hero>img{width:100%;height:calc(100vh - 135px);min-height:570px;max-height:800px;object-fit:cover;object-position:center 42%}
.hero-copy{position:absolute;left:4vw;bottom:45px;width:400px;max-width:calc(100% - 48px);padding:32px 34px!important;background:#252d26;color:#f1eee7}
.hero h1{font-family:var(--editorial-serif);font-size:38px;line-height:1.22;margin:16px 0 19px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:0;opacity:.7}.hero .lead{font-size:12px;line-height:1.7;margin-bottom:13px}.hero-price{font-size:14px;letter-spacing:1px;margin-bottom:22px}.hero .button{display:block;text-align:center;padding:12px 10px;border:1px solid #f1eee76b;margin:0;font-size:11px;letter-spacing:1px}
.wrap{max-width:1320px;padding:100px 7vw}.eyebrow{font-size:10px;letter-spacing:2px}h2{font-size:clamp(32px,3vw,46px);line-height:1.22}h3{font-size:25px;line-height:1.3}.large{font-size:20px;line-height:1.7}.split{grid-template-columns:1fr 1.12fr;gap:12%}.intro .split>div:nth-child(2){padding-top:7px}.story-portrait{margin-top:34px}.story-portrait img{width:180px;height:180px}.story-portrait{width:180px}.story-link{font-size:14px}.facts strong{font-size:34px}.facts span{font-size:12px}.private-offer{margin-top:70px;padding:30px;background:#d8d6cd}.private-offer h3{font-size:24px}.private-offer p{font-size:14px;max-width:700px}
.wide-photo.wrap{max-width:none;width:calc(100% - 64px);padding:0;margin:15px 32px 65px}.wide-photo img{aspect-ratio:2;max-height:760px;object-fit:cover}.wide-photo figcaption{font-size:10px;letter-spacing:1px;padding-top:12px}.location{padding-top:55px}.location>p:not(.eyebrow){max-width:800px}.property-map iframe{height:380px}.floors p{font-size:15px}.adaptation-note h3{font-size:24px}.gallery.wrap{max-width:none;padding:75px 32px}.gallery h2,.gallery>.eyebrow{margin-left:max(0px,calc((100vw - 1320px)/2 + 7vw - 32px))}.gallery-grid img{height:650px;max-height:75vh}.gallery-grid>button{flex-basis:auto}.gallery button span{font-size:12px}.gallery-slider-controls{margin-top:30px}.technical h2{font-size:42px}.contact-details h3{font-size:28px}.sales-partners .agency-logos .ilavska-partner{font-family:var(--editorial-serif);font-size:16px}
@media(max-width:1000px) and (min-width:801px){header{gap:18px}header nav{gap:14px}.hero-copy{width:355px}.hero h1{font-size:32px}.split{gap:7%}}
@media(max-width:800px){body>header{padding:16px 5%;background:#f1eee7}.hero{margin:0 14px}.hero>img{height:62vh;min-height:390px;max-height:570px;object-position:center 35%}.hero-copy{position:relative;left:auto;bottom:auto;width:calc(100% - 28px);max-width:none;margin:-55px auto 0;padding:25px!important}.hero h1{font-size:31px;line-height:1.2}.hero .lead{font-size:12px}.hero-price{margin-bottom:18px}.wrap{padding:65px 7%}.split{display:block}.intro .split>div:nth-child(2){padding-top:28px}h2{font-size:34px}.large{font-size:19px}.story-portrait{width:140px}.story-portrait img{width:140px;height:140px}.private-offer{margin-top:36px;padding:23px}.wide-photo.wrap{width:calc(100% - 28px);margin:0 14px 30px}.wide-photo img{aspect-ratio:1.15}.gallery.wrap{padding:55px 14px}.gallery h2,.gallery>.eyebrow{margin-left:calc(7vw - 14px)}.gallery-grid img{height:450px;max-height:65vh}.technical h2{font-size:34px}.facts strong{font-size:30px}.section-title{display:block}}

.hero-seasons{position:relative;width:100%;height:calc(100vh - 135px);min-height:570px;max-height:800px;overflow:hidden;background:#d8d6cd}
.hero-season{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity 1.2s ease;display:block}
.hero-summer{opacity:1;transition:none}.hero-winter{opacity:1;transition:none;clip-path:inset(0 0 0 var(--season-split))}
.season-labels{position:absolute;inset:24px 24px auto;display:flex;justify-content:space-between;pointer-events:none;color:#f1eee7;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}
.season-labels span{padding:9px 15px;background:#252d26b8;backdrop-filter:blur(8px)}
.season-divider{position:absolute;left:var(--season-split);top:0;bottom:0;width:2px;background:#f1eee7d9;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 12px #252d2633}
.season-handle{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f1eee7ed;color:#252d26;box-shadow:0 3px 20px #252d2633;border:1px solid #ffffff80}
.season-handle svg{width:36px;height:24px}
.season-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:2;touch-action:pan-y;-webkit-appearance:none;appearance:none;background:transparent}
.season-range::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:100%;cursor:ew-resize}
.season-range::-moz-range-thumb{width:1px;height:100%;border:0;cursor:ew-resize}
.hero-seasons:has(.season-range:focus-visible) .season-handle{outline:3px solid #a3ada0;outline-offset:4px}
@media(max-width:800px){.hero-seasons{height:62vh;min-height:390px;max-height:570px}.hero-season{object-position:43% center}.season-labels{inset:14px 14px auto}.season-labels span{font-size:10px;padding:8px 12px}.season-handle{width:48px;height:48px;top:42%}.hero-copy{z-index:3}}
/* Quiet editorial information strip below the unobstructed photograph. */
.hero-copy{position:relative;left:auto;bottom:auto;width:100%;max-width:none;margin:0;padding:30px 26px!important;background:transparent;color:#252d26;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:55px;align-items:center}
.hero-copy .eyebrow{grid-column:1;margin:0 0 8px}
.hero-copy h1{grid-column:1;grid-row:2;font-size:32px;line-height:1.2;margin:0 0 9px}
.hero-copy .lead{grid-column:1;grid-row:3;margin:0;font-size:12px}
.hero-copy .hero-price{grid-column:2;grid-row:1 / 3;margin:0 0 8px;text-align:right;font-size:17px;align-self:center}
.hero-copy .button{grid-column:2;grid-row:3;border-color:#252d264a;padding:11px 23px;min-width:230px}
.hero-seasons{height:clamp(480px,68vh,720px);min-height:0;max-height:none}
@media(max-width:800px){.hero-seasons{height:62vh;min-height:390px;max-height:570px}.hero-copy{width:100%;margin:0;padding:24px 5px 12px!important;display:block}.hero-copy h1{font-size:29px;margin:12px 0}.hero-copy .lead{font-size:12px}.hero-copy .hero-price{text-align:left;margin:20px 0 15px;font-size:16px}.hero-copy .button{min-width:0;text-align:center;width:100%}}

body>header{position:sticky;top:0;z-index:100;width:100%;transition:transform .32s ease;will-change:transform}
body>header.nav-hidden{transform:translateY(-105%);pointer-events:none}
@media(prefers-reduced-motion:reduce){body>header{transition:none}}

.gallery-grid .gallery-summer img{aspect-ratio:1.4;width:auto;object-fit:cover;object-position:32% center}

.gallery-grid [data-photo="new-03"] img{width:auto;height:650px;max-height:75vh;aspect-ratio:3 / 2;object-fit:cover;object-position:center bottom}
@media(max-width:800px){.gallery-grid [data-photo="new-03"] img{width:auto;height:450px;max-height:65vh}}

/* Soft light through warm cream, with a quiet slate-green contact section. */
body{background-color:#f1eee7;background-image:radial-gradient(ellipse at 28% 24%,rgba(252,250,244,.49) 0%,rgba(252,250,244,.19) 38%,transparent 72%),conic-gradient(from 155deg at 78% -18%,rgba(224,217,203,.19),rgba(252,250,244,.30) 42deg,rgba(252,250,244,.10) 74deg,rgba(222,215,201,.21) 118deg,rgba(224,217,203,.19) 360deg);background-attachment:fixed;background-size:100% 100vh;background-repeat:no-repeat}
.contact{background:#59685d;color:#f1eee7}
.contact .eyebrow,.contact .furniture-note,.contact .sales-partners p{color:inherit}
.contact .sales-partners{border-color:#f1eee738}

.walking-grid article>span{font-size:25px;line-height:1.3}
.contact{background:#59685d;color:#f7f4ed}
.contact .contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:9%;align-items:start;padding-top:85px;padding-bottom:80px}
.contact-summary h2{font-size:34px;line-height:1.3;max-width:480px;margin-bottom:22px}
.contact-intro{font-size:16px;line-height:1.8;max-width:480px;margin-bottom:30px}
.quiet-price{font-size:15px;margin-bottom:12px;letter-spacing:.2px}
.contact .furniture-note{font-size:12px;line-height:1.7;max-width:440px;opacity:.76;margin-bottom:45px}
.contact-people{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-people h3{font-size:20px;margin-bottom:12px;letter-spacing:0}
.contact-people a{display:block;font-size:13px;margin:6px 0}
.contact .sales-partners{margin-top:36px;padding-top:22px;border-color:#f7f4ed33}
.contact .sales-partners p{font-size:11px;margin-bottom:20px}
.contact .agency-logos{gap:20px;flex-wrap:wrap}
.villa-enquiry{background:#f7f4ed;color:#59685d;padding:36px 38px}
.villa-enquiry label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:18px}
.villa-enquiry input,.villa-enquiry select,.villa-enquiry textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #a3ada0;border-radius:0;background:transparent;color:#252d26;font:15px/1.5 Arial,sans-serif;padding:10px 0 12px;outline-offset:3px}
.villa-enquiry select{cursor:pointer}.villa-enquiry textarea{resize:vertical;min-height:80px}
.villa-enquiry .form-privacy{font-size:11px;line-height:1.7;margin:20px 0;color:#59685d}
.villa-enquiry button{border:0;background:#59685d;color:#f7f4ed;padding:13px 22px;font-size:12px;letter-spacing:.5px;cursor:pointer}.villa-enquiry button:hover{background:#252d26}.villa-enquiry button:disabled{opacity:.65;cursor:wait}
.form-status{font-size:13px;line-height:1.6;margin:16px 0 0}.form-status:empty{display:none}
.form-trap{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:800px){.contact .contact-layout{grid-template-columns:1fr;gap:36px;padding:55px 7%}.contact-summary h2{font-size:28px}.contact-people{gap:20px}.contact-people h3{font-size:18px}.contact-people a{font-size:12px}.contact .furniture-note{margin-bottom:28px}.villa-enquiry{padding:28px 24px}.villa-enquiry input,.villa-enquiry select,.villa-enquiry textarea{font-size:16px}}

/* Shared natural palette throughout the villa presentation. */
:root{--paper:#F1EEE7;--ivory:#F7F4ED;--stone:#D8D6CD;--sage:#A3ADA0;--footer-green:#59685D;--green:#252D26;--brown:var(--sage);--muted:var(--footer-green);--line:var(--stone)}
body{color:var(--green);background-color:var(--paper);background-image:radial-gradient(ellipse at 28% 24%,rgba(247,244,237,.55) 0%,rgba(247,244,237,.22) 38%,transparent 72%),conic-gradient(from 155deg at 78% -18%,rgba(216,214,205,.19),rgba(247,244,237,.36) 42deg,rgba(247,244,237,.12) 74deg,rgba(216,214,205,.22) 118deg,rgba(216,214,205,.19) 360deg)}
body>header{background:var(--paper);border-color:var(--stone)}
header nav{background:var(--paper)}
.private-offer,.adaptation-note,.heritage-note{background:rgba(216,214,205,.38)}
.adaptation-note,.heritage-note{border-left-color:var(--sage)}
.technical{background:rgba(216,214,205,.46)}
.specs div,.costs dl div,.walking-grid article,.facts,.walking.wrap{border-color:var(--stone)}
.gallery-dots,.gallery .gallery-round{background:var(--stone)}
.gallery .gallery-round:hover{background:var(--sage)}
.gallery-dot span{background:var(--sage)}
.gallery-dot.is-active span{background:var(--green)}
.hero-copy .button{border-color:var(--sage)}
.hero-copy .button:hover{background:var(--stone);text-decoration:none}
.season-labels span{background:rgba(89,104,93,.86);color:var(--ivory)}
.season-handle{background:rgba(247,244,237,.94);color:var(--green);border-color:var(--stone)}
.season-divider{background:var(--ivory)}
.plan-card button{background:var(--ivory);border-color:var(--stone)}
.contact{background:var(--footer-green);color:var(--ivory)}
.villa-enquiry{background:var(--ivory);color:var(--footer-green)}
.villa-enquiry input,.villa-enquiry select,.villa-enquiry textarea{border-color:var(--sage);color:var(--green)}
.villa-enquiry button{background:var(--green);color:var(--ivory)}
.villa-enquiry button:hover{background:var(--footer-green)}
.villa-enquiry .form-privacy{color:var(--footer-green)}
footer.wrap{color:var(--footer-green)}
dialog{background:var(--green);color:var(--ivory)}
:focus-visible{outline-color:var(--footer-green)}

.contact-people{grid-template-columns:max-content max-content;column-gap:34px}
.contact .sales-partners .agency-logos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.contact .sales-partners .agency-logos a,.contact .sales-partners .agency-logos a:first-child,.contact .sales-partners .agency-logos a:last-child{height:36px;min-height:0;margin:0}
.contact .sales-partners .agency-logos .az-mark{width:118px;height:auto}
.contact .sales-partners .agency-logos .ilavska-partner{font-size:14px;line-height:1.25;letter-spacing:0;font-weight:400;opacity:.6}
@media(max-width:800px){.contact-people{column-gap:24px}.contact .sales-partners .agency-logos{column-gap:20px}}

/* Consistent outlined actions. */
.button,.hero-copy .button,.villa-enquiry button,.close,.lightbox-prev,.lightbox-next{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border:1px solid var(--footer-green);border-radius:0;background:transparent;color:var(--green);font:13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.3px;text-decoration:none;cursor:pointer}
.button:hover,.hero-copy .button:hover,.villa-enquiry button:hover{background:var(--stone);color:var(--green);text-decoration:none}
.hero-copy .button{display:flex}
dialog .close,dialog .lightbox-prev,dialog .lightbox-next{border-color:var(--sage);color:var(--ivory);background:transparent}
dialog .close:hover,dialog .lightbox-prev:hover,dialog .lightbox-next:hover{background:var(--footer-green)}
.gallery .gallery-round{width:44px;height:44px;border:1px solid var(--footer-green);background:transparent;color:var(--green)}
.gallery .gallery-round:hover{background:var(--stone)}
.villa-enquiry button:disabled{cursor:wait;opacity:.65}
@media(max-width:800px){
 .hero-summer{opacity:1!important;clip-path:none!important}.hero-winter,.season-range,.season-labels,.season-divider{display:none!important}
 .contact-layout>.sales-partners{width:100%;margin:0;padding-top:26px;border-top:1px solid rgba(247,244,237,.25)}
}

/* Quiet focus treatment for form fields. */
.villa-enquiry input:focus,.villa-enquiry select:focus,.villa-enquiry textarea:focus{outline:none;box-shadow:none;border-bottom-color:var(--footer-green)}
.villa-enquiry input:focus-visible,.villa-enquiry select:focus-visible,.villa-enquiry textarea:focus-visible{outline:none;box-shadow:none}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}

.villa-enquiry label{text-transform:none;font-size:13px;letter-spacing:0}

.villa-enquiry .form-title{margin:0 0 28px;font-family:var(--editorial-serif);font-size:28px;line-height:1.25;font-weight:400;color:var(--green)}

/* Show the complete portrait in its original proportions. */
.story-portrait img{width:100%;height:auto;aspect-ratio:auto;border-radius:0;object-fit:contain}

/* Collapse navigation before its contents compete for space. */
@media(max-width:1150px){
 html{scroll-padding-top:90px}
 body>header{position:sticky;top:0;z-index:100;width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:14px 5%;background:rgba(238,234,225,.97);backdrop-filter:blur(14px);border-bottom:1px solid #252d261a;box-shadow:0 3px 18px #252d2608}
 header .brand{padding:0;font-size:13px;letter-spacing:.5px;line-height:1.3;min-width:0}header .brand span{font-size:8px;letter-spacing:.5px;line-height:1.8}
 header .languages{position:static;grid-column:2;grid-row:1;gap:0}header .languages a{padding:8px 5px}header .languages a+a{margin-left:0}header .languages a span{font-size:11px}
 header .menu-toggle{grid-column:3;grid-row:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #252d2630;background:transparent;cursor:pointer}
 .menu-toggle span{display:block;width:20px;height:1px;background:var(--green);transition:transform .2s,opacity .2s}
 header.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}header.menu-open .menu-toggle span:nth-child(2){opacity:0}header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;padding:10px 5% 22px;background:var(--paper);box-shadow:0 12px 16px #252d2614;border-bottom:1px solid var(--line)}
 header.menu-open nav{display:flex;flex-direction:column;gap:0;align-items:stretch}header nav a{display:block;padding:13px 0;border-bottom:1px solid #252d2614;font-size:16px}
}

.walking-grid article>span{font-size:25px;line-height:1.3}

/* Include the villa area alongside the existing key facts. */
.facts{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:800px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Warm cream and stone palette, with a light contact section. */
:root{--paper:#F3EFE7;--ivory:#FAF7F0;--stone:#DDD5C8;--sage:#B7AD9F;--footer-green:#70675D;--green:#302D28;--brown:var(--sage);--muted:#70675D;--line:var(--stone)}
body{background-image:radial-gradient(ellipse at 28% 24%,rgba(250,247,240,.55) 0%,rgba(250,247,240,.22) 38%,transparent 72%),conic-gradient(from 155deg at 78% -18%,rgba(221,213,200,.19),rgba(250,247,240,.36) 42deg,rgba(250,247,240,.12) 74deg,rgba(221,213,200,.22) 118deg,rgba(221,213,200,.19) 360deg)}
.hero-copy{color:var(--green)}
.contact{background:#E9E2D6;color:var(--green)}
.contact .sales-partners,.contact-layout>.sales-partners{border-color:var(--sage)}
.contact .sales-partners .agency-logos .sothebys-mark,.contact .sales-partners .agency-logos .az-mark{filter:brightness(0);mix-blend-mode:normal;opacity:.55}
.technical{background:rgba(221,213,200,.46)}
.adaptation-note{background:rgba(221,213,200,.38)}
.season-labels span{background:rgba(243,239,231,.92);color:var(--green)}

.contact .sales-partners .agency-logos{column-gap:32px}

/* A subtle, consistent softening of rectangular surfaces. */
:root{--corner:4px}
.hero-seasons,.hero-season,.wide-photo img,.story-portrait img,.gallery-grid img,.property-map iframe,.plan-card button,.plan-card img,.adaptation-note,.villa-enquiry,dialog,dialog img,.season-labels span{border-radius:var(--corner)}
.button,.hero-copy .button,.villa-enquiry button,.gallery .gallery-round,.gallery-dots,.close,.lightbox-prev,.lightbox-next,header .menu-toggle{border-radius:var(--corner)}
