


:root {
  --display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --body: 'DM Sans', 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --green: #4E8C79;
  --green-btn: #3C6E5E;
  --green-ink: #356152;
  --green-soft: #EBF4F1;
  --gold: #B8922A;
  --bg-warm: #F5F2ED;
  --paper: #FAFAF8;
  --sand: #F2EDE6;
  --sand-deep: #ECE5DB;

  --ink: #1A1A1A;
  --ink-mid: #3D3D3D;
  --ink-soft: #5C5C5C;
  --border: #CFC9BF;
  --line: #E4DFD7;

  --wa: #22C55E;
  --wa-hover: #1FB457;
  --wa-ink: #0E2A1C;

  --dark: #16221C;
  --dark-2: #1E2F27;

  --radius: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(26,26,26,.06), 0 1px 2px rgba(26,26,26,.04);
  --shadow: 0 6px 24px rgba(26,26,26,.08);
  --shadow-lg: 0 20px 60px rgba(26,26,26,.16);
  --maxw: 1280px;
  --maxw-wide: 1400px;
  --gutter: clamp(20px, 5vw, 60px);
  --ease: cubic-bezier(.22,.61,.36,1);
}


*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--body);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  font-size: 16px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
ul, ol { list-style: none; }
:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 2px;
  border-radius: 3px;
}


.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gutter); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.center { text-align: center; }
.mt-32 { margin-top: 32px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed; top: -60px; left: 16px; z-index: 2000;
  background: var(--green-btn); color: #fff; padding: 10px 18px;
  border-radius: var(--radius); transition: top .2s var(--ease);
}
.skip-link:focus { top: 12px; }


.eyebrow {
  font-size: .72rem; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--green-ink); margin-bottom: 14px;
}
.eyebrow.light { color: var(--green-soft); }
.section-title {
  font-family: var(--display); font-weight: 700; color: var(--ink);
  font-size: clamp(1.7rem, 1rem + 2.4vw, 2.6rem); line-height: 1.12;
  letter-spacing: -.01em;
}
.section-title em { font-style: italic; font-weight: 400; color: var(--green-ink); }
.section-title.center { text-align: center; }
.section-lead { color: var(--ink-soft); font-size: 1.02rem; margin-top: 10px; max-width: 46ch; }
.section-lead.center { margin-inline: auto; text-align: center; }
.section { padding-block: clamp(56px, 8vw, 96px); }
.section-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px; margin-bottom: 40px; flex-wrap: wrap;
}
.section-head .section-lead { margin-top: 0; }


.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 13px 26px; border-radius: var(--radius); border: 1.5px solid transparent;
  font-weight: 600; font-size: .95rem; letter-spacing: .005em; line-height: 1;
  min-height: 46px; cursor: pointer; transition: transform .18s var(--ease),
    background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);
  white-space: nowrap; text-align: center;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-sm { padding: 9px 18px; min-height: 40px; font-size: .875rem; }
.btn-lg { padding: 15px 30px; min-height: 52px; font-size: 1rem; }
.btn-full { width: 100%; }

.btn-primary { background: var(--green-btn); color: #fff; box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: #335f51; box-shadow: var(--shadow); }
.btn-outline { background: transparent; border-color: var(--border); color: var(--ink); }
.btn-outline:hover { border-color: var(--green); color: var(--green-ink); background: var(--green-soft); }
.btn-ghost { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); color: #fff; backdrop-filter: blur(4px); }
.btn-ghost:hover { background: rgba(255,255,255,.22); border-color: #fff; }
.btn-wa { background: var(--wa); color: var(--wa-ink); }
.btn-wa:hover { background: var(--wa-hover); }
.btn-wa .wa-ico { background: var(--wa-ink); }


.wa-ico {
  width: 19px; height: 19px; flex-shrink: 0; background: currentColor;
  -webkit-mask: var(--wa-mask) center/contain no-repeat;
          mask: var(--wa-mask) center/contain no-repeat;
}
:root {
  --wa-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.22 3.07.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.69.62.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35M12.05 21.8h-.01a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.43 9.88-9.88 9.88m8.41-18.3A11.81 11.81 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.69 1.45h.01c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.17-3.48-8.42'/%3E%3C/svg%3E");
}


.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;

  background: var(--paper);
  border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm);
  transition: box-shadow .25s;
}
.site-header.scrolled {
  background: rgba(250,250,248,.92); backdrop-filter: blur(12px);
  border-bottom-color: var(--line); box-shadow: var(--shadow-sm);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; gap: 20px; }
.brand-name {
  font-family: var(--display); font-weight: 700; font-size: 1.35rem;
  letter-spacing: .06em; color: var(--ink);
}
.site-header .brand-name { color: var(--green-ink); }
.nav-desktop { display: flex; gap: 30px; }
.nav-desktop a { font-size: .94rem; font-weight: 500; color: var(--ink-mid); position: relative; padding: 4px 0; }
.nav-desktop a::after {
  content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px;
  background: var(--green); transition: width .25s var(--ease);
}
.nav-desktop a:hover { color: var(--ink); }
.nav-desktop a:hover::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 10px; }

.menu-toggle {
  display: none; flex-direction: column; gap: 5px; background: none; border: 0;
  padding: 10px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center;
}
.menu-toggle span { width: 24px; height: 2px; background: var(--ink); border-radius: 2px; transition: .2s; }


.mobile-menu {
  position: fixed; inset: 0; z-index: 200; background: var(--paper);
  transform: translateX(100%); transition: transform .3s var(--ease);
  display: flex; flex-direction: column; visibility: hidden;
}
.mobile-menu.open { transform: translateX(0); visibility: visible; }
.mobile-menu-head { display: flex; align-items: center; justify-content: space-between; height: 70px; }
.menu-close { font-size: 2rem; line-height: 1; background: none; border: 0; color: var(--ink); width: 48px; height: 48px; }
.mobile-menu-nav { display: flex; flex-direction: column; gap: 6px; padding-top: 16px; overflow-y: auto; flex: 1; padding-bottom: 28px; }
.mobile-menu-nav a:not(.btn) {
  font-family: var(--display); font-size: 1.5rem; color: var(--ink);
  padding: 14px 0; border-bottom: 1px solid var(--line);
}
.mobile-menu-nav .btn { margin-top: 14px; }


.hero { position: relative; min-height: 640px; display: flex; align-items: center; overflow: hidden; }
.hero-media { position: absolute; inset: 0; z-index: 0; }
.hero-media .media, .hero-media img { width: 100%; height: 100%; }
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(105deg, rgba(16,28,22,.82) 0%, rgba(16,28,22,.55) 42%, rgba(16,28,22,.25) 100%);
}
.hero-grid {
  position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px;
  gap: 48px; align-items: center; padding-block: 104px 64px; width: 100%;
}
.hero-copy { max-width: 560px; }
.hero-eyebrow {
  color: rgba(255,255,255,.82); font-size: .8rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px;
}
.hero-title {
  font-family: var(--display); font-weight: 700; color: #fff;
  font-size: clamp(2.2rem, 1.2rem + 3.6vw, 3.6rem); line-height: 1.06; letter-spacing: -.015em;
}
.hero-sub { color: rgba(255,255,255,.86); font-size: clamp(1rem, .95rem + .4vw, 1.18rem); margin-top: 20px; max-width: 44ch; }
.hero-ctas { display: flex; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.hero-marks { display: flex; gap: 10px; margin-top: 28px; flex-wrap: wrap; }
.hero-marks li {
  font-size: .8rem; font-weight: 600; color: #fff; letter-spacing: .02em;
  padding: 7px 14px; border: 1px solid rgba(255,255,255,.32); border-radius: var(--radius-pill);
  background: rgba(255,255,255,.08);
}

.hero-form-card {
  background: var(--paper); border-radius: var(--radius-lg); padding: 30px;
  box-shadow: var(--shadow-lg); border: 1px solid var(--line);
}
.form-title { font-family: var(--display); font-weight: 700; font-size: 1.5rem; color: var(--ink); }
.form-sub { color: var(--ink-soft); font-size: .9rem; margin: 6px 0 18px; }


.lead-form { display: flex; flex-direction: column; gap: 14px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field label, .segmented legend {
  font-size: .82rem; font-weight: 600; color: var(--ink-mid); padding: 0;
}
.field input, .field select {
  width: 100%; padding: 12px 14px; min-height: 46px; font-family: inherit; font-size: 16px; color: var(--ink);
  background: #fff; border: 1.5px solid var(--border); border-radius: var(--radius);
  transition: border-color .18s, box-shadow .18s;
}
.field input:focus, .field select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(78,140,121,.22); }
.field input:focus-visible, .field select:focus-visible {
  outline: 3px solid var(--green); outline-offset: 2px; border-color: var(--green);
}
.field input:focus:not(:focus-visible), .field select:focus:not(:focus-visible) { outline: none; }
.field input::placeholder { color: #9b9b9b; }
.field.segmented { border: 0; }
.seg-options { display: flex; gap: 8px; }
.seg-option {
  flex: 1; display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 44px; padding: 8px 10px; border: 1.5px solid var(--border); border-radius: var(--radius);
  font-size: .88rem; font-weight: 500; color: var(--ink-mid); cursor: pointer; transition: .18s; background: #fff;
}
.seg-option:hover { border-color: var(--green); }
.seg-option input { position: absolute; opacity: 0; width: 0; height: 0; }
.seg-option.is-checked { border-color: var(--green); background: var(--green-soft); color: var(--green-ink); font-weight: 600; }
.seg-option:has(input:focus-visible) { outline: 3px solid var(--green); outline-offset: 2px; }

.checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: .8rem; color: var(--ink-soft); line-height: 1.45; cursor: pointer; }
.checkbox input { width: 24px; height: 24px; min-width: 24px; margin-top: 0; accent-color: var(--green-btn); }
.field-error { color: #B3261E; font-size: .78rem; min-height: 0; }
.field-error:empty { display: none; }
.input-error { border-color: #B3261E !important; }
.form-or { display: flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: .82rem; }
.form-or::before, .form-or::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.form-note { font-size: .76rem; color: var(--ink-soft); text-align: center; }
.form-success { text-align: center; padding: 20px 8px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.form-success svg { color: var(--green-btn); }
.form-success-title { font-family: var(--display); font-size: 1.4rem; font-weight: 700; }
.form-success p { color: var(--ink-soft); font-size: .92rem; }


.stats { background: var(--dark); }
.stats-inner { display: flex; flex-wrap: wrap; gap: 6px 0; padding-block: 38px; }
.stat { flex: 1 1 auto; min-width: 150px; padding: 8px 24px; border-left: 1px solid rgba(255,255,255,.12); }
.stat:first-child { border-left: 0; padding-left: 0; }
.stat-value { font-family: var(--display); font-weight: 600; font-size: 1.4rem; color: #fff; line-height: 1.1; }
.stat-label { font-size: .76rem; color: rgba(255,255,255,.62); margin-top: 4px; }


.pilares { background: #fff; }
.pilares-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 40px; }
.pilar {
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 28px 24px; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.pilar:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--border); }
.pilar-icon {
  width: 52px; height: 52px; border-radius: 14px; background: var(--green-soft);
  color: var(--green-ink); display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.pilar-icon svg { width: 26px; height: 26px; }
.pilar h3 { font-family: var(--display); font-size: 1.22rem; font-weight: 700; margin-bottom: 8px; }
.pilar p { color: var(--ink-soft); font-size: .92rem; }


.modelos { background: var(--sand); }
.models-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.model-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.model-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.model-image { position: relative; }
.model-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2; background: rgba(255,255,255,.95);
  color: var(--ink); font-size: .72rem; font-weight: 600; padding: 5px 12px; border-radius: var(--radius-pill);
  box-shadow: var(--shadow-sm);
}
.model-body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.model-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.model-name { font-family: var(--display); font-size: 1.4rem; font-weight: 700; }
.model-status { font-size: .72rem; font-weight: 600; padding: 4px 11px; border-radius: var(--radius-pill); background: var(--green-soft); color: var(--green-ink); white-space: nowrap; }
.model-desc { color: var(--ink-soft); font-size: .9rem; }
.model-specs { display: flex; flex-wrap: wrap; gap: 8px; }
.model-specs span {
  display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--ink-mid);
  background: var(--sand); border: 1px solid var(--line); padding: 5px 11px; border-radius: var(--radius-pill);
}
.model-specs svg { width: 15px; height: 15px; color: var(--green-ink); }
.model-pricing { margin-top: auto; padding-top: 6px; }
.model-price-label { font-size: .72rem; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .08em; }
.model-price { font-family: var(--display); font-size: 1.35rem; font-weight: 700; color: var(--ink); }
.model-ctas { display: flex; gap: 10px; }
.model-ctas .btn { flex: 1; }
.model-card .btn-outline { border-color: var(--green); color: var(--green-ink); }
.model-card .btn-outline:hover { background: var(--green-soft); }


.visit-banner { background: var(--sand); border-block: 1px solid var(--line); }
.visit-banner-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 28px; padding-block: clamp(32px, 5vw, 48px); flex-wrap: wrap;
}
.visit-banner-copy { max-width: 56ch; }
.visit-banner-title {
  font-family: var(--display); font-weight: 700; color: var(--ink);
  font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem); line-height: 1.14;
}
.visit-banner-title em { font-style: italic; font-weight: 400; color: var(--green-ink); }
.visit-banner-sub { color: var(--ink-soft); font-size: 1rem; margin-top: 8px; }
.visit-banner-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
@media (max-width: 560px) {
  .visit-banner-actions { width: 100%; flex-direction: column; }
  .visit-banner-actions .btn { width: 100%; }
}



.amenidades { background: var(--green-soft); }
.bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 16px; }
.amenity {
  position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--sand);
  border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: flex-end;
  color: #fff; isolation: isolate; transition: transform .25s var(--ease);
}
.amenity:hover { transform: translateY(-3px); }
.amenity.span-2 { grid-column: span 2; grid-row: span 1; }
.amenity.tall { grid-row: span 1; }
.amenity .media { position: absolute; inset: 0; z-index: -2; }
.amenity::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(16,28,22,.82) 0%, rgba(16,28,22,.25) 55%, transparent 100%); }
.amenity-no-media { color: #fff; justify-content: space-between; background: linear-gradient(155deg, var(--dark-2) 0%, #2c4a3d 100%); }
.amenity-no-media::after { display: none; }
.amenity-no-media .amenity-icon {
  width: 48px; height: 48px; border-radius: 12px; background: rgba(255,255,255,.14); color: #fff;
  display: flex; align-items: center; justify-content: center; margin: 22px 22px 0;
}
.amenity-no-media .amenity-icon svg { width: 24px; height: 24px; }
.amenity-body { padding: 20px 22px; position: relative; z-index: 1; }
.amenity-no-media .amenity-body { padding-top: 14px; margin-top: auto; }
.amenity-group { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; margin-bottom: 6px; }
.amenity-no-media .amenity-group { color: var(--green-soft); opacity: 1; }
.amenity h3 { font-family: var(--display); font-size: 1.2rem; font-weight: 600; }
.amenity p { font-size: .85rem; margin-top: 5px; opacity: .92; }
.amenity-no-media p { color: rgba(255,255,255,.82); opacity: 1; }


.unday { background: var(--sand); }
.unday-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 40px; }
.unday-card { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: #fff; }
.unday-card .media { aspect-ratio: 4/3; }
.unday-body { padding: 22px 24px 26px; }
.unday-tag { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--green-ink); background: var(--green-soft); padding: 4px 12px; border-radius: var(--radius-pill); margin-bottom: 12px; }
.unday-card h3 { font-family: var(--display); font-size: 1.25rem; font-weight: 700; margin-bottom: 8px; }
.unday-card p { color: var(--ink-soft); font-size: .92rem; }
.unday-ctas { display: flex; gap: 14px; justify-content: center; align-items: center; flex-wrap: wrap; }


.galeria { background: #fff; }
.gallery-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.gallery-chip {
  font-size: .85rem; font-weight: 500; color: var(--ink-mid); background: var(--sand);
  border: 1.5px solid var(--line); padding: 8px 18px; min-height: 42px; border-radius: var(--radius-pill); transition: .18s;
}
.gallery-chip:hover { border-color: var(--green); color: var(--green-ink); }
.gallery-chip.is-active { background: var(--green-btn); border-color: var(--green-btn); color: #fff; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery-item { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); }
.gallery-item.feature { grid-column: span 2; grid-row: span 2; }
.gallery-item .media { width: 100%; height: 100%; min-height: 210px; }
.gallery-item .media img { transition: transform .5s var(--ease); }
.gallery-item:hover .media img { transform: scale(1.05); }
.gallery-cap { position: absolute; left: 0; bottom: 0; right: 0; padding: 26px 18px 14px; color: #fff; font-size: .85rem; font-weight: 500; background: linear-gradient(to top, rgba(16,28,22,.78), transparent); }


.ubicacion { background: var(--sand); }
.ubic-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; }
.ubic-map { min-width: 0; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-sm); min-height: 360px; background: var(--green-soft); }
.ubic-map .media { width: 100%; height: 100%; min-height: 360px; }

.ubic-svgmap { display: block; width: 100%; height: auto; }

.ubic-map:has(.ubic-svgmap) { min-height: 0; border: 0; box-shadow: none; background: transparent; border-radius: 0; overflow: visible; }
.ubic-map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }
.ubic-info .section-title { margin-bottom: 14px; }
.ubic-narr { color: var(--ink-soft); margin-bottom: 22px; }

.ubic-points { display: flex; flex-direction: column; gap: 0; margin-bottom: 24px; }
.ubic-points li { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.ubic-points li:last-child { border-bottom: 0; }
.ubic-icon { flex-shrink: 0; width: 20px; height: 20px; color: var(--green-ink); }
.ubic-icon svg { width: 20px; height: 20px; }
.ubic-pt-name { order: 2; margin-right: auto; color: var(--ink); font-size: .98rem; }
.ubic-time { order: 3; flex-shrink: 0; text-align: right; background: transparent; padding: 0; border-radius: 0; color: var(--green-ink); font-weight: 600; font-size: .92rem; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.ubic-time.soft { color: var(--ink-soft); font-weight: 500; font-size: .85rem; }
.ubic-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ubic-extra { margin-top: 20px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--green); border-radius: var(--radius); font-size: .9rem; color: var(--ink-mid); }


.proceso { background: var(--dark); }
.proceso .eyebrow { color: var(--green-soft); }
.proceso .section-title { color: #fff; }
.proceso .section-title em { color: var(--green-soft); }
.proceso .section-lead { color: rgba(255,255,255,.7); }
.proceso-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin-top: 48px; position: relative; }
.proceso-steps::before { content: ''; position: absolute; top: 28px; left: 10%; right: 10%; height: 2px; background: rgba(255,255,255,.18); z-index: 0; }
.proceso-step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.proceso-num {
  width: 56px; height: 56px; border-radius: 50%; background: var(--dark); border: 2px solid rgba(255,255,255,.3);
  display: flex; align-items: center; justify-content: center; font-family: var(--display);
  font-size: 1.4rem; font-weight: 700; color: #fff; transition: .25s;
}
.proceso-step:first-child .proceso-num { background: var(--green-btn); border-color: var(--green-btn); color: #fff; }
.proceso-step h3 { font-size: 1rem; font-weight: 600; color: #fff; }
.proceso-step p { font-size: .84rem; color: rgba(255,255,255,.66); max-width: 22ch; }


.financiamiento { background: var(--paper); }
.fin-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.fin-figures { display: flex; flex-direction: column; gap: 10px; margin: 24px 0; max-width: 420px; }
.fin-figure { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.fin-figure-label { font-size: .88rem; color: var(--ink-soft); }
.fin-figure-value { font-family: var(--display); font-size: 1.05rem; font-weight: 700; color: var(--ink); text-align: right; }
.fin-side { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; }
.fin-side-title { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-soft); margin-bottom: 16px; }
.fin-bancos { display: flex; flex-direction: column; gap: 10px; }
.fin-bancos li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); font-size: .92rem; color: var(--ink-mid); }
.fin-bancos li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex-shrink: 0; }
.fin-note { font-size: .76rem; color: var(--ink-soft); margin-top: 16px; line-height: 1.5; }


