:root{--forest:#3f4636;--sage:#818a70;--sand:#d9c7ad;--milk:#f3f0e9;--ink:#24261f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--milk);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
em{font-family:"Newsreader",Georgia,serif;font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:104px;position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:17px 4vw;border-bottom:1px solid rgba(38,42,32,.15)}
.brand img{width:92px;height:72px;object-fit:contain;mix-blend-mode:multiply}
nav{display:flex;gap:30px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.menu-toggle{display:none}
.contact-button,.primary,.secondary{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:14px 17px;border:1px solid currentColor;font-size:10px;text-transform:uppercase;letter-spacing:.13em;transition:.25s}
.contact-button:hover,.secondary:hover{background:var(--forest);color:#fff}
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}
.hero-visual{padding:25px 0 25px 25px}
.hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:0 0 180px 0}
.hero-content{padding:170px 7vw 80px;display:flex;flex-direction:column;justify-content:center}
.kicker,.section-label{color:var(--sage);font-weight:500;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
h1,h2{margin:0;font-weight:300;line-height:.97;letter-spacing:-.045em}
h1{font-size:clamp(58px,6.2vw,100px)}
h2{font-size:clamp(45px,5.5vw,82px)}
.hero-content>p:not(.kicker){max-width:470px;margin:30px 0;line-height:1.8;color:#63665a}
.actions{display:flex;gap:12px}
.primary{background:var(--forest);color:#fff;border-color:var(--forest)}
.primary:hover{background:var(--sage)}
.flow-mark{position:absolute;right:35px;bottom:35px;display:grid;gap:8px}
.flow-mark i{display:block;width:90px;height:12px;border-top:2px solid var(--sage);border-radius:50%;transform:skewX(-20deg)}
.intro{padding:160px 7vw;display:grid;grid-template-columns:.6fr 1.6fr .8fr;gap:55px;align-items:start}
.intro-copy{line-height:1.9;color:#66695e;margin-top:8px}
.residences{padding:130px 7vw;background:#e2ddd2}
.residence-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:70px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aca89d}
.cards article{min-height:390px;padding:28px 30px;border-right:1px solid #aca89d;display:flex;flex-direction:column}
.cards article:first-child{border-left:1px solid #aca89d}
.cards article>span,.type{font-size:9px;letter-spacing:.16em;color:#777b6c}
.cards h3{margin:60px 0 15px;font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:52px;font-weight:400}
.cards article>p:not(.type){line-height:1.75;color:#65665f}
.cards article>a{margin-top:auto;padding-top:20px;border-top:1px solid #aaa69b;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.featured{background:var(--forest);color:#fff;transform:translateY(-24px)}
.featured p,.featured .type{color:#d6d6cc!important}
.spaces{padding:150px 7vw}
.spaces-heading{display:grid;grid-template-columns:.55fr 1.25fr .7fr;gap:55px;align-items:end;margin-bottom:70px}
.spaces-heading>p:last-child{color:#66695e;line-height:1.85}
.spaces-gallery{display:grid;grid-template-columns:1.45fr .72fr .72fr;gap:18px;align-items:stretch}
.spaces-gallery figure{margin:0;overflow:hidden;min-height:560px}
.spaces-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.spaces-gallery figure:hover img{transform:scale(1.025)}
.rest{display:grid;grid-template-columns:1fr 1fr;min-height:820px}
.rest-photo{position:relative}
.rest-photo img{width:100%;height:100%;object-fit:cover}
.soft-caption{position:absolute;left:28px;bottom:25px;color:#fff;font-size:10px;letter-spacing:.18em}
.rest-copy{padding:11vw 7vw;display:flex;flex-direction:column;justify-content:center}
.rest-copy h2{font-size:clamp(40px,4.4vw,68px)}
.rest-copy>p:not(.section-label){margin:30px 0;line-height:1.85;color:#66695e}
.rest-copy ul{list-style:none;padding:0;margin:0;border-top:1px solid #bbb7ab}
.rest-copy li{padding:13px 0;border-bottom:1px solid #bbb7ab;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.details{display:grid;grid-template-columns:.8fr 1.2fr;background:#e2ddd2}
.detail-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}
.detail-copy h2{margin-top:18px;font-size:clamp(42px,4.7vw,72px)}
.detail-copy>p:last-child{margin-top:30px;line-height:1.9;color:#66695e;max-width:480px}
.detail-images{display:grid;grid-template-columns:.72fr 1.28fr;min-height:720px}
.detail-images img{width:100%;height:100%;object-fit:cover}
.morning{background:var(--sand);display:grid;grid-template-columns:.82fr 1.18fr;align-items:stretch}
.morning>div{padding:130px 7vw;display:flex;flex-direction:column;justify-content:center}
.morning h2{margin:15px 0 28px}
.morning div>p:last-child{line-height:1.9;max-width:500px}
.morning>img{width:100%;height:100%;min-height:650px;object-fit:cover}
.area{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.area-copy{padding:12vw 7vw}
.area-copy>p:not(.section-label){margin:30px 0;line-height:1.85;color:#66695e}
.area>img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) sepia(.15)}
.place-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b6b2a8}
.place-list span{padding:14px 0;border-bottom:1px solid #b6b2a8;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.cross-brand{text-align:center;color:#fff;padding:150px 20px;background:linear-gradient(rgba(47,53,39,.91),rgba(47,53,39,.91)),url("assets/shared-place.jpg") center/cover fixed}
.light{color:#c9d0bb}
.cross-brand>p:not(.section-label){max-width:620px;margin:28px auto;line-height:1.85;color:#d5d8cf}
.light-button{margin-top:18px}
.light-button:hover{background:#fff;color:var(--forest)}
.contact{padding:140px 7vw;text-align:center}
.contact>p:not(.section-label){margin:25px 0 50px;color:#66695e}
.contact-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa79d;border-bottom:1px solid #aaa79d}
.contact-grid a{padding:28px 20px;border-right:1px solid #aaa79d;display:flex;flex-direction:column;gap:10px;font-size:15px}
.contact-grid a:last-child{border:0}
.contact-grid small{color:#777b6c;font-size:8px;letter-spacing:.17em}
footer{background:#24281f;color:#c8cbbc;padding:55px 6vw;display:flex;justify-content:space-between;align-items:center;font-size:11px}
footer img{width:90px;filter:invert(1);mix-blend-mode:screen}
@media(max-width:820px){
  .site-header{height:80px;padding:10px 18px}.brand img{width:70px;height:58px}.header-contact{display:none}
  .menu-toggle{display:grid;gap:6px;background:transparent;border:0;padding:12px;z-index:2}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:var(--ink)}
  nav{position:absolute;left:0;right:0;top:0;padding:100px 24px 35px;background:var(--milk);flex-direction:column;gap:22px;transform:translateY(-110%);transition:transform .3s ease;box-shadow:0 15px 30px rgba(0,0,0,.08)}
  nav.open{transform:translateY(0)}
  .hero{grid-template-columns:1fr}.hero-visual{padding:0;height:56vh}.hero-visual img{border-radius:0 0 80px 0}.hero-content{padding:70px 22px 90px}.flow-mark{display:none}
  .intro{grid-template-columns:1fr;padding:90px 22px;gap:35px}.cards{grid-template-columns:1fr}.residences{padding:90px 22px}.residence-heading{display:block}.residence-heading h2{margin-top:20px}.cards article{border-left:1px solid #aca89d;min-height:320px}.featured{transform:none}.cards h3{margin-top:35px}
  .spaces{padding:90px 22px}.spaces-heading{grid-template-columns:1fr;gap:25px}.spaces-gallery{grid-template-columns:1fr 1fr}.spaces-gallery figure{min-height:380px}.gallery-main{grid-column:1/-1}
  .rest,.area,.details,.morning{grid-template-columns:1fr}.rest-photo{height:520px}.rest-copy,.area-copy,.detail-copy,.morning>div{padding:90px 22px}.detail-images{min-height:520px}.morning>img{min-height:420px}.area>img{height:520px}
  .cross-brand,.contact{padding:100px 22px}.contact-grid{grid-template-columns:1fr}.contact-grid a{border-right:0;border-bottom:1px solid #aaa79d}.contact-grid a:last-child{border-bottom:0}
  footer{flex-direction:column;gap:25px;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
