html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:#faf7f1;color:#221f19;font-family:'Cormorant Garamond',Georgia,serif;-webkit-font-smoothing:antialiased}
a{color:#5b5343;text-decoration:none}a:hover{color:#221f19}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{max-width:1160px;margin:0 auto;padding:0 26px}
.top{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;justify-content:space-between;padding:20px 0 15px;background:rgba(250,247,241,.95);backdrop-filter:blur(8px);border-bottom:1px solid #e7dfd0}
.brand{display:flex;flex-direction:column;gap:3px}.brand-name{font-size:23px;letter-spacing:.05em}
.kicker{font-family:Karla,sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#8d8474}
nav{display:flex;flex-wrap:wrap;gap:24px;font-family:Karla,sans-serif;font-size:13px;letter-spacing:.05em}
.nav-cta{color:#221f19;border-bottom:1px solid #bdb098;padding-bottom:3px}
.eyebrow{margin:0 0 18px;font-family:Karla,sans-serif;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#8d8474}
.hero{padding:78px 0 0}.hero .eyebrow{margin-bottom:22px}
h1{margin:0;max-width:19ch;font-weight:300;font-size:clamp(44px,7.4vw,88px);line-height:1;letter-spacing:-.02em;text-wrap:balance}
h2{margin:0 0 26px;font-weight:300;font-size:clamp(30px,3.4vw,44px);line-height:1.08;max-width:24ch}
.lead{margin:30px 0 0;max-width:52ch;font-size:21px;line-height:1.6;color:#4c4638;text-wrap:pretty}
.body,.prose p{font-family:Karla,sans-serif;font-size:15.5px;line-height:1.75;color:#4c4638;max-width:54ch;text-wrap:pretty;margin:0 0 16px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.btn{display:inline-block;padding:15px 32px;font-family:Karla,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none}
.btn-dark{background:#221f19;color:#faf7f1}.btn-dark:hover{background:#4e5744;color:#faf7f1}
.btn-line{border:1px solid #d2c8b5;color:#221f19}.btn-line:hover{border-color:#221f19}
.hero-img{margin:58px 0 0;aspect-ratio:16/7.5;min-height:250px;background:#efeade;overflow:hidden}.hero-img img{object-position:center 60%}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:34px;padding:46px 0 50px;border-bottom:1px solid #e7dfd0}
.stat-v{font-size:42px;font-weight:300;line-height:1}.stat-l{margin-top:6px;font-family:Karla,sans-serif;font-size:13px;line-height:1.5;color:#77705f}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:58px}
#maison{padding:84px 0 0}
.levels{font-family:Karla,sans-serif}
.level{padding:15px 0;border-top:1px solid #e7dfd0}.level:last-child{border-bottom:1px solid #e7dfd0}
.level-t{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8d8474;margin-bottom:10px}
.room{display:flex;justify-content:space-between;gap:20px;font-size:14.5px;padding:4px 0}.room span:last-child{color:#8d8474;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px 10px;font-size:13.5px}.chips span{padding:6px 13px;border:1px solid #e2d9c8}
#galerie{padding:76px 0 84px}#galerie .eyebrow{margin-bottom:26px}
.tabs{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:26px;border-bottom:1px solid #e7dfd0}
.tab{padding:0 0 8px;background:none;border:none;border-bottom:1px solid transparent;color:#221f19;font-family:Karla,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.tab.on{border-bottom-color:#221f19}.grid-gal[hidden]{display:none}
.grid-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.grid-gal div{aspect-ratio:3/2;background:#efeade;overflow:hidden}
.block{padding:56px 0 84px;border-top:1px solid #e7dfd0}
.rows{font-family:Karla,sans-serif}
.row{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;align-items:baseline;padding:20px 0;border-top:1px solid #e7dfd0}.row:last-child{border-bottom:1px solid #e7dfd0}
.row-l{font-size:15.5px}.row-p{font-size:13px;color:#8d8474}.row-v{font-family:'Cormorant Garamond',serif;font-size:27px;white-space:nowrap}
#region h2{margin-bottom:12px}#region .body{margin-bottom:44px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px 34px}
.card{display:flex;flex-direction:column}
.card-img{aspect-ratio:4/3;background:#efeade;overflow:hidden;margin-bottom:18px}
.card h3{margin:0 0 8px;font-weight:400;font-size:21px;line-height:1.25}
.card p{margin:0 0 12px;font-family:Karla,sans-serif;font-size:14.5px;line-height:1.7;color:#4c4638;text-wrap:pretty}
.card a{margin-top:auto;align-self:flex-start;font-family:Karla,sans-serif;font-size:12.5px;letter-spacing:.04em;border-bottom:1px solid #cfc4ae;padding-bottom:2px}
.coords{margin-top:34px;display:flex;flex-direction:column;gap:10px;font-family:Karla,sans-serif;font-size:15px;color:#4c4638}
.coords span{color:#8d8474;display:inline-block;width:88px}.coords b{font-weight:400}
form{display:flex;flex-direction:column;gap:16px;font-family:Karla,sans-serif}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
form label{display:flex;flex-direction:column;gap:7px}
form label span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8d8474}
input,textarea{font-family:Karla,system-ui,sans-serif;font-size:15px;padding:11px 12px;border:1px solid #d9d0be;background:#fffdf9;color:#221f19}
textarea{resize:vertical}form .btn{align-self:flex-start;margin-top:4px}
.thanks{margin:0;font-size:13.5px;color:#4e5744}
footer{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:baseline;padding:26px 0 40px;border-top:1px solid #e7dfd0;font-family:Karla,sans-serif;font-size:12.5px;color:#8d8474}
