:root{--navy:#17384f;--blue:#315777;--green:#176149;--gold:#d4ca86;--cream:#f4f1e8;--ink:#17303c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}
header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #dfe3e2}
img{max-width:100%;display:block}
header img,footer img{width:170px;height:70px;object-fit:contain}
nav{display:flex;gap:1.4rem}
nav a{text-decoration:none;font-weight:700;font-size:.86rem;color:var(--ink)}
#menu{display:none}
.hero{min-height:480px;display:grid;align-items:center;padding:7vw 8vw;color:#fff;background:linear-gradient(125deg,#102f3e,#176149)}
.hero>div{max-width:950px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800}
.hero .eyebrow,.dark .kicker{color:var(--gold)}h1{font-size:clamp(1.6rem,6vw,5.4rem);letter-spacing:-.06em;line-height:.9;margin:.6rem 0 1.5rem}
h1 em{font-family:Georgia,serif;color:var(--gold)}
.hero p:not(.eyebrow){font-size:1.2rem;max-width:800px}
.buttons{display:flex;gap:1rem;margin:2rem 0}
.buttons a,.primary,.inline,.download{display:inline-block;padding:.85rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:800;color:#fff}
.buttons a{border:1px solid #ffffff70}
.buttons .primary,.primary{background:var(--gold);color:var(--ink);border:0}
.assurance{padding:1.5rem 5vw;background:var(--gold);display:flex;gap:2rem;align-items:center}
.assurance b{font-size:1.15rem;white-space:nowrap}
.section{padding:clamp(4rem,8vw,8rem) max(5vw,24px)}
h2{font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.05em;line-height:1;margin:.5rem 0 1.5rem}
.kicker{color:var(--green)}
.intro{max-width:850px;font-size:1.08rem}
.cream{background:var(--cream)}
.grid{display:grid;gap:1px;margin:3rem 0;background:#cfd5d1}
.benefits{grid-template-columns:repeat(3,1fr)}
.grid article{padding:2rem;background:inherit}
.benefits article{background:var(--cream);min-height:230px}
.benefits h3,.milestones h3{font-size:1.3rem}
.download{padding-left:0;color:var(--green);text-decoration:underline}.dark{background:var(--navy);color:#fff}
.milestones{grid-template-columns:repeat(4,1fr);background:transparent;gap:1rem}
.milestones article{border:1px solid #ffffff30;background:#ffffff0b}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery-item,.plan-image{border:0;padding:0;background:#e9eee9;position:relative;overflow:hidden;cursor:zoom-in}
.gallery-item{aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-item span,.plan-image span{position:absolute;right:.6rem;bottom:.6rem;background:rgba(19,48,58,.82);color:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.72rem}
dialog{width:min(1200px,94vw);max-height:92vh;border:0;padding:2.8rem 1rem 1rem;background:#fff;box-shadow:var(--shadow)}
dialog::backdrop{background:rgba(7,21,28,.88)}
dialog img{max-height:78vh;max-width:100%;margin:auto}
.close{position:absolute;right:.6rem;top:.35rem;border:0;background:none;font-size:2rem;cursor:pointer}
dialog p{text-align:center;margin:.6rem 0 0;font-size:.85rem}
.milestones b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--ink)}
.rows{max-width:950px;border-top:1px solid #ccd4d1;margin-top:2rem}
.rows div{display:flex;justify-content:space-between;padding:1rem;border-bottom:1px solid #ccd4d1}
.park{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;background:#dce8e0}
.big{display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #17384f33;min-height:320px;font-size:8rem;font-weight:800;color:var(--green)}
.big span{font-size:1rem;color:var(--ink);max-width:220px;text-align:center}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.summary div{padding:2rem;background:var(--cream);display:flex;flex-direction:column}
.summary b{font-size:2.5rem;color:var(--green)}.inline{margin-top:1rem}
.homes{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--cream);}
.contact .kicker{color:var(--gold)}
.contact{color: #fff;background:var(--navy);}
form{display:grid;gap:1rem}
label{font-weight:700;font-size:.82rem}
input,select,textarea{display:block;width:100%;padding:.85rem;margin-top:.3rem;border:1px solid #ffffff50;background:#ffffff12;color:#fff;font:inherit}
select option{color:#111}
form button{background:var(--gold);border:0;padding:1rem;font-weight:800}
.closing{text-align:center;padding:6rem 5vw;background:var(--cream)}
.closing p{max-width:760px;margin:auto}
footer{text-align:center;padding:3rem}
footer img{margin:auto}
@media(max-width:850px){nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:1.5rem;flex-direction:column}nav.open{display:flex}
#menu{display:block}.benefits{grid-template-columns:1fr 1fr}
.milestones{grid-template-columns:1fr 1fr}
.park,.contact{grid-template-columns:1fr}
.summary{grid-template-columns:1fr}
.assurance{align-items:flex-start;flex-direction:column;gap:.3rem}
.assurance b{white-space:normal}}
@media(max-width:560px){.benefits,.milestones{grid-template-columns:1fr}.buttons{flex-direction:column}.rows div{display:block}.rows span{display:block}.hero{min-height:620px}.hero h1{font-size:3.7rem}}
