:root { --forest:#3f4636; --sage:#818a70; --sand:#d9c7ad; --milk:#f3f0e9; --ink:#24261f; --stone:#cbc6ba; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--milk); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
em { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
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; }
.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:white; }
.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:white; 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:Georgia,'Times New Roman',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:white; 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); }
.gallery-main img { object-position:center; }
.gallery-tall img { object-position:center; }
.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:white; 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; gap:0; 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:white; 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:white; color:var(--forest); }
.disabled-button { cursor:default; pointer-events:none; user-select:none; }
.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){
  header{height:80px;padding:10px 18px}.brand img{width:70px;height:58px}nav{display:none}.contact-button{padding:11px 12px}
  .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}.details,.morning{grid-template-columns:1fr}.detail-copy,.morning>div{padding:90px 22px}.detail-images{min-height:520px}.morning>img{min-height:420px}
  .rest,.area{grid-template-columns:1fr}.rest-photo{height:520px}.rest-copy,.area-copy{padding:90px 22px}.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}
}
