:root{
  --bg:#eef0f1;
  --surface:#ffffff;
  --ink:#1a3443;
  --muted:#4c6471;
  --line:#d7dde1;
  --brand:#0f6179;
  --brand-dark:#0b4a5c;
  --soft:#f7f8f8;
  --warn-bg:#fbf3cf;
  --warn-line:#eadc91;
  --radius:22px;
  --shadow:0 12px 30px rgba(26,52,67,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:var(--brand);text-decoration:none}
img{display:block;max-width:100%;height:auto}
.wrap{width:min(1180px,92vw);margin:0 auto}
.site-header{background:rgba(238,240,241,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:18px 0 12px}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink)}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--brand);color:#fff;font-weight:800;letter-spacing:.08em}
.brand-text strong{display:block;font-size:1rem}
.brand-text small{display:block;color:var(--muted)}
.main-nav{display:flex;gap:1rem;flex-wrap:wrap}
.main-nav a{font-weight:700;color:var(--ink)}
.languages{display:flex;gap:.5rem;flex-wrap:wrap;padding:0 0 16px}
.languages a{font-size:.82rem;padding:.28rem .5rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted)}
.languages a.active{background:var(--brand);border-color:var(--brand);color:#fff}
.hero{padding:44px 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.2rem;align-items:center}
.hero-copy h1,.page-hero h1{font-size:clamp(2.15rem,4.5vw,4rem);line-height:1.04;margin:.4rem 0 1rem;font-weight:800}
.eyebrow{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:700}
.lead{font-size:1.06rem;color:var(--muted);max-width:62ch}
.hero-media img,.area-main-image{border-radius:28px;box-shadow:var(--shadow)}
.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.text-link{font-size:1.05rem;font-weight:700}
.notice-line,.listing-notice{margin-top:1rem;display:inline-block;font-size:1rem;color:var(--ink)}
.section{padding:44px 0}
.section.muted,.muted{background:var(--soft)}
.text-grid,.contact-grid,.area-grid,.property-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.image-stack{display:grid;gap:1rem}
.image-stack img{border-radius:20px;box-shadow:var(--shadow)}
.mini-links{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.2s ease;font:inherit}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-secondary,.btn-outline{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.full{width:100%}
.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}
.search-box,.fallback,.faq-box,.cta-panel,.contact-panel,.contact-form-wrap,.info-card,.property-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.search-box,.fallback,.faq-box,.cta-panel,.contact-panel,.contact-form-wrap,.info-card{padding:1.2rem}
.search-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}
.search-form label,.contact-form label{display:block;font-weight:700;margin-bottom:.35rem}
.search-form select,.contact-form input,.contact-form textarea{width:100%;padding:.9rem 1rem;border:1px solid #cfd8de;border-radius:16px;background:#fff;font:inherit;color:var(--ink)}
.search-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.results-head{margin-bottom:1rem}
.property-list{display:grid;gap:1.2rem}
.property-card{padding:1rem}
.property-card-list{display:grid;grid-template-columns:1.05fr .95fr;gap:1.3rem;align-items:center}
.property-copy{color:var(--muted);font-size:1.02rem;max-width:64ch}
.property-media img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:20px}
.property-body h2,.property-body h3{margin:.15rem 0 .45rem;line-height:1.12}
.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;list-style:none;padding:0;margin:1rem 0}
.feature-list.plain{grid-template-columns:1fr}
.feature-list .note{color:var(--muted);font-size:.95rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}
.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.card-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.info-card img{aspect-ratio:4/3;object-fit:cover;border-radius:18px;margin-bottom:1rem}
.page-hero.slim{padding:38px 0 12px}
.faq-box details+details{margin-top:.75rem}
.faq-box summary{font-weight:700;cursor:pointer}
.form-message{padding:.85rem 1rem;border-radius:16px;margin-bottom:1rem;font-weight:700}
.form-message.success{background:#e7f6ea;color:#1e6a33;border:1px solid #bde1c6}
.form-message.error{background:#fdeaea;color:#9d1c1c;border:1px solid #f2c0c0}
.captcha-help,.feed-inline,.contact-panel p{color:var(--muted)}
.hp-wrap{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.pagination{display:flex;justify-content:center;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.6rem}
.site-footer{padding:28px 0 36px;background:#fff;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}
.contact-grid .contact-form-wrap{padding:1.2rem}
@media (max-width:1050px){.hero-grid,.text-grid,.contact-grid,.area-grid,.property-detail-grid,.property-card-list,.card-grid.three{grid-template-columns:1fr}.search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.property-media img{min-height:240px}}
@media (max-width:760px){.main-nav{display:none}.topbar{padding-top:14px}.search-form{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero-copy h1,.page-hero h1{font-size:clamp(2rem,10vw,3rem)}}
@media (max-width:520px){.gallery-grid{grid-template-columns:1fr}.property-media img{min-height:190px}}
