:root{--navy:#0b1a2a;--teal:#0f7c86;--gold:#c8a165;--ink:#14212e;--muted:#6a7884;--tint:#f6f3ee;--serif:'Playfair Display',Georgia,serif;--sans:Inter,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 16px/1.7 var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:auto;padding:0 22px}section{padding:84px 0}section.wrap{padding:84px 22px}.tint{background:var(--tint)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0}h1{font-size:2.6rem;line-height:1.08}h2{font-size:2.1rem;line-height:1.15;margin-bottom:14px}h2 em{color:var(--teal)}h3{font-size:1.2rem}
.muted{color:var(--muted)}.src{font-size:.8rem;margin:-6px 0 30px}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--gold);margin:0 0 14px}
.btn{display:inline-block;background:var(--gold);color:#fff!important;border:0;padding:15px 30px;border-radius:2px;text-decoration:none;font:600 .85rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.3s}.btn:hover{background:#b48a4d;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1px solid #fff9}.btn.ghost:hover{background:#fff2}.btn.sm{padding:9px 18px;font-size:.72rem}
.nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;transition:.35s}
.nav.solid{background:rgba(11,26,42,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:10px 22px;box-shadow:0 4px 24px #0003}
.logo{font:500 1.4rem var(--serif);color:#fff;text-decoration:none}.nav nav a{color:#fff;text-decoration:none;margin-left:22px;font-size:.85rem;letter-spacing:.06em}.nav nav a:not(.btn){display:none}
.hero{position:relative;min-height:min(92vh,820px);display:flex;align-items:flex-end;color:#fff;padding:0 0 70px;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background:center/cover;animation:zoom 18s ease-out forwards}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,42,.35),rgba(11,26,42,.55) 50%,rgba(11,26,42,.92))}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-in{position:relative}.lead{font-size:1.08rem;font-weight:300;max-width:580px;opacity:.92;margin:20px 0 0}.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.stats{background:var(--navy);color:#fff;padding:40px 0}.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:10px}
.stats b{display:block;font:500 2rem var(--serif);color:var(--gold)}.stats span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.about{display:grid;gap:40px;align-items:center}.photo{width:100%;max-width:380px;aspect-ratio:4/5;background:#e7e2da center/cover;margin:auto;box-shadow:24px 24px 0 var(--tint)}
.grid{display:grid;gap:24px}.card{background:#fff;overflow:hidden;box-shadow:0 1px 3px #0001;transition:.4s}.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px #0b1a2a22}
.img{height:200px;position:relative;transition:.6s}.card:hover .img{filter:saturate(1.2)}
.i0{background:linear-gradient(135deg,#0f7c86,#0b1a2a)}.i1{background:linear-gradient(135deg,#c8a165,#7a5a35)}.i2{background:linear-gradient(135deg,#3e6b8f,#0b1a2a)}.i3{background:linear-gradient(135deg,#7fa8a0,#2f5d5a)}
.tag{position:absolute;top:14px;left:14px;background:#fff;color:var(--navy);padding:4px 12px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.loc{position:absolute;bottom:14px;left:16px;color:#fff;font:500 1.3rem var(--serif)}.p{padding:22px}.price{font:500 1.5rem var(--serif);color:var(--teal)}.card h3{font:500 .9rem var(--sans);margin:4px 0}.card p{margin:4px 0 0;font-size:.85rem}
.area{border-top:1px solid var(--gold);padding-top:18px}.area p{margin:6px 0 0;font-size:.92rem}
.tgrid{max-width:820px}.tcard{margin:0;background:#fff;padding:40px;box-shadow:0 10px 40px #0b1a2a12;border-left:3px solid var(--gold)}
.tcard p{font:italic 500 1.25rem/1.6 var(--serif);margin:12px 0 18px}.stars{color:var(--gold);letter-spacing:.2em}cite{font-style:normal;font-size:.8rem;letter-spacing:.06em;color:var(--muted)}
.cta{background:linear-gradient(120deg,var(--navy),#0f4d5a);color:#fff;text-align:center}.cta p{opacity:.85;margin:0 0 28px}
.contact{display:grid;gap:40px}.cline{font-size:1.1rem;line-height:2}.cline a{color:var(--teal);text-decoration:none}
.form{display:grid;gap:14px}.form input,.form select,.form textarea{padding:15px;border:1px solid #d9dee2;border-radius:2px;font:inherit;background:#fff;transition:.2s}.form :focus{outline:0;border-color:var(--gold)}
footer{background:var(--navy);color:#b8c2cb;padding:56px 0 24px;font-size:.88rem}footer p{margin:4px 0}.fgrid{display:grid;gap:24px}.fine{border-top:1px solid #ffffff1a;margin-top:32px;padding-top:20px;font-size:.75rem;opacity:.7}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-bg{animation:none}}
@media(min-width:760px){h1{font-size:4.4rem}h2{font-size:2.8rem}.g4{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:5fr 7fr}.contact,.fgrid{grid-template-columns:1fr 1fr}.nav nav a:not(.btn){display:inline}.stats b{font-size:2.6rem}}
@media(min-width:1100px){.g4{grid-template-columns:repeat(4,1fr)}h1{font-size:5rem;max-width:900px}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.status{font-size:.92rem;min-height:1.2em}.status.ok,.status.err{padding:14px 16px;border-radius:4px}.status.ok{background:#e8f5ee;color:#1d6b43;border-left:3px solid #2e9e63}.status.err{background:#fdeeee;color:#9b2c2c;border-left:3px solid #d64545}
button[disabled]{opacity:.6;cursor:wait}
.flink{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
