@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-padding-top:96px}
body{background:#FFFFFF;color:#111827;font-family:'Inter',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}
.wrap{max-width:1220px;margin:0 auto;padding:0 26px}
h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:500}
.label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#6B7280}
/* BANDA SUPERIOR */
.topband{background:#7A3B1E;color:#fff;text-align:center;font-size:13px;padding:9px 16px}
.topband a{text-decoration:underline}
/* ENCABEZADO */
header{background:#fff;border-bottom:1px solid #EDEEF0;position:sticky;top:0;z-index:50}
.head{display:flex;align-items:center;justify-content:space-between;height:72px;gap:18px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px}
.logo .mark{width:38px;height:38px;border-radius:50%;background:#14B87A;display:flex;align-items:center;justify-content:center;flex:none}
.logo .mark svg{width:26px;height:26px}
nav.main{display:flex;gap:26px;font-size:14px}
nav.main a{color:#374151}
nav.main a:hover,nav.main a.on{color:#14B87A}
.btn{display:inline-block;background:#14B87A;color:#fff;padding:12px 24px;border-radius:999px;font-size:14px;font-weight:600;border:none;cursor:pointer}
.btn:hover{background:#0EA968}
.btn.dark{background:#0A1F2E}
.btn.dark:hover{background:#14324A}
.link{font-size:14px;font-weight:600}
.burger{display:none;background:none;border:1px solid #D1D5DB;font-size:22px;padding:6px 12px;cursor:pointer;border-radius:8px}
/* HERO OSCURO */
.hero{background:#0A1F2E;color:#fff;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{font-size:clamp(36px,5vw,64px);line-height:1.12;color:#fff}
.hero h1 em{font-style:italic}
.hero p.sub{color:#C7D2DC;margin-top:16px;line-height:1.7;font-size:15px;max-width:480px}
.spiral{width:100%;max-width:420px;margin-left:auto;opacity:.95}
.pillsearch{display:flex;background:#fff;border-radius:999px;padding:6px;gap:6px;margin-top:26px;max-width:520px}
.pillsearch input{flex:1;border:none;outline:none;padding:12px 18px;font:inherit;font-size:15px;border-radius:999px;min-width:0}
.pillsearch input::placeholder{color:#9CA3AF}
.pillsearch .btn{flex:none}
.herolinks{margin-top:16px;display:flex;gap:22px;font-size:13px}
.herolinks a{color:#C7D2DC;text-decoration:underline;text-underline-offset:4px}
/* SECCIONES */
.sec{padding:64px 0}
.sec h2{font-size:clamp(28px,3.6vw,44px);line-height:1.15}
.sec .sub{color:#6B7280;margin-top:10px;line-height:1.7;max-width:620px}
/* FILTROS */
.filters{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}
.filters select,.filters input{border:1px solid #D1D5DB;border-radius:999px;padding:11px 16px;font:inherit;font-size:14px;background:#fff}
/* REJILLA TARJETAS */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{border:1px solid #EDEEF0;border-radius:16px;overflow:hidden;background:#fff}
.card .ph{position:relative}
.card .ph img{height:220px}
.badge{position:absolute;top:14px;left:14px;background:#16A34A;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px}
.badge.black{background:#111111}
.heart{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:#fff;border:none;cursor:pointer;font-size:17px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.heart.saved{background:#14B87A;color:#fff}
.card .b{padding:18px 20px 20px}
.card .price{font-size:22px;font-weight:700}
.card .addr{font-size:15px;margin-top:6px}
.card .data{display:flex;gap:16px;margin-top:12px;color:#6B7280;font-size:13px;flex-wrap:wrap}
.card .tag{font-size:12px;color:#6B7280;margin-top:10px}
/* COMUNIDADES */
.com-card{border:1px solid #EDEEF0;border-radius:16px;overflow:hidden}
.com-card img{height:240px}
.com-card .b{padding:22px}
.com-card h3{font-size:24px}
.com-card p{color:#6B7280;line-height:1.7;margin-top:8px;font-size:14px}
.com-card .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.com-card .tags span{font-size:12px;border:1px solid #E5E7EB;border-radius:999px;padding:6px 11px;color:#374151}
/* DETALLE */
.detail{display:grid;grid-template-columns:1.3fr .8fr;gap:30px;padding:44px 0}
.detail .gal img.main{height:460px;border-radius:16px}
.detail .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.detail .thumbs img{height:88px;border-radius:10px;cursor:pointer;border:2px solid transparent}
.detail .thumbs img.on{border-color:#14B87A}
.specs{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.specs span{border:1px solid #E5E7EB;border-radius:999px;padding:8px 12px;font-size:13px;color:#374151}
form.f{display:grid;gap:14px;max-width:560px}
form.f label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#6B7280;font-weight:600}
form.f input,form.f select,form.f textarea{border:1px solid #D1D5DB;border-radius:12px;padding:13px 14px;font:inherit;font-size:15px;width:100%}
form.f input::placeholder{color:#9CA3AF}
.msg{display:none;border:1px solid #14B87A;color:#0B7A55;background:#EFFAF4;border-radius:12px;padding:14px;margin-top:10px;font-size:14px}
.cta{background:#0A1F2E;color:#fff;border-radius:20px;padding:44px;text-align:center}
.cta h2{color:#fff}
.cta p{color:#C7D2DC;margin:12px 0 22px}
footer{border-top:1px solid #EDEEF0;margin-top:64px;padding:28px 0;color:#6B7280;font-size:13px}
footer .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:900px){
  nav.main{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:18px 26px;border-bottom:1px solid #EDEEF0;z-index:60}
  nav.main.open{display:flex}
  .burger{display:block}
  .hero .wrap{grid-template-columns:1fr;padding-top:44px;padding-bottom:44px}
  .spiral{display:none}
  .pillsearch{max-width:none;flex-direction:column;border-radius:20px}
  .pillsearch .btn{width:100%}
  .grid3{grid-template-columns:1fr}
  .detail{grid-template-columns:1fr}
  .detail .gal img.main{height:300px}
}
