
:root{
    --bg:#f7f2ea;
    --surface:#ffffff;
    --surface-alt:#eef3ee;
    --surface-strong:#dce7df;
    --text:#173933;
    --muted:#5f746f;
    --line:#d7e1d8;
    --accent:#1c5a50;
    --accent-2:#d5ac63;
    --accent-dark:#10352f;
    --shadow:0 20px 60px rgba(16,53,47,.12);
    --radius:24px;
    --radius-sm:16px;
    --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
ul{margin:0;padding-left:1.1rem}
h1,h2,h3,h4{margin:0 0 1rem;line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5vw,4.8rem)}
h2{font-size:clamp(1.9rem,3vw,3rem)}
h3{font-size:1.25rem}
.container{width:min(var(--container), calc(100% - 2rem)); margin:0 auto}
.narrow{width:min(820px, calc(100% - 2rem)); margin:0 auto}
.section{padding:5rem 0}
.section--tint{background:linear-gradient(180deg, #eef3ee 0%, rgba(238,243,238,.35) 100%)}
.eyebrow{
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.85rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent); font-weight:700; margin-bottom:1rem;
}
.eyebrow::before{
    content:""; width:36px; height:2px; background:var(--accent-2); display:inline-block;
}
.button{
    display:inline-flex; align-items:center; justify-content:center;
    min-height:48px; padding:.9rem 1.3rem; border-radius:999px;
    background:var(--accent); color:#fff; font-weight:700; border:1px solid var(--accent);
    transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    cursor:pointer;
}
.button:hover{transform:translateY(-1px); background:var(--accent-dark); border-color:var(--accent-dark)}
.button--ghost{background:transparent; color:var(--accent); border-color:rgba(28,90,80,.16)}
.button--ghost:hover{background:rgba(28,90,80,.07); color:var(--accent-dark); border-color:rgba(28,90,80,.24)}
.button--small{min-height:42px; padding:.75rem 1rem}
.site-header{
    position:sticky; top:0; z-index:90; backdrop-filter:blur(18px);
    background:rgba(247,242,234,.84); border-bottom:1px solid rgba(23,57,51,.06);
}
.site-header__inner{display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:2rem}
.site-branding{display:flex; align-items:center; gap:.9rem; font-weight:700; color:var(--accent-dark)}
.site-logo-mark{width:48px; height:48px; border-radius:14px; overflow:hidden; flex:0 0 auto}
.site-logo-text{font-size:1.1rem}
.site-logo-text strong{font-size:1.4rem}
.site-nav{display:flex; align-items:center; gap:1.25rem}
.site-menu{display:flex; align-items:center; gap:1rem; list-style:none; padding:0; margin:0}
.site-menu li a{padding:.7rem .85rem; border-radius:999px; color:var(--muted); font-weight:600}
.site-menu li.current-menu-item a,.site-menu li a:hover{background:#fff; color:var(--accent-dark)}
.nav-toggle{display:none; background:none; border:0; padding:.25rem; cursor:pointer}
.nav-toggle span{display:block; width:26px; height:2px; background:var(--accent-dark); margin:6px 0; transition:.2s}
.hero{padding:4rem 0 3rem}
.hero__grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:2rem; align-items:center;
}
.hero__copy p{font-size:1.07rem; color:var(--muted); max-width:54ch}
.hero__actions{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:2rem}
.hero__visual{background:linear-gradient(180deg, rgba(28,90,80,.08), rgba(28,90,80,.02)); padding:1rem; border-radius:30px; box-shadow:var(--shadow)}
.hero__image{border-radius:24px}
.hero__search-wrap{margin-top:2rem}
.property-search{
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr auto; gap:.9rem;
    padding:1rem; background:#fff; border:1px solid rgba(23,57,51,.06);
    border-radius:28px; box-shadow:var(--shadow);
}
.property-search--compact{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr auto}
.property-search__field label{
    display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em;
    color:var(--muted); font-weight:700; margin-bottom:.45rem;
}
.property-search__field input,
.property-search__field select,
.form-row input,.form-row select,.form-row textarea{
    width:100%; border:1px solid var(--line); background:#fff; color:var(--text);
    min-height:48px; padding:.85rem 1rem; border-radius:16px; outline:none;
}
.form-row textarea{min-height:120px; resize:vertical}
.property-search__field input:focus,
.property-search__field select:focus,
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
    border-color:rgba(28,90,80,.35); box-shadow:0 0 0 4px rgba(28,90,80,.08)
}
.property-search__actions{display:flex; align-items:flex-end}
.section-heading{max-width:760px; margin-bottom:2rem}
.section-heading--row{display:flex; justify-content:space-between; align-items:flex-end; gap:1rem}
.feature-grid,.properties-grid,.posts-grid,.services-grid,.team-grid{
    display:grid; gap:1.25rem;
}
.feature-grid{grid-template-columns:repeat(3,1fr)}
.feature-card,.property-card,.post-card,.content-card,.info-card,.service-card,.team-card,.sidebar-card,.contact-form-card{
    background:var(--surface); border:1px solid rgba(23,57,51,.06); border-radius:var(--radius); box-shadow:var(--shadow);
}
.feature-card,.info-card,.service-card,.team-card,.sidebar-card,.contact-form-card,.content-card,.post-card__body{padding:1.5rem}
.feature-card p,.service-card p,.team-card p,.post-card p,.content-card p{color:var(--muted)}
.property-card{overflow:hidden}
.property-card__media{display:block; position:relative; aspect-ratio:16/10; background:#dfe8e1}
.property-card__img{width:100%; height:100%; object-fit:cover}
.property-card__badge{
    position:absolute; top:1rem; left:1rem; padding:.45rem .8rem; border-radius:999px;
    background:rgba(16,53,47,.88); color:#fff; font-size:.82rem; font-weight:700;
}
.property-card__media--empty{
    display:flex; align-items:center; justify-content:center; color:#fff;
    background:linear-gradient(135deg,var(--accent),#709576);
}
.property-card__body{padding:1.4rem}
.property-card__price{font-weight:800; color:var(--accent); margin-bottom:.6rem}
.property-card__title{font-size:1.35rem}
.property-card__address{color:var(--muted); margin-bottom:1rem}
.property-card__meta{display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1rem}
.property-card__meta span{
    background:#eef3ee; color:var(--accent-dark); padding:.35rem .7rem; border-radius:999px; font-size:.88rem; font-weight:600;
}
.split-block,.content-grid,.contact-layout,.page-hero__grid,.property-hero__grid,.property-layout{
    display:grid; gap:1.5rem;
}
.split-block,.page-hero__grid{grid-template-columns:1fr 1fr; align-items:center}
.image-card{background:#fff; border-radius:30px; padding:1rem; box-shadow:var(--shadow)}
.image-card__img{border-radius:22px; width:100%}
.post-card{overflow:hidden}
.post-card__body{height:100%}
.post-card__date{font-size:.9rem; color:var(--accent); font-weight:700}
.faq-list{display:grid; gap:1rem}
.faq-item{
    background:#fff; border-radius:20px; padding:1.1rem 1.2rem; border:1px solid rgba(23,57,51,.06); box-shadow:var(--shadow)
}
.faq-item summary{cursor:pointer; font-weight:700; list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item div{padding-top:.9rem; color:var(--muted)}
.page-hero,.property-hero{
    padding:4rem 0 2rem;
    background:linear-gradient(180deg, rgba(28,90,80,.08), rgba(28,90,80,0) 100%);
}
.page-hero--simple .container,.page-hero--post .container{max-width:860px}
.page-hero p,.property-hero p{color:var(--muted)}
.property-hero__grid{grid-template-columns:1fr .95fr; align-items:center}
.property-hero__media,.property-gallery__item{overflow:hidden; border-radius:24px; background:#fff; box-shadow:var(--shadow)}
.property-hero__img,.property-gallery__img{width:100%; height:100%; object-fit:cover}
.property-hero__price{font-size:1.35rem; font-weight:800; color:var(--accent); margin-bottom:.6rem}
.property-hero__address,.property-hero__stats{max-width:58ch}
.hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem}
.property-layout{grid-template-columns:1.25fr .75fr; align-items:start}
.property-meta-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.5rem;
}
.property-meta-grid div{
    background:#eef3ee; border-radius:18px; padding:1rem;
}
.property-meta-grid span{display:block; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:.35rem}
.property-meta-grid strong{font-size:1rem}
.amenities-list{display:grid; gap:.7rem; margin:1rem 0 0; padding:0; list-style:none}
.amenities-list li{
    padding:.95rem 1rem .95rem 3rem; position:relative; background:#f7faf7; border:1px solid var(--line); border-radius:18px;
}
.amenities-list li::before{
    content:""; position:absolute; left:1rem; top:1.15rem; width:18px; height:18px; border-radius:50%;
    background:var(--accent-2); box-shadow:inset 0 0 0 5px var(--accent-dark);
}
.document-card{
    margin-top:1.5rem; padding:1.25rem; border:1px dashed rgba(28,90,80,.22); border-radius:20px; background:#fbfcfb;
}
.property-gallery{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1rem;
}
.sidebar-stack{display:grid; gap:1rem}
.mg-contact-form{display:grid; gap:1rem}
.contact-layout{grid-template-columns:.85fr 1.15fr}
.contact-details{display:grid; gap:1rem}
.footer-top,.footer-bottom{
    display:flex; justify-content:space-between; gap:2rem; align-items:flex-start;
}
.site-footer{
    padding:4rem 0 2rem; background:#10352f; color:#f6efe5; margin-top:2rem;
}
.footer-top{padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{max-width:460px}
.site-footer .site-branding{color:#fff}
.footer-list,.footer-menu,.stack-list{
    list-style:none; padding:0; margin:0; display:grid; gap:.65rem;
}
.footer-menu{display:flex; gap:1rem; flex-wrap:wrap}
.footer-bottom{padding-top:1.5rem; align-items:center; color:rgba(246,239,229,.74)}
.posts-grid{grid-template-columns:repeat(2,1fr)}
.services-grid{grid-template-columns:repeat(3,1fr)}
.team-grid{grid-template-columns:repeat(2,1fr)}
.team-card__avatar{
    width:64px; height:64px; border-radius:50%; background:var(--accent-dark); color:#fff;
    display:grid; place-items:center; font-weight:800; margin-bottom:1rem;
}
.service-card__img{border-radius:18px; margin-bottom:1rem}
.content-grid{grid-template-columns:1.2fr .8fr}
.sidebar-card,.contact-form-card{position:sticky; top:102px}
.content-card .entry-content > *:last-child{margin-bottom:0}
.content-card .entry-content h2,.content-card .entry-content h3{margin-top:2rem}
.sidebar-card p,.contact-form-card p,.muted{color:var(--muted)}
.form-notice{
    border-radius:16px; padding:1rem; margin-bottom:1rem; font-weight:600;
}
.form-notice--success{background:#e6f4ea; color:#1f6232}
.form-notice--error{background:#fdeaea; color:#8a2323}
.pagination,.nav-links{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:2rem}
.page-numbers{
    min-width:42px; height:42px; display:grid; place-items:center; border-radius:999px;
    background:#fff; border:1px solid var(--line)
}
.page-numbers.current{background:var(--accent); color:#fff; border-color:var(--accent)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px)}
@media (max-width: 1100px){
    .property-search,.property-search--compact{grid-template-columns:repeat(3,1fr)}
    .property-search__actions{grid-column:1/-1}
    .feature-grid,.services-grid{grid-template-columns:1fr}
    .split-block,.page-hero__grid,.hero__grid,.property-hero__grid,.property-layout,.content-grid,.contact-layout{grid-template-columns:1fr}
    .property-meta-grid{grid-template-columns:1fr 1fr}
    .property-gallery{grid-template-columns:repeat(2,1fr)}
    .posts-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 860px){
    .nav-toggle{display:block}
    .site-nav{
        position:absolute; left:1rem; right:1rem; top:78px; display:none; flex-direction:column;
        align-items:stretch; padding:1rem; background:#fff; border-radius:22px; box-shadow:var(--shadow)
    }
    .site-nav.is-open{display:flex}
    .site-menu{flex-direction:column; align-items:stretch}
    .site-header__cta{width:100%}
    .posts-grid,.team-grid,.property-gallery,.property-meta-grid{grid-template-columns:1fr}
    .footer-top,.footer-bottom{flex-direction:column; align-items:flex-start}
    .section{padding:4rem 0}
}
@media (max-width: 640px){
    .property-search,.property-search--compact{grid-template-columns:1fr}
    .hero{padding-top:2rem}
}