.respaldo { background: var(--sand); }
.respaldo-stats { display: flex; flex-wrap: wrap; gap: 16px; margin: 36px 0; }
.respaldo-stat { flex: 1; min-width: 150px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px 24px; }
.respaldo-stat .num { font-family: var(--display); font-size: 1.9rem; font-weight: 700; color: var(--green-ink); line-height: 1; }
.respaldo-stat .lbl { font-size: .85rem; color: var(--ink-soft); margin-top: 8px; }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.proof-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.proof-card .media { aspect-ratio: 16/10; }
.proof-card-body { padding: 20px 22px; }
.proof-card-body h3 { font-family: var(--display); font-size: 1.15rem; font-weight: 700; margin-bottom: 6px; }
.proof-card-body p { font-size: .88rem; color: var(--ink-soft); margin-bottom: 12px; }
.badge { display: inline-block; font-size: .72rem; font-weight: 600; padding: 4px 11px; border-radius: var(--radius-pill); }
.badge-green { background: var(--green-soft); color: var(--green-ink); }
.badge-orange { background: #FCEFD9; color: #8A5A12; }
.badge-blue { background: #E5EEF5; color: #2A5575; }
.proof-updated { font-size: .82rem; color: var(--ink-soft); margin-top: 18px; text-align: center; }
.testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 36px; }
.testimonial { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px 24px; }
.testimonial-stars { color: var(--gold); letter-spacing: 2px; margin-bottom: 12px; }
.testimonial p { font-size: .94rem; color: var(--ink-mid); font-style: italic; margin-bottom: 14px; }
.testimonial-author { font-weight: 600; font-size: .92rem; }
.testimonial-meta { font-size: .8rem; color: var(--ink-soft); }


.faq { background: var(--sand); }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.faq-intro .btn { margin-top: 22px; }
.faq-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 0; background: none; border: 0; text-align: left; font-size: 1.02rem;
  font-weight: 500; color: var(--ink); min-height: 56px;
}
.faq-question svg { width: 22px; height: 22px; color: var(--green-ink); flex-shrink: 0; transition: transform .3s var(--ease); }
.faq-item.open .faq-question svg { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.faq-answer-inner { padding: 0 0 22px; color: var(--ink-soft); font-size: .95rem; max-width: 60ch; }


.cta-final { background: var(--dark); position: relative; }
.cta-grid { display: grid; grid-template-columns: 1fr 440px; gap: 56px; align-items: center; }
.cta-title { font-family: var(--display); font-weight: 700; color: #fff; font-size: clamp(2rem, 1.2rem + 3vw, 3.1rem); line-height: 1.08; }
.cta-title em { font-style: italic; font-weight: 400; color: rgba(255,255,255,.7); }
.cta-lead { color: rgba(255,255,255,.7); font-size: 1.05rem; margin-top: 18px; max-width: 42ch; }
.cta-stats { display: flex; gap: 32px; margin-top: 32px; flex-wrap: wrap; }
.cta-stat .num { font-family: var(--display); font-size: 1.8rem; font-weight: 700; color: #fff; }
.cta-stat .lbl { font-size: .8rem; color: rgba(255,255,255,.55); margin-top: 2px; }

.cta-form-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); padding: 30px; backdrop-filter: blur(6px); }
.cta-form-card .form-title { color: #fff; }
.cta-form-card .form-sub { color: rgba(255,255,255,.62); }
.cta-form-card .field > label, .cta-form-card .segmented legend { color: rgba(255,255,255,.8); }
.cta-form-card .field input, .cta-form-card .field select { background: #fff; border-color: rgba(255,255,255,.45); color: var(--ink); }
.cta-form-card .field select option { color: var(--ink); background: #fff; }
.cta-form-card .field input::placeholder { color: #9b9b9b; }
.cta-form-card .form-note { color: rgba(255,255,255,.62); }
.cta-form-card .checkbox { color: rgba(255,255,255,.7); }
.cta-form-card .form-or { color: rgba(255,255,255,.5); }
.cta-form-card .form-or::before, .cta-form-card .form-or::after { background: rgba(255,255,255,.16); }
.cta-form-card .form-success-title { color: #fff; }
.cta-form-card .form-success p { color: rgba(255,255,255,.7); }
.cta-connect { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.cta-social { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-social a {
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22);
  display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.78); transition: .2s;
}
.cta-social a:hover { border-color: var(--green); color: #fff; background: rgba(78,140,121,.22); }
.cta-social svg { width: 19px; height: 19px; }
.cta-social:empty { display: none; }
.cta-legal-links { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 16px; }
.cta-legal-links a { font-size: .82rem; color: rgba(255,255,255,.6); text-decoration: underline; text-underline-offset: 3px; }
.cta-legal-links a:hover { color: #fff; }


.site-footer { background: #0F1813; color: rgba(255,255,255,.6); padding-block: 18px 12px; }
.footer-top { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: start; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-brand .brand-name { color: #fff; }
.footer-tagline { font-size: .85rem; margin-top: 6px; }
.footer-maker { font-size: .85rem; margin-top: 4px; color: rgba(255,255,255,.6); }
.footer-contact { display: flex; flex-direction: column; gap: 4px; margin-top: 14px; font-size: .88rem; }
.footer-contact a:hover { color: #fff; }
.footer-nav { display: flex; flex-direction: column; gap: 10px; }
.footer-nav a { font-size: .9rem; }
.footer-nav a:hover { color: #fff; }
.footer-social { display: flex; gap: 12px; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.7); transition: .2s; }
.footer-social a:hover { border-color: var(--green); color: #fff; background: rgba(78,140,121,.2); }
.footer-social svg { width: 18px; height: 18px; }
.footer-bottom { display: flex; flex-direction: column; gap: 7px; padding-top: 10px; }
.footer-legal { font-size: .82rem; color: rgba(255,255,255,.58); line-height: 1.55; }
.footer-copy { font-size: .78rem; }
.footer-copy a { color: rgba(255,255,255,.55); margin-left: 10px; }
.footer-copy a:hover { color: #fff; }


.wa-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 150;
  width: 58px; height: 58px; border-radius: 50%; background: var(--wa); color: var(--wa-ink);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 22px rgba(0,0,0,.28);
  transition: transform .2s var(--ease), background .2s;
}
.wa-float:hover { transform: scale(1.08); background: var(--wa-hover); }
.wa-float.hide { opacity: 0; visibility: hidden; transform: scale(.7); pointer-events: none; }
.wa-float.is-overlap { opacity: 0; visibility: hidden; pointer-events: none; }
.wa-float .wa-ico { width: 30px; height: 30px; }


.modal { position: fixed; inset: 0; z-index: 500; display: none; align-items: center; justify-content: center; padding: 20px; }
.modal.open { display: flex; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(16,28,22,.6); backdrop-filter: blur(3px); }
.modal-card { position: relative; background: var(--paper); border-radius: var(--radius-lg); max-width: 640px; width: 100%; max-height: 90vh; overflow: auto; box-shadow: var(--shadow-lg); }
.modal-head { display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--paper); }
.modal-title { font-family: var(--display); font-size: 1.3rem; font-weight: 700; }
.modal-close { font-size: 1.8rem; line-height: 1; background: none; border: 0; color: var(--ink-soft); width: 44px; height: 44px; border-radius: var(--radius); }
.modal-close:hover { background: var(--sand); color: var(--ink); }
.modal-body { padding: 26px; }
.modal-body .media { border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; }
.plano-note { font-size: .82rem; color: var(--ink-soft); margin-top: 14px; }
.modal-foot { padding: 0 26px 26px; }


.media { position: relative; overflow: hidden; background: linear-gradient(135deg, #DDE9E2 0%, #EDE6DA 100%); }
.media::after {
  content: ''; position: absolute; inset: 0; opacity: .5; pointer-events: none;
  background: radial-gradient(circle at 70% 25%, rgba(78,140,121,.22), transparent 55%),
              radial-gradient(circle at 25% 80%, rgba(207,201,191,.35), transparent 50%);
}
.media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.media img.is-broken { display: none; }
.media--hero { background: linear-gradient(120deg, #1c3329 0%, #3a5a4c 45%, #cbb89c 100%); }
.media--model { background: linear-gradient(135deg, #E3EBE3 0%, #EFE7DA 100%); }
.media--amenity { background: linear-gradient(135deg, #2c4a3d 0%, #4E8C79 100%); }
.media--map { background: linear-gradient(135deg, #DCE8E2 0%, #E8E0D3 100%); }
.media--plano { background: var(--sand); }


.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
  .btn:hover, .model-card:hover, .pilar:hover, .amenity:hover { transform: none; }
}


@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero-form-card { max-width: 460px; margin-inline: auto; width: 100%; }
  .pilares-grid { grid-template-columns: repeat(2, 1fr); }
  .models-grid { grid-template-columns: repeat(2, 1fr); }
  .bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(190px, auto); }
  .amenity.span-2 { grid-column: span 2; }
  .unday-grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .ubic-grid { grid-template-columns: 1fr; gap: 30px; }
  .fin-grid { grid-template-columns: 1fr; gap: 32px; }
  .proceso-steps { grid-template-columns: repeat(2, 1fr); gap: 28px 18px; }
  .proceso-steps::before { display: none; }
  .proof-grid, .testimonials { grid-template-columns: repeat(2, 1fr); }
  .faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .cta-grid { grid-template-columns: 1fr; gap: 36px; }
  .cta-form-card { max-width: 480px; }
  .stat { padding: 8px 18px; min-width: 130px; }

  .nav-desktop, .header-utility, .header-wa, .header-cta, .header-brochure { display: none; }
  .menu-toggle { display: flex; }
}

@media (max-width: 768px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-social { grid-column: span 2; }
  .footer-nav a { white-space: nowrap; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 14px; }
}

@media (max-width: 560px) {
  body { font-size: 15.5px; }
  .pilares-grid { grid-template-columns: 1fr; }
  .models-grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
  .bento { grid-template-columns: 1fr; grid-auto-rows: 180px; }
  .amenity.span-2 { grid-column: span 1; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item.feature { grid-column: span 1; grid-row: span 1; }
  .proceso-steps { grid-template-columns: 1fr; gap: 22px; }
  .proceso-step { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; row-gap: 3px; text-align: left; align-items: start; }
  .proceso-step .proceso-num { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
  .proceso-step h3 { grid-column: 2; grid-row: 1; align-self: center; }
  .proceso-step p { grid-column: 2; grid-row: 2; max-width: none; }
  .respaldo-stats { gap: 12px; }
  .respaldo-stat { min-width: calc(50% - 6px); padding: 18px; }
  .proof-grid, .testimonials { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-social { grid-column: span 1; }
  .field-row { grid-template-columns: 1fr; }
  .hero { min-height: 0; }
  .hero-form-card { padding: 24px 20px; }
  .wa-float { bottom: 16px; right: 16px; width: 54px; height: 54px; }
  .hero-ctas .btn { flex: 1; }
  .unday-ctas .btn, .fin-actions .btn { width: 100%; max-width: 400px; }

  .stats-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; padding-block: 30px; }
  .stat { flex: none; min-width: 0; padding: 0; border-left: 0; }
  .stat:first-child { padding-left: 0; }
  .stat-value { font-size: 1.24rem; }
}


@font-face{ font-family:'Nelphim'; src:url('assets/fonts/Nelphim-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Nelphim'; src:url('assets/fonts/Nelphim-Italic.otf')  format('opentype'); font-weight:400; font-style:italic;  font-display:swap; }
@font-face{ font-family:'Futura Std'; src:url('assets/fonts/FuturaStd-Book.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }

:root{
  --display:'Nelphim','Playfair Display',Georgia,serif;

  --body:'Jost','Futura Std','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;


  --green:#1947BA;
  --green-btn:#1A45A8;
  --green-ink:#1B4DA6;
  --green-soft:#EAF0FB;


  --dark:#0B423C;
  --dark-2:#10433C;


  --azul:#1947BA;
  --verde-nat:#2E7256;
  --verde-sage:#A7D5AD;
  --coral:#FF874B;
  --sky:#98D1FF;
  --sky-claro:#C4FFFF;
}


.brand-name,.section-title,.hero-title,.cta-title,.visit-banner-title,
.unday-card h3,.form-title,.modal-title,.fin-side-title{ font-weight:400; }
.brand-name{ letter-spacing:.05em; }


.brand-lockup{ display:flex; flex-direction:column; line-height:1.04; }
.brand-tagline{
  font-family:var(--body); font-size:.5rem; font-weight:600; letter-spacing:.32em;
  text-transform:uppercase; color:var(--ink-soft); margin-top:4px;
}
.hero-brand .brand-tagline,.footer-brand .brand-tagline{ color:rgba(255,255,255,.72); }


.hero-overlay{ background:linear-gradient(180deg, rgba(11,66,60,.26) 0%, rgba(11,66,60,.58) 56%, rgba(8,46,40,.85) 100%); }
.hero-eyebrow{ color:#FFCDA8; }


.btn-primary:hover{ background:#143A86; }
.site-footer{ background:#08312B; }
.amenity-no-media{ background:linear-gradient(155deg, var(--dark-2) 0%, #1C6B57 100%); }
.media{ background:linear-gradient(135deg,#E8EFEA 0%, #F2EDE6 100%); }
.media--hero{ background:linear-gradient(120deg,#0B423C 0%, #2E7256 48%, #98D1FF 100%); }
.media--model{ background:linear-gradient(135deg,#EAF0FB 0%, #F2EDE6 100%); }
.media--amenity{ background:linear-gradient(135deg,#0B423C 0%, #2E7256 100%); }


:root{ --coral-ink:#B85A2B; }


.section-title em, .visit-banner-title em{ color:var(--coral-ink); }



.btn:active{ transform:scale(.97); }


.pilar{ background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:24px 0 0; }
.pilar:hover{ transform:none; box-shadow:none; border-color:var(--border); }
.pilar-icon{ width:auto; height:auto; background:transparent; border-radius:0; color:var(--green); margin-bottom:14px; }
.pilar-icon svg{ width:30px; height:30px; }
.pilar h3{ font-weight:400; }


.hero-title{ letter-spacing:-.004em; line-height:1.08; }
.section-title, .cta-title, .visit-banner-title{ letter-spacing:-.004em; }


.brand-tagline{ font-size:.56rem; }


:root{ --ui:'Jost','Futura Std','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }


.btn, .nav-desktop a, .mobile-menu-nav a, .footer-nav a,
.field label, legend, .checkbox, input, select, textarea,
.amenity-group, .unday-tag, .model-price-label, .fin-side-title, .stat-label{
  font-family: var(--ui);
}


.hero-marks{ display:none; }





.pilar{ text-align:center; }
.pilar-icon{ display:flex; justify-content:center; }


.avance{ background:#fff; }
.avance-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:44px; margin-top:40px; align-items:start; }
.avance-bars{ display:flex; flex-direction:column; gap:24px; }
.avance-bar-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:9px; }
.avance-bar-name{ font-weight:600; color:var(--ink); font-size:.96rem; }
.avance-bar-pct{ font-family:var(--display); color:var(--green-ink); font-size:1.1rem; }
.avance-track{ height:10px; border-radius:999px; background:var(--green-soft); overflow:hidden; }
.avance-fill{ height:100%; border-radius:999px; background:var(--green); transition:width 1s var(--ease); }
.avance-fill.is-pending{ background:repeating-linear-gradient(45deg,var(--border) 0 6px,transparent 6px 12px); }
.avance-fotos{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.avance-fotos .avance-foto:first-child{ grid-column:1 / -1; }
.avance-foto{ margin:0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); background:#fff; }
.avance-foto .media{ aspect-ratio:16/10; }
.avance-foto figcaption{ font-size:.8rem; color:var(--ink-soft); padding:9px 12px; }


.entregas{ background:var(--bg-warm); }
.entregas-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:22px; margin-top:28px; }
.entrega-foto{ margin:0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); background:#fff; }
.entrega-foto .media{ aspect-ratio:3/2; }
.entrega-foto figcaption{ font-size:.82rem; color:var(--ink-soft); padding:9px 12px; }

.entrega-foto figcaption.entrega-testimonio{ font-style:italic; font-size:.92rem; line-height:1.5; color:var(--ink-mid); padding:14px 16px 18px; min-height:5.6em; }
.entrega-foto figcaption.entrega-testimonio.is-placeholder{ font-style:normal; font-weight:700; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.entrega-video iframe{ width:100%; aspect-ratio:16/9; border-radius:var(--radius-lg); border:0; display:block; }
@media (max-width:760px){ .avance-grid{ grid-template-columns:1fr; gap:30px; } }


.header-inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:auto; min-height:78px; gap:16px; }
.header-inner .brand{ justify-self:start; }
.header-inner .menu-toggle{ justify-self:end; }
.header-center{ display:flex; flex-direction:column; align-items:center; gap:9px; }
.header-utility{ display:flex; align-items:center; justify-content:center; gap:18px; font-size:.72rem; line-height:1; color:var(--ink-soft); }
.header-sep{ width:1px; height:13px; background:var(--border); flex:none; }
.header-horario{ color:var(--ink-soft); }
.header-phone{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--green-ink); }
.header-phone:hover{ color:var(--green); }
.header-phone .wa-ico{ width:13px; height:13px; background:var(--wa); }
.nav-desktop{ gap:40px; }

.mobile-menu-contact{ padding:14px 0 13px; margin-bottom:6px; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:8px; }
.mobile-menu-contact .header-horario{ display:block; font-size:.82rem; color:var(--ink-soft); }
.mobile-menu-contact .header-phone{ display:inline-flex; align-items:center; gap:8px; font-size:.98rem; font-weight:600; color:var(--green-ink); }
.mobile-menu-contact .header-phone .wa-ico{ width:15px; height:15px; background:var(--wa); }

@media (max-width:1024px){ .header-utility{ display:none; } }


.brochure-float{
  position:fixed; bottom:24px; left:24px; z-index:150;
  width:58px; height:58px; border-radius:50%; background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 22px rgba(0,0,0,.28);
  transition:transform .2s var(--ease), background .2s;
}
.brochure-float:hover{ transform:scale(1.08); background:#143A86; }
.brochure-float svg{ width:27px; height:27px; }
@media (max-width:560px){ .brochure-float{ bottom:16px; left:16px; width:54px; height:54px; } }


.has-entregas .faq{ background:#fff; }




html{ scroll-padding-top: 92px; }


.site-header .menu-toggle span{ background:var(--ink); }


.hero-form-card--glass{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 50px rgba(8,28,22,.38);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.hero-form-card--glass .field > label{ color: rgba(255,255,255,.86); }
.hero-form-card--glass .field input,
.hero-form-card--glass .field select{ background:#fff; border-color: rgba(255,255,255,.6); color: var(--ink); }
.hero-form-card--glass .field select option{ color: var(--ink); background:#fff; }
.hero-form-card--glass .field input::placeholder{ color:#9b9b9b; }
.hero-form-card--glass .checkbox{ color: rgba(255,255,255,.82); }
.hero-form-card--glass .checkbox a{ color:#fff; text-decoration: underline; }
.hero-form-card--glass .field-error{ color:#FFC2BD; }




.header-actions{ display:flex; align-items:center; gap:12px; justify-self:end; }
.btn-brochure{ background:var(--green-btn); border-color:var(--green-btn); color:#fff; box-shadow:0 4px 14px rgba(26,69,168,.26); }
.btn-brochure:hover{ background:#143A86; border-color:#143A86; color:#fff; }
.header-address{ display:inline-flex; align-items:center; gap:6px; color:var(--ink-soft); }
.header-address:hover{ color:var(--green-ink); }
.header-address .addr-ico{ display:inline-flex; width:13px; height:13px; flex:none; }
.header-address .addr-ico svg{ width:13px; height:13px; }
.mobile-menu-contact .header-address{ font-size:.9rem; color:var(--green-ink); }
.mobile-menu-contact .header-address .addr-ico{ width:15px; height:15px; }
.mobile-menu-contact .header-address .addr-ico svg{ width:15px; height:15px; }
@media (max-width:1024px){ .header-brochure{ display:none; } }


.hero-sub-lines{ margin-top:24px; display:flex; flex-direction:column; gap:11px; max-width:48ch; }
.hero-sub-lines li{ font-family:var(--body); color:rgba(255,255,255,.88); font-size:clamp(1rem,.95rem+.3vw,1.12rem); line-height:1.4; }

.hero-sub-lines li.hero-sub-strong{ font-family:var(--body); font-size:clamp(1.15rem,1rem+.6vw,1.45rem); color:#fff; letter-spacing:.01em; }
.hero-title{ font-size:clamp(2.6rem,1.6rem+4vw,4.4rem); }


.proyecto-sec .container{ max-width:min(1400px, 94vw); }
.proyecto-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center; margin-top:6px; }

.proyecto-amenidades{ margin-top:22px; }
.proyecto-amen-title{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--green-ink); font-weight:600; margin:0 0 14px; }
.amen-legend{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:13px 16px; }
.amen-legend-item{ display:flex; align-items:center; gap:9px; }
.amen-legend-ico{ width:38px; height:38px; flex:none; display:block; }
.amen-legend-name{ font-size:.8rem; line-height:1.18; color:var(--ink-mid); }
@media (max-width:860px){ .amen-legend{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .amen-legend{ grid-template-columns:1fr 1fr; gap:10px 12px; } .amen-legend-ico{ width:32px; height:32px; } .amen-legend-name{ font-size:.76rem; } }
.proyecto-info .section-title{ font-size:clamp(2.8rem, 1.8rem + 3.4vw, 4.6rem); }
.proyecto-figure{ display:flex; align-items:baseline; gap:13px; margin:18px 0 14px; }
.proyecto-figure-num{ font-family:var(--display); font-size:clamp(3.6rem, 2.4rem + 3.6vw, 5.4rem); line-height:1; color:var(--green-ink); }
.proyecto-figure-lbl{ font-size:1.2rem; color:var(--ink-soft); max-width:16ch; }
.proyecto-lead{ color:var(--ink-soft); font-size:1.02rem; max-width:42ch; }
.proyecto-map{ margin:0; }
.masterplan-svg{ display:block; width:100%; height:auto; }
.proyecto-map figcaption{ margin-top:10px; font-size:.8rem; color:var(--ink-soft); text-align:center; }
.proyecto-sec .pilares-grid{ margin-top:56px; }


.models-tabs{ display:flex; gap:4px; overflow-x:auto; overflow-y:hidden; margin-bottom:30px; border-bottom:1px solid var(--line); scrollbar-width:none; }
.models-tabs::-webkit-scrollbar{ height:0; display:none; }
.model-tab{ position:relative; flex:0 0 auto; padding:13px 22px; border:0; border-radius:0; background:transparent; color:var(--ink-soft); font-weight:600; font-size:1rem; white-space:nowrap; transition:color .18s; }
.model-tab:hover{ color:var(--green-ink); }
.model-tab.is-active{ color:var(--green-ink); }
.model-tab.is-active::after{ content:""; position:absolute; left:18px; right:18px; bottom:0; height:2.5px; border-radius:3px 3px 0 0; background:var(--green); }
.model-panel{ display:grid; grid-template-columns:.92fr 1.08fr; gap:36px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; }
.model-info .model-name{ font-family:var(--display); font-size:1.7rem; font-weight:400; }
.model-plantas{ display:inline-block; margin-top:8px; font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--green-ink); background:var(--green-soft); padding:4px 12px; border-radius:var(--radius-pill); }
.model-desc{ color:var(--ink-soft); font-size:.96rem; margin-top:14px; }
.model-specs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 14px; margin:22px 0; }
.model-spec{ display:grid; grid-template-columns:auto 1fr; column-gap:11px; align-items:center; }
.model-spec-ico{ grid-row:1 / span 2; width:38px; height:38px; border-radius:10px; background:var(--green-soft); color:var(--green-ink); display:flex; align-items:center; justify-content:center; }
.model-spec-ico svg{ width:20px; height:20px; }
.model-spec-val{ grid-column:2; grid-row:1; align-self:end; font-family:var(--display); font-weight:700; font-size:1.05rem; color:var(--ink); line-height:1.05; }
.model-spec-lbl{ grid-column:2; grid-row:2; align-self:start; font-size:.78rem; color:var(--ink-soft); line-height:1.1; }
.model-panel .model-ctas{ display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:12px; }
.model-panel .model-ctas .btn{ flex:0 0 auto; }
.model-panel .model-ctas .model-ficha-link{ order:3; flex-basis:100%; }
.model-panel .model-ctas .model-tour-link{ order:2; }
.model-panel .model-ctas > .btn{ order:1; }
.model-info .model-ctas .model-ficha-link{ order:3; flex-basis:100%; }
.model-info .model-ctas .model-tour-link{ order:2; }
.model-info .model-ctas > .btn{ order:1; }
.footer-credit-enlace{ display:inline-flex; align-items:center; color:inherit; text-decoration:none; }
.model-tour-link{ display:inline-flex; align-items:center; gap:8px; color:var(--green-ink); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.11em; transition:color .18s; }
.model-tour-link svg{ width:20px; height:20px; flex:none; }
.model-tour-link:hover{ color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.model-carousel{ position:relative; }
.mc-viewport{ position:relative; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); background:var(--sand); }
.mc-slide{ position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .4s var(--ease); }
.mc-slide.is-active{ opacity:1; visibility:visible; }
.mc-slide .media{ width:100%; height:100%; }

.mc-tag{ position:absolute; left:18px; bottom:14px; background:transparent; color:#fff; font-size:.78rem; font-weight:700; padding:0; border-radius:0; text-transform:uppercase; letter-spacing:.09em; text-shadow:0 1px 6px rgba(0,0,0,.6); }

.mc-nav{ position:absolute; bottom:14px; z-index:2; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.92); border:1px solid var(--line); color:var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm); }
.mc-nav:hover{ background:#fff; }
.mc-nav svg{ width:20px; height:20px; }
.mc-prev{ right:62px; } .mc-next{ right:14px; }
.mc-dots{ display:flex; gap:7px; justify-content:center; margin-top:14px; }
.mc-dot{ width:8px; height:8px; border-radius:50%; background:var(--border); border:0; padding:0; transition:.2s; }
.mc-dot.is-active{ background:var(--green-btn); width:22px; border-radius:5px; }


.am-viewport{ position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); background:var(--dark); }
.am-slide{ margin:0; position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .45s var(--ease); }
.am-slide.is-active{ position:relative; opacity:1; visibility:visible; }
.am-name{ position:absolute; top:0; left:0; right:0; z-index:2; padding:22px 26px; background:linear-gradient(to bottom, rgba(11,66,60,.82), transparent); color:#fff; }
.am-group{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sky); margin-bottom:4px; }
.am-title{ font-family:var(--display); font-size:clamp(1.4rem,1rem+1.4vw,2rem); font-weight:400; }
.am-slide .media{ width:100%; aspect-ratio:16/9; }
.am-desc{ position:absolute; left:0; right:0; bottom:0; z-index:2; margin:0; padding:24px 26px; color:rgba(255,255,255,.92); font-size:.95rem; background:linear-gradient(to top, rgba(8,46,40,.86), transparent); }
.am-nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.9); border:1px solid var(--line); color:var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm); }
.am-nav:hover{ background:#fff; }
.am-nav svg{ width:22px; height:22px; }
.am-prev{ left:14px; } .am-next{ right:14px; }
.am-dots{ display:flex; gap:8px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
.am-dot{ width:9px; height:9px; border-radius:50%; background:var(--border); border:0; padding:0; transition:.2s; }
.am-dot.is-active{ background:var(--green-btn); width:24px; border-radius:5px; }


#brochureModal .modal-body .form-sub{ margin-bottom:18px; color:var(--ink-soft); }
.brochure-dl-link{ color:var(--green-ink); text-decoration:underline; }



.wa-float{ background: var(--wa); color:#fff; box-shadow:0 6px 22px rgba(0,0,0,.28); }
.wa-float:hover{ background: var(--wa-hover); }
.wa-float .wa-ico{ background:#fff; width:30px; height:30px; }


@media (max-width:1024px){
  .proyecto-grid{ grid-template-columns:1fr; gap:28px; }
  .model-panel{ grid-template-columns:1fr; gap:22px; }
  .model-panel .model-info{ order:2; }
  .model-panel .model-carousel{ order:1; }
}
@media (max-width:560px){
  .model-panel{ padding:18px; }
  .model-panel .model-ctas{ flex-direction:column; align-items:stretch; gap:14px; }
  .model-panel .model-ctas .btn{ width:100%; text-align:center; }
  .model-tour-link{ justify-content:center; }
  .am-title{ font-size:1.3rem; }
  .am-desc{ font-size:.86rem; padding:18px 20px; }
  .am-name{ padding:18px 20px; }
}




.amenities-carousel{ position:relative; }
.am-window{ overflow:hidden; }
.am-track{ display:flex; gap:22px; will-change:transform; }
.am-card{ flex:0 0 calc((100% - 44px)/3.25); margin:0; }
.am-card-img{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.am-card-img .media{ width:100%; aspect-ratio:4/3; }
.am-card-name{ margin-top:14px; text-align:center; font-family:var(--display); font-weight:400; font-size:1.18rem; color:var(--ink); }
.amenities-carousel .am-nav{ top:42%; }
.am-prev{ left:-10px; } .am-next{ right:-10px; }
@media (max-width:900px){ .am-card{ flex-basis:calc((100% - 22px)/2.2); } }
@media (max-width:560px){ .am-card{ flex-basis:84%; } .am-track{ gap:16px; } .amenities-carousel .am-nav{ top:40%; } .am-prev{ left:-4px; } .am-next{ right:-4px; } }


.avance-viewer{ margin-top:28px; }
.avance-meses{ display:flex; gap:4px; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; margin-bottom:22px; border-bottom:1px solid var(--line); scrollbar-width:none; }
.avance-meses::-webkit-scrollbar{ height:0; display:none; }
.avance-mes{ position:relative; flex:0 0 auto; padding:12px 18px; border:0; border-radius:0; background:transparent; color:var(--ink-soft); font-weight:600; font-size:.92rem; white-space:nowrap; transition:color .18s; }
.avance-mes:hover{ color:var(--green-ink); }
.avance-mes.is-active{ color:var(--green-ink); }
.avance-mes.is-active::after{ content:""; position:absolute; left:16px; right:16px; bottom:0; height:2.5px; border-radius:3px 3px 0 0; background:var(--green); }
.avance-aerea{ position:relative; margin:0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); }
.avance-aerea .media{ width:100%; aspect-ratio:16/9; }
.avance-pct-box{ position:absolute; right:16px; bottom:16px; z-index:2; display:flex; align-items:baseline; gap:2px; background:rgba(11,66,60,.92); color:#fff; padding:12px 18px; border-radius:var(--radius); box-shadow:0 6px 20px rgba(0,0,0,.3); }
.avance-pct-num{ font-family:var(--display); font-weight:700; font-size:2.4rem; line-height:1; }
.avance-pct-sym{ font-family:var(--display); font-weight:700; font-size:1.3rem; }
.avance-pct-lbl{ font-size:.72rem; color:rgba(255,255,255,.8); margin-left:6px; align-self:flex-end; max-width:7ch; line-height:1.05; }
@media (max-width:560px){ .avance-pct-num{ font-size:1.9rem; } .avance-pct-box{ right:10px; bottom:10px; padding:9px 13px; } }


.visit-banner{ background:#fff; }


.modelos > .container,
.amenidades > .container,
.ubicacion > .container,
.avance > .container,
.entregas > .container{ max-width: var(--maxw-wide); }


#brochureModal .modal-card{ max-width: 540px; }
#brochureModal .modal-head{ padding: 14px 24px; }
#brochureModal .modal-title{ font-size: 1.12rem; }
#brochureModal .modal-body{ padding: 12px 24px 20px; }
#brochureModal .modal-body .form-sub{ margin-bottom: 11px; font-size: .86rem; line-height: 1.4; }
#brochureModal .lead-form{ gap: 9px; }
#brochureModal .lead-form .field label{ margin-bottom: 3px; font-size: .82rem; }
#brochureModal .field input, #brochureModal .field select{ min-height: 40px; padding: 8px 12px; font-size: 16px; }
#brochureModal .lead-form .btn-lg{ min-height: 46px; margin-top: 2px; }
#brochureModal .checkbox{ font-size: .75rem; line-height: 1.35; }


.trayectoria{ background: var(--green-soft); }
.tray-stats{ display:flex; flex-wrap:wrap; gap:36px; margin-top:22px; }
.tray-stat{ display:flex; flex-direction:column; }
.tray-stat-num{ font-family:var(--display); font-weight:700; font-size:clamp(2rem, 1.4rem + 1.6vw, 2.8rem); line-height:1; color:var(--green-ink); }
.tray-stat-lbl{ font-size:.86rem; color:var(--ink-soft); margin-top:4px; }
.tray-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:32px; }
.tray-card{ margin:0; }
.tray-img{ position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); aspect-ratio:4/3; background:linear-gradient(140deg, #1947BA 0%, #2E7256 100%); }
.tray-img .media{ width:100%; height:100%; background:transparent; }
.tray-img .media::after{ display:none; }
.tray-logo{ position:absolute; left:12px; top:12px; z-index:2; max-height:30px; max-width:46%; filter:drop-shadow(0 1px 4px rgba(0,0,0,.5)); }
.tray-name{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px 16px 14px; color:#fff; font-family:var(--display); font-weight:400; font-size:1.18rem; background:linear-gradient(to top, rgba(8,46,40,.88), transparent); }
@media (max-width:900px){ .tray-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .tray-grid{ grid-template-columns:1fr; max-width:360px; margin-inline:auto; } .tray-stats{ gap:24px; } }


.avance-mes-tag{ position:absolute; left:16px; top:16px; z-index:2; background:rgba(11,66,60,.92); color:#fff; padding:7px 15px; border-radius:var(--radius-pill); font-weight:600; font-size:.85rem; box-shadow:0 4px 14px rgba(0,0,0,.25); }
@media (max-width:560px){ .avance-mes-tag{ left:10px; top:10px; padding:5px 12px; font-size:.78rem; } }


.model-panel, .entrega-foto{ box-shadow: var(--shadow-sm); }



.proyecto-map{ border:0; box-shadow:none; background:transparent; }

.model-panel{ background:transparent; border:0; box-shadow:none; padding:0; }
.mc-viewport{ border:0; }

.am-card-img{ border:0; box-shadow:none; }

.avance-aerea{ border:0; }

.entrega-foto{ border:0; box-shadow:none; }

.tray-img{ border:0; box-shadow:none; }




.am-viewport, .gallery-item, .avance-foto, .ubic-map{ border:0; }


.mc-nav, .am-nav{ border:0; }


.unday-card, .respaldo-stat, .proof-card, .testimonial{ border:0; box-shadow:none; }


.ubic-extra{ border:0; border-left:3px solid var(--green); border-radius:0; background:transparent; padding:6px 0 6px 16px; }


.amenity{ border:0; }


.cta-social a, .footer-social a{ border:0; }


.footer-main{ display:flex; flex-direction:column; gap:9px; padding-bottom:11px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-line{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.footer-org{ display:inline-flex; align-items:center; gap:10px; }
.footer-org .brand-name{ color:#fff; font-family:var(--display); font-size:1.32rem; font-weight:400; }
.footer-mark{ height:26px; width:auto; display:block; flex:none; }
.footer-mark-fop{ height:22px; }
.footer-pipe{ width:1px; height:18px; background:rgba(255,255,255,.22); flex:none; }
.footer-item{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; color:rgba(255,255,255,.78); }
.footer-ico{ display:inline-flex; width:16px; height:16px; color:rgba(255,255,255,.55); flex:none; }
.footer-ico svg{ width:16px; height:16px; }
.footer-line-maker{ gap:11px; font-size:.92rem; color:rgba(255,255,255,.82); padding-top:2px; }
.footer-line-respaldo{ flex-direction:column; align-items:flex-start; gap:9px; padding-top:2px; }
.footer-respaldo-label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.footer-respaldo{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.footer-respaldo-item{ display:inline-flex; align-items:center; gap:9px; font-size:.9rem; color:rgba(255,255,255,.8); }
@media (max-width:560px){
  .footer-line-info{ flex-direction:column; align-items:flex-start; gap:10px; }
  .footer-line-info .footer-pipe{ display:none; }
}






body{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}


.hero-title, .section-title, .cta-title, .visit-banner-title,
.proyecto-info .section-title, .am-title, .model-info .model-name, .unday-card h3{
  text-wrap: balance;
}

.hero-title{ line-height:1.08; letter-spacing:-.004em; }
.proyecto-info .section-title{ line-height:1.06; letter-spacing:-.004em; }

.section-title em, .visit-banner-title em, .cta-title em{ font-style:normal; }
.cta-title{ line-height:1.06; letter-spacing:-.01em; }
.section-title, .visit-banner-title{ line-height:1.1; letter-spacing:-.008em; }


p{ text-wrap: pretty; }
.section-lead{ line-height:1.55; max-width:54ch; }
.faq-answer-inner, .ubic-narr{ line-height:1.62; max-width:64ch; }


.eyebrow{ font-size:.74rem; letter-spacing:.18em; }


.stat-value, .respaldo-stat .num, .tray-stat-num, .model-spec-val,
.avance-pct-num, .proyecto-figure-num{ font-variant-numeric: lining-nums tabular-nums; }




.media--plano{ background:transparent !important; }
.media--plano::after{ display:none !important; }
.media--plano img{ object-fit:contain !important; }
.mc-viewport.is-plano{ background:transparent !important; }
.modal-body .media--plano{ background:#f3f4f3; }


.media.is-unverified{ background:linear-gradient(135deg,#d4d4d4 0%, #9c9c9c 100%) !important; }
.media.is-unverified::after{ opacity:1 !important;
  background:repeating-linear-gradient(45deg, rgba(255,255,255,.10) 0 12px, transparent 12px 24px) !important; }
.media-unv-tag{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
  font-family:var(--body); font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.95); text-shadow:0 1px 2px rgba(0,0,0,.3); pointer-events:none; }


@media (min-width:1025px){

  .model-panel{ align-items:start; grid-template-columns:0.62fr 1.38fr; gap:44px; }

  .model-panel .model-carousel{ height:100%; display:flex; flex-direction:column; }
  .model-panel .mc-viewport{ aspect-ratio:auto; flex:1 1 auto; min-height:560px; }

  .model-info{ align-self:start; justify-self:center; padding-left:0; max-width:380px; }
  .model-info .model-name{ font-size:1.95rem; }

  .model-specs-grid{ grid-template-columns:1fr; gap:15px; margin:20px 0 24px; max-width:none; }
  .model-spec-val{ font-size:1.12rem; }
}



.btn{ box-shadow:none !important; }
.btn:hover{ transform:none; box-shadow:none !important; }
.btn-brochure{ box-shadow:none !important; }
.wa-float{ box-shadow:0 6px 20px rgba(26,26,26,.14) !important; }

.model-spec-ico{ background:transparent !important; width:28px; height:28px; border-radius:0; }
.model-spec-ico svg{ width:27px; height:27px; }

.model-plantas{ background:transparent !important; padding:0; border-radius:0; }



:root{ --green-btn:#1947BA; }

.btn{ border-radius:2px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; font-size:.76rem; padding:15px 30px; }
.btn-sm{ padding:11px 22px; font-size:.7rem; letter-spacing:.1em; }
.btn-lg{ padding:18px 36px; font-size:.82rem; }


.btn{ height:48px; min-height:48px; padding-top:0; padding-bottom:0; }
.btn-sm{ height:42px; min-height:42px; }
.btn-lg{ height:54px; min-height:54px; }


#tourModal .modal-card{ max-width:min(1280px, 96vw); }
#tourModal .modal-body{ padding:0; }
.modal-body--tour{ height:76vh; background:#0B1020; overflow:hidden; }
.modal-body--tour iframe{ width:100%; height:100%; border:0; display:block; }

.modal-body--tour{ position:relative; }
.modal-body--tour iframe{ position:absolute; inset:0; }


.deco{ position:absolute; z-index:0; pointer-events:none; user-select:none; }
.deco img{ display:block; width:100%; height:auto; }

.deco--tr{ top:-46px; right:-34px; }
.deco--bl{ bottom:-56px; left:-44px; }
.deco--br{ bottom:-56px; right:-34px; }

.deco--fern{ width:clamp(118px, 13vw, 248px); }

.deco--light{ opacity:.14; mix-blend-mode:multiply; }

.deco--dark{ opacity:.12; }


.deco--dots{ top:0; left:0; right:0; opacity:.4; }
.deco--dots img{ width:100%; height:auto; }


.hero{ position:relative; }
.hero .deco{ z-index:1; }
.hero .hero-grid{ position:relative; z-index:2; }

.hero .deco--dark{ opacity:.22; mix-blend-mode:screen; }


.cta-final{ overflow:hidden; }
.cta-final .cta-grid{ position:relative; z-index:1; }


.modelos, .amenidades, .visit-banner, .ubicacion, .trayectoria{ position:relative; overflow:hidden; }
.modelos > .container, .amenidades > .container, .visit-banner > .container,
.ubicacion > .container, .trayectoria > .container{ position:relative; z-index:1; }

.amenidades .deco--light, .trayectoria .deco--light{ opacity:.2; }

@media (max-width:640px){
  .deco{ opacity:.09; }
  .deco--hide-mobile{ display:none; }
}


.cta-stat .lbl{ color: rgba(255,255,255,.72); }
.cta-form-card .form-or{ color: rgba(255,255,255,.66); }


.footer-mark{ filter: brightness(0) invert(1); }
.footer-mark-fop{ filter: brightness(0) invert(1); background:none; padding:0; border-radius:0; height:30px; }

.brand .brand-logo{ height:38px; width:auto; display:block; }
.footer-org .footer-logo{ height:40px; width:auto; display:block; }
@media (max-width:640px){ .brand .brand-logo{ height:31px; } .footer-org .footer-logo{ height:34px; } }


.footer-credits{ display:flex; align-items:stretch; justify-content:flex-start; gap:30px; flex-wrap:wrap; padding-top:2px; }
.footer-credit{ display:flex; flex-direction:column; align-items:center; gap:7px; }
.footer-credit-label{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.footer-credit-logo{ height:22px; width:auto; display:block; }
.footer-credit-sep{ width:1px; align-self:stretch; background:rgba(255,255,255,.16); }
@media (max-width:560px){ .footer-credits{ gap:18px; } .footer-credit-logo{ height:20px; } .footer-credit-sep{ display:none; } }


.tray-img{ background:transparent !important; border:0 !important; box-shadow:none !important;
  aspect-ratio:auto !important; overflow:visible !important; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:14px; padding:22px 12px; min-height:132px; }
.tray-img .media{ display:none !important; }

.tray-logo{ position:static !important; filter:none !important; z-index:auto;
  width:100%; max-width:210px; height:auto; max-height:none; }
.tray-name{ position:static !important; background:none !important; padding:0 !important;
  color:var(--ink) !important; font-size:.98rem; line-height:1.3; text-align:center; }




.model-disclaimer{ margin:12px 2px 0; font-size:.72rem; color:var(--ink-soft); opacity:.72; letter-spacing:.01em; }


.am-disclaimer{ margin:14px 2px 0; font-size:.72rem; color:var(--ink-soft); opacity:.72; letter-spacing:.01em; text-align:right; }


@media (min-width:1025px){
  .model-panel .model-ctas{ flex-direction:column; align-items:flex-start; gap:14px; margin-left:0; }
}

.mc-dots{ margin-top:8px; }
.model-disclaimer{ margin-top:4px; }


.model-carousel .model-disclaimer{
  position:static; margin:5px 2px 0; padding:0;
  text-align:right; max-width:none; pointer-events:auto;
  font-size:.72rem; letter-spacing:.01em; line-height:1.2;
  color:var(--ink-soft); opacity:.78; text-shadow:none;
}



:root{
  --green:#2C7E6E;
  --green-btn:#256B5E;
  --green-ink:#1C564C;
  --green-soft:#E5F1ED;
}


.btn-primary:hover{ background:#1C564C; }
.brochure-float:hover{ background:#1C564C; }
.btn-brochure{ box-shadow:0 4px 14px rgba(44,126,110,.26); }
.btn-brochure:hover{ background:#1C564C; border-color:#1C564C; }
.media--hero{ background:linear-gradient(120deg,#0B423C 0%, #2C7E6E 48%, #A7D5AD 100%); }
.media--model{ background:linear-gradient(135deg,#E5F1ED 0%, #F2EDE6 100%); }
.tray-img{ background:linear-gradient(140deg, #2C7E6E 0%, #0B423C 100%); }



.cta-final{ background:#789A8C; }
.cta-final .eyebrow, .cta-final .eyebrow.light{ color:#122019; }
.cta-title{ color:#122019; }
.cta-title em{ color:#274036; font-style:normal; }
.cta-lead{ color:rgba(18,32,25,.82); }
.cta-stat .num{ color:#122019; }
.cta-stat .lbl{ color:rgba(18,32,25,.78); }
.cta-legal-links a{ color:rgba(18,32,25,.8); }
.cta-legal-links a:hover{ color:#122019; }
.cta-social a{ border-color:rgba(18,32,25,.3); color:rgba(18,32,25,.82); }
.cta-social a:hover{ border-color:#122019; color:#122019; background:rgba(18,32,25,.06); }

.cta-final .deco--dark{ opacity:.10; }
.cta-final .deco--dark img{ filter:brightness(0); }

.cta-form-card{ background:#FFFFFF; border-color:rgba(0,0,0,.08); backdrop-filter:none; box-shadow:0 14px 34px rgba(18,32,25,.18); }
.cta-form-card .form-title{ color:var(--ink); }
.cta-form-card .form-sub{ color:var(--ink-soft); }
.cta-form-card .field > label, .cta-form-card .segmented legend{ color:var(--ink); }
.cta-form-card .field input, .cta-form-card .field select{ background:#fff; border-color:var(--line); color:var(--ink); }
.cta-form-card .field input::placeholder{ color:#9b9b9b; }
.cta-form-card .form-note, .cta-form-card .checkbox, .cta-form-card .form-or{ color:var(--ink-soft); }
.cta-form-card .form-or::before, .cta-form-card .form-or::after{ background:var(--line); }
.cta-form-card .form-success-title{ color:var(--ink); }
.cta-form-card .form-success p{ color:var(--ink-soft); }


.site-footer{ background:#0B423C; }
.footer-credit-logo--fop{ height:46px; }


:root{ --coral-btn:#FF874B; --coral-btn-hover:#F0713A; --coral-btn-ink:#1A1A2E; }


.btn-brochure{ background:var(--coral-btn); border-color:var(--coral-btn); color:var(--coral-btn-ink);
  box-shadow:0 4px 14px rgba(255,135,75,.30); }
.btn-brochure:hover{ background:var(--coral-btn-hover); border-color:var(--coral-btn-hover); color:var(--coral-btn-ink); }


#heroForm .btn-primary{ background:var(--coral-btn); color:var(--coral-btn-ink); }
#heroForm .btn-primary:hover{ background:var(--coral-btn-hover); }


.brochure-float{ background:var(--coral-btn); color:var(--coral-btn-ink); }
.brochure-float:hover{ background:var(--coral-btn-hover); }




.hero-sub-parrafo{
  margin-top:22px; max-width:52ch;
  font-family:var(--body); color:rgba(255,255,255,.92);
  font-size:clamp(1.02rem,.96rem+.4vw,1.22rem); line-height:1.5;
}


.field .req{ color:var(--coral-btn); font-weight:700; margin-left:1px; }


.model-precio{ margin:2px 0 14px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.model-precio-lbl{ font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); }
.model-precio-val{ font-family:var(--display); font-size:1.5rem; font-weight:700; color:var(--green-ink); line-height:1; }


.btn-brochure-dl{ display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.btn-brochure-dl svg{ width:18px; height:18px; flex:none; }
.model-brochure{ margin-top:12px; width:100%; }
.proyecto-cta{ margin-top:22px; }
.proyecto-cta .btn-brochure-dl{ min-width:220px; }




.hero-copy{ max-width:600px; }
.hero-title{ font-size:clamp(2.9rem, 1.7rem + 4.6vw, 4.9rem); line-height:1.04; }
.hero-sub-parrafo{
  margin-top:26px; max-width:50ch;
  font-size:clamp(1.12rem, 1rem + .55vw, 1.4rem); line-height:1.5;
  color:rgba(255,255,255,.94);
}


.deco--fern{ width:clamp(200px, 24vw, 380px); }

.modelos .deco--fern,
.ubicacion .deco--fern{ width:clamp(140px, 15vw, 250px); }

.amenidades .deco--tr img,
.trayectoria .deco--tr img{ transform:scaleX(-1); }



@media (min-width:1025px){
  .model-info .model-ctas{
    flex-direction:row; align-items:center; flex-wrap:wrap;
    gap:18px; width:100%; max-width:360px; margin-top:14px;
  }
  .model-info .model-ctas .btn{ flex:0 1 auto; min-width:170px; }
  .model-info .model-tour-link{ flex:0 0 auto; white-space:nowrap; }
  .model-info .model-brochure{ width:100%; max-width:360px; margin-top:14px; }
}


.mc-slide{ overflow:hidden; }
.sold-ribbon{
  position:absolute; top:40px; right:-56px; z-index:3; pointer-events:none;
  width:214px; text-align:center;
  transform:rotate(45deg); transform-origin:center;
  background:var(--coral-btn); color:var(--coral-btn-ink);
  font-family:var(--body); font-weight:800; font-size:.82rem;
  text-transform:uppercase; letter-spacing:.05em;
  padding:8px 0; box-shadow:0 3px 10px rgba(0,0,0,.28);
}
@media (max-width:640px){
  .sold-ribbon{ top:28px; right:-56px; width:190px; font-size:.72rem; padding:6px 0; }
}


.footer-mail-txt{ color:inherit; text-decoration:none; transition:color .18s var(--ease); }
.footer-mail-txt:hover{ color:#fff; text-decoration:underline; text-underline-offset:2px; }


.footer-credit-logo--edge{ height:26px; width:auto; filter:none; }
@media (max-width:560px){ .footer-credit-logo--edge{ height:24px; } }


.footer-credit-logo--fides{ height:30px; width:auto; }
@media (max-width:560px){ .footer-credit-logo--fides{ height:26px; } }


.footer-line-info .footer-social{ margin-left:auto; gap:6px; }
.footer-line-info .footer-social a{ width:32px; height:32px; }
.footer-line-info .footer-social svg{ width:17px; height:17px; }
@media (max-width:900px){

  .footer-line-info .footer-social{ margin-left:0; margin-top:2px; }
}




.site-header.scrolled .btn-brochure{
  background:var(--green-btn); border-color:var(--green-btn); color:#fff;
  box-shadow:0 4px 14px rgba(44,126,110,.26);
}
.site-header.scrolled .btn-brochure:hover{
  background:#1C564C; border-color:#1C564C; color:#fff;
}


.btn-map{ display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn-map svg{ width:17px; height:17px; flex:none; }




.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0; z-index:120;
  background:var(--coral-btn, #FF874B);
  box-shadow:0 0 8px rgba(255,135,75,.5);
  transition:width .1s linear; pointer-events:none;
}


.rv{ opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease); transition-delay:var(--rvd, 0ms); }
.rv-in{ opacity:1; transform:none; }


.hero-media img{ animation:kenburns 22s ease-in-out infinite alternate; transform-origin:center; }
@keyframes kenburns{ from{ scale:1; } to{ scale:1.07; } }


.tn-pulse{ transform-box:fill-box; transform-origin:center; animation:tnpulse 2.8s ease-out infinite; }
@keyframes tnpulse{
  0%   { transform:scale(.72); opacity:.55; }
  70%  { transform:scale(1.25); opacity:0; }
  100% { transform:scale(1.25); opacity:0; }
}



.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0) scale(.98); }

.model-tab{ transition:color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease); }
.model-tab:hover{ transform:translateY(-2px); }

.mc-slide .media img{ transition:transform .7s var(--ease); }
.model-carousel:hover .mc-slide.is-active .media img{ transform:scale(1.045); }

.mc-nav, .am-nav{ transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease); }
.mc-nav:hover, .am-nav:hover{ transform:scale(1.08); }
.am-nav:hover{ transform:translateY(-50%) scale(1.08); }

.am-card{ transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.am-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.am-card .media img{ transition:transform .6s var(--ease); }
.am-card:hover .media img{ transform:scale(1.05); }

.tray-card .tray-img{ transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.tray-card:hover .tray-img{ transform:translateY(-4px); box-shadow:var(--shadow); }

.btn-brochure-dl:hover{ transform:translateY(-2px); }


@media (prefers-reduced-motion: reduce){
  .scroll-progress{ display:none; }
  .rv, .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .hero-media img{ animation:none; }
  .tn-pulse{ animation:none; opacity:.4; }
  .btn:hover, .btn:active,
  .model-tab:hover, .mc-nav:hover, .am-nav:hover,
  .am-card:hover, .tray-card:hover .tray-img, .btn-brochure-dl:hover{ transform:none; }
  .model-carousel:hover .mc-slide.is-active .media img,
  .am-card:hover .media img{ transform:none; }
}



.referidos-banner{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px 0;
}
.referidos-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:28px; flex-wrap:wrap;
}

.referidos-copy{
  flex:1 1 420px; min-width:0;
  border-left:3px solid var(--coral);
  padding-left:18px;
}

.referidos-title em,
.referidos-monto{ font-style:normal; color:var(--coral-ink); }
.referidos-eyebrow{
  font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em;
  color:var(--green-ink); margin:0 0 4px;
}
.referidos-title{
  font-family:var(--display); font-size:1.5rem; font-weight:400; line-height:1.2;
  color:var(--ink); margin:0 0 4px;
}
.referidos-sub{ font-size:.94rem; color:var(--ink-soft); margin:0; max-width:62ch; }

.referidos-cta{
  flex:0 0 auto; white-space:nowrap;
  background:var(--coral); border-color:var(--coral); color:#1A1A2E;
  box-shadow:var(--shadow-sm);
}
.referidos-cta:hover{
  background:#F2762F; border-color:#F2762F; color:#1A1A2E;
  box-shadow:var(--shadow);
}

@media (max-width:760px){
  .referidos-banner{ padding:22px 0; }
  .referidos-inner{ gap:16px; }
  .referidos-title{ font-size:1.3rem; }
  .referidos-sub{ font-size:.88rem; }
  .referidos-cta{ width:100%; justify-content:center; }
}



.visit-banner{ background:var(--sand); }
.ubicacion{ background:var(--paper); }
.entregas{ background:var(--sand); border-top:1px solid var(--line); }


:root{
  --green:#1947BA;
  --green-btn:#1740A6;
  --green-ink:#153A94;
  --green-soft:#EAF0FB;
}


.btn-primary:hover{ background:#153A94; }
.brochure-float:hover{ background:#153A94; }
.btn-brochure{ box-shadow:0 4px 14px rgba(25,71,186,.26); }
.btn-brochure:hover{ background:#153A94; border-color:#153A94; }

.media--hero{ background:linear-gradient(120deg,#0E2A6B 0%, #1947BA 48%, #98D1FF 100%); }
.media--model{ background:linear-gradient(135deg,#EAF0FB 0%, #F2EDE6 100%); }
.tray-img{ background:linear-gradient(140deg, #1947BA 0%, #0E2A6B 100%); }


.cta-final{ background:#7C93C4; }
.cta-final .eyebrow, .cta-final .eyebrow.light{ color:#101B33; }
.cta-title{ color:#101B33; }


:root{ --dark:#0E2A6B; }
.site-footer{ background:#0E2A6B; }
.media--amenity{ background:linear-gradient(135deg,#0E2A6B 0%, #2D5BA8 100%); }


.reveal{
  transform:translateY(14px);
  transition:opacity .45s cubic-bezier(.22,.61,.36,1),
             transform .45s cubic-bezier(.22,.61,.36,1);
}

.reveal:nth-child(2){ transition-delay:.06s; }
.reveal:nth-child(3){ transition-delay:.12s; }
.reveal:nth-child(4){ transition-delay:.18s; }


.am-card:hover, .tray-card:hover{ transform:translateY(-3px); }

@media (prefers-reduced-motion: reduce){
  .reveal{ transform:none; transition:none; }
  .reveal:nth-child(n){ transition-delay:0s; }
}


.cta-title em{ color:#16255C; }




:root{ --radius:2px; --radius-lg:3px; }
.mc-viewport, .am-card-img .media, .tray-img, .ubic-map,
.hero-form-card, .model-panel, .entrega-foto .media{ border-radius:3px; }
.btn{ border-radius:2px; }


.stats-inner{ padding-block:30px; gap:0; }
.stats .stat{ position:relative; padding:6px 26px; }
.stats .stat + .stat{ border-left:1px solid rgba(255,255,255,.16); }


.am-card .media, .tray-img{ box-shadow:none; border:1px solid var(--line); }
.am-card{ position:relative; }
.am-card::after{
  content:""; position:absolute; top:0; left:0; width:0; height:2px;
  background:var(--green); transition:width .35s cubic-bezier(.22,.61,.36,1);
}
.am-card:hover::after{ width:100%; }
.am-card:hover, .tray-card:hover{ transform:none; }
.am-card:hover .media img{ transform:scale(1.03); }


.model-tab{ padding:12px 20px; border-left:2px solid transparent; }
.model-tab.is-active{ background:var(--green-soft); border-left-color:var(--green); }
.model-tab::after{ display:none !important; }


.eyebrow::after{ content:"_"; margin-left:.35em; opacity:.55; }


.section-title{ letter-spacing:-.012em; }

@media (prefers-reduced-motion: reduce){
  .am-card::after{ transition:none; }
}




.hero{ min-height:720px; align-items:flex-end; }
.hero .hero-grid{ padding-bottom:64px; align-items:end; }
.hero-copy{ position:relative; padding-left:26px; }

.hero-copy::before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:2px;
  background:linear-gradient(180deg, var(--coral) 0%, rgba(255,135,75,0) 100%);
}

.hero-copy::after{ content:none; display:none; }
.hero-title{ line-height:.98; letter-spacing:-.02em; }
.hero-sub-parrafo{ max-width:52ch; }


.model-panel{ background:#fff; padding:26px; gap:26px; }
.model-info{ padding-right:26px; }
.model-specs-grid{ padding-top:14px; }
.model-spec{ padding:7px 0; }
@media (max-width:900px){
  .model-info{ padding-right:0; padding-bottom:20px; }
}


.ubic-item{ border-bottom:1px solid var(--line); }
.ubic-item:first-child{ border-top:1px solid var(--line); }
.ubic-map{ box-shadow:none; }


.site-footer{ border-top:3px solid var(--coral); }


.btn{ letter-spacing:.1em; }

.section-head .eyebrow{ margin-bottom:10px; }
.section{ padding-block:76px; }




.section-title,
.visit-banner-title,
.cta-title,
.referidos-title{
  font-family:var(--body);
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.09em;
  font-size:clamp(1.4rem, 1rem + 1.8vw, 2.2rem);
  line-height:1.25;
}
.section-title em,
.visit-banner-title em,
.cta-title em,
.referidos-title em{
  font-family:var(--display);
  font-style:italic;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  color:var(--coral-ink);
}



.section-head{
  justify-content:center;
  text-align:center;
}
.section-head > div{ width:100%; }
.section-head .eyebrow{ justify-content:center; }
.section-head .section-lead{ margin-inline:auto; max-width:60ch; text-align:center; }

.trayectoria > .container > .eyebrow,
.trayectoria > .container > .section-title,
.trayectoria > .container > .section-lead{ text-align:center; }
.trayectoria > .container > .section-lead{ margin-inline:auto; max-width:60ch; }


.modelos{ background:#fff; }
.amenidades{ background:#F3F7FD; }
.entregas{ background:#F3F7FD; border-top:1px solid var(--line); }
.trayectoria{ background:#fff; }


.hero-media{ display:none; }
.hero-overlay{ display:none; }
.hero{
  background:linear-gradient(160deg,#0E2A6B 0%,#1947BA 55%,#98D1FF 100%);
}

.hero::before{
  content:"";
  position:absolute; inset:0; z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.28) 1px, transparent 1.5px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.15) 78%, transparent 100%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.15) 78%, transparent 100%);
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute; z-index:0; pointer-events:none;
  top:-18%; right:-22%;
  width:60vw; height:60vw; max-width:900px; max-height:900px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
}


.stats-inner{ counter-reset:stat-n; }
.stats .stat{ counter-increment:stat-n; }
.stats .stat::before{
  content:counter(stat-n, decimal-leading-zero) "_";
  display:block; margin-bottom:6px;
  font-family:var(--body); font-size:.72rem; font-weight:600;
  letter-spacing:.08em; color:var(--coral);
}

@media (prefers-reduced-motion: reduce){
  .hero::before, .hero::after{ transition:none; }
}




@media (min-width:1025px){
  .model-panel{ grid-template-columns:1.38fr 0.62fr; }
  .model-panel .model-carousel{ order:1; }
  .model-panel .model-info{ order:2; justify-self:start; }
}
@media (max-width:1024px){

  .model-panel .model-info{ order:2; }
  .model-panel .model-carousel{ order:1; }
}


.models-tabs{
  display:inline-flex; gap:2px; overflow-x:auto; overflow-y:hidden;
  margin-bottom:34px; padding:4px; border-bottom:0;
  background:var(--green-soft); border-radius:3px; max-width:100%;
}
.model-tab{
  border-left:0; border-radius:2px; padding:11px 20px;
  background:transparent; box-shadow:none;
}
.model-tab.is-active{
  background:#fff; color:var(--ink);
  box-shadow:0 1px 3px rgba(16,27,51,.14);
}
.model-tab::after, .model-tab.is-active::after{ display:none !important; }
@media (max-width:560px){
  .models-tabs{ display:flex; width:100%; }
  .model-tab{ flex:1 1 auto; text-align:center; padding:10px 12px; }
}


.model-specs-grid{ row-gap:18px; }
.model-spec-val{ font-family:var(--body); font-weight:700; }


.am-card{ flex:0 0 calc((100% - 66px)/4.35); display:flex; flex-direction:column; align-items:center; }
.am-card-img{
  width:100%; aspect-ratio:1/1; border-radius:50%; overflow:hidden;
  border:1px solid var(--line); box-shadow:none;
}
.am-card-img .media{ width:100%; height:100%; aspect-ratio:1/1; }
.am-card-img .media img{ width:100%; height:100%; object-fit:cover; display:block; }
.am-card::after{ display:none; }
.am-card:hover .media img{ transform:scale(1.06); }
@media (max-width:900px){ .am-card{ flex-basis:calc((100% - 44px)/3.3); } }
@media (max-width:560px){ .am-card{ flex-basis:calc((100% - 16px)/2.35); } .am-track{ gap:16px; } }


.visit-banner{
  background:linear-gradient(135deg,#FFA55A 0%,#FF874B 100%);
  border-block:0;
}
.visit-banner-title, .visit-banner-title em{ color:#1A1A2E; }
.visit-banner-sub{ color:rgba(26,26,46,.78); }
.visit-banner .btn-primary{
  background:#1947BA; border-color:#1947BA; color:#fff;
}
.visit-banner .btn-primary:hover{ background:#153A94; border-color:#153A94; }

.visit-banner .deco{ display:none; }


@media (min-width:761px){
  .ubic-grid .ubic-map{ order:2; }
  .ubic-grid .ubic-info{ order:1; }
}

@media (max-width:760px){
  .ubic-grid .ubic-map{ order:1; }
  .ubic-grid .ubic-info{ order:2; }
}


.cta-final{
  background:linear-gradient(160deg,#0E2A6B 0%,#1947BA 100%);
}
.cta-final .eyebrow, .cta-final .eyebrow.light{ color:rgba(255,255,255,.72); }
.cta-title{ color:#fff; }
.cta-title em{ color:#98D1FF; font-style:italic; }
.cta-lead{ color:rgba(255,255,255,.85); }
.cta-stat .num{ color:#fff; }
.cta-stat .lbl{ color:rgba(255,255,255,.72); }
.cta-legal-links a{ color:rgba(255,255,255,.72); }
.cta-legal-links a:hover{ color:#fff; }
.cta-social a{ border-color:rgba(255,255,255,.32); color:rgba(255,255,255,.82); }
.cta-social a:hover{ border-color:#fff; color:#fff; background:rgba(255,255,255,.08); }

.cta-final .deco--dark{ opacity:.14; }
.cta-final .deco--dark img{ filter:none; }


.referidos-banner{ background:#F3F7FD; }


.stats .stat{ --rvd:0ms; }
.stats .stat.rv{ transition-duration:.35s; }




.site-header{
  background:#F7F9FE;
  border-bottom:2px solid #DCE6FA;
}
.site-header.scrolled{
  background:rgba(247,249,254,.94);
  border-bottom-color:#DCE6FA;
}
.site-header .btn-brochure{
  background:var(--green-btn); border-color:var(--green-btn); color:#fff;
  box-shadow:0 4px 14px rgba(25,71,186,.22);
}
.site-header .btn-brochure:hover{
  background:#153A94; border-color:#153A94; color:#fff;
}
.site-header.scrolled .btn-brochure{
  background:var(--green-btn); border-color:var(--green-btn); color:#fff;
}
.site-header.scrolled .btn-brochure:hover{
  background:#153A94; border-color:#153A94;
}


.wa-float{ border-radius:50%; }
.brochure-float{ border-radius:var(--radius-lg); }


.site-footer{ background:#0B2158; }


.trayectoria .deco--fern{ width:clamp(90px, 9vw, 160px); opacity:.5; }
.trayectoria .deco--br{ bottom:auto; top:-30px; right:-20px; }
.amenidades .deco--fern, .modelos .deco--fern, .ubicacion .deco--fern{
  width:clamp(84px, 8vw, 150px);
}

@media (max-width:760px){
  .site-header{ border-bottom-width:1px; }
}




#modelsViewer .model-specs-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 22px; row-gap:14px;
}
@media (max-width:560px){
  #modelsViewer .model-specs-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}


.section-title em, .visit-banner-title em, .cta-title em, .referidos-title em{
  font-family:inherit; font-style:normal; font-weight:inherit;
  letter-spacing:inherit; text-transform:uppercase;
}


.eyebrow::after{ content:none; }
.stats .stat::before{ content:none; }


.trayectoria .deco{ display:none; }


.tray-stats{ justify-content:center; text-align:center; }
.tray-stat{ align-items:center; }


.site-header, .site-header.scrolled{
  background:#0E2A6B;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.site-header.scrolled{ box-shadow:0 8px 24px rgba(7,20,60,.35); }

.site-header .brand-logo{ content:url("assets/img/logo-cittavento-blanco.png"); }

.site-header .header-horario{ color:rgba(255,255,255,.66); }
.site-header .header-address{ color:rgba(255,255,255,.78); }
.site-header .header-address:hover{ color:#98D1FF; }
.site-header .header-sep{ background:rgba(255,255,255,.25); }

.site-header .nav-desktop a{ color:rgba(255,255,255,.85); }
.site-header .nav-desktop a:hover{ color:#fff; }
.site-header .nav-desktop a::after{ background:#98D1FF; }

.site-header .btn-brochure{
  background:var(--coral); border-color:var(--coral); color:#1A1A2E;
  box-shadow:none;
}
.site-header .btn-brochure:hover{ background:#F2762F; border-color:#F2762F; color:#1A1A2E; }

.site-header .menu-toggle span{ background:#fff; }


.section-title, .visit-banner-title, .cta-title, .referidos-title{
  font-family:'Futura Std','Jost',system-ui,sans-serif;
  font-weight:400;
}


.entregas > .container > .eyebrow,
.entregas > .container > .section-title,
.entregas > .container > .section-lead{ text-align:center; }
.entregas > .container > .section-lead{ max-width:60ch; margin-inline:auto; }




.section-head{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(15rem,0.5fr);
  justify-content:normal;
  align-items:end;
  gap:clamp(20px, 4vw, 48px);
  text-align:left;
}
.section-head > div{ width:auto; max-width:34rem; }
.section-head .eyebrow{ justify-content:flex-start; }
.section-head .section-title{ text-align:left; }
.section-head .section-lead{
  margin-inline:0; margin-top:0; max-width:32ch;
  text-align:left; padding-bottom:.2em;
}
@media (max-width:760px){
  .section-head{ grid-template-columns:1fr; gap:14px; }
  .section-head .section-lead{ max-width:60ch; }
}




.am-window{ overflow:visible; }
.am-track{
  display:grid;
  grid-template-columns:repeat(12, minmax(0,1fr));
  grid-auto-rows:14rem;
  gap:14px;

  transition:none;
  width:100%;
}
.am-card{
  flex:none; display:block;
  position:relative;
  grid-column:span 4;
  grid-row:span 1;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.am-card:nth-child(1){ grid-column:span 7; grid-row:span 2; }
.am-card:nth-child(2),
.am-card:nth-child(3){ grid-column:span 5; grid-row:span 1; }
.am-card:nth-child(n+4){ display:none; }

.am-card-img{
  width:100%; height:100%; aspect-ratio:auto; border-radius:0;
  border:0; box-shadow:none;
}
.am-card-img .media{ width:100%; height:100%; aspect-ratio:auto; }
.am-card-img .media img{ width:100%; height:100%; object-fit:cover; display:block; }
.am-card::after{
  content:""; display:block; position:absolute; inset:auto 0 0 0; z-index:1;
  height:65%;
  background:linear-gradient(to top, rgba(10,20,40,.82), rgba(10,20,40,0));
  pointer-events:none;
}
.am-card:hover .media img{ transform:scale(1.045); }


.am-card-name{
  position:absolute; z-index:2; left:18px; right:18px; bottom:16px;
  margin-top:0; text-align:left;
  font-family:var(--body); font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; font-size:.98rem; color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.25);
}
.am-card:nth-child(1) .am-card-name{ font-size:1.2rem; }


.amenities-carousel{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px;
  margin-bottom:8px;
}
.amenities-carousel .am-window{ order:1; flex:1 1 100%; }
.amenities-carousel .am-prev{ order:2; }
.amenities-carousel .am-next{ order:3; }
.amenities-carousel .am-nav{
  position:static; transform:none; width:auto; height:auto;
  padding:10px 18px; border-radius:var(--radius-lg);
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.amenities-carousel .am-nav:hover{ transform:none; background:var(--green-soft); }

@media (max-width:900px){
  .am-track{ grid-auto-rows:11.5rem; }
}
@media (max-width:560px){
  .am-track{ grid-template-columns:repeat(2, minmax(0,1fr)); grid-auto-rows:13rem; gap:10px; }
  .am-card{ grid-column:span 1 !important; grid-row:span 1 !important; }
  .am-card:nth-child(1){ grid-column:span 2 !important; grid-row:span 1 !important; height:15rem; }
  .am-card-name{ font-size:.86rem; left:12px; right:12px; bottom:12px; }
  .am-card:nth-child(1) .am-card-name{ font-size:1rem; }
}


.model-status{
  display:inline-flex; align-items:center; vertical-align:middle;
  margin-left:10px; padding:.3em .75em; border-radius:var(--radius-lg);
  font-family:var(--body); font-size:.66rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  background:var(--green-soft); color:var(--green-ink);
}
.model-status.is-sold{
  background:#F7E7DE; color:#9C4A22;
}


.text-link{
  display:inline-flex; align-items:center; gap:8px;
  border-bottom:1px solid currentColor; padding-bottom:2px;
  font-weight:600;
}
.text-link::after{
  content:"→"; display:inline-block;
  transition:transform .18s var(--ease);
}
.text-link:hover::after{ transform:translateX(4px); }

.referidos-cta.text-link{
  background:transparent; border-color:transparent; border-bottom-color:var(--coral-ink);
  color:var(--coral-ink); box-shadow:none; padding:0; min-height:0;
  border-radius:0;
}
.referidos-cta.text-link:hover{
  background:transparent; border-color:transparent; border-bottom-color:var(--coral-ink);
  color:#F2762F; box-shadow:none; transform:none;
}
.referidos-cta.text-link:hover::after{ transform:translateX(4px); }


.model-carousel .model-disclaimer{ display:none; }
.models-note{
  margin-top:18px; font-size:.78rem; line-height:1.5;
  color:var(--ink-soft); opacity:.85; max-width:62ch;
}


.footer-main{ display:block; border-bottom:0; padding-bottom:0; }
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 0.8fr 1fr;
  gap:clamp(28px, 5vw, 56px);
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:26px;
}
.footer-brand .footer-logo{ height:38px; width:auto; display:block; margin-bottom:14px; }
.footer-brand p{ font-size:.86rem; line-height:1.55; color:rgba(255,255,255,.62); max-width:32ch; margin-bottom:18px; }
.footer-brand .footer-social{ margin:0; }
.footer-col h2{
  margin-bottom:14px; color:rgba(255,255,255,.5);
  font-family:var(--body); font-size:.68rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
}
.footer-col{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.footer-col a{
  display:flex; align-items:center; min-height:2.15rem;
  font-size:.88rem; color:rgba(255,255,255,.78);
  transition:color .18s var(--ease);
}
.footer-col a:hover{ color:#fff; }
.footer-col .footer-item{
  align-items:flex-start; gap:9px; margin-bottom:10px;
  font-size:.88rem; color:rgba(255,255,255,.78); line-height:1.4;
}
.footer-col .footer-item .footer-ico{ margin-top:2px; flex:none; }
.footer-credits{ padding-top:0; }

@media (max-width:900px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1 / -1; margin-bottom:8px; }
}
@media (max-width:560px){
  .footer-grid{ grid-template-columns:1fr; gap:26px; }
  .footer-col{ align-items:flex-start; }
}


.site-header, .site-header.scrolled{
  background:#fff;
  border-top:3px solid var(--coral);
  border-bottom:1px solid #DCE6FA;
  box-shadow:none;
}
.site-header.scrolled{ box-shadow:0 6px 22px rgba(14,42,107,.10); }

.site-header .brand-logo{ content:url("assets/img/logo-cittavento-negro.png"); }

.site-header .header-horario{ color:#5A6B94; }
.site-header .header-address{ color:#3D4F7E; }
.site-header .header-address:hover{ color:var(--green); }
.site-header .header-sep{ background:#C9D6F2; }
.site-header .nav-desktop a{ color:#22336B; }
.site-header .nav-desktop a:hover{ color:var(--green); }
.site-header .nav-desktop a::after{ background:var(--green); }

.site-header .btn-brochure{
  background:var(--green-btn); border-color:var(--green-btn); color:#fff;
  box-shadow:none;
}
.site-header .btn-brochure:hover{ background:#153A94; border-color:#153A94; color:#fff; }
.site-header .menu-toggle span{ background:#22336B; }


.site-footer{ padding-block:26px 14px; }
.footer-grid{ padding-bottom:18px; margin-bottom:16px; gap:clamp(22px,4vw,44px); }
.footer-brand .footer-logo{ height:30px; margin-bottom:10px; }
.footer-brand p{ margin-bottom:10px; font-size:.84rem; }
.footer-col h2{ margin-bottom:8px; }
.footer-col a{ min-height:1.8rem; font-size:.86rem; }
.footer-col .footer-item{ margin-bottom:6px; font-size:.86rem; }
.footer-credits{ gap:24px; }
.footer-credit-logo{ height:20px; }
.footer-credit-logo--fides{ height:26px; }
.footer-credit-logo--edge{ height:23px; }
.footer-credit-logo--fop{ height:38px; }
.footer-bottom{ padding-top:8px; gap:5px; }
.footer-legal{ font-size:.74rem; }


.ubic-map:has(.ubic-svgmap){
  background:transparent;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  border:0;
}


.ubicacion{ background:#EAF0FB; }


.am-card{ transition:opacity .16s ease, transform .3s cubic-bezier(.22,.61,.36,1); }
.am-card.am-out{ opacity:0; }
.am-card.am-swap{ opacity:0; transform:translateY(10px); transition:none; }
@media (prefers-reduced-motion: reduce){
  .am-card, .am-card.am-out, .am-card.am-swap{ transition:none; opacity:1; transform:none; }
}


.footer-line-info{
  display:flex; align-items:center; flex-wrap:wrap; gap:16px 22px;
  padding-bottom:0; border-bottom:0; margin-bottom:0;
}
.footer-line-info .footer-logo{ height:34px; width:auto; margin:0; }
.footer-line-info .footer-social{ margin-left:auto; gap:6px; }




.model-panel{
  background:transparent; border:0; border-radius:0; padding:0; box-shadow:none;
  gap:40px;
}
.model-info{ padding-right:0; }
.mc-viewport{ border:0; }
@media (max-width:900px){
  .model-info{ padding-bottom:0; }
}


.model-info .model-name{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(2.8rem, 2rem + 3.2vw, 4.4rem);
  line-height:.96;
  letter-spacing:-.01em;
  color:#0E2A6B;
  margin-bottom:4px;
}
@media (min-width:1025px){
  .model-info .model-name{ font-size:clamp(2.6rem, 1.6vw + 2.2rem, 3.6rem); }
}


.model-info .model-plantas{
  display:inline-block; margin-top:10px; margin-bottom:4px;
  background:rgba(14,42,107,.85) !important; color:#fff;
  font-family:var(--body); font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em;
  padding:6px 14px !important; border-radius:var(--radius-pill) !important;
}




.model-precio-val{
  font-family:var(--display); font-weight:400; font-size:1.7rem; color:var(--green-ink);
}
.model-spec-val{ font-family:var(--body); font-weight:500; }


@media (min-width:761px){
  .cta-grid{ grid-template-columns:440px 1fr; }
  .cta-final .cta-form-card{ order:1; }
  .cta-final .cta-copy{ order:2; }
}
.footer-line-info .footer-social a{ width:32px; height:32px; }




.model-carousel .mc-viewport{
  border-radius:4px 4px 4px 42px !important;
  overflow:hidden;
}
.am-card:first-child{ border-radius:4px 4px 4px 42px; overflow:hidden; }


.ubic-item{ border-color:rgba(25,71,186,.16) !important; }


.am-card{ counter-increment:am-n; }
.am-carousel{ counter-reset:am-n; }
.am-card::before{
  content:counter(am-n, decimal-leading-zero);
  position:absolute; top:14px; left:18px; z-index:2;
  font-family:var(--body); font-size:1.15rem; font-weight:300;
  color:rgba(255,255,255,.85); letter-spacing:.05em;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}




:root{ --sans:'Jost','Futura Std',system-ui,sans-serif; }


.hero{

  min-height:clamp(640px, calc(100vh - 92px), 900px);
  align-items:stretch;
  overflow:hidden;
  isolation:isolate;
}
.hero .container.hero-grid{
  display:grid;

  grid-template-columns:1fr min(29rem, 46vw);
  grid-template-areas:"title form";
  align-items:start;
  gap:0 40px;
  padding-block:clamp(48px,7vw,84px) clamp(36px,5vw,56px);
  min-height:100%;
}

.hero-copy{ align-self:center; }


.hero-copy{
  grid-area:title;
  max-width:none;
  padding-left:0;
  margin-bottom:clamp(28px, 6vw, 56px);
}
.hero-copy::before{ display:none; }
.hero-copy{ display:flex; flex-direction:column; }
.hero-title{
  font-family:var(--sans);
  text-transform:uppercase;
  font-weight:600;
  font-size:clamp(2.7rem, 1.4rem + 6.6vw, 5rem);
  line-height:.94;
  letter-spacing:-.01em;
  color:#fff;
  max-width:20ch;
  text-shadow:0 2px 28px rgba(6,16,44,.22);
}
.hero-sub-parrafo{
  max-width:46ch;
  margin-top:clamp(18px,2.6vw,26px);
  font-size:clamp(1rem, .92rem + .3vw, 1.14rem);
  color:rgba(255,255,255,.86);
}


.hero-form-card{
  grid-area:form;
  align-self:center;
  width:100%;
  max-width:29rem;
  justify-self:end;
  background:#fff;
  border:0;
  border-radius:4px 4px 4px 42px;
  padding:clamp(18px,2vw,26px);
  box-shadow:0 30px 70px -20px rgba(6,16,44,.55), 0 4px 18px rgba(6,16,44,.14);
  position:relative;
}

.hero-form-card::before{
  content:""; position:absolute; top:0; left:28px; right:28px; height:3px;
  background:var(--coral);
}
.hero-form-card .form-title,
.hero-form-card .form-sub{ display:none; }
.hero-form-card::after{
  content:"Agenda tu recorrido";
  display:block; order:-1; margin-bottom:4px;
  font-family:var(--sans); font-weight:600; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--green-ink);
}
.hero-form-card{ display:flex; flex-direction:column; }
.hero-form-card .lead-form{ gap:12px; }


.hero-form-card.hero-form-card--glass{
  background:#fff; border:0; backdrop-filter:none; -webkit-backdrop-filter:none;
  box-shadow:0 30px 70px -20px rgba(6,16,44,.55), 0 4px 18px rgba(6,16,44,.14);
}
.hero-form-card--glass .field > label{ color:var(--ink-mid); }
.hero-form-card--glass .field input,
.hero-form-card--glass .field select{ background:#fff; border-color:var(--border); color:var(--ink); }
.hero-form-card--glass .checkbox{ color:var(--ink-soft); }
.hero-form-card--glass .checkbox a{ color:var(--green-ink); }
.hero-form-card--glass .field-error{ color:#B3261E; }

.hero-form-card.hero-form-card--glass .form-legal{ color:var(--ink-soft); }
.hero-form-card.hero-form-card--glass .form-legal-ico{ color:var(--green); }


.hero .deco--fern{ display:none; }
.hero-emblem{
  position:absolute; z-index:0; right:clamp(-4vw,-2vw,2vw); top:clamp(-8vw,-4vw,-2vw);
  width:clamp(340px, 42vw, 640px); height:auto;
  opacity:.16; pointer-events:none; user-select:none;
}


.hero::before{
  background-image:radial-gradient(rgba(255,255,255,.4) 1.4px, transparent 1.8px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(200deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.25) 62%, transparent 100%);
  mask-image:linear-gradient(200deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.25) 62%, transparent 100%);
}

.hero::after{
  top:-30%; right:-16%;
  width:66vw; height:66vw; max-width:1040px; max-height:1040px;
  border:1px solid rgba(255,255,255,.34);
}

.hero-grid::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  bottom:-38%; left:-18%;
  width:44vw; height:44vw; max-width:640px; max-height:640px;
  border:1px solid rgba(255,255,255,.14); border-radius:50%;
}
.hero-grid{ position:relative; }

@media (max-width:1024px){
  .hero .container.hero-grid{

    grid-template-columns:minmax(0, 1fr);
    grid-template-areas:"title" "form";
    padding-block:clamp(112px,20vw,150px) 48px;
  }
  .hero-copy, .hero-form-card{ min-width:0; }
  .hero-form-card{ max-width:34rem; justify-self:stretch; }
  .hero-title{ max-width:none; }
}
@media (max-width:640px){
  .hero{ min-height:0; }
  .hero-title{ font-size:clamp(2.3rem, 1.6rem + 7vw, 3rem); }
  .hero-emblem{ width:min(70vw,340px); opacity:.14; top:-6vw; right:-8vw; }
  .hero-form-card{ border-radius:3px 3px 3px 30px; padding:22px 18px; }
}


.section-title{
  font-size:clamp(2.1rem, 1.1rem + 3.6vw, 4.6rem);
  line-height:.98;
  letter-spacing:-.01em;
  font-weight:500;
}
.visit-banner-title, .cta-title, .referidos-title{
  font-size:clamp(1.9rem, 1.1rem + 3vw, 3.6rem);
  line-height:1;
}
.section-lead{ font-size:1.06rem; }
.eyebrow{
  font-size:.76rem; font-weight:700; letter-spacing:.24em;
}


.amenidades{
  background:linear-gradient(175deg,#0E2A6B 0%,#123280 60%,#0E2A6B 100%);
  position:relative;
}
.amenidades .eyebrow{ color:#98D1FF; }
.amenidades .section-title{ color:#fff; }
.amenidades .section-title em{ color:var(--coral); }
.amenidades .section-lead{ color:rgba(255,255,255,.72); }

.amenidades .am-card{ box-shadow:0 18px 40px -14px rgba(4,10,28,.6); }
.amenidades .am-card::after{ background:linear-gradient(to top, rgba(6,12,32,.92), rgba(6,12,32,0)); }

.amenidades .amenities-carousel .am-nav{
  background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.28); color:#fff;
  backdrop-filter:blur(6px);
}
.amenidades .amenities-carousel .am-nav:hover{ background:rgba(255,255,255,.2); }
.amenidades .models-note, .amenidades .model-carousel .model-disclaimer{ color:rgba(255,255,255,.6); }

.amenidades .deco--fern{
  width:clamp(220px, 22vw, 420px);
  opacity:.5; mix-blend-mode:screen;
}
.amenidades .deco--tr{ top:-60px; right:-60px; }


.amenidades .am-card::before{ color:rgba(255,255,255,.92); }


.stats{ background:#0A2158; border-top:3px solid var(--coral); position:relative; }
.stat-value{ font-size:1.55rem; }
.stat-label{ letter-spacing:.02em; }



.hero-form-card,
.am-card:first-child,
.model-carousel .mc-viewport{ border-radius:4px 4px 4px 42px; }
.tray-img{ border-radius:4px 4px 4px 32px; overflow:hidden; }
.ubic-map .ubic-svgmap{ border-radius:0; }


@media (min-width:761px){
  .stats{ margin-top:-46px; border-top:0; z-index:3; }
  .stats::before{
    content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--coral);
  }
  .stats-inner{ box-shadow:0 24px 54px -20px rgba(4,10,28,.5); }
}


@media (min-width:1180px){
  .amenidades .container{ overflow:visible; }
  .am-card:first-child{ margin-left:clamp(-48px,-4vw,-24px); }
}


.ubicacion > .container > .eyebrow{ position:relative; padding-top:14px; }
.ubicacion > .container > .eyebrow::before{
  content:""; position:absolute; top:0; left:0; width:38px; height:2px; background:var(--green);
}


.reveal{ transform:translateY(30px) scale(.985); }
.reveal.rv-in, .reveal.rv{ transform:none; }
.reveal{ transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); }


@media (min-width:1025px) and (prefers-reduced-motion: no-preference){
  .hero::before{ background-attachment:fixed; }
}


.hero-form-card{ transition:box-shadow .3s var(--ease), transform .3s var(--ease); }
.hero-form-card:hover{
  box-shadow:0 40px 90px -18px rgba(6,16,44,.6), 0 6px 22px rgba(6,16,44,.18);
  transform:translateY(-4px);
}
.am-card{ transition:opacity .16s ease, transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .3s var(--ease); }
.am-card:hover{ box-shadow:0 24px 50px -16px rgba(4,10,28,.7); }

@media (prefers-reduced-motion: reduce){
  .reveal{ transform:none; transition:none; }
  .hero::before{ background-attachment:scroll; }
  .hero-form-card:hover{ transform:none; }
}


.modelos{ background:#fff; }
.trayectoria{ background:#fff; }
.entregas{ background:var(--green-soft); }
.referidos-banner{ background:var(--green-soft); }
.site-footer{ background:#0A2158; }


.cta-final{
  background:linear-gradient(160deg,#0A2158 0%,#1947BA 100%);
  border-top:3px solid var(--coral);
}
.cta-final .deco--dark{ opacity:.2; }


.btn-primary{ background:var(--green-btn); box-shadow:0 6px 20px -6px rgba(25,71,186,.5); }
.btn-primary:hover{ background:#122F7A; box-shadow:0 10px 28px -8px rgba(25,71,186,.6); }

@media (max-width:760px){
  .stats{ margin-top:0; }
  .stats-inner{ box-shadow:none; }
}


.ck-modal{
  position:fixed; left:0; right:0; bottom:0; z-index:400;
  transform:translateY(110%); transition:transform .34s var(--ease);
}
.ck-modal.is-in{ transform:none; }
.ck-back{ display:none; }
.ck-card{
  position:relative;
  background:var(--paper); border-top:1px solid var(--line);
  box-shadow:0 -8px 30px rgba(14,42,107,.16);
  max-width:var(--maxw); margin:0 auto;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  padding:12px 26px;
  display:grid; grid-template-columns:1fr auto auto; gap:2px 20px;
  align-items:center;
  max-height:80vh; overflow-y:auto;
}
.ck-txt{
  grid-column:1; grid-row:1; margin:0;
  font-size:.84rem; line-height:1.45; color:var(--ink-soft); max-width:76ch;
}
.ck-txt strong{ color:var(--ink); font-weight:600; }
.ck-link{ color:var(--green-ink); text-decoration:underline; text-underline-offset:2px; white-space:nowrap; }
.ck-link:hover{ color:var(--green); }


.ck-acts{ grid-column:2 / -1; grid-row:1; display:flex; gap:10px; align-items:center; }
.ck-acts .btn{ min-height:42px; justify-content:center; white-space:nowrap; font-size:.74rem; }

.ck-acts .ck-all{
  background:var(--coral-btn); border-color:var(--coral-btn); color:var(--coral-btn-ink);
  box-shadow:0 4px 14px rgba(255,135,75,.32);
}
.ck-acts .ck-all:hover{ background:var(--coral-btn-hover); border-color:var(--coral-btn-hover); color:var(--coral-btn-ink); }


body:has(.ck-modal.is-in) .wa-float{ bottom:132px; }


.ck-pop{
  position:fixed; inset:0; z-index:700;
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; visibility:hidden; transition:opacity .26s var(--ease), visibility .26s;
}
.ck-pop.is-in{ opacity:1; visibility:visible; }
.ck-pop-back{ position:absolute; inset:0; background:rgba(14,42,107,.5); backdrop-filter:blur(3px); }
.ck-pop-card{
  position:relative; z-index:1; width:100%; max-width:520px;
  background:var(--paper); border-radius:var(--radius-lg);
  box-shadow:0 24px 60px rgba(14,42,107,.32);
  padding:24px 26px 22px; max-height:88vh; overflow-y:auto;
  transform:translateY(12px) scale(.99); transition:transform .28s var(--ease);
}
.ck-pop.is-in .ck-pop-card{ transform:none; }
.ck-pop-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:6px; }
.ck-pop-title{ margin:0; font-family:var(--display); font-weight:400; font-size:1.35rem; color:var(--ink); }
.ck-pop-x{
  background:none; border:0; cursor:pointer; font-size:1.8rem; line-height:1;
  color:var(--ink-soft); width:40px; height:40px; border-radius:var(--radius);
}
.ck-pop-x:hover{ color:var(--ink); background:var(--sand); }
.ck-pop-acts{ display:flex; gap:12px; margin-top:20px; }
.ck-pop-acts .btn{ flex:1 1 0; min-height:46px; justify-content:center; }

.ck-pop-acts .ck-pop-save{
  background:var(--coral-btn); border-color:var(--coral-btn); color:var(--coral-btn-ink);
  box-shadow:0 4px 14px rgba(255,135,75,.32);
}
.ck-pop-acts .ck-pop-save:hover{ background:var(--coral-btn-hover); border-color:var(--coral-btn-hover); color:var(--coral-btn-ink); }


.ck-cats{ margin:8px 0 0; border-top:1px solid var(--line); }
.ck-cat{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 0; cursor:pointer; border-bottom:1px solid var(--line);
}
.ck-cat-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ck-cat-txt strong{ font-size:.9rem; font-weight:600; color:var(--ink); }
.ck-cat-txt small{ font-size:.78rem; color:var(--ink-soft); line-height:1.4; }
.ck-cat input{ width:22px; height:22px; min-width:22px; accent-color:var(--green-btn); cursor:pointer; }
.ck-cat input:disabled{ opacity:.5; cursor:default; }
@media (max-width:560px){
  .ck-pop{ padding:14px; align-items:flex-end; }
  .ck-pop-card{ padding:20px 18px 18px; }
  .ck-pop-title{ font-size:1.2rem; }
  .ck-pop-acts{ flex-direction:column-reverse; }
}


@media (max-width:1000px){
  .ck-card{ grid-template-columns:1fr; padding:11px 20px; gap:7px; }
  .ck-txt{ grid-column:1; font-size:.8rem; }
  .ck-acts{ grid-column:1; grid-row:2; }
  .ck-acts .btn{ flex:1 1 0; min-height:38px; font-size:.7rem; }
}

@media (max-height:520px){
  .ck-card{ padding:9px 18px; gap:5px; }
  .ck-txt{ font-size:.74rem; line-height:1.35; }
  .ck-acts .btn{ min-height:34px; font-size:.66rem; }
}

.ck-sm{ display:none; }
@media (max-width:620px){
  .ck-lg{ display:none; }
  .ck-sm{ display:inline; }

  .ck-card{ padding:10px 12px; gap:6px; }
  .ck-txt{ font-size:.72rem; line-height:1.35; }
  .ck-acts{ gap:6px; }
  .ck-acts .btn{
    flex:1 1 0; min-height:36px; font-size:.63rem;
    padding-left:4px; padding-right:4px; letter-spacing:.02em;
  }
}




.entregas{ background:#fff; }

body.has-entregas .faq{ background:var(--green-soft); }

body:not(.has-entregas) .faq{ background:#fff; border-bottom:1px solid rgba(25,71,186,.12); }



@media (min-width:1025px){
  .faq-grid{ grid-template-columns:1fr 1.2fr; }
}
.faq .section-title{ font-size:clamp(1.85rem, 1rem + 2.1vw, 3rem); line-height:1.04; }
.faq .section-lead{ max-width:36ch; }
.faq .faq-question{ color:var(--ink); }
.faq .faq-question:hover{ color:var(--green); }
.faq .faq-question svg{ color:var(--green); }
.faq .faq-item{ border-bottom:1px solid rgba(25,71,186,.16); }
.faq .faq-item:first-child{ border-top:1px solid rgba(25,71,186,.16); }
.faq .faq-item.open .faq-question{ color:var(--green); }
@media (max-width:760px){
  .faq-grid{ gap:22px; }
  .faq-intro .btn{ margin-top:16px; }
}


@media (max-width:560px){
  .am-track{ grid-auto-rows:minmax(13rem,auto); }
  .am-card:nth-child(1){ height:15rem; }

  .am-card:nth-child(2), .am-card:nth-child(3){ height:13rem; }
}

.amenidades .am-disclaimer{
  color:rgba(255,255,255,.62); opacity:1; text-align:center; margin:16px 0 0;
}

@media (max-width:760px){
  .amenidades{ padding-bottom:44px; }
  .amenidades .am-disclaimer{ margin-top:12px; }
}


@media (max-width:760px){
  .ubic-grid .ubic-info{ order:1; }
  .ubic-grid .ubic-map{ order:2; }
}


.trayectoria .section-title{ font-size:clamp(1.85rem, 1rem + 2.3vw, 3.2rem); line-height:1.04; }
.trayectoria .tray-stats{ justify-content:flex-start; text-align:left; margin-top:18px; }
.trayectoria .tray-grid{ margin-top:40px; }
@media (max-width:760px){
  .trayectoria .tray-stats{ gap:28px; }
}




.models-viewer{ display:block; }
.mrow{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(24px,4vw,64px);
  align-items:center;
  padding:clamp(38px,5vw,64px) 0;
  border-top:1px solid rgba(25,71,186,.16);
  scroll-margin-top:96px;
}
.mrow:last-child{ border-bottom:1px solid rgba(25,71,186,.16); }

.mrow:nth-child(even) .model-info{ order:2; }
.mrow:nth-child(even) .model-carousel{ order:1; }


.mrow .model-carousel{ margin:0; }
.mrow .mc-viewport{ border-radius:2px; }
@media (min-width:1100px){
  .mrow:nth-child(odd) .model-carousel{ margin-right:calc(-1 * clamp(16px,4vw,72px)); }
  .mrow:nth-child(even) .model-carousel{ margin-left:calc(-1 * clamp(16px,4vw,72px)); }
}


.mrow .model-specs-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0; margin:18px 0 22px; border-top:1px solid rgba(25,71,186,.14);
}
.mrow .model-spec{
  display:flex; flex-direction:column; gap:1px;
  padding:11px 0; border-bottom:1px solid rgba(25,71,186,.14);
}
.mrow .model-spec:nth-child(odd){ padding-right:18px; }
.mrow .model-spec-ico{ display:none; }
.mrow .model-spec-val{ font-size:1.3rem; font-weight:600; color:var(--ink); line-height:1.05; white-space:nowrap; }
.mrow .model-spec-lbl{ font-size:.74rem; color:var(--ink-soft); letter-spacing:.02em; }

.mrow .model-name{ margin:0; }
.mrow .model-plantas{ margin:6px 0 0; }
.mrow .model-ctas{ margin-top:4px; }


.models-tabs{
  display:flex; flex-wrap:wrap; gap:0;
  background:none; border:0; border-top:1px solid rgba(25,71,186,.16);
  border-bottom:1px solid rgba(25,71,186,.16); padding:0; border-radius:0;
}
.model-tab{
  background:none; border:0; border-radius:0; box-shadow:none;
  padding:13px 20px 13px 0; margin:0;
  font-family:var(--sans); font-size:.78rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
  cursor:pointer; position:relative; transition:color .2s var(--ease);
}
.model-tab::after{
  content:""; position:absolute; left:0; right:20px; bottom:-1px;
  height:2px; background:var(--coral); transform:scaleX(0);
  transform-origin:left; transition:transform .24s var(--ease);
}
.model-tab:hover{ color:var(--ink); }
.model-tab.is-active{ color:var(--green); }
.model-tab.is-active::after{ transform:scaleX(1); }

@media (max-width:900px){
  .mrow{ grid-template-columns:1fr; gap:20px; padding:30px 0; }
  .mrow:nth-child(even) .model-info{ order:0; }
  .mrow:nth-child(even) .model-carousel{ order:0; }
  .mrow .model-specs-grid{ margin:14px 0 18px; }
  .model-tab{ padding:11px 16px 11px 0; font-size:.72rem; }
  .model-tab::after{ right:16px; }
}

#modelsViewer.rv, #modelsViewer.reveal{ opacity:1 !important; transform:none !important; }

.mrow .model-spec-val, .mrow .model-spec-lbl{ align-self:flex-start; text-align:left; }


.models-tabs-wrap{
  position:sticky; top:82px; z-index:30;
  background:#fff;

  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding-left:calc(50vw - 50%); padding-right:calc(50vw - 50%);
  border-top:1px solid rgba(25,71,186,.16);
  border-bottom:1px solid rgba(25,71,186,.16);
  margin-bottom:30px;
  transition:box-shadow .2s var(--ease);
}

.models-tabs-wrap.is-stuck{ box-shadow:0 6px 18px -10px rgba(14,42,107,.34); }

.models-tabs{
  position:static; margin:0; padding:0;
  background:none; border:0; border-radius:0;
  display:flex; flex-wrap:nowrap; gap:0;
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.models-tabs::-webkit-scrollbar{ display:none; }
.model-tab{ flex:0 0 auto; }


.mrow{ scroll-margin-top:150px; }

@media (max-width:900px){
  .models-tabs-wrap{ top:82px; margin-bottom:22px; }
  .mrow{ scroll-margin-top:142px; }
  .model-tab{ padding:12px 15px 12px 0; }
  .model-tab::after{ right:15px; }
}
@media (prefers-reduced-motion: reduce){
  .models-tabs{ scroll-behavior:auto; }
}


body{ overflow-x:clip; }

.section.modelos{ overflow:clip; }


.model-tab,
.model-tab.is-active{
  background:transparent;
  box-shadow:none;
  border-left:0;
  border-radius:0;
}

.model-tab::after{ display:block !important; }
.model-tab.is-active::after{ display:block !important; transform:scaleX(1); }


.models-tabs-wrap{
  margin-left:calc(50% - 50vw - 24px);
  margin-right:calc(50% - 50vw - 24px);
  padding-left:calc(50vw - 50% + 24px);
  padding-right:calc(50vw - 50% + 24px);
}

.model-tab.is-active::after{ background:var(--coral-btn); }


.models-tabs{ gap:26px; }
.model-tab{ padding-left:0; padding-right:0; }
.model-tab::after,
.model-tab.is-active::after{ left:0; right:0; }

@media (max-width:900px){
  .models-tabs{ gap:18px; }
  .model-tab{ padding:12px 0; }
}

.models-tabs-wrap, .models-tabs-wrap.rv, .models-tabs-wrap.reveal,
.models-tabs, .models-tabs.rv,
.model-tab, .model-tab.rv, .model-tab.reveal{
  opacity:1 !important;
  transform:none !important;
}

.model-tab::after{ transform:scaleX(0); }
.model-tab.is-active::after{ transform:scaleX(1) !important; }


.amenidades .am-window{ overflow:hidden; width:100%; }
.amenidades .am-track{
  display:flex !important;
  grid-template-columns:none !important;
  grid-auto-rows:auto !important;
  width:max-content;
  gap:18px;
  will-change:transform;
}


.amenidades .am-card{
  grid-column:auto !important; grid-row:auto !important;
  height:auto !important;
  flex:0 0 clamp(220px, 23vw, 310px);
  margin-left:0 !important;
  border-radius:3px !important;
  opacity:1 !important;

}
.amenidades .am-card .am-card-img{ aspect-ratio:4 / 3; }
.amenidades .am-card .media{ height:100%; }


.amenidades .am-card::before{ display:none !important; content:none !important; }


.amenidades .amenities-carousel .am-nav{ display:none !important; }
.amenidades .amenities-carousel{ display:block; }

@media (max-width:900px){
  .amenidades .am-card{ flex:0 0 clamp(190px, 58vw, 240px); }
}

@media (prefers-reduced-motion: reduce){
  .amenidades .am-track{ animation:none; width:auto; overflow-x:auto; }
  .amenidades .am-window{ overflow-x:auto; }
}

.amenidades .am-track{
  flex-wrap:nowrap !important;
  width:max-content !important;
  max-width:none !important;
  align-items:stretch;
}

.amenidades .am-card:nth-child(n+4){ display:block !important; }


.mrow{ grid-template-columns:minmax(0,.88fr) minmax(0,1.42fr); }
.mrow .mc-viewport{ aspect-ratio:16 / 10; }
.mrow .mc-viewport .media,
.mrow .mc-slide,
.mrow .mc-slide .media{ height:100%; }
.mrow .mc-slide .media img{ width:100%; height:100%; object-fit:cover; }

.amenidades .am-card{ flex:0 0 clamp(260px, 27vw, 380px); }
.amenidades .am-card .am-card-img{ aspect-ratio:3 / 2; }

@media (max-width:900px){
  .mrow{ grid-template-columns:1fr; }
  .mrow .mc-viewport{ aspect-ratio:16 / 10; }
  .amenidades .am-card{ flex:0 0 clamp(210px, 62vw, 280px); }
}

.amenidades .am-window{ margin-right:calc(50% - 50vw); }

.amenidades .am-disclaimer{ margin-top:14px; }
.amenidades{ padding-bottom:clamp(40px,5vw,64px); }

.section.amenidades{ overflow:clip; }

.amenidades .am-window{ width:auto; }




@media (min-width:901px){
  .mrow:nth-child(even){ grid-template-columns:minmax(0,1.42fr) minmax(0,.88fr); }
}


.amenidades .am-track{ animation:none !important; will-change:transform; }


.amenidades .am-card{

  transition:box-shadow .45s var(--ease);
  transform-origin:center center;
}
.amenidades .am-card.is-mid{ z-index:2; }
.amenidades .am-track{ align-items:center; padding-block:26px; }

@media (prefers-reduced-motion: reduce){
  .amenidades .am-card{ transition:none; transform:none !important; }
}


.amenidades .am-card,
.amenidades .am-card:hover,
.amenidades .am-card.is-mid{ box-shadow:none !important; }


.amenidades .am-track{ padding-block:clamp(46px,6vw,74px); gap:22px; }
.amenidades .am-window{ overflow:hidden; }


.amenidades .amenities-carousel{ position:relative; display:block; }
.amenidades .amenities-carousel .am-nav{
  display:flex !important;
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:46px; height:46px; border-radius:50%;
  align-items:center; justify-content:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.34);
  color:#fff; cursor:pointer;
  transition:background .2s var(--ease), border-color .2s var(--ease);
}
.amenidades .amenities-carousel .am-nav:hover{ background:rgba(255,255,255,.26); border-color:rgba(255,255,255,.6); }
.amenidades .amenities-carousel .am-nav:active{ transform:translateY(-50%) scale(.94); }
.amenidades .amenities-carousel .am-prev{ left:8px; }
.amenidades .amenities-carousel .am-next{ right:8px; }
.amenidades .amenities-carousel .am-nav svg{ width:20px; height:20px; }

@media (max-width:900px){
  .amenidades .am-track{ padding-block:clamp(34px,7vw,52px); gap:16px; }
  .amenidades .amenities-carousel .am-nav{ width:40px; height:40px; }
  .amenidades .amenities-carousel .am-prev{ left:4px; }
  .amenidades .amenities-carousel .am-next{ right:4px; }
}


.amenidades .am-track{
  gap:26px;
  padding-block:clamp(30px,4vw,48px);
  align-items:center;
  transform-origin:left center;
}

.amenidades .am-card{
  flex:0 0 clamp(300px, 44vw, 620px);
  transform:scale(.76);
  opacity:.5;
  transition:transform .62s cubic-bezier(.22,.61,.36,1), opacity .62s var(--ease);
  transform-origin:center center;
}
.amenidades .am-card.is-mid{
  transform:scale(1);
  opacity:1;
  z-index:3;
}
.amenidades .am-card .am-card-img{ aspect-ratio:16 / 10; }

.amenidades .am-card .am-card-name{ font-size:1rem; }
.amenidades .am-card.is-mid .am-card-name{ font-size:1.24rem; }

@media (max-width:900px){
  .amenidades .am-track{ gap:16px; padding-block:26px; }
  .amenidades .am-card{ flex:0 0 clamp(240px, 76vw, 420px); transform:scale(.82); }
  .amenidades .am-card .am-card-name{ font-size:.9rem; }
  .amenidades .am-card.is-mid .am-card-name{ font-size:1.05rem; }
}
@media (prefers-reduced-motion: reduce){
  .amenidades .am-card{ transition:none; }
}

.amenidades .am-card{ opacity:.45 !important; }
.amenidades .am-card.is-mid{ opacity:1 !important; }


.amenidades .am-card{
  flex:0 0 clamp(260px, 34vw, 460px) !important;
  transform:scale(.94);
  opacity:.42 !important;
}
.amenidades .am-card.is-mid{
  transform:scale(1.06);
  opacity:1 !important;
}

.amenidades .am-card .am-card-img{ aspect-ratio:16 / 10 !important; }
.amenidades .am-card .media{ height:100% !important; }
.amenidades .am-card .media img{ width:100%; height:100%; object-fit:cover; }
.amenidades .am-track{ gap:18px; }

@media (max-width:900px){
  .amenidades .am-card{ flex:0 0 clamp(230px, 70vw, 340px) !important; }
  .amenidades .am-track{ gap:12px; }
}


.amenidades .am-window{
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  width:100vw !important;
  max-width:100vw !important;
  overflow:hidden;
}


.amenidades .am-card{
  flex:0 0 clamp(280px, 41vw, 580px) !important;
  transform:scale(.88);
}
.amenidades .am-card.is-mid{ transform:scale(1.1); }
.amenidades .am-track{ gap:26px; padding-block:clamp(52px,6vw,84px); }

@media (max-width:900px){
  .amenidades .am-card{ flex:0 0 clamp(240px, 74vw, 380px) !important; transform:scale(.9); }
  .amenidades .am-card.is-mid{ transform:scale(1.06); }
  .amenidades .am-track{ gap:16px; padding-block:34px; }
}


:root{
  --white:#FFFFFF;
  --map-bg:#0E2A6B;
  --map-bg-deep:#091D4C;
  --map-glow:#2D61D1;
  --map-grid:rgba(152,209,255,.13);
  --map-orbit:rgba(152,209,255,.18);
  --map-copy-muted:rgba(255,255,255,.72);
  --map-shadow:rgba(9,29,76,.72);
  --map-road-minor:#6D8FD3;
  --map-road-main:#B9D7FF;
  --map-label:#C7D8F6;
  --map-label-strong:#F7FAFF;
  --map-border:rgba(25,71,186,.2);
  --location-surface:#F3F6FC;
}


.models-tabs-wrap{
  background:var(--location-surface);
  border-top:1px solid var(--map-border);
  border-bottom:1px solid var(--map-border);
  box-shadow:none;
}
.model-tab{
  min-height:62px;
  display:inline-flex;
  align-items:center;
  gap:0;
  color:var(--ink-soft);
}
.model-tab::before{
  content:none;
  display:none;
}
.model-tab:hover,
.model-tab.is-active{ color:var(--green); }
.model-tab::after,
.model-tab.is-active::after{
  height:3px;
  background:var(--coral-btn);
}
.models-tabs-wrap.is-stuck{ box-shadow:0 12px 28px -18px var(--map-shadow); }


.ubicacion{
  background:var(--location-surface);
}
.ubic-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.62fr);
  column-gap:clamp(36px,7vw,104px);
  align-items:end;
  padding-top:18px;
  margin-bottom:clamp(30px,4vw,52px);
  border-top:1px solid var(--map-border);
}
.ubic-heading .eyebrow{ grid-column:1 / -1; }
.ubic-heading .section-title{
  max-width:760px;
  margin:0;
}
.ubic-heading .ubic-narr{
  max-width:480px;
  margin:0 0 7px;
  color:var(--ink-soft);
  font-size:1.02rem;
  line-height:1.72;
}
.ubic-grid{
  grid-template-columns:minmax(330px,.66fr) minmax(0,1.34fr);
  gap:0;
  align-items:stretch;
  border:1px solid var(--map-border);
  background:var(--white);
}
.ubic-map{
  order:2;
  position:relative;
  min-height:620px;
  padding:58px 24px 54px;
  overflow:hidden;
  background:var(--map-bg);
  border-radius:0;
}
.ubic-map::after{
  content:"";
  position:absolute;
  inset:auto -14% -34% 28%;
  height:54%;
  border:1px solid var(--map-orbit);
  border-radius:50%;
  transform:rotate(-11deg);
  pointer-events:none;
}
.ubic-svgmap{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  max-height:610px;
  color:var(--map-grid);
}
.map-atlas-bg{ fill:var(--map-bg); }
.map-atlas-glow{ pointer-events:none; }
.map-glow-start{ stop-color:var(--map-glow); }
.map-glow-end{ stop-color:var(--map-bg); }
.map-atlas-grid{ color:var(--map-grid); opacity:.72; pointer-events:none; }
.ubic-svgmap > path:first-of-type{
  stroke:var(--map-road-minor) !important;
  opacity:.52 !important;
}
.ubic-svgmap > path:nth-of-type(2),
.ubic-svgmap > path:nth-of-type(3){
  stroke:var(--map-road-main) !important;
  opacity:.92;
}
.map-road-labels text{
  fill:var(--map-label) !important;
  stroke:var(--map-bg) !important;
}
.map-pois > g > g{
  stroke:var(--sky) !important;
}
.map-pois text{
  fill:var(--map-label-strong) !important;
  stroke:var(--map-bg) !important;
  font-weight:500;
}
.map-project-pin > text{
  fill:var(--map-label-strong) !important;
  stroke:var(--map-bg) !important;
}
.map-project-pin > path{ stroke:var(--map-bg) !important; }
.map-project-pin > circle:nth-of-type(3){ fill:var(--map-bg) !important; }
.map-atlas-meta{
  position:absolute;
  z-index:2;
  top:22px;
  left:24px;
  right:24px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--map-copy-muted);
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.map-atlas-north{
  position:absolute;
  z-index:2;
  top:54px;
  right:24px;
  display:grid;
  justify-items:center;
  gap:4px;
  color:var(--sky);
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.14em;
}
.map-atlas-north i{
  width:1px;
  height:28px;
  background:linear-gradient(to bottom,var(--sky),transparent);
}
.map-atlas-legend{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  color:var(--map-copy-muted);
  font-family:var(--sans);
  font-size:.66rem;
  letter-spacing:.06em;
}
.map-atlas-legend span{ display:inline-flex; align-items:center; gap:7px; }
.map-atlas-legend i{ display:inline-block; flex:0 0 auto; }
.map-atlas-legend .is-road{
  width:20px;
  height:2px;
  background:var(--map-road-main);
}
.map-atlas-legend .is-poi{
  width:7px;
  height:7px;
  border:1px solid var(--sky);
  transform:rotate(45deg);
}
.map-atlas-legend .is-home{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--coral-btn);
}
.ubic-info{
  order:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(32px,4vw,58px);
  background:var(--white);
  border-right:1px solid var(--map-border);
}
.ubic-info-head{
  padding-bottom:24px;
  border-bottom:1px solid var(--map-border);
}
.ubic-info-head p{
  margin:0 0 7px;
  color:var(--green);
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.ubic-info-head strong{
  display:block;
  max-width:280px;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(1.45rem,1.1rem + .8vw,2rem);
  font-weight:400;
  line-height:1.08;
}
.ubic-points{ margin-top:8px; }
.ubic-points li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:9px 0;
  border-bottom:1px solid var(--map-border);
}
.ubic-points .ubic-icon{
  grid-column:1;
  grid-row:1;
  color:var(--green);
}
.ubic-points .ubic-pt-name{
  grid-column:2;
  grid-row:1;
  color:var(--ink-mid);
}
.ubic-points .ubic-time{
  grid-column:3;
  grid-row:1;
  color:var(--green);
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
}
.ubic-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:24px;
}
.ubic-actions .btn{ width:100%; }
.ubic-extra{ margin-top:16px; }


.faq-grid{
  grid-template-columns:1fr;
  gap:clamp(34px,5vw,62px);
}
.faq-intro{ max-width:760px; }
.faq-list{ counter-reset:pm-faq; }
.faq-item{
  counter-increment:pm-faq;
  border-color:var(--map-border);
}
.faq-question{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 24px;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding-left:0;
}
.faq-question::before{
  content:"0" counter(pm-faq);
  color:var(--green);
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
}
.faq-question > span{
  grid-column:2;
  text-align:left;
}
.faq-question > svg{ grid-column:3; }
.faq-answer-inner{
  padding-left:68px;
  max-width:920px;
}

@media (max-width:900px){
  .models-tabs-wrap{ top:79px; }
  .model-tab{ min-height:54px; }

  .ubic-heading{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ubic-heading .eyebrow{ grid-column:auto; }
  .ubic-heading .ubic-narr{ margin:0; }
  .ubic-grid{ grid-template-columns:1fr; }
  .ubic-map{
    order:1;
    min-height:500px;
    padding:52px 10px 50px;
  }
  .ubic-info{
    order:2;
    padding:30px 22px 34px;
    border-top:1px solid var(--map-border);
    border-right:0;
  }
}

@media (max-width:560px){
  .model-tab{
    min-height:50px;
    font-size:.68rem;
  }

  .ubic-heading{ margin-bottom:24px; }
  .ubic-heading .section-title{ font-size:clamp(2rem,10vw,2.75rem); }
  .ubic-map{
    min-height:430px;
    padding:48px 2px 48px;
  }
  .map-atlas-meta{
    top:17px;
    left:16px;
    right:16px;
    font-size:.58rem;
    letter-spacing:.12em;
  }
  .map-atlas-meta span:last-child{ display:none; }
  .map-atlas-north{ top:45px; right:15px; }
  .map-atlas-legend{
    left:16px;
    right:16px;
    bottom:14px;
    gap:9px 14px;
    font-size:.58rem;
  }
  .ubic-info{ padding:28px 18px 32px; }
  .ubic-points li{
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:8px;
  }
  .ubic-points .ubic-pt-name{ font-size:.9rem; }
  .ubic-points .ubic-time{ font-size:.76rem; }

  .faq-question{
    grid-template-columns:38px minmax(0,1fr) 22px;
    gap:8px;
    min-height:70px;
  }
  .faq-answer-inner{ padding-left:46px; }
}


.ubicacion .ubic-grid{
  grid-template-columns:minmax(330px,.64fr) minmax(0,1.36fr);
}
.ubicacion .ubic-map{
  order:2;
  display:flex;
  align-items:center;
  min-height:0;
  padding:0;
  overflow:hidden;
  background:var(--paper);
  border-radius:0;
}
.ubicacion .ubic-map::after{ content:none; }
.ubicacion .ubic-map-art{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:640 / 530;
  object-fit:contain;
}
.ubicacion .ubic-info{ order:1; }

@media (max-width:900px){
  .ubicacion .ubic-grid{ grid-template-columns:1fr; }
  .ubicacion .ubic-map{
    order:1;
    width:100%;
  }
  .ubicacion .ubic-info{ order:2; }
}


.ubicacion .ubic-grid{
  grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);
  gap:clamp(38px,5.5vw,82px);
  align-items:center;
  border:0;
  background:transparent;
}

.ubicacion .ubic-map{
  order:1;
  min-width:0;
  overflow:visible;
  background:transparent;
}

.ubicacion .ubic-map-art{
  background:transparent;
  filter:none;
}

.ubicacion .ubic-info{
  order:2;
  justify-content:flex-start;
  padding:clamp(10px,2vw,26px) 0;
  border:0;
  background:transparent;
}

.ubicacion .ubic-info-head{
  padding:0 0 18px;
  border:0;
}

.ubicacion .ubic-info-head strong{
  max-width:330px;
}

.ubicacion .ubic-points{
  margin-top:0;
}

.ubicacion .ubic-points li{
  min-height:56px;
  padding:8px 0;
  border-bottom:1px solid var(--map-border);
}

.ubicacion .ubic-actions{
  grid-template-columns:1fr 1fr;
  gap:8px 22px;
  margin-top:26px;
}

.ubicacion .ubic-actions .btn-primary{
  grid-column:1 / -1;
}

.ubicacion .ubic-actions .btn-map{
  width:auto;
  min-height:42px;
  justify-content:flex-start;
  padding:0;
  border:0;
  background:transparent;
  color:var(--green);
  box-shadow:none;
}

.ubicacion .ubic-actions .btn-map:hover{
  border:0;
  background:transparent;
  color:var(--ink);
  transform:translateX(3px);
}

@media (max-width:900px){
  .ubicacion .ubic-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .ubicacion .ubic-map{
    order:1;
    width:calc(100% + 32px);
    margin-left:-16px;
  }

  .ubicacion .ubic-info{
    order:2;
    padding:18px 0 0;
    border-left:0;
    border-top:0;
  }
}

@media (max-width:560px){
  .ubicacion .ubic-map{
    width:calc(100% + 24px);
    margin-left:-12px;
  }

  .ubicacion .ubic-actions{
    grid-template-columns:1fr 1fr;
  }
}


.section-title,
.visit-banner-title,
.cta-title,
.referidos-title{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-.008em;
  text-transform:none;
}

.section-title em,
.visit-banner-title em,
.cta-title em,
.referidos-title em{
  font-family:inherit;
  font-style:normal;
  font-weight:inherit;
  letter-spacing:inherit;
  text-transform:none;
}


:root{
  --pm-section-space:clamp(64px,7vw,96px);
  --pm-section-rule:rgba(25,71,186,.16);
  --pm-title-size:clamp(2.75rem,3.3vw + 1rem,4.15rem);
  --pm-title-leading:.98;
}


.modelos,
.amenidades,
.ubicacion,
.entregas,
.faq,
.trayectoria{
  padding-top:var(--pm-section-space);
  padding-bottom:var(--pm-section-space);
}
.modelos > .container,
.amenidades > .container,
.ubicacion > .container,
.entregas > .container,
.faq > .container,
.trayectoria > .container{
  border-top:1px solid var(--pm-section-rule);
  padding-top:clamp(24px,2.4vw,36px);
}
.amenidades > .container{
  border-top-color:rgba(255,255,255,.2);
}
.ubic-heading{
  border-top:0 !important;
  padding-top:0 !important;
}
.section > .container > :last-child{
  margin-bottom:0;
}


.section .section-title,
.ubic-heading .section-title,
.faq .section-title,
.trayectoria .section-title{
  font-family:var(--display);
  font-size:var(--pm-title-size);
  font-weight:400;
  line-height:var(--pm-title-leading);
  letter-spacing:-.008em;
  text-transform:none;
}
.section .section-title em,
.ubic-heading .section-title em,
.faq .section-title em,
.trayectoria .section-title em{
  font:inherit;
  color:var(--coral);
}
.eyebrow,
.referidos-eyebrow{
  margin:0 0 12px;
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.section-head .eyebrow,
.ubic-heading .eyebrow,
.faq-intro .eyebrow,
.cta-copy .eyebrow{
  margin-bottom:12px;
}
.section-head{
  align-items:end;
  margin-bottom:clamp(34px,4vw,54px);
}
.ubic-heading{
  margin-bottom:clamp(34px,4vw,54px);
}
.section-lead,
.ubic-narr,
.visit-banner-sub,
.cta-lead{
  font-family:var(--body);
  font-size:clamp(.98rem,.94rem + .16vw,1.08rem);
  line-height:1.62;
}
.visit-banner-title,
.cta-title,
.referidos-title{
  font-family:var(--display);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.008em;
  text-transform:none;
}


.mrow{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.42fr);
  grid-template-rows:auto auto;
  align-items:start;
  align-content:center;
}
.mrow .model-info{
  width:100%;
  max-width:410px;
  padding:0;
  justify-self:center;
  order:0 !important;
}
.mrow .model-heading{
  grid-column:1;
  grid-row:1;
  align-self:end;
}
.mrow .model-details{
  grid-column:1;
  grid-row:2;
  align-self:start;
}
.mrow .model-carousel{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  order:0 !important;
}
.mrow:nth-child(even){
  grid-template-columns:minmax(0,1.42fr) minmax(0,.88fr);
}
.mrow:nth-child(even) .model-heading,
.mrow:nth-child(even) .model-details{
  grid-column:2;
}
.mrow:nth-child(even) .model-carousel{
  grid-column:1;
}


.mrow .model-plantas{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin:9px 0 0;
  padding:0 !important;
  border:0;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--green);
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mrow .model-plantas::before{
  content:"";
  width:20px;
  height:1px;
  flex:none;
  background:var(--coral);
}


.mrow .model-specs-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:16px 0 22px;
  border-top:1px solid var(--pm-section-rule);
}
.mrow .model-spec{
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:9px;
  row-gap:2px;
  align-items:center;
  min-width:0;
  padding:12px 0;
  border-bottom:1px solid var(--pm-section-rule);
}
.mrow .model-spec:nth-child(odd){
  padding-right:16px;
}
.mrow .model-spec:nth-child(even){
  padding-left:12px;
}
.mrow .model-spec-ico{
  display:flex !important;
  grid-column:1;
  grid-row:1 / span 2;
  align-items:center;
  justify-content:flex-start;
  width:24px;
  height:24px;
  border:0;
  border-radius:0;
  background:transparent !important;
  color:var(--green);
}
.mrow .model-spec-ico svg{
  width:22px;
  height:22px;
}
.mrow .model-spec-val{
  grid-column:2;
  grid-row:1;
  align-self:end;
  min-width:0;
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.02rem;
  font-weight:600;
  line-height:1.08;
  white-space:normal;
}
.mrow .model-spec-lbl{
  grid-column:2;
  grid-row:2;
  align-self:start;
  color:var(--ink-soft);
  font-family:var(--body);
  font-size:.74rem;
  line-height:1.18;
  letter-spacing:0;
}
.mrow .mc-nav{
  width:44px;
  height:44px;
}
.mrow .mc-dots{
  gap:0;
  min-height:44px;
}
.mrow .mc-dot,
.mrow .mc-dot.is-active{
  position:relative;
  flex:0 0 32px;
  width:32px;
  height:44px;
  border-radius:0;
  background:transparent;
}
.mrow .mc-dot::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#D8D3CB;
  transform:translate(-50%,-50%);
  transition:width .18s var(--ease),border-radius .18s var(--ease),background-color .18s var(--ease);
}
.mrow .mc-dot.is-active::before{
  width:22px;
  border-radius:5px;
  background:var(--green);
}
.amenidades .am-nav{
  width:44px;
  height:44px;
}
.ubicacion .ubic-actions .btn{
  min-height:44px;
}

@media (max-width:900px){
  :root{
    --pm-section-space:clamp(60px,10vw,76px);
    --pm-title-size:clamp(2.1rem,8.8vw,2.65rem);
  }
  .section-head{
    align-items:start;
    margin-bottom:32px;
  }
  .mrow,
  .mrow:nth-child(even){
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:0;
    padding:34px 0;
  }
  .mrow .model-info{
    max-width:none;
    justify-self:stretch;
  }
  .mrow .model-heading,
  .mrow:nth-child(even) .model-heading{
    grid-column:1;
    grid-row:1;
    margin-bottom:18px;
  }
  .mrow .model-carousel,
  .mrow:nth-child(even) .model-carousel{
    grid-column:1;
    grid-row:2;
    margin:0 0 20px;
  }
  .mrow .model-details,
  .mrow:nth-child(even) .model-details{
    grid-column:1;
    grid-row:3;
  }
  .mrow .model-specs-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:0 0 20px;
  }
}

@media (max-width:560px){
  .modelos > .container,
  .amenidades > .container,
  .ubicacion > .container,
  .entregas > .container,
  .faq > .container,
  .trayectoria > .container{
    padding-top:22px;
  }
  .section .section-title,
  .ubic-heading .section-title,
  .faq .section-title,
  .trayectoria .section-title{
    font-size:var(--pm-title-size);
    line-height:1;
  }
  .mrow .model-name{
    font-size:clamp(2.55rem,13vw,3.25rem);
  }
  .mrow .model-spec{
    grid-template-columns:24px minmax(0,1fr);
    column-gap:7px;
    min-height:68px;
    padding:10px 0;
  }
  .mrow .model-spec:nth-child(odd){
    padding-right:9px;
  }
  .mrow .model-spec:nth-child(even){
    padding-left:8px;
  }
  .mrow .model-spec-ico{
    width:21px;
    height:21px;
  }
  .mrow .model-spec-ico svg{
    width:20px;
    height:20px;
  }
  .mrow .model-spec-val{
    font-size:.96rem;
  }
  .mrow .model-spec-lbl{
    font-size:.7rem;
  }
  .mrow .model-brochure{
    width:100%;
  }
  #brochureModal .field input:not([type="checkbox"]),
  #brochureModal .field select,
  #brochureModal .field textarea{
    font-size:16px;
  }

  .ubicacion .ubic-map-art{
    width:128%;
    max-width:none;
    height:auto;
    flex:none;
    margin-left:-14%;
  }
}


@media (max-width:560px){
  .site-footer{ text-align:center; }
  .footer-line-info{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
  }
  .footer-line-info .footer-logo{ margin-inline:auto; }
  .footer-line-info .footer-item{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .footer-line-info .footer-social{
    margin:2px auto 0;
    justify-content:center;
  }
  .footer-credits{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-items:center;
    gap:24px 18px;
    width:100%;
  }
  .footer-credit{
    width:100%;
    align-items:center;
    text-align:center;
  }
  .footer-bottom{
    align-items:center;
    text-align:center;
  }
  .footer-copy{
    line-height:1.65;
    text-align:center;
  }
}


.wa-float{
  background:var(--wa);
  box-shadow:0 6px 20px rgba(10,33,88,.2) !important;
  border-radius:50%;
}
.wa-float:hover{ background:var(--wa-hover); }
.wa-float .wa-ico{
  width:30px;
  height:30px;
  background:#fff;
  filter:none;
}


.modelos .models-fern{
  width:clamp(92px,9vw,150px);
  opacity:.13;
}
.modelos .models-fern--upper{
  top:24%;
  right:-38px;
}
.modelos .models-fern--upper img{
  transform:scaleX(-1) rotate(-5deg);
}
.modelos .models-fern--middle{
  top:53%;
  left:-42px;
}
.modelos .models-fern--middle img{
  transform:rotate(7deg);
}
.modelos .models-fern--lower{
  top:82%;
  right:-40px;
  left:auto;
}
.modelos .models-fern--lower img{
  transform:scaleX(-1) rotate(-4deg);
}


#contacto .cta-social a{
  width:44px;
  height:44px;
}


.entregas,
.faq{
  position:relative;
  overflow:clip;
}
.entregas > .container,
.faq > .container{
  position:relative;
  z-index:1;
}
.page-fern{
  width:clamp(120px,12vw,190px);
  opacity:.11;
}

.fern-tone--sage img{
  filter:brightness(0) saturate(100%) invert(82%) sepia(15%) saturate(620%) hue-rotate(76deg) brightness(94%) contrast(88%);
}
.fern-tone--coral img{
  filter:brightness(0) saturate(100%) invert(48%) sepia(35%) saturate(1330%) hue-rotate(321deg) brightness(91%) contrast(91%);
}
.amenidades .amenities-leaf{
  top:-175px;
  right:auto;
  left:-36px;
  width:clamp(150px,16vw,240px);
  opacity:.24;
  mix-blend-mode:screen;
}
.amenidades .amenities-leaf img{
  transform:rotate(5deg);
}
.entregas .page-fern--entregas{
  top:-72px;
  right:auto;
  left:-42px;
}
.entregas .page-fern--entregas img{
  transform:rotate(5deg);
}
.faq .page-fern--faq{
  right:-48px;
  bottom:-88px;
}
.faq .page-fern--faq img{
  transform:scaleX(-1) rotate(-8deg);
}


.section-subcopy{
  max-width:48ch;
  margin-top:clamp(16px,1.8vw,24px);
  color:var(--ink-soft);
  font-size:1.06rem;
  line-height:1.58;
}
.modelos .section-head,
.amenidades .section-head,
.entregas .section-head{
  display:block;
  text-align:center;
}
.modelos .section-head > div,
.amenidades .section-head > div,
.entregas .section-head > div{
  width:100%;
  max-width:68rem;
  margin-inline:auto;
}
.modelos .section-head .eyebrow,
.amenidades .section-head .eyebrow,
.entregas .section-head .eyebrow{
  justify-content:center;
}
.modelos .section-head .section-title,
.amenidades .section-head .section-title,
.entregas .section-head .section-title{
  max-width:none;
  text-align:center;
  text-wrap:balance;
}
.modelos .section-subcopy,
.entregas .section-subcopy{
  margin-inline:auto;
  text-align:center;
}
.faq .faq-intro{
  width:100%;
  max-width:68rem;
  margin-inline:auto;
  text-align:center;
}
.faq .faq-intro .eyebrow{
  justify-content:center;
}
.faq .faq-intro .section-title{
  max-width:none;
  margin-inline:auto;
  text-align:center;
  text-wrap:balance;
}
.faq .faq-intro .section-lead{
  max-width:48ch;
  margin:18px auto 0;
  text-align:center;
}
.trayectoria .section-head{
  grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);
  align-items:center;
  gap:clamp(48px,7vw,112px);
}
.trayectoria .section-head > div:first-child{
  max-width:38rem;
}
.trayectoria .section-head > .tray-stats{
  width:100%;
  max-width:none;
}
.trayectoria .tray-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  justify-content:stretch;
  gap:clamp(24px,3vw,48px);
  margin:0;
  text-align:left;
}
.trayectoria .tray-stat{
  align-items:flex-start;
  min-width:0;
}
.trayectoria .tray-stat-num{
  color:var(--green);
  font-weight:400;
  font-size:clamp(3.9rem,5vw,6rem);
  line-height:.88;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.trayectoria .tray-stat-lbl{
  margin-top:12px;
  color:var(--ink-soft);
  font-size:.82rem;
  line-height:1.35;
}

@media (max-width:1080px){
  .trayectoria .section-head{
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }
  .trayectoria .section-head > .tray-stats{
    max-width:38rem;
  }
}

@media (max-width:560px){
  .section-subcopy{
    margin-top:14px;
    font-size:1rem;
  }
  .trayectoria .tray-stats{
    gap:20px;
  }
  .trayectoria .tray-stat-num{
    font-size:clamp(3rem,15vw,4.1rem);
  }
  .trayectoria .tray-stat-lbl{
    margin-top:9px;
    font-size:.74rem;
  }
}


.ubicacion .ubic-heading{
  display:block;
  width:100%;
  max-width:68rem;
  margin-inline:auto;
  text-align:center;
}
.ubicacion .ubic-heading .eyebrow{
  justify-content:center;
}
.ubicacion .ubic-heading .section-title{
  max-width:none;
  margin-inline:auto;
  text-align:center;
  text-wrap:balance;
}
.ubicacion .ubic-heading .ubic-narr{
  max-width:52ch;
  margin:18px auto 0;
  text-align:center;
}


.trayectoria .section-head{
  display:block;
  width:100%;
  max-width:68rem;
  margin-inline:auto;
  text-align:center;
}
.trayectoria .section-head > div:first-child{
  max-width:68rem;
  margin-inline:auto;
}
.trayectoria .section-head .eyebrow{
  justify-content:center;
}
.trayectoria .section-head .section-title{
  max-width:none;
  margin-inline:auto;
  text-align:center;
  text-wrap:balance;
}
.trayectoria .section-head .section-subcopy{
  max-width:52ch;
  margin:18px auto 0;
  text-align:center;
}
.trayectoria .section-head > .tray-stats{
  max-width:46rem;
  margin:clamp(30px,3vw,44px) auto 0;
}
.trayectoria .tray-stats{
  text-align:center;
}
.trayectoria .tray-stat{
  align-items:center;
}


@media (min-width:761px){
  .cta-final .cta-grid{
    grid-template-columns:minmax(0,1fr) 440px;
  }
  .cta-final .cta-copy{
    order:1;
  }
  .cta-final .cta-form-card{
    order:2;
  }
}


.faq .faq-question{
  min-height:82px;
  padding-block:22px;
  font-size:clamp(1.06rem,.99rem + .28vw,1.18rem);
  line-height:1.45;
}
.faq .faq-answer-inner{
  font-size:1rem;
  line-height:1.65;
}

@media (max-width:560px){
  .faq .faq-question{
    min-height:74px;
    padding-block:18px;
    font-size:1.02rem;
    line-height:1.45;
  }
}


.site-header:not(.hero-passed) .btn-brochure{
  background:var(--coral-btn,var(--coral));
  border-color:var(--coral-btn,var(--coral));
  color:var(--coral-btn-ink,var(--ink));
  box-shadow:0 4px 14px rgba(255,135,75,.28);
}
.site-header:not(.hero-passed) .btn-brochure:hover{
  background:var(--coral-btn-hover,#F0713A);
  border-color:var(--coral-btn-hover,#F0713A);
  color:var(--coral-btn-ink,var(--ink));
}
.site-header.hero-passed .btn-brochure{
  background:var(--green-btn);
  border-color:var(--green-btn);
  color:#fff;
  box-shadow:0 4px 14px rgba(25,71,186,.22);
}
.site-header.hero-passed .btn-brochure:hover{
  background:#153A94;
  border-color:#153A94;
  color:#fff;
}


.referidos-banner--hero{
  background:#0A2158 !important;
  border-top:3px solid var(--coral);
  border-bottom:0;
  padding-block:clamp(20px,2.6vw,30px);
  position:relative;
}
.referidos-banner--hero .referidos-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:clamp(18px,3vw,44px); flex-wrap:wrap;
}
.referidos-banner--hero .referidos-eyebrow{
  color:#98D1FF; font-family:var(--sans); font-size:.72rem;
  letter-spacing:.2em; text-transform:uppercase; margin:0 0 4px;
}
.referidos-banner--hero .referidos-title{
  color:#fff; margin:0; font-size:clamp(1.15rem,1rem + .9vw,1.7rem); line-height:1.15;
}
.referidos-banner--hero .referidos-sub{
  color:rgba(255,255,255,.72); margin:4px 0 0; font-size:.88rem;
}

.referidos-banner--hero .referidos-cta{
  background:var(--coral-btn); border-color:var(--coral-btn); color:var(--coral-btn-ink);
  flex:0 0 auto;
}
.referidos-banner--hero .referidos-cta:hover{
  background:var(--coral-btn-hover); border-color:var(--coral-btn-hover); color:var(--coral-btn-ink);
}

.referidos-banner--hero .referidos-copy{ border-left:0; padding-left:0; }

@media (max-width:760px){
  .referidos-banner--hero .referidos-inner{ flex-direction:column; align-items:flex-start; gap:14px; }
  .referidos-banner--hero .referidos-cta{ width:100%; justify-content:center; }
}

@media (max-width:900px){
  .referidos-banner--hero{ padding-block:18px !important; }
  .referidos-banner--hero .referidos-inner{
    flex-direction:column; align-items:flex-start; gap:12px;
    padding-block:0 !important; min-height:0 !important;
  }
  .referidos-banner--hero .referidos-title{ font-size:1.15rem; }
  .referidos-banner--hero .referidos-sub{ font-size:.82rem; }
  .referidos-banner--hero .referidos-cta{ width:100%; justify-content:center; min-height:44px; }
}

.referidos-banner--hero .referidos-copy{ flex:0 1 auto; }


.referidos-banner--hero .referidos-cta,
.referidos-banner--hero .referidos-cta.text-link{
  padding:15px clamp(34px, 5vw, 72px);
  min-width:clamp(230px, 22vw, 320px);
  min-height:52px;
  justify-content:center;
  border-radius:2px;
}
@media (max-width:900px){
  .referidos-banner--hero .referidos-cta,
  .referidos-banner--hero .referidos-cta.text-link{
    width:100%; min-width:0; padding:14px 24px; min-height:48px;
  }
}


.hero-title{
  font-family:'Nelphim','Playfair Display',Georgia,serif;
  text-transform:none;
  font-weight:400;
  letter-spacing:-.01em;
  font-size:clamp(2.9rem, 1.5rem + 6.4vw, 5.2rem);
  line-height:1.02;
}
@media (max-width:760px){
  .hero-title{ font-size:clamp(2.5rem, 1.4rem + 7.2vw, 3.4rem); line-height:1.04; }
}



.cta-final, .ubicacion, .faq{ position:relative; overflow:clip; }


.cta-final::after{
  content:''; position:absolute; pointer-events:none; z-index:0;
  width:min(46vw, 540px); aspect-ratio:1;
  background:url('assets/img/pm_sello_blanco.png') center/contain no-repeat;
  opacity:.07;
  left:-9%; bottom:-12%;
}




.amenidades > .container, .cta-final > .container,
.ubicacion > .container, .faq > .container{ position:relative; z-index:2; }

@media (max-width:900px){
  .cta-final::after{ width:min(70vw,320px); opacity:.05; }
}


.hero-media{ display:block; }

.hero-media img{ object-fit:cover; object-position:58% 58%; }

.hero-overlay{
  display:block;

  background:
    linear-gradient(90deg, rgba(14,42,107,.88) 0%, rgba(14,42,107,.62) 30%, rgba(14,42,107,.26) 58%, rgba(14,42,107,.20) 100%),
    linear-gradient(180deg, rgba(14,42,107,.30) 0%, rgba(14,42,107,.12) 45%, rgba(14,42,107,.42) 100%);
}

.hero::before{ opacity:.22; }

@media (max-width:900px){

  .hero-overlay{
    background:linear-gradient(180deg, rgba(14,42,107,.72) 0%, rgba(14,42,107,.52) 46%, rgba(14,42,107,.74) 100%);
  }

  .hero-media img{ object-position:52% 55%; }
}



.doc-body{ background:var(--paper, #FAFAF8); color:var(--ink); }
.doc-wrap{ width:100%; max-width:760px; margin:0 auto; padding-inline:clamp(20px, 5vw, 32px); }
.doc-eyebrow{
  margin:44px 0 10px; font-family:var(--body); font-size:.7rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--green);
}
.doc-title{ margin:0 0 18px; font-size:clamp(1.7rem, 1.2rem + 2vw, 2.5rem); line-height:1.15; }
.doc-lead{ margin:0 0 34px; font-size:1rem; line-height:1.65; color:var(--ink-mid); }
.doc-sec{ margin:0 0 38px; scroll-margin-top:24px; }
.doc-sec h2{
  margin:0 0 14px; font-size:1.12rem; line-height:1.3; color:var(--green-ink);
  font-family:var(--body); font-weight:600;
}
.doc-sec p{ margin:0 0 14px; font-size:.94rem; line-height:1.7; color:var(--ink-mid); text-align:justify; }
.doc-sec ul{ margin:0 0 14px; padding-left:1.3em; }
.doc-sec li{ margin:7px 0; font-size:.94rem; line-height:1.65; color:var(--ink-mid); }
.doc-destacado{ font-weight:600; color:var(--ink) !important; }
.doc-canales{ list-style:none; padding:0; }
.doc-canales li{ display:flex; flex-wrap:wrap; gap:6px 12px; padding:11px 0; border-bottom:1px solid var(--line); }
.doc-canales li:last-child{ border-bottom:0; }
.doc-canal-et{
  flex:0 0 148px; font-family:var(--body); font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
}
.doc-canales a{ color:var(--green); }
.doc-pendiente{ color:var(--coral-btn, #C4623A); font-style:italic; }
.doc-autorizaciones{ padding-left:1.2em; }
.doc-autorizaciones li{ margin:0 0 22px; }
.doc-aut-tit{
  margin:0 0 7px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family:var(--body); font-size:.95rem; font-weight:600; color:var(--ink);
}
.doc-aut-et{
  font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  color:var(--ink-soft); border-bottom:1.5px solid currentColor; padding-bottom:1px;
}
.doc-autorizaciones p{ margin:0; font-size:.9rem; line-height:1.65; color:var(--ink-mid); text-align:justify; }
.doc-pie-nota{
  margin:0 0 56px; padding-top:22px; border-top:1px solid var(--line);
  font-size:.82rem; line-height:1.6; color:var(--ink-soft);
}
  .doc-canal-et{ flex-basis:100%; }
  .doc-sec p, .doc-autorizaciones p{ text-align:left; }
.doc-sec ul{ list-style:disc; }
.doc-autorizaciones{ list-style:decimal; }
.doc-body main.doc-wrap{ padding-top:104px; }




.sp-body{ background:var(--paper, #FAFAF8);}

.sp-body main#sp{ display:block; padding-top:79px;}
.sp-eyebrow{
  font-family:var(--body); font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--green-ink);
  margin:0 0 14px;}
.sp-eyebrow a{ color:inherit; text-decoration:none; border-bottom:1px solid currentColor;}
.sp-eyebrow a:hover{ opacity:.7;}
.sp-title{
  font-family:var(--display); font-weight:400;
  font-size:clamp(2.4rem, 6vw, 4.2rem); line-height:1.04; letter-spacing:-.01em;
  color:var(--ink); margin:0 0 22px;}
.sp-h2{
  font-family:var(--display); font-weight:400;
  font-size:clamp(1.7rem, 3.4vw, 2.6rem); line-height:1.12; color:var(--ink);
  margin:0 0 16px;}
.sp-lead{
  font-family:var(--body); font-size:1.02rem; line-height:1.62;
  color:var(--ink-soft); margin:0 0 22px; max-width:52ch;}
.sp-lead--ancho{ max-width:64ch;}
.sp-link{
  display:inline-block; font-family:var(--body); font-size:.74rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--green);
  border-bottom:1px solid currentColor; padding-bottom:2px; text-decoration:none;
  transition:opacity .18s;}
.sp-link:hover{ opacity:.65;}
.sp-disclaimer{
  font-family:var(--body); font-size:.74rem; color:var(--ink-soft);
  text-align:right; margin:16px 0 0;}
.sp-sec{ padding:clamp(56px, 8vw, 104px) 0;}
.sp-sec + .sp-sec{ border-top:1px solid var(--line);}

.sp-hero{ padding:clamp(40px, 6vw, 76px) 0 clamp(48px, 7vw, 88px);}
.sp-hero-grid{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px, 5vw, 64px); align-items:center;}
.sp-hero-img{ margin:0; aspect-ratio:16/11; box-shadow:0 18px 42px rgba(14,42,107,.18); border:1px solid rgba(14,42,107,.10);}
.sp-hero--am{ background:var(--green-soft);}
.sp-datos{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-wrap:wrap; gap:10px 34px;}
.sp-dato{ display:flex; flex-direction:column; gap:2px;}
.sp-dato-num{ font-family:var(--display); font-size:1.32rem; color:var(--ink); line-height:1.1;}
.sp-dato-txt{ font-family:var(--body); font-size:.74rem; letter-spacing:.04em; color:var(--ink-soft);}
.sp-precio{ font-family:var(--body); margin:0 0 26px; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 12px;}
.sp-precio-lbl{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);}
.sp-precio strong{ font-family:var(--display); font-weight:400; font-size:1.9rem; color:var(--green-ink);}
.sp-precio strong.is-tachado{ text-decoration:line-through; opacity:.6;}
.sp-precio-res{ font-size:.82rem; color:var(--ink-soft);}
.sp-vendida{
  font-family:var(--body); font-size:.74rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--coral, #FF874B); margin:-10px 0 18px;}
.sp-acciones{ display:flex; flex-wrap:wrap; gap:12px;}

.sp-media{
  display:block; position:relative; overflow:hidden; border-radius:var(--radius, 3px);
  background:linear-gradient(135deg,#DDE9E2 0%,#EDE6DA 100%);}
.sp-media img{ display:block; width:100%; height:100%; object-fit:cover;}
.sp-media.is-broken img{ display:none;}

.sp-galeria{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:18px;}
.sp-gal-item{ margin:0; aspect-ratio:16/9;}
.sp-gal-item figcaption{
  position:absolute; left:16px; bottom:12px; color:#fff;
  font-family:var(--body); font-size:.74rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; text-shadow:0 1px 6px rgba(0,0,0,.6);}

.sp-planos{ background:var(--sand, #F3EFE7);}
.sp-planos-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:26px;}
.sp-plano{ margin:0;}
.sp-plano-tag{
  font-family:var(--body); font-size:.72rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green-ink); margin:0 0 10px;}
.sp-plano .sp-media{ background:none;}
.sp-plano .sp-media img{ height:auto; object-fit:contain;}

.sp-puente-in{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(24px, 5vw, 60px); align-items:center;}
.sp-puente-img{ margin:0; aspect-ratio:4/3;}
.sp-puente-img--plano{ background:none;}
.sp-puente-img--plano img{ object-fit:contain;}

.sp-otros{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:18px;}
.sp-otro{ text-decoration:none; display:block;}
.sp-otro-img{ aspect-ratio:4/3; margin-bottom:10px;}
.sp-otro-img img{ transition:transform .5s var(--ease, ease);}
.sp-otro:hover .sp-otro-img img{ transform:scale(1.05);}
.sp-otro-nom{ display:block; font-family:var(--display); font-size:1.18rem; color:var(--ink);}
.sp-otro-dato{ display:block; font-family:var(--body); font-size:.76rem; color:var(--ink-soft); margin-top:2px;}

.sp-am-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px;}
.sp-am-card{ margin:0;}
.sp-am-img{ aspect-ratio:4/3; margin-bottom:10px;}
.sp-am-nom{ font-family:var(--display); font-size:1.14rem; color:var(--ink); text-align:center; display:block;}

.sp-contacto{ background:#789A8C;}

.sp-contacto .sp-eyebrow{ color:rgba(255,255,255,.86);}
.sp-contacto .sp-h2{ color:#fff;}
.sp-contacto .sp-lead{ color:rgba(255,255,255,.9);}
.sp-contacto-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(28px, 5vw, 64px); align-items:start;}
.sp-vacio{ padding:120px 24px; text-align:center; font-family:var(--body); color:var(--ink-soft);}

.sp-claim{
  font-family:var(--display); font-weight:400;
  font-size:clamp(1.25rem, 2.3vw, 1.7rem); line-height:1.24;
  color:var(--green-ink); margin:0 0 16px; max-width:22ch;}
.sp-lead--centro{ margin-left:auto; margin-right:auto; text-align:center;}

.sp-pilares{ background:var(--green-soft);}
.sp-pilares-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:clamp(22px, 4vw, 48px);}
.sp-pilar-tit{
  font-family:var(--display); font-weight:400; font-size:1.34rem;
  color:var(--ink); margin:0 0 10px;}
.sp-pilar-txt{ font-family:var(--body); font-size:.94rem; line-height:1.6; color:var(--ink-soft); margin:0;}

.sp-fichas{ display:grid; gap:clamp(30px, 5vw, 56px);}
.sp-ficha{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(20px, 4vw, 46px); align-items:center;}
.sp-ficha:nth-child(even) .sp-ficha-img{ order:2;}
.sp-ficha-img{ display:block; aspect-ratio:4/3; position:relative;}
.sp-ficha-img img{ transition:transform .6s var(--ease, ease);}
.sp-ficha-img:hover img{ transform:scale(1.04);}
.sp-ficha-cinta{
  position:absolute; top:14px; right:14px; z-index:2;
  background:var(--coral, #FF874B); color:#1A1A2E;
  font-family:var(--body); font-size:.66rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:5px 11px;}
.sp-ficha.is-vendida .sp-ficha-precio strong{ text-decoration:line-through; opacity:.6;}
.sp-ficha-nom{ font-family:var(--display); font-weight:400; font-size:clamp(1.8rem, 3.2vw, 2.5rem); margin:0 0 8px; line-height:1.08;}
.sp-ficha-nom a{ color:var(--ink); text-decoration:none;}
.sp-ficha-nom a:hover{ color:var(--green-ink);}
.sp-ficha-claim{
  font-family:var(--display); font-size:1.06rem; color:var(--green-ink);
  margin:0 0 10px; line-height:1.3;}
.sp-ficha-datos{
  font-family:var(--body); font-size:.74rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft); margin:0 0 12px;}
.sp-ficha-par{ font-family:var(--body); font-size:.96rem; line-height:1.6; color:var(--ink-soft); margin:0 0 14px; max-width:46ch;}
.sp-ficha-precio{ font-family:var(--body); margin:0 0 16px; display:flex; align-items:baseline; gap:9px;}
.sp-ficha-precio strong{ font-family:var(--display); font-weight:400; font-size:1.5rem; color:var(--green-ink);}

.sp-body{ background:#FFFFFF;}
.sp-sec + .sp-sec{ border-top:0;}
.sp-hero{ background:var(--paper, #FAFAF8);}
.sp-hero--am{ background:var(--green-soft, #E5F1ED);}
.sp-fondo-blanco{ background:#FFFFFF;}
.sp-fondo-arena{ background:var(--sand, #F2EDE6);}
.sp-fondo-teal{ background:var(--green-soft, #E5F1ED);}
.sp-interiores{ background:#FFFFFF;}
.sp-planos{ background:var(--sand, #F2EDE6);}
.sp-puente{ background:var(--green-soft, #E5F1ED);}
.sp-puente.sp-fondo-arena{ background:var(--sand, #F2EDE6);}
.sp-puente.sp-fondo-blanco{ background:#FFFFFF;}
.sp-otros-sec{ background:#FFFFFF;}
.sp-otros-sec.sp-fondo-arena{ background:var(--sand, #F2EDE6);}
.sp-pilares{ background:#FFFFFF;}

.sp-link--btn{
  border:0; background:none; padding:0 0 2px; cursor:pointer;
  align-self:center; margin-left:4px;}

.sp-am-destacadas{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px;}
.sp-am2{ margin:0; position:relative;}
.sp-am2-img{ aspect-ratio:4/3;}
.sp-am2--grande{ grid-column:1 / -1;}
.sp-am2--grande .sp-am2-img{ aspect-ratio:21/9;}
.sp-am2-nom{
  position:absolute; left:18px; bottom:14px; z-index:2; color:#fff;
  font-family:var(--display); font-weight:400; font-size:1.24rem;
  text-shadow:0 1px 10px rgba(0,0,0,.55);}
.sp-am2--grande .sp-am2-nom{ font-size:1.7rem;}
.sp-am2 .sp-media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 46%);}
.sp-am2-img img{ transition:transform .6s var(--ease, ease);}
.sp-am2:hover .sp-am2-img img{ transform:scale(1.04);}
.sp-am-grid2{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:14px;}

.sp-am-plano-in{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(24px, 4vw, 54px); align-items:center;}
.sp-am-plano-img{ margin:0; background:none;}
.sp-am-plano-img img{ width:100%; height:auto; object-fit:contain;}
.sp-am-plano .proyecto-amenidades{ margin-top:18px;}

.sp-oculto{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.sp-cmp-scroll{ overflow-x:auto; margin-top:26px;}
.sp-cmp{ width:100%; border-collapse:collapse; font-family:var(--body);}
.sp-cmp thead th{
  font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-soft); text-align:left; padding:0 14px 12px; white-space:nowrap;
  border-bottom:1px solid var(--line);}
.sp-cmp td, .sp-cmp tbody th{ padding:16px 14px; border-bottom:1px solid var(--line); vertical-align:middle;}
.sp-cmp td{ font-size:.95rem; color:var(--ink); white-space:nowrap;}
.sp-cmp-casa{ text-align:left; min-width:210px;}
.sp-cmp-foto{ display:block; width:120px; aspect-ratio:4/3; margin-bottom:8px;}
.sp-cmp-foto img{ transition:transform .5s var(--ease, ease);}
.sp-cmp-fila:hover .sp-cmp-foto img{ transform:scale(1.05);}
.sp-cmp-nom{
  font-family:var(--display); font-weight:400; font-size:1.32rem;
  color:var(--ink); text-decoration:none; display:block;}
.sp-cmp-nom:hover{ color:var(--green-ink);}
.sp-cmp-vendida{
  display:inline-block; margin-top:4px; font-size:.62rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--coral, #FF874B);}
.sp-cmp-precio{ font-family:var(--display); font-size:1.16rem; color:var(--green-ink);}
.sp-cmp-fila.is-vendida .sp-cmp-precio{ text-decoration:line-through; opacity:.55;}
.sp-cmp-ir{ text-align:right;}

@media (max-width:900px){
  .sp-hero-grid, .sp-puente-in, .sp-contacto-grid{ grid-template-columns:1fr;}
  .sp-hero-grid .sp-hero-img{ order:-1;}
}

@media (max-width:700px){
  .sp-body main#sp{ padding-top:70px;}
  .sp-datos{ gap:12px 24px;}
  .sp-acciones .btn{ width:100%;}
  .sp-disclaimer{ text-align:left;}

  .sp-galeria, .sp-planos-grid{ grid-template-columns:minmax(0, 1fr); }
}

@media (max-width:820px){
  .sp-ficha{ grid-template-columns:1fr;}
  .sp-ficha:nth-child(even) .sp-ficha-img{ order:0;}
}

@media (max-width:820px){
  .sp-am-destacadas{ grid-template-columns:1fr;}
  .sp-am2--grande .sp-am2-img{ aspect-ratio:4/3;}
  .sp-am-plano-in{ grid-template-columns:1fr;}
}

@media (max-width:820px){

  .sp-cmp thead{ display:none;}
  .sp-cmp, .sp-cmp tbody, .sp-cmp tr, .sp-cmp td, .sp-cmp tbody th{ display:block; width:auto;}
  .sp-cmp-fila{ border:1px solid var(--line); padding:16px; margin-bottom:16px;}
  .sp-cmp td, .sp-cmp tbody th{ border:0; padding:0;}
  .sp-cmp-casa{ display:flex; align-items:center; gap:14px; margin-bottom:12px;}
  .sp-cmp-foto{ width:96px; margin:0; flex:none;}
  .sp-cmp td{
    display:flex; justify-content:space-between; gap:16px;
    padding:7px 0; border-bottom:1px solid var(--line); white-space:normal;}
  .sp-cmp td::before{
    content:attr(data-col); font-size:.7rem; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-soft);}
  .sp-cmp-ir{ border-bottom:0 !important; justify-content:flex-end; padding-top:12px !important;}
  .sp-cmp-ir::before{ content:"";}
}



.sp-contacto{ background:var(--dark); }
.sp-contacto, .sp-contacto .sp-h2, .sp-contacto .sp-lead, .sp-contacto .sp-eyebrow{ color:#fff; }

.sp-planos, .sp-fondo-arena, .sp-puente.sp-fondo-arena{ background:var(--green-soft); }

.sp-media{ background:linear-gradient(135deg, #EAF0FB 0%, #DCE6F7 100%); }

.sp-plano .sp-media{ background:none; }


.model-ficha-link{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--body); font-size:.82rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--green); text-decoration:none;
  border-bottom:1px solid transparent; padding-bottom:2px;
  transition:border-color .2s var(--ease, ease), color .2s var(--ease, ease);
}
.model-ficha-link::after{ content:"→"; font-size:.95em; }
.model-ficha-link:hover{ border-bottom-color:currentColor; }
.model-ficha-link:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }

.model-ficha-link{ white-space:nowrap; }
.model-ctas{ flex-wrap:wrap; row-gap:10px; }
@media (max-width:480px){

  .model-ficha-link{ width:100%; }
}



.form-legal{
  display:flex; align-items:flex-start; gap:8px; margin:12px 0 0;
  font-size:.72rem; line-height:1.45; color:var(--ink-soft);
}
.form-legal-txt a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.form-legal-txt a:hover{ color:var(--green); }
.form-legal-ico{
  flex:none; width:26px; height:26px; margin-top:-2px; padding:0;
  border:0; border-radius:50%; background:none; color:var(--green);
  cursor:pointer; display:grid; place-items:center; transition:background .16s;
}
.form-legal-ico:hover{ background:rgba(44,126,110,.12); }
.form-legal-ico svg{ width:19px; height:19px; }
.form-legal-ico:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }

.hero-form-card--glass .form-legal{ color:rgba(255,255,255,.82); }
.hero-form-card--glass .form-legal-ico{ color:#fff; }
.hero-form-card--glass .form-legal-ico:hover{ background:rgba(255,255,255,.16); }

.modal-card--consent{
  width:min(680px, 94vw); max-height:92vh; max-height:92dvh;
  display:flex; flex-direction:column; overflow:hidden;
}
.modal-card--consent > .modal-head{ flex:none; z-index:2; }
.modal-body--consent{
  flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding:18px 22px 6px;
}
.consent-intro{ margin:0 0 16px; font-size:.82rem; line-height:1.5; color:var(--ink-soft); }
.consent-item{
  display:flex; align-items:flex-start; gap:12px; cursor:pointer;
  padding:14px 0; border-top:1px solid var(--line);
}
.consent-item:first-of-type{ border-top:0; padding-top:0; }
.consent-item input{ flex:none; width:19px; height:19px; margin-top:2px; accent-color:var(--green); cursor:pointer; }
.consent-cuerpo{ display:block; min-width:0; }
.consent-titulo{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  font-family:var(--body); font-weight:600; font-size:.9rem; color:var(--ink);
  margin-bottom:5px;
}
.consent-oblig, .consent-opc{
  font-style:normal; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
  font-weight:600; padding:2px 0; border-bottom:1.5px solid currentColor;
}
.consent-oblig{ color:var(--coral-btn, #C4623A); }
.consent-opc{ color:var(--ink-soft); }
.consent-texto{ display:block; font-size:.78rem; line-height:1.55; color:var(--ink-mid); }
.consent-foot{
  flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 22px 18px; border-top:1px solid var(--line);
}
.consent-terminos{
  font-family:var(--body); font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--green);
  text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px;
}
.consent-terminos:hover{ opacity:.65; }
@media (max-width:520px){
  .modal-body--consent{ padding:16px 16px 4px; }
  .consent-foot{ padding:12px 16px 16px; flex-direction:column; align-items:stretch; gap:12px; }
  .consent-foot .btn{ width:100%; }
  .consent-terminos{ text-align:center; }
  .consent-texto{ font-size:.76rem; }
}


.form-legal-txt{ text-align:justify; }
.consent-req{
  font-style:normal; font-weight:700; font-size:1rem; line-height:1;
  color:var(--coral-btn, #C4623A);
}
.consent-intro{ display:none; }


.ct-toast{
  position:fixed; left:50%; bottom:26px; transform:translate(-50%, 14px);
  z-index:1200; max-width:min(520px, 92vw);
  background:var(--dark, #0B423C); color:#fff;
  font-family:var(--body); font-size:.86rem; line-height:1.4;
  padding:13px 20px; border-radius:2px; box-shadow:0 10px 30px rgba(0,0,0,.22);
  opacity:0; transition:opacity .28s ease, transform .28s ease; pointer-events:none;
}
.ct-toast.is-in{ opacity:1; transform:translate(-50%, 0); }
@media (max-width:700px){ .ct-toast{ bottom:88px; font-size:.82rem; padding:12px 16px; } }
@media (prefers-reduced-motion:reduce){ .ct-toast{ transition:opacity .01s; transform:translate(-50%,0); } }


.consent-aviso{ margin-right:auto; max-width:60%; line-height:1.35; }
.consent-aviso:empty{ display:none; }


#consentModal{ z-index:520; }

#consentModal .modal-backdrop{ background:rgba(16,28,22,.72); }


.modal-card--aviso{ max-width:430px; text-align:center; overflow:visible; }
.modal-card--aviso .modal-close{ position:absolute; top:8px; right:10px; z-index:2; }
.aviso-cuerpo{ padding:38px 34px 32px; }
.aviso-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:54px; height:54px; margin-bottom:16px; border-radius:50%;
  background:var(--green-soft, #E5F1ED); color:var(--green, #2C7E6E);
}
.aviso-ico svg{ width:26px; height:26px; }
.aviso-titulo{ font-family:var(--display); font-size:1.2rem; margin:0 0 8px; }
.aviso-texto{
  margin:0 0 22px; font-size:.95rem; line-height:1.5; color:var(--ink-soft);
}
.modal-card--aviso .btn{ min-width:150px; }

.modal-card--aviso .aviso-cuerpo .btn{ display:flex; width:100%; max-width:300px; margin-inline:auto; }
.modal-card--aviso .aviso-wa{ margin-top:10px; }




@media (min-width: 661px) and (max-height: 780px) {
  #leadModal .modal-head,  #brochureModal .modal-head  { padding: 14px 26px; }
  #leadModal .modal-body                               { padding: 14px 26px 20px; }
  #leadModal .form-sub                                 { margin-bottom: 12px; }
  #leadModal .lead-form,   #brochureModal .lead-form   { gap: 10px; }
}


@media (max-width: 660px) {

  #leadModal .field-row, #brochureModal .field-row { grid-template-columns: 1fr 1fr; }

  #leadModal .field-row:has(select),
  #brochureModal .field-row:has(select) { grid-template-columns: 1fr; }

  #leadModal .modal-head,  #brochureModal .modal-head  { padding: 14px 18px; }
  #leadModal .modal-body,  #brochureModal .modal-body  { padding: 14px 18px 18px; }
  #leadModal .form-sub,    #brochureModal .form-sub    { margin-bottom: 10px; font-size: .86rem; line-height: 1.4; }
  #leadModal .lead-form,   #brochureModal .lead-form   { gap: 10px; }
  #leadModal .field,       #brochureModal .field       { gap: 4px; }
  #leadModal .form-legal,  #brochureModal .form-legal  { font-size: .74rem; line-height: 1.45; }
}


@media (max-width: 660px) and (max-height: 700px) {
  #leadModal, #brochureModal { padding: 8px; }
  #leadModal .modal-card, #brochureModal .modal-card { max-height: 96dvh; }
  #leadModal .modal-head,  #brochureModal .modal-head  { padding: 10px 16px; }
  #leadModal .modal-title, #brochureModal .modal-title { font-size: 1.02rem; }
  #leadModal .modal-body,  #brochureModal .modal-body  { padding: 10px 16px 14px; }
  #leadModal .form-sub,    #brochureModal .form-sub    { display: none; }
  #leadModal .lead-form,   #brochureModal .lead-form   { gap: 8px; }
  #leadModal .form-legal,  #brochureModal .form-legal  { font-size: .70rem; line-height: 1.4; }
  #leadModal .field input, #leadModal .field select,
  #brochureModal .field input, #brochureModal .field select { padding-top: 10px; padding-bottom: 10px; }
}


@media (max-width: 660px) {
  #leadModal .field-row:has(input[type="email"]),
  #brochureModal .field-row:has(input[type="email"]) { grid-template-columns: 1.32fr 1fr; }
}


.aviso-espera{ display:none; }
.modal--aviso.esta-cargando .aviso-ico,
.modal--aviso.esta-cargando .aviso-cuerpo .btn{ display:none; }
.modal--aviso.esta-cargando .aviso-espera{
  display:block; width:46px; height:46px; margin:0 auto 4px;
  border-radius:50%;
  border:3px solid var(--green-soft, #E5F1ED);
  border-top-color:var(--green, #2C7E6E);
  animation:aviso-gira .9s linear infinite;
}
@keyframes aviso-gira{ to{ transform:rotate(360deg); } }


.lead-form [type="submit"][aria-busy="true"]{
  opacity:.75; cursor:progress;
}

@media (prefers-reduced-motion: reduce){

  .modal--aviso.esta-cargando .aviso-espera{ animation:none; }
}




.wa-float{ --wa-alza: 0px; transition: opacity .2s var(--ease, ease), transform .28s var(--ease, ease); }
.wa-float{ transform: translateY(var(--wa-alza)); }
.wa-float.wa-float--cede{ opacity: 0; pointer-events: none; transform: translateY(var(--wa-alza)) scale(.86); }

body:has(.ck-modal.is-in) .wa-float{ --wa-alza: calc(-1 * var(--ck-h, 96px)); }


input, select, textarea,
.lead-form input, .lead-form select, .lead-form textarea{ font-size: 16px; }


.form-legal, .cta-legal, .legal-nota, .check span, .form-legal-txt,
.ck-txt, .doc-pie-nota{ font-size: max(.75rem, 12px); line-height: 1.5; }


.modal-card:fullscreen, .modal-body:fullscreen{ background: var(--paper, #FAFAF8); }
.modal-card:fullscreen .modal-close,
.modal-body:fullscreen .modal-close{
  position: fixed; top: 14px; right: 14px; z-index: 10;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,255,255,.94); color: var(--ink);
  box-shadow: 0 4px 16px rgba(0,0,0,.22); display: flex;
  align-items: center; justify-content: center;
}


:root{ --t-rapido: .18s; --t-medio: .28s; --t-lento: .45s; }


.mc-dot, .am-dot{ position: relative; }
.mc-dot::after, .am-dot::after{
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 44px; height: 44px; transform: translate(-50%, -50%);
}
.model-tab{ min-height: 44px; }
.form-legal-ico{ min-width: 44px; min-height: 44px; }


.modal.is-cerrando{ display: flex; pointer-events: none; }
.modal.is-cerrando .modal-card{ animation: modalOut var(--t-rapido) var(--ease, ease) both; }
.modal.is-cerrando .modal-backdrop{ animation: fadeOut var(--t-rapido) var(--ease, ease) both; }
@keyframes modalOut{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(10px) scale(.98); } }
@keyframes fadeOut{ from{ opacity:1; } to{ opacity:0; } }
@media (prefers-reduced-motion: reduce){
  .modal.is-cerrando .modal-card, .modal.is-cerrando .modal-backdrop{ animation: none !important; }
}


.entrega-foto .media{ aspect-ratio: 3 / 4; }

.entregas-grid{ grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
@media (max-width: 700px){

  .entregas-grid{ grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
}


.entregas-nota{
  margin: 1rem 0 0;
  font-size: max(.75rem, 12px);
  line-height: 1.5;
  color: var(--muted, #6b6b6b);
  text-align: center;
}


.sp-volver{
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  font-size: max(.8125rem, 13px);
  opacity: .85;
}
.sp-volver:hover{ opacity: 1; }

.sp-volver::after{ content: none; }
.sp-volver svg{ width: 1em; height: 1em; }


.mc-slide:not(.is-active),
.am-slide:not(.is-active){ display: none; }


.mc-slide.is-active,
.am-slide.is-active{
  display: block;
  opacity: 1;
  visibility: visible;
  animation: entraFoto var(--t-medio, .28s) var(--ease, ease) both;
}
@keyframes entraFoto{ from{ opacity: 0 } to{ opacity: 1 } }
@media (prefers-reduced-motion: reduce){
  .mc-slide.is-active,
  .am-slide.is-active{ animation: none; }
}


.model-tab{ font-size: max(.75rem, 12px); }
.ck-sm{     font-size: max(.75rem, 12px); }
.model-spec-lbl.model-spec-lbl{     font-size: max(.75rem, 12px); }
.model-plantas.model-plantas{       font-size: max(.75rem, 12px); }
.tray-stat-lbl.tray-stat-lbl{       font-size: max(.75rem, 12px); }
.referidos-eyebrow.referidos-eyebrow{ font-size: max(.75rem, 12px); }

.btn{              font-size: max(.75rem, 12px); }

.footer-legal.footer-legal{ font-size: max(.75rem, 12px); }


.mc-dot{ position: relative; }
.mc-dot::after{
  content: "";
  position: absolute;
  inset: 0 -6px;
}

.model-ficha-link{ padding-block: 11px; }

.modelos .section-title em,
.ubicacion .section-title em,
.ubic-heading .section-title em,
.entregas .section-title em,
.faq .section-title em,
.trayectoria .section-title em{ color: var(--coral-ink); }

.field .req{ color: var(--coral-ink); }

.mc-tag{
  text-shadow:
    0 0 2px rgba(0,0,0,.95),
    0 1px 3px rgba(0,0,0,.9),
    0 2px 14px rgba(0,0,0,.75);
}

.doc-pendiente{ color: var(--coral-ink); }
