:root{--green:#4A7729;--deep:#18301f;--ink:#182019;--cream:#f5f2e9;--white:#fff;--line:rgba(24,32,25,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff}img{display:block;width:100%;height:100%;object-fit:cover}button,a{font:inherit}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);color:white;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.18em;text-decoration:none;color:inherit;font-weight:600}.brand-mark{font-family:"Playfair Display",serif;font-size:1.55rem;letter-spacing:-.08em}.brand-mark span{font-size:.7em;vertical-align:super}.share-button{border:1px solid rgba(255,255,255,.65);background:rgba(10,20,13,.16);color:#fff;border-radius:999px;padding:11px 18px;cursor:pointer}.hero{height:min(900px,92vh);min-height:690px;position:relative;color:white;display:flex;align-items:flex-end}.hero>img,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(180deg,rgba(8,15,10,.12) 20%,rgba(8,15,10,.78) 100%)}.hero-copy{position:relative;z-index:2;width:min(850px,90vw);padding:0 clamp(22px,7vw,110px) 150px}.event-pill{display:inline-block;background:var(--green);padding:10px 14px;border-radius:3px;font-size:.77rem;font-weight:600;letter-spacing:.08em;margin-bottom:28px}.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.18em;margin:0 0 15px}.eyebrow.green{color:var(--green)}h1,h2{font-family:"Playfair Display",serif;font-weight:600;line-height:1.02;margin:0}h1{font-size:clamp(4rem,10vw,8rem);letter-spacing:-.045em}h2{font-size:clamp(2.65rem,5vw,5rem);letter-spacing:-.035em}h2 em{font-weight:500;color:var(--green)}.hero-intro{font-family:"Playfair Display",serif;font-size:clamp(1.2rem,2.2vw,1.8rem);max-width:620px;line-height:1.35}.hero-actions,.card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 20px;border-radius:2px;text-decoration:none;font-weight:600;cursor:pointer}.button.primary{background:var(--green);color:white;border:1px solid var(--green)}.button.glass{background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.65)}.button.outline{background:transparent;color:var(--deep);border:1px solid var(--deep)}.facts{position:absolute;z-index:3;bottom:0;right:0;background:rgba(245,242,233,.96);color:var(--ink);display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));width:min(760px,72vw);padding:25px}.facts div{padding:0 19px;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts strong,.facts span{display:block}.facts strong{font-family:"Playfair Display",serif;font-size:1.45rem}.facts span{font-size:.7rem;color:#586158;margin-top:4px}.intro{padding:clamp(90px,13vw,170px) max(7vw,24px);display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:6vw;align-items:start}.intro .eyebrow{padding-top:12px}.intro p:last-child{font-size:1.08rem;line-height:1.8;color:#4a544c;margin:8px 0 0}.feature-story{display:grid;grid-template-columns:1.2fr .8fr;min-height:680px;background:var(--deep);color:#fff}.feature-image img{min-height:680px}.feature-copy{padding:clamp(70px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.feature-copy p{line-height:1.75;color:#d8e0d8}.feature-copy ul{list-style:none;padding:22px 0 0;margin:16px 0 0;border-top:1px solid rgba(255,255,255,.2)}.feature-copy li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.gallery-section{padding:clamp(85px,10vw,145px) max(5vw,24px);background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px}.section-heading>p{max-width:390px;color:#59605a;line-height:1.6}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery figure{margin:0;position:relative;height:550px;overflow:hidden}.gallery .wide{grid-column:1/-1;height:650px}.gallery img{transition:transform .6s ease}.gallery figure:hover img{transform:scale(1.02)}figcaption{position:absolute;bottom:0;left:0;background:rgba(17,30,21,.82);color:white;padding:11px 15px;font-size:.8rem}.highlights{padding:clamp(85px,10vw,145px) max(7vw,24px)}.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:70px;border-top:1px solid var(--line)}.highlight-grid article{padding:38px 8vw 38px 0;border-bottom:1px solid var(--line)}.highlight-grid article:nth-child(odd){border-right:1px solid var(--line)}.highlight-grid article:nth-child(even){padding-left:5vw}.highlight-grid span{color:var(--green);font-weight:600}.highlight-grid h3{font-family:"Playfair Display",serif;font-size:1.75rem;margin:16px 0 10px}.highlight-grid p{line-height:1.65;color:#556056}.video-section{background:#101a13;padding:clamp(75px,9vw,130px) max(7vw,24px);color:white}.video-wrap{position:relative;aspect-ratio:16/9;background:#000}.video-wrap iframe{border:0;position:absolute;inset:0;width:100%;height:100%}.open-house{position:relative;min-height:760px;display:flex;align-items:center;justify-content:flex-end;padding:6vw}.open-house>img{position:absolute;inset:0}.open-house:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,25,16,.05),rgba(14,25,16,.6))}.open-card{position:relative;z-index:2;background:white;width:min(520px,100%);padding:clamp(34px,5vw,70px)}.date-block{margin:32px 0;border-block:1px solid var(--line);padding:24px 0}.date-block strong,.date-block span{display:block}.date-block strong{font-size:1.2rem}.date-block span{font-family:"Playfair Display",serif;color:var(--green);font-size:1.8rem;margin-top:6px}.contact{text-align:center;padding:clamp(80px,10vw,140px) 24px;background:var(--cream)}.contact>p:not(.eyebrow){line-height:1.7;color:#596159}.contact-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.contact-links a{color:var(--deep);font-weight:600;padding:10px;border-bottom:1px solid var(--green);text-decoration:none}footer{background:var(--deep);color:white;padding:38px max(5vw,24px);display:flex;align-items:center;gap:30px;justify-content:space-between}footer p{max-width:380px;font-size:.7rem;line-height:1.5;color:#c5cec6}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 20px;border-radius:3px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero{min-height:760px}.hero-copy{padding-bottom:205px}.facts{width:100%;grid-template-columns:repeat(3,1fr);padding:18px}.facts div{padding:10px 12px}.facts div:nth-child(3){border:0}.intro{grid-template-columns:1fr;gap:28px}.intro .eyebrow{padding:0}.feature-story{grid-template-columns:1fr}.feature-image img{min-height:440px}.feature-copy{padding:70px 7vw}.gallery figure,.gallery .wide{height:450px}.section-heading{align-items:start;flex-direction:column}.highlight-grid{grid-template-columns:1fr}.highlight-grid article,.highlight-grid article:nth-child(even){padding:34px 0;border-right:0}.open-house{justify-content:center}.open-house:after{background:rgba(14,25,16,.4)}footer{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.topbar{height:72px}.brand>span:last-child{display:none}.share-button{padding:9px 13px;font-size:.8rem}.hero{height:820px}.hero-copy{padding-left:20px;padding-right:20px}.event-pill{font-size:.67rem;line-height:1.45}.hero-actions .button{flex:1}.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(3){border-right:1px solid var(--line)}.facts div:nth-child(even){border-right:0}.facts div:last-child{grid-column:1/-1}.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:auto}.gallery figure,.gallery .wide{height:360px}.open-house{padding:22px}.open-card{padding:34px 26px}.card-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img,.toast{transition:none}}
/* Branded header and open house host */
.brand-logo{width:104px;height:68px;object-fit:contain;background:#fff;border-radius:3px;padding:5px}
.contact{display:grid;grid-template-columns:minmax(190px,290px) minmax(0,630px);gap:clamp(30px,6vw,90px);align-items:center;justify-content:center;text-align:left}
.host-photo{height:390px;object-fit:cover;object-position:50% 14%;border-radius:3px}
.host-copy h2{font-size:clamp(2.4rem,4vw,4rem)}
.host-copy>p:not(.eyebrow){line-height:1.7;color:#596159}
.contact-links{justify-content:flex-start}
@media(max-width:600px){.brand-logo{width:86px;height:57px}.contact{grid-template-columns:1fr;text-align:center}.host-photo{width:min(260px,80vw);height:300px;margin:auto}.contact-links{justify-content:center}}
/* Header and expanded property galleries */
.topbar{position:relative;background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.brand-logo{background:transparent;border:0;border-radius:0;padding:0;width:100px;height:76px}
.share-button{background:transparent;color:var(--deep);border-color:var(--deep)}
.hero{min-height:700px;height:min(850px,calc(100svh - 86px))}
.hero-copy{padding-bottom:155px}
.hero-location{font-size:clamp(1rem,1.7vw,1.25rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:12px 0 0}
.suite-section{background:#fff}
.amenity-section{background:var(--cream)}
@media(max-width:900px){.hero{height:auto;min-height:780px}.hero-copy{padding-bottom:205px}}
@media(max-width:600px){.brand-logo{width:85px;height:62px}.topbar{height:72px}.hero{height:auto;min-height:800px}.hero-copy{padding-top:70px}}
@media(min-width:901px){.suite-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.suite-gallery .wide{grid-column:1/-1}.suite-gallery figure:not(.wide){height:380px}}
/* Compact portrait and transparent footer brand */
.contact{grid-template-columns:230px minmax(0,630px)}
.host-photo{width:230px;height:300px;object-fit:cover;object-position:center top}
footer{background:#fff;color:var(--deep);border-top:1px solid var(--line)}
footer p{color:#596159}
footer .brand-logo{width:100px;height:76px;object-fit:contain;background:transparent;border:0;padding:0}
@media(max-width:600px){.contact{grid-template-columns:1fr}.host-photo{width:min(205px,60vw);height:260px;object-position:center top}footer .brand-logo{width:85px;height:64px}}
/* Keep the hero actions and property facts in normal flow on narrow screens. */
@media(max-width:900px){
  .hero{display:block;height:auto;min-height:0}
  .hero-copy{width:100%;padding-top:clamp(85px,12vw,130px);padding-bottom:55px}
  .facts{position:relative;right:auto;bottom:auto;width:100%}
}
@media(max-width:600px){
  .hero{height:auto;min-height:0}
  .hero-copy{padding:70px 20px 42px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}
  .hero-actions .button{width:100%;min-height:50px;text-align:center;line-height:1.3;padding:11px 18px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Floor plans: preserve each complete drawing and let visitors open the original. */
.floorplans{padding:clamp(80px,9vw,140px) max(5vw,24px);background:#fff}
.floorplans-heading{max-width:760px;margin:0 auto 54px;text-align:center}
.floorplans-heading h2 em{font-weight:500;color:var(--green)}
.floorplans-heading>p:last-child{max-width:570px;margin:22px auto 0;color:#596159;font-size:1.04rem;line-height:1.65}
.floorplan-list{max-width:1220px;margin:auto;display:grid;gap:28px}
.floorplan-card{background:#f8f7f3;border:1px solid var(--line);padding:clamp(18px,3vw,36px)}
.floorplan-card-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.floorplan-card-heading span{font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--green)}
.floorplan-card-heading h3{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;margin:4px 0 0}
.floorplan-card-heading a{color:var(--green);font-size:.88rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}
.floorplan-card-heading a:hover,.floorplan-card-heading a:focus-visible{color:var(--deep)}
.floorplan-image{display:block;background:#fff;cursor:zoom-in}
.floorplan-image img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.floorplans-heading{margin-bottom:35px}.floorplan-list{gap:18px}.floorplan-card-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:16px}}
