@font-face{font-family:"Cormorant Garamond";src:url("assets/cormorant-garamond-medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
:root{--paper:#f3f1eb;--ink:#343b36;--muted:#6b7068;--line:#cbcfc4;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;width:100%;height:auto}h1,h2,p,figure{margin:0}h2{font:400 clamp(2.6rem,4.8vw,5.1rem)/1.09 var(--serif);letter-spacing:-.04em}h2 em{font-weight:400}p{font-size:1rem}::selection{background:#c5d8d4;color:#25372f}.skip{position:fixed;top:-90px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}.header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:27px 4.4%;gap:24px}.brand{width:138px;flex:none;position:relative}.brand:after{content:"";position:absolute;inset:0;background:#526153;-webkit-mask:url("assets/logo-current.svg") center/contain no-repeat;mask:url("assets/logo-current.svg") center/contain no-repeat;pointer-events:none}.brand img{width:100%;height:81px;object-fit:contain;opacity:0}.header nav{display:flex;gap:36px;font-size:14px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:2px;left:0;height:1px;width:0;background:currentColor;transition:width .25s}.header nav a:hover:after{width:100%}.header-place{font-size:12px;letter-spacing:.09em}.header-place span{margin-left:12px;font-size:20px}.hero{height:100svh;min-height:650px;max-height:1400px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-picture,.hero-wash{position:absolute;inset:0;z-index:-2}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;transform:scale(1.025);will-change:transform}.hero-wash{z-index:-1;background:linear-gradient(180deg,rgba(249,249,241,.67),rgba(238,243,235,.09) 32%,rgba(240,247,243,.04) 65%,rgba(239,240,230,.8))}.hero-content{text-align:center;width:100%;padding:45px 4% 0;will-change:transform,opacity}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:400;display:block}.hero .eyebrow{letter-spacing:.38em;font-size:13px;margin-bottom:12px}.hero h1{font:400 clamp(2.7rem,8.6vw,8.8rem)/1.2 "Cormorant Garamond",var(--serif);letter-spacing:.085em;color:#526153}.hero-subtitle{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.75rem);margin-top:10px}.hero-bottom{position:absolute;bottom:35px;left:4.4%;right:4.4%;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.12em;gap:20px}.hero-bottom a{font-size:14px;letter-spacing:0;display:flex;align-items:center;gap:20px}.down{font-size:24px;border:1px solid #747f7270;border-radius:50%;display:grid;place-items:center;width:45px;height:45px}.section-pad{padding:100px 7%}.section-label{font-size:11px;letter-spacing:.14em;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:70px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9%}.intro-copy{max-width:410px;padding-top:8px}.intro-copy p:first-child{font:24px/1.45 var(--serif);margin-bottom:20px}.intro-copy p:nth-child(2){color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:38px;font-size:14px;border-bottom:1px solid #a8afa2;padding:15px 0 8px;margin-top:22px}.text-link span{font-size:23px}.intro{padding-bottom:120px}.story{height:290svh;position:relative;background:#29362f}.story-stage{height:100svh;min-height:590px;position:sticky;top:0;color:#fff;overflow:hidden;isolation:isolate}.story-images,.story-image,.story-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.story-image{object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.6s ease}.story-image.active{opacity:1;transform:scale(1)}.story-shade{z-index:-1;background:linear-gradient(90deg,#1529209c,transparent 90%),linear-gradient(0deg,#10251ece,transparent 55%)}.story-overline{position:absolute;left:7%;top:50px;font-size:11px;letter-spacing:.16em}.story-caption{position:absolute;left:7%;right:7%;top:29%;height:340px}.story-panel{position:absolute;inset:0;opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s;pointer-events:none;visibility:hidden}.story-panel.active{opacity:1;transform:translateY(0);visibility:visible}.story-panel .eyebrow{margin-bottom:24px}.story-panel h2{font-size:clamp(3.5rem,6.8vw,7.3rem)}.story-panel p{margin-top:26px;line-height:1.75;color:#f4f4ed}.story-nav{position:absolute;bottom:40px;left:7%;right:7%;display:flex;gap:36px}.story-nav button{position:relative;border:0;text-align:left;flex:1;background:none;padding:18px 0;color:#fff;opacity:.6;font-size:15px}.story-nav button span{font-size:11px;margin-right:15px}.story-nav i{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#ffffff55}.story-nav i:after{content:'';position:absolute;inset:0;background:white;transform:scaleX(0);transform-origin:left;transition:transform .65s}.story-nav button.active{opacity:1}.story-nav button.active i:after{transform:scaleX(1)}.architecture-heading{display:flex;justify-content:space-between;align-items:end;gap:10%;margin-bottom:65px}.architecture-heading p{max-width:320px;color:var(--muted);padding-bottom:6px}.architecture-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:7%;align-items:start}.architecture-small{margin-top:140px}.image-button{display:block;width:100%;border:0;padding:0;background:transparent;position:relative;overflow:hidden}.image-button img{object-fit:cover;height:490px;transition:transform .7s}.architecture-small img{height:420px}.image-button:hover img,.gallery-card:hover img{transform:scale(1.035)}.expand{position:absolute;right:18px;bottom:18px;border-radius:50%;width:40px;height:40px;background:#ffffffdd;display:grid;place-items:center;font-size:22px}.architecture-grid figcaption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;padding-top:19px}.architecture-small p{font:italic 24px/1.5 var(--serif);margin-top:35px}.place{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;isolation:isolate}.place-picture{position:absolute;inset:0;z-index:-2}.place-picture img{height:100%;object-fit:cover;object-position:60% center}.place:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f7efee,#f5f7ef99 40%,#ffffff05)}.place-content{padding:90px 7%}.place .eyebrow{margin-bottom:40px}.place h2{font-size:clamp(3.5rem,6vw,6rem)}.place p{margin-top:28px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.gallery-heading p{font-size:14px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.gallery-card{border:0;padding:0;background:none;text-align:left;overflow:hidden}.gallery-card img{height:360px;object-fit:cover;transition:transform .7s}.gallery-card span{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0;font-size:16px}.gallery-card b{font-weight:400;font-size:22px}.render-note{color:var(--muted);font-size:12px;margin-top:25px}footer{background:#283b32;color:#f3f1eb;padding:70px 7% 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:65px}.footer-top img{width:160px;filter:invert(1);opacity:.92}.footer-top p{font:30px/1.45 var(--serif)}.backtop{display:grid;place-items:center;border:1px solid #8d9a8f;width:55px;height:55px;border-radius:50%;font-size:25px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #83918466;padding-top:24px;font-size:10px;letter-spacing:.13em}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}.js .reveal.visible{opacity:1;transform:none}dialog{padding:22px 30px;border:0;background:#17271ff7;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog::backdrop{background:#17271f}dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:14px}dialog button{background:none;border:1px solid #ffffff55;color:white;padding:8px 18px;font-size:14px}#lightbox-image{min-height:0;max-height:calc(100dvh - 155px);width:100%;flex:1;object-fit:contain}.lightbox-controls{display:flex;align-items:center;gap:30px;font-size:14px}.lightbox-controls button{font-size:22px}
@media(min-width:1600px){.section-pad{padding-left:max(7%,calc((100% - 1500px)/2));padding-right:max(7%,calc((100% - 1500px)/2))}}
@media(max-width:900px){.header{padding:22px 5%}.header-place{display:none}.hero h1{font-size:8.6vw}.hero-edition{display:none}.intro-grid{gap:7%}.architecture-heading{gap:5%}.architecture-heading p{max-width:260px}.architecture-grid{gap:5%}.image-button img{height:390px}.architecture-small img{height:330px}.gallery-card img{height:280px}.footer-top p{font-size:25px}}
@media(max-width:600px){html{scroll-padding-top:24px}.header{padding:20px 6%;align-items:flex-start}.brand{width:103px}.brand img{height:61px}.header nav{gap:19px;font-size:12px;padding-top:16px}.header nav a:first-child{display:none}.hero{min-height:620px;max-height:1000px}.hero-picture img{object-position:48% center}.hero-content{padding-top:0}.hero .eyebrow{font-size:11px;letter-spacing:.28em;margin-bottom:18px}.hero h1{font-size:9vw;letter-spacing:.055em}.hero-subtitle{font-size:1.1rem;margin:18px auto 0;max-width:270px}.hero-bottom{left:6%;right:6%;bottom:28px;align-items:end}.hero-bottom>span{max-width:110px;line-height:1.9;font-size:10px}.hero-bottom a{font-size:13px;gap:10px}.down{width:36px;height:36px;font-size:20px}.section-pad{padding:65px 7%}.section-label{margin-bottom:42px;font-size:10px;gap:15px}.section-label span:last-child{text-align:right;max-width:140px}.intro-grid{display:block}.intro-copy{padding-top:30px;max-width:none}.intro-copy p:first-child{font-size:22px}.intro-copy p:nth-child(2){font-size:15px}.intro{padding-bottom:70px}.story{height:260svh}.story-stage{min-height:580px}.story-overline{top:35px;font-size:10px}.story-caption{top:27%}.story-panel h2{font-size:3.65rem}.story-panel .eyebrow{font-size:11px;margin-bottom:20px}.story-panel p{font-size:15px;margin-top:25px}.story-nav{bottom:28px;gap:20px}.story-nav button{font-size:14px}.story-nav button span{display:block;margin:0 0 5px}.story-image{object-position:55% center}.story-shade{background:linear-gradient(90deg,#15292088,#15292022),linear-gradient(0deg,#10251ecc,transparent)}.architecture-heading{display:block;margin-bottom:35px}.architecture-heading p{max-width:none;margin-top:25px;font-size:15px}.architecture-grid{display:block}.image-button img{height:340px}.architecture-small{margin-top:40px;margin-left:16%}.architecture-small img{height:320px}.architecture-small p{font-size:23px;margin-top:24px}.place{min-height:550px}.place h2{font-size:3.5rem}.place .eyebrow{margin-bottom:30px}.place p{font-size:15px;max-width:260px}.place p br{display:none}.place:after{background:linear-gradient(90deg,#f7f7efd9,#f7f7ef70)}.gallery-heading{display:block;margin-bottom:32px}.gallery-heading p{margin-top:20px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-card img{height:auto;aspect-ratio:1.35;object-fit:cover}.render-note{font-size:11px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:30px;padding-bottom:40px}.footer-top img{width:125px}.footer-top p{grid-row:2;grid-column:1/3;font-size:28px}.backtop{grid-column:2;grid-row:1}.footer-bottom{flex-wrap:wrap;font-size:9px}.footer-bottom span:last-child{width:100%}footer{padding-top:50px}dialog{padding:18px}.lightbox-bar{font-size:12px}.lightbox-bar button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}.hero-picture img,.hero-content,.story-image{transform:none!important}}

.architecture-large .image-button img{height:auto;aspect-ratio:466/633;object-fit:contain}.architecture-grid{grid-template-columns:1.15fr 1fr}

/* Warm brown is confined to the opening viewport. */
.header,.hero{color:#4b2e20}.hero h1{color:#4b2e20}.brand:after{background:#4b2e20}.hero .down{border-color:#4b2e2070}
.architecture-large .image-button img{aspect-ratio:16/10;object-fit:cover}.villa-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.villa-thumbs button{border:0;padding:0;background:none;overflow:hidden}.villa-thumbs img{aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.villa-thumbs button:hover img{transform:scale(1.04)}
.media-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}.media-filters button{border:1px solid var(--line);padding:10px 19px;background:transparent;border-radius:30px;font-size:14px;transition:background .2s}.media-filters button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.media-filters button span{font-size:11px;opacity:.7;margin-left:8px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.media-card{padding:0;border:0;background:none;text-align:left;min-width:0;display:block}.media-cover{display:block;position:relative;overflow:hidden;aspect-ratio:3/4;background:#e4e2db}.media-cover img{width:100%;height:100%;object-fit:contain;transition:transform .55s}.media-card[data-category="architecture"] .media-cover img{object-fit:cover}.media-card[data-media="villa-detail"] .media-cover img{object-fit:contain}.film-cover{background:#283b32}.film-cover img{object-fit:contain}.media-card:hover .media-cover img{transform:scale(1.015)}.media-category{display:block;font-size:10px;letter-spacing:.15em;margin-top:16px;color:var(--muted)}.media-title{display:flex;align-items:start;justify-content:space-between;gap:12px;font:19px/1.4 var(--serif);margin-top:6px}.media-title>span{font:18px Arial}.play-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#f5f1e8e6;color:#4b4a3a;font:20px Arial;box-shadow:0 3px 25px #0002}.duration{position:absolute;bottom:14px;right:14px;color:#fff;background:#15251dd9;border-radius:3px;padding:3px 8px;font-size:12px}.gallery-status{font-size:12px;color:var(--muted);margin-top:38px}.media-card[hidden],#lightbox-image[hidden],#lightbox-video[hidden],#video-error[hidden]{display:none!important}#lightbox-video{width:100%;min-height:0;max-height:calc(100dvh - 155px);flex:1;object-fit:contain}#video-error{font-size:14px;text-align:center}.lightbox-bar{gap:20px}.lightbox-bar>span{max-width:80%;line-height:1.5}
@media(max-width:900px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.media-grid{gap:30px 16px}.media-title{font-size:16px}.media-filters{gap:8px}.media-filters button{padding:9px 13px;font-size:13px}.media-filters button span{margin-left:5px}.play-mark{width:45px;height:45px;font-size:15px}.duration{font-size:10px;bottom:8px;right:8px}.media-category{font-size:9px}.villa-thumbs{gap:9px}}

.feature-film{background:#293a32;color:#f3f1eb;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding-top:70px;padding-bottom:70px}.film-copy .eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:32px}.film-copy h2{font-size:clamp(2.6rem,4.8vw,5rem)}.film-copy p{font:italic 21px/1.6 var(--serif);margin-top:28px;color:#e1dfd4}.film-screen{justify-self:center;max-width:100%;position:relative}.film-screen video{display:block;width:auto;max-width:100%;height:76svh;max-height:850px;aspect-ratio:9/16;object-fit:contain;background:#16271f}.film-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.film-actions button{border:1px solid #b4c2b480;border-radius:30px;background:transparent;padding:11px 22px;color:#f3f1eb;font-size:14px}.film-actions button:hover{background:#ffffff12}.film-actions button[aria-pressed="true"]{background:#f3f1eb;color:#293a32}#feature-film-error{font-size:14px;margin-top:12px}#feature-film-error[hidden]{display:none}
@media(max-width:600px){.feature-film{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:50px}.film-copy .eyebrow{margin-bottom:22px;font-size:10px}.film-copy p{font-size:19px;margin-top:22px}.film-actions{margin-top:24px}.film-screen video{height:auto;width:min(100%,370px);max-height:76svh}.film-screen{width:100%;display:flex;align-items:center;flex-direction:column}}

.brand img{height:auto;aspect-ratio:392/277}.footer-top img{aspect-ratio:392/277;height:auto}.hero-picture{transform:scale(1.025);will-change:transform}.hero-picture img{transform:none!important;will-change:auto}#hero-water{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none}#hero-water.ready{opacity:1}#hero-motion-toggle{border:0;border-bottom:1px solid #4b2e2050;background:none;padding:6px 0;color:inherit;font-size:12px;letter-spacing:0}#hero-motion-toggle[hidden]{display:none}@media(max-width:600px){#hero-motion-toggle{position:absolute;right:0;bottom:62px;font-size:12px}}@media(prefers-reduced-motion:reduce){.hero-picture{transform:none!important}}

video#hero-water{object-fit:cover;object-position:50% 53%}video#hero-water.ready{opacity:1}@media(max-width:600px){video#hero-water{object-position:48% 50%}}

/* The supplied logo's original lettering, with the symbol outside the SVG viewport. */
.hero h1{width:clamp(300px,48vw,700px);max-width:100%;margin:12px auto 0;line-height:0;font-size:inherit;letter-spacing:normal}.hero h1 .hero-wordmark{display:block;width:100%;height:auto;aspect-ratio:384/78}.hero .hero-subtitle{margin-top:26px}
@media(max-width:600px){.hero h1{width:min(84vw,430px);margin-top:10px}.hero .hero-subtitle{margin-top:24px}}

/* Contact details are available directly from the opening navigation. */
.contact-menu{position:relative}.contact-menu summary{list-style:none;cursor:pointer;padding:8px 0}.contact-menu summary::-webkit-details-marker{display:none}.contact-menu summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}.contact-menu[open] summary{border-bottom:1px solid currentColor}.contact-panel{position:absolute;right:0;top:calc(100% + 15px);width:320px;max-width:calc(100vw - 32px);padding:24px;background:#f8f6f0;border:1px solid #4b2e2026;box-shadow:0 12px 32px #35241718;color:#4b2e20;z-index:20;text-align:left}.contact-panel p{font-family:var(--serif);font-size:23px;margin-bottom:14px}.header nav .contact-panel a{display:block;font-size:14px;letter-spacing:0;padding:12px 0;overflow-wrap:anywhere}.contact-panel a+a{border-top:1px solid #4b2e2026}.contact-panel a span{display:block;font-size:12px;letter-spacing:.09em;margin-bottom:3px;color:#77675a}.header nav .contact-panel a:after{display:none}.header nav .contact-panel a:hover{text-decoration:underline;text-underline-offset:4px}
.suite-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}.suite-thumbs button{border:0;padding:0;background:transparent;overflow:hidden}.architecture-small .suite-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .35s}.suite-thumbs button:hover img{transform:scale(1.04)}
@media(max-width:600px){.header{gap:12px}.header nav{gap:12px}.brand{width:90px}.contact-panel{position:fixed;top:100px;right:6%;width:320px;max-width:88vw;padding:18px}.header nav .contact-panel a{font-size:14px}.suite-thumbs{gap:6px}}
/* Wider architecture thumbnails keep rooms legible before opening the gallery. */
.media-card[data-category="architecture"] .media-cover{aspect-ratio:4/3}.media-card.interior-card .media-cover img{object-fit:contain}

/* Villa cover and collection previews. */
.architecture-large.villa-figure{width:100%;max-width:none}
.villa-figure .image-button img{height:auto;aspect-ratio:auto;object-fit:contain}
.villa-figure .villa-thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}
.villa-figure .villa-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
@media(max-width:600px){.villa-figure .villa-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}}

/* Keep the catalogue link readable on narrow phones. */
@media(max-width:380px){.header{flex-wrap:wrap}.header nav{width:100%;justify-content:flex-end;padding-top:0;gap:16px}}
