:root{--navy:#1a2744;--navy-light:#2a3d5e;--accent:#c8a456;--accent-light:#d4b76a;--cream:#faf8f4;--white:#fff;--gray-50:#f9f9f9;--gray-100:#f0eeeb;--gray-200:#e0ddd8;--gray-400:#999;--gray-600:#666;--text:#2c2c2c}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased}

/* Nav */
nav{background:var(--navy);padding:0 2rem;position:sticky;top:0;z-index:100}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--white);text-decoration:none}
.logo span{color:var(--accent)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--accent-light)}
.nav-cta{background:var(--accent);color:var(--navy)!important;padding:.45rem 1.1rem;border-radius:6px;font-weight:600!important}
.mobile-menu{display:none;background:none;border:none;cursor:pointer}

/* Hero */
.hero{background:linear-gradient(165deg,var(--navy) 0%,#1e3050 60%,var(--navy-light) 100%);padding:6rem 2rem 5rem;text-align:center;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--white))}
.hero-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}
.hero h1{font-family:'Playfair Display',serif;font-size:3rem;color:var(--white);margin-bottom:1.25rem;line-height:1.15}
.hero p{color:rgba(255,255,255,.65);font-size:1.1rem;max-width:560px;margin:0 auto 2.5rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--navy)}
.btn-outline{border:1.5px solid rgba(255,255,255,.3);color:var(--white)}

/* Sections */
.section{max-width:1100px;margin:0 auto;padding:5rem 2rem}
.section-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.section-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy);margin-bottom:1rem}
.section-desc{color:var(--gray-600);font-size:.95rem;max-width:620px;margin-bottom:2.5rem}

/* Properties */
.properties-bg{background:var(--cream)}
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.prop-card{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--gray-200);transition:box-shadow .25s}
.prop-card:hover{box-shadow:0 8px 32px rgba(26,39,68,.1)}
.prop-img{height:180px;background:var(--gray-100);background-size:cover;background-position:center}
.prop-info{padding:1.25rem}
.prop-price{font-size:1.25rem;font-weight:700;color:var(--navy)}.prop-price span{font-size:.85rem;font-weight:400;color:var(--gray-600)}
.prop-address{font-size:.85rem;color:var(--gray-600);margin:.35rem 0 .75rem}
.prop-features{display:flex;gap:1rem;font-size:.8rem;color:var(--gray-600)}
.prop-link{display:block;text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-100);color:var(--navy);font-size:.85rem;font-weight:600;text-decoration:none}
.prop-link:hover{color:var(--accent)}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{padding:2rem;background:var(--cream);border-radius:12px;border:1px solid var(--gray-100)}
.service-icon{width:44px;height:44px;background:var(--navy);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--accent)}
.service-card h3{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:.5rem}
.service-card p{font-size:.875rem;color:var(--gray-600);line-height:1.6}

/* How to Apply */
.apply-bg{background:var(--cream)}
.apply-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.apply-num{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;color:var(--gray-200);line-height:1;margin-bottom:.75rem}
.apply-step h3{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}
.apply-step p{font-size:.875rem;color:var(--gray-600);line-height:1.6}
.apply-step a{color:var(--navy);font-weight:500}

/* Contact */
.contact-section{background:var(--navy);color:var(--white);text-align:center}
.contact-section .section-label{color:var(--accent)}.contact-section .section-title{color:var(--white)}
.contact-section .section-desc{color:rgba(255,255,255,.6);margin-left:auto;margin-right:auto}
.contact-grid{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin-top:1rem}
.contact-item{text-align:center}.contact-item .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:.3rem}
.contact-item .value{font-size:1rem;font-weight:600}.contact-item a{color:var(--accent-light);text-decoration:none}

/* Policy pages */
.policy-header{background:var(--navy);padding:3rem 2rem;text-align:center}
.policy-header h1{font-family:'Playfair Display',serif;font-size:2rem;color:var(--white);margin-bottom:.25rem}
.policy-header p{color:rgba(255,255,255,.5);font-size:.85rem}
.policy-body{max-width:760px;margin:0 auto;padding:3rem 2rem 5rem}
.policy-body h3{font-size:1.05rem;font-weight:600;color:var(--navy);margin:1.75rem 0 .6rem}
.policy-body h3:first-child{margin-top:0}
.policy-body p{font-size:.9rem;color:var(--gray-600);margin-bottom:.6rem}
.policy-body ul{padding-left:1.25rem;margin-bottom:.75rem}
.policy-body li{font-size:.9rem;color:var(--gray-600);margin-bottom:.25rem}
.policy-body a{color:var(--navy)}
.policy-highlight{background:var(--cream);border:1px solid var(--gray-200);border-radius:8px;padding:1rem 1.25rem;margin:1rem 0}
.policy-highlight p{font-weight:600;color:var(--navy);margin:0}

/* Footer */
footer{background:#111d30;padding:2rem;text-align:center;font-size:.8rem;color:rgba(255,255,255,.4);line-height:1.8}
footer strong{color:rgba(255,255,255,.7)}
footer a{color:rgba(255,255,255,.5);text-decoration:none;margin:0 .5rem}
footer a:hover{color:var(--accent-light)}

/* Responsive */
@media(max-width:768px){
    .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;padding:1rem 2rem;gap:1rem}
    .nav-links.show{display:flex}
    .mobile-menu{display:block}
    .hero h1{font-size:2.15rem}.hero{padding:4rem 1.5rem 3rem}
    .prop-grid,.services-grid,.apply-steps{grid-template-columns:1fr}
    .contact-grid{flex-direction:column;gap:1.5rem}
}
