@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--green:#173d31;--green2:#285b44;--sage:#718d6e;--lime:#d5e58c;--cream:#f8f5ec;--paper:#fffdf7;--ink:#15271f;--muted:#67736d;--line:rgba(21,39,31,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.demo-ribbon{height:34px;padding:0 clamp(18px,5vw,70px);display:flex;justify-content:space-between;align-items:center;background:#0c2b20;color:#dbe7df;font-size:.72rem}.site-header{position:sticky;top:0;z-index:20;min-height:84px;padding:0 clamp(18px,5vw,70px);display:flex;justify-content:space-between;align-items:center;background:rgba(255,253,247,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.logo img{width:min(290px,48vw)}nav{display:flex;align-items:center;gap:25px;font-size:.86rem}nav a{color:#31473d}.nav-cta{padding:12px 18px;border-radius:8px;background:var(--green2);color:#fff}.menu-button{display:none}.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,236,.98) 0 34%,rgba(248,245,236,.82) 46%,rgba(248,245,236,.06) 72%),linear-gradient(0deg,rgba(11,34,25,.12),transparent)}.hero-copy{position:relative;z-index:2;width:min(680px,90%);margin-left:clamp(24px,6vw,95px);padding:70px 0}.kicker,.eyebrow{margin:0 0 15px;color:var(--green2);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#d8e8bf}h1,h2,h3{font-family:var(--serif);line-height:1.04}h1{margin:0;font-size:clamp(3.7rem,7vw,7.2rem);letter-spacing:-.055em;color:#12382a}.hero-lead{max-width:610px;font-size:1.1rem;color:#40534b}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{min-height:50px;padding:0 20px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.primary{background:var(--green2);color:#fff}.secondary{border:1px solid var(--green2);background:rgba(255,255,255,.65);color:var(--green2)}.pale{background:#edf2dd;color:var(--green)}.hero-facts{display:flex;gap:16px;flex-wrap:wrap}.hero-facts span{padding:10px 14px;border:1px solid rgba(23,61,49,.18);border-radius:999px;background:rgba(255,255,255,.58);font-size:.78rem}.hero-facts b{color:var(--green2)}.section{padding:105px clamp(22px,6vw,92px)}.section-heading{max-width:800px;margin-bottom:55px}.section-heading.centered{text-align:center;margin:0 auto 55px}.section-heading h2,.green-band h2,.store h2,.contact h2{margin:0;font-size:clamp(2.7rem,5vw,5.2rem);letter-spacing:-.045em}.section-heading p:last-child{color:var(--muted)}.feature-icons{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-icons article{padding:24px 14px;text-align:center;border-right:1px solid var(--line)}.feature-icons article:last-child{border-right:0}.feature-icons span{display:block;color:var(--green2);font-size:2rem}.feature-icons b{display:block;margin-top:8px;font-size:.9rem}.feature-icons small{color:var(--muted)}.room-grid{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(26,49,39,.1)}.room-card.wide{grid-column:span 3;display:grid;grid-template-columns:1.35fr .65fr}.room-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.room-card.wide img{height:100%;aspect-ratio:auto}.room-card>div{padding:22px}.room-card p{margin:0 0 5px;color:var(--sage);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.room-card h3{margin:0 0 10px;font-size:1.45rem}.room-card span{color:var(--muted);font-size:.84rem}.green-band{padding:78px clamp(22px,6vw,92px);display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;background:var(--green);color:#fff}.green-band h2{max-width:780px}.green-band>p{color:#c6d3cc}.property{background:#f1f3ea}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.amenity-grid article{overflow:hidden;border-radius:16px;background:#fff}.amenity-grid img{width:100%;aspect-ratio:1.52;object-fit:cover}.amenity-grid div{padding:20px}.amenity-grid h3{margin:0 0 7px;font-size:1.35rem}.amenity-grid p{margin:0;color:var(--muted);font-size:.88rem}.section-heading.split{max-width:none;display:grid;grid-template-columns:1fr .65fr;gap:80px;align-items:end}.section-heading.split>p{margin:0}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:245px;gap:14px}.gallery button{padding:0;border:0;border-radius:16px;overflow:hidden;cursor:pointer;background:#ddd}.gallery button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery button:hover img{transform:scale(1.035)}.store{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:center;background:linear-gradient(135deg,#173d31,#285b44);color:#fff}.store-copy p:not(.eyebrow){color:#c8d6cf}.price-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.price-board article{min-height:150px;padding:24px;display:grid;align-content:center;background:rgba(255,255,255,.08)}.price-board span{font-size:.84rem}.price-board b{font-family:var(--serif);font-size:2rem;color:var(--lime)}.price-board small{color:#bfcdc5}.location{background:#eef1e7}.location-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}.location-card h2{margin:0;font-size:clamp(2.7rem,5vw,5.2rem)}.location-points{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.location-points span{padding:14px;background:#fff;border-radius:10px}.location-points b{display:block;color:var(--green2)}.map-placeholder{position:relative;min-height:430px;overflow:hidden;border-radius:20px;background:#d9e3d6}.map-grid{position:absolute;inset:-20%;background:linear-gradient(60deg,transparent 48%,rgba(255,255,255,.9) 49% 51%,transparent 52%),linear-gradient(-28deg,transparent 48%,rgba(255,255,255,.75) 49% 51%,transparent 52%);background-size:130px 130px}.map-pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--green2);color:#fff;font-size:2rem;box-shadow:0 15px 35px rgba(20,55,43,.25)}.map-placeholder strong,.map-placeholder small{position:absolute;left:30px;right:30px}.map-placeholder strong{bottom:58px;font-family:var(--serif);font-size:1.5rem}.map-placeholder small{bottom:30px;color:#54655d}.contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;color:#fff;background:#9b7048}.contact-copy>p:not(.eyebrow){color:#f0dfcf}.contact dl{margin-top:30px}.contact dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.2)}.contact dt{color:#f2d8bd}.contact dd{margin:0;text-align:right}form{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;border-radius:18px;background:#fff;color:var(--ink)}label{display:grid;gap:7px;font-size:.78rem;font-weight:700}input,textarea{width:100%;padding:13px 14px;border:1px solid #d9ddd7;border-radius:8px;background:#fbfbf8}.full{grid-column:1/-1}.form-status{margin:0;color:var(--green2);font-weight:700}.disclaimer{padding-top:55px;padding-bottom:55px;background:#fff4da}.disclaimer h2{font-size:1.55rem}.disclaimer p{max-width:1000px;color:#675d4d}footer{padding:55px clamp(22px,6vw,92px);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;background:#0d2d22;color:#d3dfd8}footer img{width:270px;filter:brightness(0) invert(1);opacity:.88}footer h3{margin-top:0;color:#fff}footer a,footer p{display:block;color:#b8c8bf;font-size:.85rem}footer small{color:#7f9a8b}dialog{width:min(1000px,92vw);padding:14px;border:0;border-radius:16px;background:#0d241c;color:#fff}dialog::backdrop{background:rgba(5,14,10,.86)}dialog img{width:100%;max-height:78vh;object-fit:contain}.close-lightbox{position:absolute;right:20px;top:20px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#173d31;font-size:1.8rem;cursor:pointer}dialog p{margin:12px 4px 2px}@media(max-width:1100px){nav{gap:14px}.feature-icons{grid-template-columns:repeat(4,1fr)}.room-grid{grid-template-columns:1fr 1fr}.room-card.wide{grid-column:span 2}.amenity-grid{grid-template-columns:1fr 1fr}.store,.location-card,.contact{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.gallery button:first-child{grid-column:span 2;grid-row:auto}.section-heading.split,.green-band{grid-template-columns:1fr;gap:25px}}@media(max-width:820px){.demo-ribbon strong{display:none}.menu-button{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.site-header nav{position:fixed;inset:118px 0 auto;padding:24px;display:none;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.12)}.site-header nav.open{display:flex}.hero{min-height:760px}.hero-overlay{background:linear-gradient(0deg,rgba(248,245,236,.99) 0 50%,rgba(248,245,236,.15) 82%)}.hero-copy{align-self:end;width:auto;margin:0;padding:55px 24px}.feature-icons{grid-template-columns:1fr 1fr}.room-grid,.amenity-grid{grid-template-columns:1fr}.room-card.wide{grid-column:auto;display:block}.price-board{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){h1{font-size:3.4rem}.section{padding:78px 20px}.hero-facts{display:grid;grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gallery button:first-child{grid-column:auto}.price-board{grid-template-columns:1fr}.location-points{grid-template-columns:1fr}form{grid-template-columns:1fr}.full{grid-column:auto}footer{grid-template-columns:1fr}.logo img{width:220px}}
