@font-face{font-family:Neutraface;src:local('Neutraface Text Book'),local('NeutrafaceText-Book');font-weight:400}
@font-face{font-family:Neutraface;src:local('Neutraface Text Demi'),local('NeutrafaceText-Demi');font-weight:600}
:root{--ink:#1f211f;--muted:#777973;--line:#e9e9e5;--white:#fff;--max:1420px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Neutraface,'Helvetica Neue',Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.header{height:88px;background:#fff;display:flex;align-items:center;padding:0 4.5vw;border-bottom:1px solid var(--line);gap:2vw;position:relative;z-index:20}
.identity{display:flex;align-items:center;gap:12px;white-space:nowrap}
.qmark{font-size:27px;line-height:1;font-weight:400;letter-spacing:-.07em}
.wordmark{font-size:10px;letter-spacing:.30em;font-weight:400}
.header nav{margin-left:auto;display:flex;gap:1.55vw;align-items:center}
.header nav a,.contact-nav{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#4b4d48;white-space:nowrap;padding:8px 0;font-weight:400}
.header nav a:hover,.contact-nav:hover{opacity:.55}
.contact-nav{margin-left:.5vw}.menu,.mobile{display:none}
.hero,.pagehero{width:min(91vw,var(--max));height:min(47vw,675px);min-height:510px;margin:46px auto 0;position:relative;color:#fff;overflow:hidden;background:#ecece9}
.hero img,.pagehero img{position:absolute;inset:0}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.26),rgba(0,0,0,.015) 70%)}
.hero-copy{position:absolute;z-index:2;left:5.25%;bottom:8%;right:8%;max-width:860px}
.eyebrow{font-size:8.5px;letter-spacing:.235em;text-transform:uppercase;font-weight:400}
.hero h1,.pagehero h1{font-size:clamp(38px,4.35vw,65px);line-height:1.04;letter-spacing:-.025em;font-weight:400;margin:17px 0}
.link{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:1px solid;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.intro,.statement{width:min(1120px,84vw);margin:0 auto;padding:118px 0}
.intro{display:grid;grid-template-columns:.8fr 1.65fr 1fr;gap:5.5vw;align-items:start}
.intro h2,.statement h2,.copy h2{font-size:clamp(31px,3.25vw,48px);line-height:1.08;letter-spacing:-.018em;font-weight:400;margin:0 0 25px}
.intro p,.statement p{font-size:13px;line-height:1.95;color:var(--muted);margin:0}.statement{text-align:center}.statement h2{max-width:900px;margin:20px auto 25px}.statement p{max-width:680px;margin:auto}
.editorial{width:min(1320px,90vw);margin:0 auto 96px;display:grid;grid-template-columns:55% 45%;min-height:585px;background:#fff}
.editorial.reverse{grid-template-columns:45% 55%}.editorial.reverse .media{order:2}.editorial.reverse .copy{order:1}
.media{min-height:585px;overflow:hidden}.copy{padding:7.8vw 6.4vw;display:flex;flex-direction:column;justify-content:center;background:#fff}
.copy h2{margin:18px 0 25px}.copy p{max-width:610px;font-size:12.5px;line-height:1.95;color:#696b65;margin:0 0 17px}
.copy .caps{font-size:10.5px!important;line-height:2.25!important;letter-spacing:.16em!important;color:#252724!important;text-transform:uppercase;margin-top:20px;max-width:680px}
.copy .micro{font-size:10px!important;line-height:1.9!important;letter-spacing:.07em!important;color:#969790!important;margin-top:16px}.luxury-copy{font-size:13.5px!important;line-height:1.9!important;color:#555751!important}
.grid2{width:min(1320px,90vw);margin:0 auto 110px;display:grid;grid-template-columns:repeat(2,1fr);gap:66px 42px;background:#fff}
.tile{height:auto;min-height:0;position:relative;color:var(--ink);overflow:visible}.tile img{height:430px;filter:none;transition:transform 1s ease}.tile:hover img{transform:scale(1.01);filter:none}.tile div{position:static;padding:22px 1px 0}.tile h3{font-size:27px;font-weight:400;letter-spacing:-.015em;margin:9px 0 7px}.tile p{font-size:9.5px;letter-spacing:.105em;text-transform:uppercase;color:#858780}.tile .eyebrow{color:#8c8e87}
.locations{width:min(1120px,84vw);padding:105px 0 120px;margin:auto;text-align:center;border-top:1px solid var(--line)}.locations h2{font-size:clamp(38px,4.6vw,64px);font-weight:400;letter-spacing:-.02em;margin:22px 0}.locations i{font-style:normal;color:#b4b5b0}
.contact{min-height:calc(100vh - 88px);width:min(1160px,84vw);margin:auto;padding:120px 0;display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;align-items:center}.contact h1{font-size:clamp(46px,5.6vw,80px);font-weight:400;letter-spacing:-.025em;margin:20px 0}.contact p{font-size:14px;line-height:1.85;color:var(--muted)}
footer{padding:38px 4.5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8.5px;letter-spacing:.2em;color:#70726c}
.media img{transition:transform 1.1s ease}.editorial:hover .media img{transform:scale(1.01)}
@media(max-width:1080px){.header nav,.contact-nav{display:none}.menu{display:block;margin-left:auto;border:0;background:none;font:inherit;font-size:9px;letter-spacing:.15em}.mobile{position:absolute;z-index:19;top:88px;left:0;right:0;background:#fff;padding:34px 6vw;gap:20px;border-bottom:1px solid var(--line)}.mobile.open{display:grid}.mobile a{font-size:10px;letter-spacing:.13em;text-transform:uppercase}}
@media(max-width:800px){.header{height:74px;padding:0 6vw}.mobile{top:74px}.hero,.pagehero{width:88vw;height:64vh;min-height:510px;margin-top:28px}.hero-copy{left:7%;right:7%;bottom:7%}.intro{grid-template-columns:1fr;width:86vw;padding:80px 0;gap:25px}.statement{width:86vw;padding:82px 0}.editorial,.editorial.reverse{width:88vw;grid-template-columns:1fr;min-height:0;margin-bottom:70px}.editorial.reverse .media{order:1}.editorial.reverse .copy{order:2}.media{height:55vh;min-height:0}.copy{padding:58px 2vw 65px}.grid2{width:88vw;grid-template-columns:1fr;gap:52px}.tile img{height:52vh}.locations{width:86vw}.contact{grid-template-columns:1fr;width:86vw;padding:95px 0}footer{gap:18px;flex-wrap:wrap}}

/* VERSION 9 — gallery-like refinement */
body{background:#fff}
.hero,.pagehero{width:min(88vw,1360px);margin-top:54px;margin-bottom:0}
.editorial{width:min(86vw,1280px);gap:clamp(38px,5vw,82px);margin-bottom:118px;align-items:center}
.editorial.reverse{gap:clamp(38px,5vw,82px)}
.media{min-height:0;height:clamp(440px,39vw,600px);background:#fff}
.copy{padding:3vw 1.5vw;background:#fff}
.copy p{font-size:13px;line-height:1.95}
.statement{max-width:900px;text-align:left}
.statement p{margin:0 0 18px;max-width:720px}
.intro{padding-top:130px;padding-bottom:130px}
.locations{margin-top:30px}
/* every photographic object remains inset from the viewport and adjacent sections */
main img{outline:0 solid #fff}
@media(max-width:800px){.hero,.pagehero{width:86vw}.editorial,.editorial.reverse{width:86vw;gap:0}.media{height:52vh}.copy{padding:54px 0 68px}}


/* VERSION 10 — disciplined editorial grid */
:root{--body:#555852;--muted:#646761}
body{color:#20221f}
/* Photographs never touch: each image block is isolated by white space. */
.hero,.pagehero{width:min(88vw,1360px);margin:54px auto 112px}
.editorial,.editorial.reverse{
  width:min(88vw,1320px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  column-gap:clamp(64px,7vw,120px);align-items:center;margin:0 auto 128px;min-height:0;background:#fff
}
.editorial.reverse .media,.editorial.reverse .copy{order:initial}
.media{height:clamp(420px,35vw,560px);min-height:0;overflow:hidden;background:#fff}
.copy{padding:36px 0;justify-content:center}
.copy p,.intro p,.statement p,.contact p{color:var(--body);font-size:14px;line-height:1.82;font-weight:400}
.copy p{max-width:570px;margin-bottom:18px}
.copy .luxury-copy{font-size:14.5px!important;line-height:1.82!important;color:#484b46!important}
.copy .micro{color:#747770!important;font-size:10.5px!important}
.copy .caps{color:#30332f!important;font-weight:400}
.intro{width:min(1180px,86vw);grid-template-columns:1.55fr .95fr;gap:clamp(70px,9vw,145px);padding:28px 0 128px;align-items:start}
.intro>.eyebrow:empty{display:none}.intro>.eyebrow{display:none}
.intro h2{margin:0}.intro p{max-width:520px}
.statement{padding:105px 0 120px}
/* No accidental image adjacency anywhere in main content. */
main section+section{position:relative}
footer{margin-top:20px}
@media(max-width:800px){
 .hero,.pagehero{width:88vw;margin:28px auto 76px}
 .editorial,.editorial.reverse{width:88vw;grid-template-columns:1fr;row-gap:34px;margin-bottom:88px}
 .editorial.reverse .media,.editorial.reverse .copy{order:initial}
 .media{height:52vh}.copy{padding:0 0 10px}
 .intro{width:86vw;grid-template-columns:1fr;gap:34px;padding:5px 0 88px}
}

/* V12 Place page */
.place-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:7vw;align-items:start}
.place-intro h2{margin:0}
.place-intro p{max-width:680px;color:#4f514c;font-size:14px;line-height:1.9}
.place-gallery{width:min(1320px,90vw);margin:0 auto 110px;display:grid;grid-template-columns:1fr 1fr;gap:34px}
.place-gallery figure{margin:0;background:#fff}
.place-gallery img{width:100%;height:520px;object-fit:cover}
.place-gallery figure:nth-child(2) img{object-position:center 38%}
@media(max-width:800px){
  .place-intro{grid-template-columns:1fr;gap:26px}
  .place-gallery{grid-template-columns:1fr;gap:28px}
  .place-gallery img{height:52vh}
}

/* V13 refinements */
.hero-copy{max-width:980px}
.editorial{gap:48px;align-items:center}
.editorial,.editorial.reverse{grid-template-columns:1fr 1fr;background:#fff}
.editorial.reverse .media,.editorial.reverse .copy{order:initial}
.media{background:#fff}
.media img{width:100%;height:100%;object-fit:cover}
.substatement{font-size:clamp(23px,2.2vw,34px)!important;margin-top:34px!important;margin-bottom:16px!important}
.copy strong{font-weight:500;color:#363833}
@media(max-width:800px){.editorial,.editorial.reverse{grid-template-columns:1fr;gap:0}}

/* Version 14 — Platinum Club refinement */
.platinum-emphasis{margin-top:28px;letter-spacing:.12em;font-size:.86rem;}
.paired-images{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px;}
.paired-images img{width:100%;height:420px;object-fit:cover;display:block;}
@media(max-width:800px){.paired-images{grid-template-columns:1fr;gap:20px}.paired-images img{height:auto}}

/* VERSION 16 — Resort Home Ownership */
.ownership-hero img{object-position:center center}
.ownership-intro{grid-template-columns:1fr 1.25fr;gap:7vw}
.ownership-intro p{margin-bottom:18px}
.ownership-intro strong{font-weight:600;color:#4d4f49}
.ownership-pair{width:min(1320px,90vw);margin:0 auto 120px}
@media(max-width:800px){.ownership-intro{grid-template-columns:1fr}.ownership-pair{width:88vw}}

/* VERSION 17 — content-rich refresh of the original site */
.copy p + p,.intro div p + p{margin-top:14px}
.intro>div{max-width:650px}
.intro .caps,.place-intro .caps{font-size:10.5px;line-height:2.2;letter-spacing:.16em;text-transform:uppercase;color:#30332f;margin-top:26px}
.copy{padding-top:24px;padding-bottom:24px}
.editorial{align-items:center}

/* VERSION 18 — photographic storytelling */
.media{overflow:visible;height:auto}
.media img{height:clamp(420px,35vw,560px)}
.photo-story{margin:14px 0 0!important;font-size:10px!important;line-height:1.6!important;letter-spacing:.045em!important;color:#898b85!important;max-width:620px;text-transform:none!important}
.place-gallery figcaption{padding-top:14px}
@media(max-width:800px){.media img{height:52vh}}

/* VERSION 19 — Culinary Arts refinement */
.culinary-page{padding-top:58px}.culinary-hero{width:min(1320px,88vw);margin:0 auto 118px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(58px,7vw,112px);align-items:center}.culinary-hero-copy{padding:32px 0}.culinary-hero-copy h1{font-size:clamp(44px,5vw,76px);line-height:1.04;font-weight:400;letter-spacing:-.035em;margin:22px 0 34px}.culinary-hero-copy p{max-width:590px;color:#555852;font-size:14px;line-height:1.86;margin:0 0 18px}.culinary-hero-copy .caps{font-size:10.5px;line-height:2.15;letter-spacing:.16em;color:#30332f;margin-top:30px}.culinary-feature{margin:0}.culinary-feature img{display:block;width:100%;height:clamp(520px,48vw,690px);object-fit:cover}.culinary-feature figcaption,.culinary-triptych figcaption{color:#858881;font-size:10px;line-height:1.65;letter-spacing:.035em;margin-top:14px}.culinary-triptych{width:min(1320px,88vw);margin:0 auto 132px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.culinary-triptych figure{margin:0}.culinary-triptych img{display:block;width:100%;height:390px;object-fit:cover}.culinary-triptych figcaption span{display:block;color:#2f312e;font-size:9px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:6px}.culinary-kids,.culinary-salon{margin-bottom:132px}.culinary-kids .media img,.culinary-salon .media img{height:clamp(440px,36vw,570px)}
@media(max-width:800px){.culinary-page{padding-top:28px}.culinary-hero{width:88vw;grid-template-columns:1fr;gap:42px;margin-bottom:86px}.culinary-hero-copy{padding:0}.culinary-feature img{height:58vh}.culinary-triptych{width:88vw;grid-template-columns:1fr;gap:52px;margin-bottom:92px}.culinary-triptych img{height:52vh}}

/* Version 21 */
.contact-v21{max-width:none!important;padding:0!important;display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:calc(100vh - 140px);align-items:stretch!important;gap:0!important}
.contact-v21 .contact-image{min-height:720px;overflow:hidden}
.contact-v21 .contact-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.contact-v21 .contact-copy{padding:clamp(70px,8vw,140px);display:flex;flex-direction:column;justify-content:center}
.contact-v21 .contact-copy h1{font-size:clamp(42px,4.2vw,76px);line-height:1.02;max-width:720px;margin:18px 0 30px}
.contact-v21 .contact-copy>p{max-width:680px;font-size:18px;line-height:1.8}
.contact-email{display:inline-block;margin-top:12px;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.contact-locations{display:flex;gap:70px;margin-top:64px;padding-top:30px;border-top:1px solid rgba(0,0,0,.14)}
.contact-locations p{margin-top:8px}
@media(max-width:900px){.contact-v21{grid-template-columns:1fr}.contact-v21 .contact-image{min-height:55vh}.contact-v21 .contact-copy{padding:60px 28px}.contact-locations{gap:36px}}


/* VERSION 21 FINAL — page consistency corrections */
.platinum-intro{grid-template-columns:1fr 1.25fr;gap:7vw;padding-top:12px}
.platinum-intro h2{margin:0}
.platinum-intro .eyebrow{display:block;margin-bottom:24px}
.platinum-intro p{max-width:650px}
.platinum-pair{width:min(88vw,1320px);margin:0 auto 128px;gap:34px}
.platinum-pair img{height:clamp(420px,35vw,560px)}
.contact-v21{width:min(88vw,1320px)!important;max-width:1320px!important;margin:54px auto 112px!important;padding:0!important;grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);min-height:0;gap:clamp(64px,7vw,120px)!important;align-items:center!important}
.contact-v21 .contact-image{height:clamp(560px,49vw,720px);min-height:0}
.contact-v21 .contact-copy{padding:36px 0;justify-content:center}
.contact-v21 .contact-copy h1{font-size:clamp(40px,4vw,62px);line-height:1.07;letter-spacing:-.025em;max-width:610px;margin:20px 0 30px}
.contact-v21 .contact-copy>p{max-width:590px;font-size:14px;line-height:1.82;color:var(--body)}
.contact-email{margin-top:18px;font-size:13px;letter-spacing:.035em}
.contact-locations{display:none}
@media(max-width:900px){.platinum-intro{grid-template-columns:1fr;gap:30px}.platinum-pair{width:88vw;grid-template-columns:1fr}.contact-v21{width:88vw!important;grid-template-columns:1fr;margin:28px auto 76px!important;gap:42px!important}.contact-v21 .contact-image{height:58vh;min-height:460px}.contact-v21 .contact-copy{padding:0 0 18px}.contact-v21 .contact-copy h1{font-size:clamp(38px,10vw,56px)}}

/* FINAL RELEASE — brand, accessibility and performance polish */
:root{--brand-navy:#12064e}
.brand-logo{display:block;width:176px;height:auto;object-fit:contain}
.identity{min-width:176px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;color:#111;padding:10px 14px;border:1px solid #ddd;font-size:12px;letter-spacing:.06em}
.skip-link:focus{top:12px}
.photo-story,.culinary-feature figcaption,.culinary-triptych figcaption,.place-gallery figcaption{display:none!important}
@media(max-width:800px){.brand-logo{width:154px}.identity{min-width:154px}}
