/* ============================================================
 * MODEL 13 — NEOBRUTALIST PRO
 * Bordes gruesos, sombras hard offset, bento grid, amarillo neon
 * ============================================================ */
body.model-13 {
  background: var(--immo-bg, #fffcf0);
  color: var(--immo-ink, #000);
  font-family: var(--font-body);
  overflow-x: hidden;
}
body.model-13 h1, body.model-13 h2, body.model-13 h3,
body.model-13 h4, body.model-13 h5 {
  font-family: var(--font-heading);
  color: var(--immo-ink, #000);
  text-transform: uppercase;
  letter-spacing: -0.03em;
}

.model-13 .navbar-immo { display: none !important; }

/* ============ DYNAMIC ISLAND Neobrutalist ============ */
.model-13 .nav-brut {
  background: var(--immo-primary);
  color: var(--immo-ink, #000);
  border: 3px solid var(--immo-border, #000);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--immo-border, #000);
  transition: transform .2s, box-shadow .2s;
}
.model-13 .nav-brut:hover { animation: pill-bounce .6s ease; }
.model-13 .nav-brut .di-brand { color: var(--immo-ink, #000); font-weight: 900; text-transform: uppercase; }
.model-13 .nav-brut .di-nav a { color: var(--immo-ink, #000); font-weight: 700; }
.model-13 .nav-brut .di-nav a.is-active {
  background: var(--immo-ink, #000);
  color: var(--immo-primary);
}
.model-13 .nav-brut .di-indicator { background: var(--immo-secondary); box-shadow: none; }
.model-13 .nav-brut .di-spy { color: var(--immo-ink, #000); font-weight: 600; }

/* ============ HERO ============ */
.model-13 .brut-hero {
  min-height: 100vh;
  padding: 8rem 1.5rem 4rem;
  background: var(--immo-bg, #fffcf0);
  position: relative;
  overflow: hidden;
}
.model-13 .brut-hero__inner {
  max-width: 1300px; margin: 0 auto;
}
.model-13 .brut-kicker {
  display: inline-block;
  background: var(--immo-secondary);
  color: var(--immo-on-primary, #fff);
  padding: .5rem 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .85rem;
  border: 3px solid var(--immo-border, #000);
  box-shadow: 4px 4px 0 var(--immo-border, #000);
  transform: rotate(-2deg);
  margin-bottom: 2rem;
}
.model-13 .brut-hero__title {
  font-size: clamp(3rem, 10vw, 9rem);
  line-height: .9;
  font-weight: 900;
  margin: 0 0 2rem;
  text-transform: uppercase;
}
.model-13 .brut-hero__title span {
  display: inline-block;
  background: var(--immo-primary);
  padding: 0 .2em;
  border: 4px solid var(--immo-border, #000);
  box-shadow: 8px 8px 0 var(--immo-border, #000);
  transform: rotate(-1deg);
}
.model-13 .brut-hero__sub {
  font-size: 1.2rem;
  max-width: 640px;
  margin: 0 0 2rem;
  font-weight: 500;
  color: var(--immo-text-muted, #333);
}
.model-13 .btn-brut {
  display: inline-block;
  background: var(--immo-ink, #000);
  color: var(--immo-primary);
  padding: 1rem 2rem;
  border: 3px solid var(--immo-border, #000);
  box-shadow: 6px 6px 0 var(--immo-border, #000);
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: transform .15s, box-shadow .15s;
}
.model-13 .btn-brut:hover {
  transform: translate(-3px, -3px);
  box-shadow: 9px 9px 0 var(--immo-border, #000);
  color: var(--immo-primary);
}
.model-13 .btn-brut:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--immo-border, #000); }
.model-13 .btn-brut--pink { background: var(--immo-secondary); color: var(--immo-on-primary, #fff); }
.model-13 .btn-brut--cyan { background: var(--immo-accent); color: var(--immo-ink, #000); }

/* Bento grid for hero features */
.model-13 .brut-bento {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.model-13 .brut-bento > div {
  background: #fff;
  border: 3px solid var(--immo-border, #000);
  padding: 1.2rem;
  box-shadow: 5px 5px 0 var(--immo-border, #000);
  font-weight: 700;
  transition: transform .2s;
}
.model-13 .brut-bento > div:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--immo-border, #000); }
.model-13 .brut-bento > div:nth-child(1) { background: var(--immo-primary); }
.model-13 .brut-bento > div:nth-child(2) { background: var(--immo-secondary); color: var(--immo-on-primary, #fff); transform: rotate(1deg); }
.model-13 .brut-bento > div:nth-child(3) { background: var(--immo-accent); transform: rotate(-1deg); }
.model-13 .brut-bento > div strong { display: block; font-size: 2rem; }
@media (max-width: 760px) { .model-13 .brut-bento { grid-template-columns: repeat(2, 1fr); } }

/* ============ PROPERTY CARDS ============ */
.model-13 .property-card {
  background: #fff;
  border: 3px solid var(--immo-border, #000);
  border-radius: 0;
  box-shadow: 6px 6px 0 var(--immo-border, #000);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.model-13 .property-card:hover {
  transform: translate(-3px, -3px);
  box-shadow: 10px 10px 0 var(--immo-border, #000);
}
.model-13 .property-card .card-img-container {
  aspect-ratio: 4/3; overflow: hidden;
  border-bottom: 3px solid var(--immo-border, #000);
}
.model-13 .property-card img {
  width: 100%; height: 100%; object-fit: cover;
  filter: contrast(1.05) saturate(1.2);
}
.model-13 .property-card .card-body { padding: 1.5rem; }
.model-13 .property-card .property-badge {
  display: inline-block;
  background: var(--immo-primary);
  color: var(--immo-ink, #000);
  padding: .3rem .7rem;
  border: 2px solid var(--immo-border, #000);
  font-weight: 800;
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .1em;
  margin-bottom: .8rem;
  border-radius: 0;
}
.model-13 .property-card .property-price {
  display: block;
  font-size: 1.6rem; font-weight: 900;
  color: var(--immo-ink, #000); margin-bottom: .4rem;
}
.model-13 .property-card .card-title {
  font-weight: 800; font-size: 1.1rem;
  color: var(--immo-ink, #000); margin-bottom: .5rem;
  text-transform: uppercase;
}
.model-13 .property-card .property-location {
  color: var(--immo-text-muted, #555); font-size: .9rem; font-weight: 600;
  margin-bottom: .8rem;
}
.model-13 .property-card .property-features {
  display: flex; gap: .8rem; font-weight: 700;
  font-size: .82rem;
  padding-top: .8rem;
  border-top: 2px solid var(--immo-border, #000);
}
.model-13 .property-card .fav-btn {
  position: absolute; top: 1rem; right: 1rem;
  width: 44px; height: 44px;
  border: 3px solid var(--immo-border, #000);
  border-radius: 0;
  background: var(--immo-secondary);
  color: var(--immo-on-primary, #fff);
  z-index: 2;
  box-shadow: 3px 3px 0 var(--immo-border, #000);
  transition: transform .15s;
}
.model-13 .property-card .fav-btn:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--immo-border, #000); }

/* Sections */
.model-13 .destacados-section,
.model-13 .servicios-section,
.model-13 .quienes-somos-section,
.model-13 .testimonios-section,
.model-13 .equipo-section,
.model-13 .faq-section,
.model-13 .contacto-section { padding: 6rem 1.5rem; }

.model-13 section h2 {
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 900;
  text-align: center;
  margin-bottom: 3rem;
  text-transform: uppercase;
}
.model-13 section h2 span {
  background: var(--immo-primary);
  padding: 0 .2em;
  border: 3px solid var(--immo-border, #000);
  display: inline-block;
}

/* Inputs */
.model-13 input, .model-13 select, .model-13 textarea {
  background: #fff !important;
  border: 3px solid var(--immo-border, #000) !important;
  color: var(--immo-ink, #000) !important;
  border-radius: 0 !important;
  font-weight: 600;
  box-shadow: 3px 3px 0 var(--immo-border, #000);
}
.model-13 input:focus { box-shadow: 5px 5px 0 var(--immo-secondary) !important; }

/* Footer */
.model-13 footer { background: var(--immo-ink, #000); color: var(--immo-primary); border-top: 4px solid var(--immo-primary); }
.model-13 footer a { color: var(--immo-accent); font-weight: 700; }

/* ============================================================
 * NEOBRUTALIST — Brutal Strip topbar + power boost
 * ============================================================ */
body.model-13 { padding-top: 64px; }

.model-13 .brut-topbar {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1030;
  height: 64px;
  background: var(--immo-navbar-bg, var(--immo-primary));
  border-bottom: 4px solid var(--immo-border, #000);
  box-shadow: 0 4px 0 var(--immo-border, #000);
  display: flex; align-items: center;
  padding: 0 1.5rem;
  gap: 1.2rem;
}
.model-13 .brut-topbar__brand {
  color: var(--immo-ink, #000); text-decoration: none;
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: -.02em;
  flex-shrink: 0;
  padding-right: 1.2rem;
  border-right: 3px solid var(--immo-border, #000);
}
.model-13 .brut-topbar__nav {
  display: flex; align-items: center; gap: 0;
  flex: 1;
}
.model-13 .brut-topbar__link {
  color: var(--immo-navbar-text, var(--immo-ink, #000)); text-decoration: none;
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .1em;
  padding: .55rem .9rem;
  border-right: 2px solid var(--immo-border, #000);
  transition: background .15s;
}
.model-13 .brut-topbar__link:first-child { border-left: 2px solid var(--immo-border, #000); }
.model-13 .brut-topbar__link:hover,
.model-13 .brut-topbar__link.is-active { background: var(--immo-ink, #000); color: var(--immo-primary); }
.model-13 .brut-topbar__cta {
  margin-left: auto;
  background: var(--immo-secondary); color: var(--immo-on-primary, #fff);
  text-decoration: none;
  padding: .5rem 1.1rem;
  border: 3px solid var(--immo-border, #000);
  font-weight: 900;
  font-size: .82rem;
  box-shadow: 3px 3px 0 var(--immo-border, #000);
  transition: transform .15s, box-shadow .15s;
}
.model-13 .brut-topbar__cta:hover { transform: translate(-2px,-2px); box-shadow: 5px 5px 0 var(--immo-border, #000); color: var(--immo-on-primary, #fff); }

/* Scrolling marquee ticker */
.model-13 .brut-ticker {
  background: var(--immo-ink, #000);
  color: var(--immo-primary);
  padding: .4rem 0;
  overflow: hidden;
  white-space: nowrap;
  font-family: var(--font-heading);
  font-size: .8rem;
  letter-spacing: .15em;
  border-bottom: 2px solid var(--immo-primary);
}
.model-13 .brut-ticker__inner {
  display: inline-block;
  animation: marquee-scroll 20s linear infinite;
}

/* Bolder section headings with rotated accent */
.model-13 section h2 {
  text-decoration: none;
  position: relative; display: inline-block;
}
.model-13 section h2::before {
  content: attr(data-num);
  position: absolute;
  right: calc(100% + 1rem); top: -.2rem;
  font-size: 1rem;
  color: var(--immo-secondary);
  background: var(--immo-ink, #000);
  padding: .2rem .5rem;
  font-weight: 900;
}

/* Card reveal rotation effect (handled via GSAP in model-13.js) */
.model-13 .property-card { transform-origin: bottom center; }

/* ============ RESPONSIVE ============ */
@media (max-width: 768px) {
  .model-13 .brut-topbar { padding: 0 0.75rem; gap: 0.5rem; flex-wrap: nowrap; }
  .model-13 .brut-topbar__nav { display: none; }
  .model-13 .brut-topbar__brand { font-size: 0.9rem; padding-right: 0.75rem; }
  .model-13 .brut-topbar__cta { padding: 0.4rem 0.75rem; font-size: 0.75rem; box-shadow: 2px 2px 0 var(--immo-border, #000); }
  .model-13 .brut-hero { padding: 6rem 1rem 3rem; }
  .model-13 .brut-hero__title { font-size: clamp(2.5rem, 14vw, 6rem); }
  .model-13 .brut-bento { grid-template-columns: repeat(2, 1fr); }
  .model-13 .destacados-section,
  .model-13 .servicios-section,
  .model-13 .quienes-somos-section,
  .model-13 .testimonios-section,
  .model-13 .equipo-section,
  .model-13 .faq-section,
  .model-13 .contacto-section { padding: 4rem 1rem; }
}
