:root{--blue:#1B2742;--tan:#A36B32;--cream:#FFF8EA;--gray:#58595B;--light:#BCC2C5;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--blue);background:#fff;line-height:1.7;font-weight:300}
img{max-width:100%;display:block}a{color:inherit}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--tan);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15}
h2{font-size:clamp(2rem,4vw,3rem);margin:.4rem 0 1.4rem}
.wrap{max-width:1180px;margin:auto;padding:0 22px}section{padding:84px 0}
.btn{display:inline-block;background:var(--tan);color:#fff;text-decoration:none;padding:15px 30px;letter-spacing:.2em;font-size:.72rem;text-transform:uppercase;font-weight:600;border:0;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid currentColor}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:var(--blue);color:#fff}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav img{height:38px;background:#fff;padding:3px 6px}
.nav ul{display:none;list-style:none;gap:26px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.nav ul a{text-decoration:none}.nav .call{font-size:.8rem;text-decoration:none;color:#fff}
@media(min-width:900px){.nav ul{display:flex}}
/* split hero */
.hero{display:grid;grid-template-columns:1fr;background:var(--blue);color:#fff}
.hero .copy{padding:48px 24px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.hero h1{font-size:clamp(2.3rem,5vw,4rem)}
.hero .price{font-family:var(--serif);font-size:2.2rem;color:#E8C9A6}
.hero .badge{align-self:flex-start;border:1px solid var(--tan);color:#E8C9A6;padding:4px 12px;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase}
.hero .slides{position:relative;min-height:56vw;overflow:hidden}
.hero .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.hero .slides img.on{opacity:1}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
@media(min-width:900px){.hero{grid-template-columns:5fr 7fr;min-height:88vh}.hero .copy{padding:60px 56px}.hero .slides{min-height:auto}}
/* stats */
.stats{background:var(--cream);padding:40px 0}
.stats .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;text-align:center}
.stats b{display:block;font-family:var(--serif);font-size:1.9rem;font-weight:500}
.stats span{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gray)}
.stats .meta{text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tan);margin-bottom:24px}
@media(min-width:700px){.stats .grid{grid-template-columns:repeat(4,1fr)}}
/* about */
.about .cols{display:grid;gap:40px}.about p{margin-bottom:1rem;color:var(--gray)}
.features ul{list-style:none;display:grid;gap:12px}
.features li{border-bottom:1px solid #eee;padding:8px 0 8px 26px;position:relative;font-size:.92rem}
.features li:before{content:"◆";color:var(--tan);position:absolute;left:0;font-size:.7rem;top:12px}
@media(min-width:900px){.about .cols{grid-template-columns:3fr 2fr}}
/* media */
.media{background:var(--blue);color:#fff;text-align:center}
.embed{position:relative;padding-top:56.25%;margin-top:24px}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tabs{display:flex;justify-content:center;gap:10px;margin-top:20px}
.tabs button{background:none;border:1px solid var(--tan);color:#fff;padding:8px 18px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.tabs button.on{background:var(--tan)}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gal figure{position:relative;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:10px;bottom:8px;color:#fff;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 4px #000}
@media(min-width:900px){.gal{grid-template-columns:repeat(4,1fr)}.gal figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
.fp .gal figure{aspect-ratio:1;background:#f6f6f6}.fp .gal img{object-fit:contain}
.fp .gal figure:first-child{grid-column:auto;grid-row:auto;aspect-ratio:1}
.lb{position:fixed;inset:0;background:rgba(10,15,30,.96);display:none;align-items:center;justify-content:center;z-index:50}
.lb.on{display:flex}.lb img{max-height:86vh;max-width:92vw}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:16px}
.lb .x{top:6px;right:10px}.lb .p{left:4px}.lb .n{right:4px}
.lb .cap{position:absolute;bottom:16px;color:#fff;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
/* lifestyle */
.life{background:var(--cream)}.life .grid{display:grid;gap:28px}
.life h3{font-size:1.5rem;margin-bottom:6px}.life p{color:var(--gray);font-size:.93rem}
.life .card{border-top:2px solid var(--tan);padding-top:18px}
@media(min-width:900px){.life .grid{grid-template-columns:repeat(4,1fr)}}
.map iframe{width:100%;height:380px;border:0;filter:grayscale(.3)}
/* contact */
.contact{background:var(--blue);color:#fff}.contact .cols{display:grid;gap:40px}
.agent{display:flex;gap:20px;align-items:flex-start}.agent img{width:120px;height:150px;object-fit:cover}
.agent p{font-size:.88rem;opacity:.85;margin:.6rem 0}.agent a{color:#E8C9A6;text-decoration:none;display:block}
form{display:grid;gap:12px}
form input,form select,form textarea{width:100%;padding:13px;border:1px solid #3a4766;background:#22304f;color:#fff;font:inherit;font-size:.9rem}
form .row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
form small{font-size:.68rem;opacity:.7}.msg{color:#E8C9A6;font-size:.9rem}
@media(min-width:900px){.contact .cols{grid-template-columns:1fr 1fr}}
/* footer */
footer{background:#111a2e;color:#cfd3da;font-size:.72rem;padding:40px 0;line-height:1.8}
footer .logos{display:flex;gap:18px;align-items:center;margin-bottom:16px}footer .logos img{height:44px;background:#fff;padding:4px}
footer .tag{font-family:var(--serif);font-size:1.15rem;color:#E8C9A6;margin-bottom:10px}
.sticky-cta{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:30}
.sticky-cta a{flex:1;text-align:center;padding:14px;background:var(--tan);color:#fff;text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.sticky-cta a+a{background:var(--blue)}
@media(min-width:900px){.sticky-cta{display:none}}
@media(max-width:899px){footer{padding-bottom:80px}}
