:root{--navy:#021d36;--navy-2:#0b2a47;--ink:#021d36;--muted:#4c5d6e;--line:#c9d0d6;--soft:#f1f3f0;--white:#fff;--orange:#d97a2b;--orange-2:#c2681d;
--serif:"Cormorant Garamond","Perpetua",Georgia,serif;--sans:"Inter","Helvetica Neue",Arial,sans-serif;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;color:var(--navy);letter-spacing:-.015em}
h1{font-size:clamp(56px,8.2vw,114px);letter-spacing:-.025em}
h2{font-size:clamp(34px,4.2vw,54px)}
h3{font-size:clamp(30px,3vw,40px)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.lead{font-size:16px;color:var(--ink);max-width:470px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;text-decoration:none;padding:10px 16px;font-size:14px;font-weight:700;border:0;cursor:pointer;transition:background .2s;font-family:var(--sans)}
.btn:hover{background:var(--orange-2)}
.btn.line{background:transparent;border:1px solid currentColor;color:inherit}
.btn.line:hover{background:rgba(255,255,255,.1)}
.arrow::after{content:"→"}
.more{display:inline-block;font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid var(--navy);padding-bottom:2px;margin-top:6px}
.more:hover{color:var(--orange);border-color:var(--orange)}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;padding:26px 0;transition:background .3s,padding .3s;color:var(--navy)}
body.dark-top .site-header:not(.solid){color:#fff}
.site-header.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:12px 0;color:var(--navy)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;flex-direction:column;text-decoration:none;color:inherit;line-height:1}
.logo .wm{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:-.02em}
.logo small{font-size:9.5px;letter-spacing:.04em;margin-top:3px;font-family:var(--sans)}
nav.main{display:flex;align-items:center;gap:30px}
nav.main a{text-decoration:none;font-size:14px;font-weight:700}
nav.main a:not(.btn):hover{color:var(--orange)}
.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:30px;cursor:pointer}

