@charset "utf-8";
/* CSS Document */

:root{
  --ink:#053549; --gold:#a38d3a; --text:#22323b; --muted:#6a7a83; --bg:#fafbfc;
}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff;color:var(--text)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{background:#063344;color:#fff;position:sticky;top:0;z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.brand img{height:48px;max-width:100%;display:block}
.nav a{color:#fff;text-decoration:none;margin-left:14px;font-weight:600;opacity:.9}
.nav a:hover{opacity:1}
.site-main{padding:24px 0 32px}

h1,h2,h3{color:var(--ink)}
a{text-decoration:none;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid rgba(5,53,73,.1);border-radius:12px;padding:16px;box-shadow:0 8px 20px rgba(5,53,73,.06);transition:.2s}
.card:hover{transform:translateY(-3px)}
.card h3{margin:0 0 6px}
.card p{margin:0;color:var(--muted)}

.badge{display:inline-block;padding:6px 10px;border:1px solid var(--gold);color:var(--ink);background:#fffdf2;border-radius:999px;font-size:12px;font-weight:600}

.hero{margin:8px 0 16px}
.hero h1{font-size:38px;margin:0 0 4px}
.hero p{margin:0;color:var(--muted)}

.single{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
@media (max-width:900px){.single{grid-template-columns:1fr}}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.gallery{grid-template-columns:1fr}}
.gallery img{width:100%;height:210px;object-fit:cover;border-radius:8px;border:1px solid rgba(5,53,73,.1)}
.placeholder{border:2px dashed var(--gold);padding:20px;border-radius:8px;color:var(--muted);text-align:center}

.btn{display:inline-block;background:var(--gold);color:#fff;padding:10px 14px;border-radius:8px;font-weight:700}
.btn:hover{background:#8e7a30}

.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #e9eef0;padding:10px;text-align:left}
.table th{background:#f7f9fb}
form .row{margin-bottom:12px}
input[type="text"], textarea{width:100%;padding:10px;border:1px solid #cbd6dc;border-radius:8px}
textarea{min-height:160px}
.admin-top{display:flex;gap:10px;margin-bottom:10px}
.admin-top a{border:1px solid var(--gold);padding:8px 10px;border-radius:8px}
.alert{padding:10px 12px;border-radius:8px;background:#fffbe9;border:1px solid #f2e5a9;color:#6b5d1e;margin-bottom:12px}

/* --- Homes Grid Card Glam --- */
.card-home{
  position:relative;
  border-radius:16px;
  padding:18px 16px 56px; /* extra bottom space for CTA */
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfd 100%);
  border:1px solid rgba(5,53,73,.10);
  box-shadow:0 10px 28px rgba(5,53,73,.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow:hidden;
}
.card-home:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(5,53,73,.14);
  border-color:rgba(163,141,58,.35);
}

/* Subtle top accent bar with a diagonal fade */
.card-top-accent{
  position:absolute; left:0; top:0; height:6px; width:100%;
  background:linear-gradient(90deg, #a38d3a 0%, rgba(163,141,58,.25) 50%, rgba(163,141,58,0) 100%);
}

/* Title & excerpt */
.card-title{ margin:8px 0 6px; color:#053549; font-weight:800; font-size:18px; letter-spacing:.2px; }
.card-excerpt{ margin:10px 0 0; color:#627580; line-height:1.55; }

/* Location chip (softer) */
.badge-soft{
  display:inline-block; margin-top:2px;
  background:#fffdf0; border:1px solid rgba(163,141,58,.55); color:#053549;
  padding:6px 10px; border-radius:999px; font-weight:700; font-size:12px;
}

/* CTA area anchored bottom */
.card-cta{
  position:absolute; left:16px; right:16px; bottom:16px;
  display:inline-flex; align-items:center; gap:8px;
  background:#053549; color:#fff; border-radius:10px;
  padding:10px 14px; font-weight:800; letter-spacing:.2px;
  box-shadow:0 6px 18px rgba(5,53,73,.25);
  transition:background .22s ease, transform .22s ease;
}
.card-home:hover .card-cta{ background:#0a5a71; }
.card-cta .arrow{ transition: transform .22s ease; }
.card-home:hover .card-cta .arrow{ transform: translateX(4px); }

/* Optional: micro-gradient halo on hover */
.card-home::after{
  content:""; position:absolute; inset:-1px; pointer-events:none; border-radius:16px;
  background:radial-gradient(800px 200px at 50% -10%, rgba(163,141,58,.18), transparent 40%);
  opacity:0; transition:opacity .25s ease;
}
.card-home:hover::after{ opacity:1; }

/* Tighten card grid on small screens */
@media (max-width:900px){
  .card-home{ padding:16px 14px 54px; }
  .card-title{ font-size:17px; }
}
@media (max-width:560px){
  .card-home{ padding:14px 12px 52px; }
  .card-title{ font-size:16px; }
}
.hero {
  text-align: left;
  margin: 2rem auto 3rem auto;
  max-width: 900px;
  padding: 0 20px;
}

.hero h1 {
  font-size: 2.2rem;
  margin-bottom: 1.2rem;
  color: #053549;
}

.hero-text p {
  line-height: 1.7;
  margin-bottom: 1rem;
  color: #333;
}

.hero-text .discover {
  font-weight: bold;
  font-size: 1.1rem;
  margin-top: 1.5rem;
  color: #a38d3a;
}
/* ===== Footer / Contact ===== */
.np-footer{
  background:#053549; color:#eaf1f4;
  padding:36px 0 14px;
}
.np-footer a{ color:#fff; text-decoration:underline; }
.np-footer .footer-inner{
  display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start;
}
@media (max-width:900px){ .np-footer .footer-inner{ grid-template-columns:1fr; } }

.np-footer h2{
  margin:0 0 12px; font-size:40px; line-height:1.1; color:#fff;
  text-transform:uppercase; letter-spacing:.04em; font-weight:800;
}
.np-footer .lead{
  margin:0 0 18px; color:#dce6ea; font-size:18px; line-height:1.6;
}
.contact-list{ list-style:none; margin:0; padding:0; }
.contact-list li{ margin:8px 0; color:#d2dee4; }
.contact-list strong{ color:#fff; margin-right:6px; }

/* Form */
.contact-form .row{ margin-bottom:12px; }
.contact-form label{
  display:block; margin-bottom:6px; font-weight:700; color:#fff;
}
.contact-form input,.contact-form textarea{
  width:100%; padding:12px 12px; border-radius:10px;
  border:1px solid rgba(255,255,255,.75); background:rgba(255,255,255,.06);
  color:#fff; outline:none;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{ color:#cbd8de; }
.contact-form textarea{ min-height:140px; resize:vertical; }

.btn.btn-outline{
  display:inline-block; padding:12px 18px; border-radius:999px;
  background:transparent; color:#dbe7ec; font-weight:800; letter-spacing:.2px;
  border:2px solid rgba(255,255,255,.75);
  transition:all .2s ease;
}
.btn.btn-outline:hover{ background:#a38d3a; border-color:#a38d3a; color:#fff; }

.gold-divider{ height:8px; background:#a38d3a; margin-top:24px; opacity:.95; }
.footer-bottom{ padding-top:10px; color:#b8c7cf; }

