
:root{
 --ink:#102f3e;--red:#c84a3f;--cream:#f5f1eb;--sand:#d8c5ae;--muted:#66747b;
 --line:rgba(16,47,62,.15);--white:#fff;--max:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:#17232a;background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.topbar{background:var(--ink);color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.topbar .container{display:flex;justify-content:space-between;padding:10px 0}
header{position:absolute;top:35px;left:0;right:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);padding:15px 22px;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.logo{width:275px}
.links{display:flex;align-items:center;gap:28px;font-weight:750;font-size:.93rem}
.links a:hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:2px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;border:1px solid transparent}
.btn-red{background:var(--red);color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-outline{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.hero{min-height:760px;background:linear-gradient(90deg,rgba(8,26,35,.82),rgba(8,26,35,.4),rgba(8,26,35,.08)),url('hero.jpg') center/cover;display:flex;align-items:center;color:#fff;position:relative}
.hero-copy{padding-top:100px;max-width:780px}
.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#f0c7be}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.08;margin:0 0 18px;color:var(--ink)}
.hero h1{font-size:clamp(3.8rem,7vw,7rem);color:#fff;letter-spacing:-.04em;max-width:900px}
.hero p{font-size:1.15rem;max-width:650px;color:rgba(255,255,255,.9)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.search-bar{position:relative;margin-top:-68px;z-index:4}
.search-panel{background:#fff;box-shadow:0 24px 60px rgba(8,26,35,.18);display:grid;grid-template-columns:1.7fr 1fr 1fr auto;padding:18px;gap:10px}
.search-panel input,.search-panel select{border:1px solid var(--line);padding:16px;font:inherit;background:#fff}
.section{padding:100px 0}
.section-cream{background:var(--cream)}
.section-dark{background:var(--ink);color:#fff}
.section-dark h2,.section-dark h3{color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}
.section-head h2{font-size:clamp(2.4rem,4vw,4.3rem);max-width:760px}
.section-head p{max-width:470px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service{border-top:2px solid var(--ink);padding-top:24px}
.service h3{font-size:2rem}
.service p{color:var(--muted)}
.link{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
.communities{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}
.community{position:relative;min-height:420px;overflow:hidden}
.community img{height:100%;object-fit:cover;transition:.5s}
.community:hover img{transform:scale(1.04)}
.community:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,20,28,.78))}
.community-copy{position:absolute;left:28px;bottom:24px;z-index:2;color:#fff}
.community-copy h3{color:#fff;font-size:2rem;margin-bottom:4px}
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.market-box{background:#fff;color:#17232a;padding:38px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.market-box h3{font-size:2.1rem}
.form{display:grid;gap:13px}
.form input,.form select,.form textarea{padding:15px;border:1px solid var(--line);font:inherit}
.form textarea{min-height:120px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:35px 25px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.num{color:var(--red);font-size:.8rem;font-weight:900;letter-spacing:.1em}
.quote{max-width:900px;margin:auto;text-align:center}
.quote h2{font-size:clamp(2.5rem,5vw,5rem)}
footer{background:#081c26;color:#c9d2d6;padding:65px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:50px}
.footer-logo{filter:brightness(0) invert(1);width:290px}
.small{font-size:.78rem;color:#81939b}
.mobile{display:none}
@media(max-width:900px){
 header{top:35px}.links{display:none}.mobile{display:block}
 .hero{min-height:690px}.hero-copy{padding-top:120px}.hero h1{font-size:3.8rem}
 .search-panel{grid-template-columns:1fr}
 .service-grid,.communities,.market-grid,.steps,.footer-grid{grid-template-columns:1fr}
 .community{min-height:360px}.step{border-right:0;border-bottom:1px solid var(--line)}
}