/* home hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,29,54,.45) 0%,rgba(2,29,54,0) 35%,rgba(2,29,54,.55) 100%)}
.hero .wrap{position:relative;padding-bottom:11vh;width:100%}
.hero h1{color:#fff;max-width:760px;font-weight:400}

/* statement */
.statement{background:var(--navy);padding:110px 0 130px;text-align:center}
.statement p{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.2;max-width:900px;margin:0 auto;color:#8fa1b5}

/* page title */
.page-title{padding:170px 0 60px}
.page-title .sub{margin-top:20px;max-width:620px;font-size:16px}

/* intro with side label */
section.block{padding:90px 0}
.side{display:grid;grid-template-columns:44px 1fr;gap:40px}
.vlabel{writing-mode:vertical-rl;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:14px}
.vlabel::after{content:"";width:1px;flex:1;min-height:110px;background:var(--orange)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.intro h2{font-weight:400;margin-bottom:28px}
.intro p{max-width:470px}
.intro p+p{margin-top:14px}
.intro img{width:100%;aspect-ratio:1.28;object-fit:cover}

/* featured slider */
.feature{position:relative;margin:30px 0 100px}
.feature .slides{position:relative}
.feature .slide{display:none;position:relative}
.feature .slide.on{display:block}
.feature .pic{width:68%;aspect-ratio:1.33;object-fit:cover;background:var(--soft)}
.feature .panel{position:absolute;right:max(32px,calc((100vw - var(--max))/2 + 32px));top:50%;transform:translateY(-50%);width:min(500px,44%);background:#fff;padding:48px 44px 40px}
.feature .panel h3{margin-bottom:22px}
.feature .panel p{font-size:14px}
.feature .nav{position:absolute;left:calc(68% - 90px);bottom:18px;background:#fff;display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:12px}
.feature .nav button{background:none;border:0;cursor:pointer;font-size:16px;color:var(--navy)}
.facts3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.facts3 div{border-bottom:1px solid var(--line);padding-bottom:6px}
.facts3 dt{font-size:12px;color:var(--muted)}
.facts3 dd{font-size:13px;font-weight:700}

/* sort + grid */
.sortbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:50px}
.sortbar .lbl{font-size:12px;letter-spacing:.2em;font-weight:700}
.sortbar button{background:none;border:0;padding:6px 10px;font:700 14px var(--sans);color:#a3aeb9;cursor:pointer}
.sortbar button.on{background:var(--navy);color:#fff}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 50px}
.card{display:block}
.card .ph{position:relative;overflow:hidden;aspect-ratio:1.36;background:var(--soft)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.card:hover img{transform:scale(1.04)}
.card .tag{position:absolute;left:0;top:22px;background:var(--orange);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:7px 12px}
.card h3{margin:26px 0 16px}
.card h3 a{text-decoration:none}
.card p.d{font-size:13px;max-width:400px}
.ph-empty{position:absolute;inset:0;background:var(--navy);display:grid;place-items:center;color:#8fa1b5;font-family:var(--serif);font-size:28px;text-align:center;padding:20px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);padding-top:40px}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(50px,5.5vw,76px);line-height:1}
.stat span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* big image band */
.bigimg{height:72vh;min-height:420px;background:var(--navy) center/cover}

/* navy CTA box */
.ctabox{background:var(--navy);color:#fff;padding:80px 56px;position:relative}
.ctabox h2{color:#fff;font-weight:400;max-width:780px;margin-bottom:34px}
.ctabox .tagr{position:absolute;right:28px;top:26px;font-family:var(--serif);font-size:24px;line-height:1.05;text-align:left;color:#fff}

/* property page */
.prop-hero{margin-top:0}
.prop-hero img,.prop-hero .ph-empty{width:100%;aspect-ratio:2.2;object-fit:cover;position:relative}
.prop-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:70px}
.prop-layout .copy p{margin-bottom:16px;max-width:620px}
.amen{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin-top:10px}
.amen li{border-bottom:1px solid var(--line);padding:12px 0;font-weight:500}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.gallery img{width:100%;aspect-ratio:1.4;object-fit:cover}
.sticky{position:sticky;top:100px;align-self:start;background:var(--soft);padding:36px}
.sticky h3{font-size:32px;margin:8px 0 10px}
.sticky>p{font-size:14px;margin-bottom:20px}
.crit{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 18px;margin:30px 0}
.crit div{border-bottom:1px solid var(--line);padding-bottom:8px}
.crit dt{font-size:12px;color:var(--muted)}
.crit dd{font-weight:700;font-size:14px}

/* forms */
form.lead-form{display:grid;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-size:12px;font-weight:500;color:var(--muted);display:grid;gap:6px}
input,select,textarea{font:15px var(--sans);padding:12px;border:0;border-bottom:1px solid var(--navy);background:#fff;color:var(--ink);width:100%;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:0}
textarea{min-height:110px;resize:vertical}
form .btn{justify-self:start;margin-top:6px}
.form-note{font-size:12px;color:var(--muted)}
.form-ok{display:none;background:#fff;border-left:3px solid var(--orange);padding:14px;font-size:14px}
.hp{position:absolute;left:-9999px}

/* footer */
footer{background:var(--soft);padding:34px 0;font-size:13px}
.foot{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.foot .links{display:flex;gap:26px;flex-wrap:wrap;font-weight:700;align-items:center}
.foot a{text-decoration:none}
.foot a:not(.btn):hover{color:var(--orange)}
.legal{display:flex;justify-content:space-between;gap:16px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;flex-wrap:wrap}

.rv{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

@media (max-width:960px){
 .intro,.prop-layout{grid-template-columns:1fr;gap:40px}
 .feature .pic{width:100%}
 .feature .panel{position:relative;right:auto;top:auto;transform:none;width:auto;margin:-60px 20px 0;padding:32px 26px}
 .feature .nav{left:auto;right:20px;bottom:auto;top:20px}
 .stats{grid-template-columns:repeat(2,1fr)}
 .sticky{position:static}
}
@media (max-width:720px){
 .wrap{padding:0 16px}
 nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--navy);flex-direction:column;align-items:flex-start;padding:20px 16px 28px;gap:18px;box-shadow:0 10px 20px rgba(0,0,0,.08)}
 nav.main.open{display:flex}
 .menu-toggle{display:block}
 .grid,.gallery,.form-row,.amen{grid-template-columns:1fr}
 .grid{gap:60px}
 .side{grid-template-columns:1fr}.vlabel{display:none}
 section.block{padding:64px 0}
 .page-title{padding:130px 0 40px}
 .ctabox{padding:56px 24px}.ctabox .tagr{display:none}
 .crit,.facts3{grid-template-columns:1fr 1fr}
 .prop-hero img,.prop-hero .ph-empty{aspect-ratio:1.3}
}
/* press */
.press-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.press{display:flex;flex-direction:column;gap:12px;text-decoration:none;padding:26px 0;border-top:1px solid var(--line)}
.press .pd{font-size:12px;letter-spacing:.14em;font-weight:500;color:var(--muted)}
.press .pt{font-family:var(--serif);font-size:26px;line-height:1.15;font-weight:500}
.press .ps{font-size:13px;font-weight:700;color:var(--orange)}
.press:hover .pt{text-decoration:underline;text-decoration-thickness:1px}
@media (max-width:960px){.press-row{grid-template-columns:1fr!important}}
.card .ph{display:block}
