:root { --green:#183f2d; --green-deep:#0c291c; --gold:#c69a48; --gold-light:#e5c980; --cream:#f6f2e8; --ink:#172019; --muted:#647068; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--font-geist),Arial,sans-serif; }
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; max-width:100%; }

.advisor-notice { position:fixed; z-index:60; inset:0 0 auto; min-height:44px; padding:8px 20px; display:flex; align-items:center; justify-content:center; gap:8px; color:#fff; background:#071c12; border-bottom:1px solid rgba(229,201,128,.45); text-align:center; font-size:14px; line-height:1.4; letter-spacing:.015em; }
.advisor-notice strong { color:var(--gold-light); }
.site-header { position:fixed; inset:44px 0 auto; z-index:50; height:78px; padding:0 clamp(22px,5vw,84px); display:flex; align-items:center; justify-content:space-between; color:#fff; background:linear-gradient(180deg,rgba(5,24,16,.82),rgba(5,24,16,.2),transparent); }
.brand { display:inline-flex; align-items:center; gap:8px; font:500 30px/1 Georgia,serif; letter-spacing:-.04em; }
.brand-image { min-width:132px; height:66px; }
.brand-logo { width:132px; height:58px; object-fit:contain; filter:brightness(0) invert(1); }
.brand-mark { color:var(--gold-light); font-size:25px; transform:rotate(45deg); }
.brand small { display:block; margin-top:5px; text-align:center; font:600 7px/1 var(--font-geist),sans-serif; letter-spacing:.46em; }
.site-header nav { display:flex; gap:clamp(22px,3vw,48px); font-size:13px; font-weight:600; }
.site-header nav a { padding:10px 0; border-bottom:1px solid transparent; }
.site-header nav a:hover { border-color:var(--gold-light); }
.header-cta { padding:12px 20px; border:1px solid rgba(255,255,255,.55); border-radius:99px; font-size:12px; font-weight:700; transition:.25s; }
.header-cta:hover { background:#fff; color:var(--green); }

.hero { position:relative; min-height:760px; height:100svh; color:#fff; overflow:hidden; background:var(--green-deep); }
.hero>img { width:100%; height:100%; object-fit:cover; object-position:56% center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,25,16,.92) 0%,rgba(5,25,16,.72) 42%,rgba(5,25,16,.08) 75%),linear-gradient(0deg,rgba(5,25,16,.35),transparent 40%); }
.hero-content { position:absolute; z-index:2; left:clamp(24px,8vw,130px); top:50%; width:min(650px,80vw); transform:translateY(-45%); }
.eyebrow { margin:0 0 20px; color:var(--gold-light); font-size:11px; font-weight:800; letter-spacing:.22em; }
.eyebrow.green { color:#47765d; }
.hero h1,.section-heading h2,.equipment-content h2,.finance-band h2,.location-copy h2,.closing-cta h2 { margin:0; font:400 clamp(48px,6vw,88px)/.98 Georgia,serif; letter-spacing:-.045em; }
h1 em,h2 em { color:var(--gold-light); font-weight:400; }
.hero-copy { max-width:550px; margin:25px 0; color:rgba(255,255,255,.84); font-size:clamp(16px,1.6vw,20px); line-height:1.55; }
.hero-price { display:flex; align-items:baseline; gap:16px; margin:28px 0; }
.hero-price span { font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
.hero-price strong { color:var(--gold-light); font:500 clamp(30px,4vw,48px)/1 Georgia,serif; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 25px; border-radius:2px; font-size:13px; font-weight:800; transition:transform .25s,background .25s; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:#fff; }
.button-gold:hover { background:#b78632; }
.button-ghost { border:1px solid rgba(255,255,255,.55); color:#fff; }
.scroll-cue { position:absolute; z-index:2; left:50%; bottom:25px; font-size:25px; color:rgba(255,255,255,.75); animation:bob 2s infinite; }
@keyframes bob { 50% { transform:translateY(7px); } }

.stats { position:relative; z-index:3; width:min(1160px,calc(100% - 40px)); margin:-58px auto 0; display:grid; grid-template-columns:repeat(4,1fr); background:#fff; box-shadow:0 24px 60px rgba(11,37,24,.14); }
.stats div { min-height:120px; padding:28px 24px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #e7e9e6; text-align:center; }
.stats div:last-child { border:0; }
.stats strong { color:var(--green); font:500 clamp(25px,3vw,38px)/1 Georgia,serif; }
.stats span { margin-top:9px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }

.section { width:min(1180px,calc(100% - 40px)); margin:auto; padding:120px 0; }
.concept { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(50px,8vw,120px); align-items:center; }
.section-heading { max-width:720px; margin:auto; text-align:center; }
.left-heading { text-align:left; }
.section-heading h2,.equipment-content h2,.location-copy h2 { color:var(--green); font-size:clamp(40px,5vw,68px); }
.section-heading h2 em,.equipment-content h2 em,.location-copy h2 em { color:var(--gold); }
.section-heading>p:last-child,.equipment-content>p,.location-copy>p { color:var(--muted); font-size:16px; line-height:1.75; }
.wellness-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid #dfe5df; }
.wellness-grid article { min-height:230px; padding:32px; border-right:1px solid #dfe5df; border-bottom:1px solid #dfe5df; }
.wellness-grid article:nth-child(2n) { border-right:0; }
.wellness-grid article:nth-child(n+3) { border-bottom:0; }
.wellness-grid span { color:var(--gold); font:500 13px/1 Georgia,serif; }
.wellness-grid h3 { margin:40px 0 10px; color:var(--green); font:500 25px/1 Georgia,serif; }
.wellness-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }

.equipment-section { display:grid; grid-template-columns:1.12fr .88fr; min-height:690px; background:var(--green); color:#fff; }
.equipment-image { min-height:620px; overflow:hidden; }
.equipment-image img { width:100%; height:100%; object-fit:cover; }
.equipment-content { padding:clamp(60px,8vw,120px); align-self:center; }
.equipment-content h2 { color:#fff; }
.equipment-content>p { color:rgba(255,255,255,.7); }
.equipment-content ul { list-style:none; margin:32px 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px 25px; }
.equipment-content li { display:flex; gap:10px; font-size:14px; }
.equipment-content li span { color:var(--gold-light); }
.text-link { display:inline-block; padding-bottom:5px; color:var(--gold-light); border-bottom:1px solid var(--gold-light); font-size:13px; font-weight:700; }

.amenities-section { padding-bottom:140px; }
.amenity-visuals { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:65px; }
.amenity-visuals figure { position:relative; height:auto; aspect-ratio:16/9; margin:0; overflow:hidden; background:#e6eee7; }
.amenity-visuals .amenity-feature { grid-column:1/-1; }
.amenity-visuals img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.amenity-visuals figure:hover img { transform:scale(1.03); }
.amenity-visuals figcaption { position:absolute; inset:auto 0 0; padding:45px 20px 20px; color:#fff; background:linear-gradient(transparent,rgba(5,25,16,.8)); font:500 21px/1 Georgia,serif; }
.amenity-visuals .amenity-title-top figcaption { inset:0 0 auto; padding:20px 18px 42px; background:linear-gradient(rgba(5,25,16,.82),transparent); }
.amenities-list { display:grid; grid-template-columns:repeat(5,1fr); margin-top:45px; border-top:1px solid #dfe5df; border-left:1px solid #dfe5df; }
.amenities-list article { min-height:155px; padding:22px 17px; display:flex; gap:12px; border-right:1px solid #dfe5df; border-bottom:1px solid #dfe5df; }
.amenities-list>article>span { color:var(--gold); font:500 12px/1 Georgia,serif; }
.amenities-list h3 { margin:0 0 8px; color:var(--green); font-size:13px; }
.amenities-list p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }

.models-section { padding:100px 0 140px; background:var(--green-deep); color:#fff; }
.models-heading { padding-top:30px; padding-bottom:75px; }
.models-heading h2 { color:#fff; }
.models-heading>p:last-child { color:rgba(255,255,255,.65); }
.model-list { width:min(1180px,calc(100% - 40px)); margin:auto; display:grid; gap:34px; }
.model-card { min-height:610px; display:grid; grid-template-columns:1fr 1fr; background:#fff; color:var(--ink); }
.model-card.reverse .model-facade { order:2; }
.model-facade { position:relative; min-height:610px; overflow:hidden; background:#e8ece7; }
.model-facade>img { width:133.333%; max-width:none; height:100%; object-fit:cover; object-position:center; transform:translateX(-25%); }
.model-info { padding:clamp(42px,5vw,75px); display:flex; flex-direction:column; justify-content:center; }
.model-number { margin:0; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.22em; }
.model-info h3 { margin:12px 0 5px; color:var(--green); font:400 clamp(55px,6vw,82px)/1 Georgia,serif; letter-spacing:-.05em; }
.model-tagline { margin:0 0 28px; color:var(--muted); font:italic 18px/1.4 Georgia,serif; }
.model-facts { display:grid; grid-template-columns:repeat(3,1fr); padding:20px 0; border-top:1px solid #e1e5e1; border-bottom:1px solid #e1e5e1; }
.model-facts div { padding:0 11px; border-right:1px solid #e1e5e1; }
.model-facts div:first-child { padding-left:0; }
.model-facts div:last-child { border:0; }
.model-facts strong,.model-facts span { display:block; }
.model-facts strong { color:var(--green); font-size:13px; }
.model-facts span { margin-top:5px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.model-info ul { list-style:none; margin:25px 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:11px; color:#45534a; font-size:13px; }
.model-actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.model-actions a { color:var(--green); font-size:12px; font-weight:800; }
.model-explore-actions { min-width:170px; display:flex; flex-direction:column; gap:9px; }
.model-explore-actions>button { width:100%; }
.model-gallery-button { min-height:43px; padding:0 18px; border:0; color:#fff; background:var(--green); cursor:pointer; font-size:12px; font-weight:700; }
.model-gallery-button span { display:inline-grid; place-items:center; width:22px; height:22px; margin-right:7px; border-radius:50%; color:var(--green); background:var(--gold-light); font-size:8px; }
.model-actions .model-visit-button { min-height:43px; padding:0 18px; display:inline-flex; align-items:center; color:#fff; background:var(--green); transition:background .25s,transform .25s; }
.model-actions .model-visit-button:hover { background:#24543d; transform:translateY(-2px); }
.outline-button { min-height:43px; padding:0 18px; border:1px solid #b8c2bb; color:var(--green); background:transparent; cursor:pointer; font-size:12px; font-weight:700; }

.appointment-section { display:grid; grid-template-columns:1.05fr .95fr; min-height:680px; background:var(--cream); }
.appointment-image { min-height:620px; overflow:hidden; }
.appointment-image img { width:100%; height:100%; object-fit:cover; }
.appointment-content { padding:clamp(60px,7vw,105px); align-self:center; }
.appointment-content h2 { margin:0; color:var(--green); font:400 clamp(42px,5vw,68px)/1 Georgia,serif; letter-spacing:-.045em; }
.appointment-content h2 em { color:var(--gold); }
.appointment-content>p { margin:25px 0; color:var(--muted); font-size:16px; line-height:1.7; }
.appointment-details { display:grid; gap:12px; margin:28px 0; color:#31493a; font-size:13px; font-weight:650; }
.appointment-details span { display:flex; align-items:center; min-height:28px; }
.appointment-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:30px 0 18px; }
.appointment-form label { display:grid; gap:7px; }
.appointment-form .name-field { grid-column:1/-1; }
.appointment-form label>span { color:#3b5143; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.appointment-form input,.appointment-form select { width:100%; height:49px; padding:0 14px; border:1px solid #ccd4ce; border-radius:2px; outline:none; color:var(--ink); background:#fff; font:500 13px/1 var(--font-geist),Arial,sans-serif; transition:border-color .2s,box-shadow .2s; }
.appointment-form input:focus,.appointment-form select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(198,154,72,.14); }
.appointment-form button { grid-column:1/-1; width:100%; border:0; cursor:pointer; }
.direct-contact { display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:#68756d; font-size:12px; }
.appointment-main-link { display:inline-block; padding-bottom:5px; color:var(--green); border-bottom:1px solid var(--green); font-size:13px; font-weight:800; }
.appointment-content small { display:block; margin-top:13px; color:#748078; font-size:11px; }

.finance-band { padding:100px 25px; color:#fff; background:var(--green); text-align:center; }
.finance-band h2 { font-size:clamp(40px,5vw,65px); }
.finance-band>div { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:32px 0; }
.finance-band>div span { padding:11px 16px; border:1px solid rgba(255,255,255,.32); border-radius:99px; font-size:10px; letter-spacing:.12em; }
.location-section { display:grid; grid-template-columns:.82fr 1.18fr; min-height:680px; background:var(--cream); }
.location-copy { padding:clamp(60px,8vw,120px); align-self:center; }
.location-copy address { margin:28px 0; color:#3d5145; font-style:normal; line-height:1.7; }
.button-dark { color:#fff; background:var(--green); }
.location-map { min-height:640px; overflow:hidden; }
.location-map img { width:100%; height:100%; object-fit:cover; }
.closing-cta { position:relative; min-height:620px; display:grid; place-items:center; overflow:hidden; color:#fff; text-align:center; }
.closing-cta>img,.closing-overlay { position:absolute; inset:0; width:100%; height:100%; }
.closing-cta>img { object-fit:cover; }
.closing-overlay { background:rgba(6,30,19,.72); }
.closing-cta>div:last-child { position:relative; z-index:2; padding:25px; }
.closing-cta h2 { margin-bottom:35px; font-size:clamp(50px,7vw,85px); }
.closing-copy { max-width:570px; margin:-15px auto 30px; color:rgba(255,255,255,.82); font:italic 17px/1.6 Georgia,serif; }

footer { padding:70px clamp(25px,7vw,110px) 35px; display:grid; grid-template-columns:1fr auto; gap:30px; color:rgba(255,255,255,.72); background:#071c12; }
.footer-brand { color:#fff; }
footer>p { grid-column:1; margin:0; font:italic 17px/1.5 Georgia,serif; }
footer>div { grid-column:2; grid-row:1/span 2; display:flex; gap:28px; align-self:center; font-size:12px; }
footer>small { grid-column:1/-1; padding-top:30px; border-top:1px solid rgba(255,255,255,.13); font-size:10px; line-height:1.65; }
.floating-wa { position:fixed; z-index:45; right:22px; bottom:20px; min-height:52px; padding:0 18px; display:flex; align-items:center; gap:9px; border:2px solid #fff; border-radius:99px; color:#fff; background:#22a95b; box-shadow:0 10px 30px rgba(0,0,0,.22); font-size:12px; }
.floating-wa span { font-size:20px; }

.modal { position:fixed; z-index:100; inset:0; padding:55px 25px 25px; display:grid; place-items:center; background:rgba(3,15,10,.94); backdrop-filter:blur(8px); }
.modal[hidden] { display:none; }
.modal-close { position:absolute; z-index:2; right:25px; top:18px; width:44px; height:44px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; background:transparent; cursor:pointer; font-size:30px; }
.gallery-modal { width:min(1200px,100%); color:#fff; }
.gallery-title { display:flex; align-items:baseline; gap:15px; margin-bottom:15px; }
.gallery-title span,.plan-modal span { color:var(--gold-light); font-size:9px; letter-spacing:.2em; }
.gallery-title h2,.plan-modal h2 { margin:0; font:400 40px/1 Georgia,serif; }
.gallery-title p { margin-left:auto; color:rgba(255,255,255,.6); font-size:12px; }
.gallery-stage { display:grid; grid-template-columns:50px 1fr 50px; align-items:center; gap:12px; }
.gallery-stage img { width:100%; height:min(67vh,700px); object-fit:contain; }
.gallery-stage button { height:55px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.1); cursor:pointer; font-size:38px; }
.gallery-thumbs { margin-top:15px; display:flex; justify-content:center; gap:7px; overflow-x:auto; }
.gallery-thumbs button { flex:0 0 72px; height:43px; padding:0; border:2px solid transparent; opacity:.45; background:transparent; cursor:pointer; overflow:hidden; }
.gallery-thumbs button.active { opacity:1; border-color:var(--gold-light); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.plan-modal { width:min(900px,100%); max-height:90vh; display:grid; grid-template-columns:230px 1fr; align-items:center; gap:35px; color:#fff; }
.plan-modal img { max-height:80vh; width:100%; object-fit:contain; }

@media (max-width:980px) {
  .site-header nav { display:none; }
  .stats { grid-template-columns:1fr 1fr; }
  .stats div:nth-child(2) { border-right:0; }
  .stats div:nth-child(-n+2) { border-bottom:1px solid #e7e9e6; }
  .concept { grid-template-columns:1fr; }
  .equipment-section,.location-section,.appointment-section { grid-template-columns:1fr; }
  .equipment-image { min-height:480px; }
  .amenity-visuals { grid-template-columns:1fr 1fr; }
  .amenity-feature { grid-column:1/-1; }
  .amenities-list { grid-template-columns:repeat(2,1fr); }
  .model-card { grid-template-columns:1fr; }
  .model-card.reverse .model-facade { order:0; }
  .model-facade { min-height:520px; }
  .location-map { min-height:500px; }
}

@media (max-width:640px) {
  .advisor-notice { min-height:72px; padding:8px 12px; flex-direction:column; gap:3px; font-size:11px; line-height:1.35; }
  .site-header { inset:72px 0 auto; height:66px; padding:0 17px; }
  .brand { font-size:25px; }
  .brand-image { min-width:108px; width:108px; height:56px; }
  .brand-logo { width:108px; height:50px; }
  .header-cta { min-height:38px; padding:0 11px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; white-space:nowrap; font-size:9px; }
  .hero { min-height:730px; }
  .hero>img { object-position:64% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(5,25,16,.9),rgba(5,25,16,.55)),linear-gradient(0deg,rgba(5,25,16,.5),transparent); }
  .hero-content { left:21px; top:51%; width:calc(100% - 42px); }
  .hero h1 { font-size:50px; }
  .hero-copy { font-size:15px; }
  .hero-price { align-items:flex-start; flex-direction:column; gap:5px; }
  .hero-actions .button { width:100%; }
  .stats { margin-top:-30px; }
  .stats div { min-height:100px; padding:19px 10px; }
  .stats span { font-size:9px; }
  .section { width:min(100% - 30px,1180px); padding:85px 0; }
  .wellness-grid { grid-template-columns:1fr; }
  .wellness-grid article,.wellness-grid article:nth-child(2n),.wellness-grid article:nth-child(n+3) { min-height:180px; border-right:0; border-bottom:1px solid #dfe5df; }
  .wellness-grid article:last-child { border-bottom:0; }
  .wellness-grid h3 { margin-top:25px; }
  .equipment-image { min-height:330px; }
  .equipment-content { padding:65px 25px; }
  .equipment-content ul { grid-template-columns:1fr; }
  .amenity-visuals { grid-template-columns:1fr; }
  .amenity-feature { grid-column:auto; }
  .amenity-visuals figure { height:auto; aspect-ratio:16/9; }
  .amenities-list { grid-template-columns:1fr; }
  .amenities-list article { min-height:110px; }
  .models-section { padding-top:65px; }
  .models-heading { padding-bottom:50px; }
  .model-list { width:calc(100% - 22px); gap:20px; }
  .model-facade { min-height:390px; }
  .model-info { padding:38px 24px 45px; }
  .model-info h3 { font-size:58px; }
  .model-facts { grid-template-columns:1fr; gap:12px; }
  .model-facts div,.model-facts div:first-child { padding:0 0 12px; border-right:0; border-bottom:1px solid #e1e5e1; }
  .model-facts div:last-child { border-bottom:0; padding-bottom:0; }
  .model-info ul { grid-template-columns:1fr; }
  .model-actions { align-items:stretch; flex-direction:column; }
  .model-actions a { padding:12px 0; }
  .location-copy { padding:70px 25px; }
  .appointment-image { min-height:360px; }
  .appointment-content { padding:70px 25px; }
  .appointment-form { grid-template-columns:1fr; }
  .appointment-form .name-field,.appointment-form button { grid-column:1; }
  .location-map { min-height:390px; }
  .closing-cta { min-height:570px; }
  footer { grid-template-columns:1fr; text-align:center; }
  footer>p,footer>div,footer>small { grid-column:1; grid-row:auto; justify-content:center; }
  footer>div { flex-wrap:wrap; }
  .footer-brand { justify-content:center; }
  .floating-wa { right:14px; bottom:14px; min-height:50px; padding:0 16px; }
  .modal { padding:72px 12px 20px; overflow-y:auto; }
  .gallery-modal { width:100%; min-width:0; }
  .gallery-stage { position:relative; display:block; width:100%; min-width:0; }
  .gallery-stage img { width:100%; height:auto; max-height:55vh; margin:0 auto; object-fit:contain; }
  .gallery-stage button { position:absolute; z-index:2; top:50%; width:44px; height:44px; transform:translateY(-50%); background:rgba(12,41,28,.78); font-size:28px; }
  #gallery-prev { left:4px; }
  #gallery-next { right:4px; }
  .gallery-title h2 { font-size:32px; }
  .gallery-thumbs { width:100%; padding:0 2px 6px; justify-content:flex-start; }
  .plan-modal { grid-template-columns:1fr; gap:15px; }
  .plan-modal>div { text-align:center; }
  .plan-modal img { max-height:70vh; }
}
