@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/coinha/tt-hoves-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/coinha/tt-hoves-medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/coinha/tt-hoves-demibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/coinha/tt-hoves-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/coinha/tt-hoves-light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Loretta Display";
  src: url("../fonts/coinha/loretta-display-italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --coinha-powder-white: #F9F9F7;
  --coinha-concrete-grey: #AAA9A3;
  --coinha-moss-green: #65695F;
  --coinha-darkness-black: #1D201D;
  --coinha-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --coinha-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

* {
  --body-font: "TT Hoves", "DM Sans", Helvetica, Arial, sans-serif;
  --heading-font: "TT Hoves", "Jost", Helvetica, Arial, sans-serif;
  --heading-font-color: var(--coinha-darkness-black);
  --body-font-color: rgba(29, 32, 29, .72);
  --body-font-color-dark: rgba(249, 249, 247, .72);
  --bg-light: var(--coinha-powder-white);
  --bg-dark-1: var(--coinha-darkness-black);
  --bg-dark-2: #252922;
  --bg-dark-3: #151815;
  --bg-dark-1-rgb: 29, 32, 29;
  --bg-color-even: #F1F1EE;
  --bg-color-odd: var(--coinha-powder-white);
  --border-color: rgba(101, 105, 95, .28);
  --btn-hover-bg: var(--coinha-darkness-black);
  --logo-width: 205px;
  --logo-footer-width: 220px;
  --h1-letter-spacing: 0;
  --h2-letter-spacing: 0;
  --rounded-1: 8px;
}

body {
  background: var(--coinha-powder-white);
  text-rendering: optimizeLegibility;
}

section {
  padding-top: 96px;
  padding-bottom: 96px;
}

a,
#mainmenu a:hover,
footer .widget a:hover {
  color: var(--coinha-moss-green);
}

header.smaller,
header.header-mobile {
  background: rgba(249, 249, 247, .96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(101, 105, 95, .14);
}

header .logo-main,
header .logo-scroll,
header .logo-mobile,
footer .logo-footer,
.coinha-logo {
  width: auto;
  height: auto;
  object-fit: contain;
}

.logo-main,
.logo-scroll,
.logo-mobile {
  max-width: 205px;
}

.btn-main {
  background: var(--coinha-moss-green);
  color: var(--coinha-powder-white);
  border-color: var(--coinha-moss-green);
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 150ms var(--coinha-ease-out), background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  will-change: transform;
}

.btn-main:active {
  transform: scale(.97);
}

.btn-main:hover,
.btn-main.fx-slide:hover span {
  color: var(--coinha-powder-white);
}

.btn-main.btn-line {
  color: var(--coinha-powder-white);
  border-color: rgba(249, 249, 247, .78);
  background: rgba(29, 32, 29, .34);
  backdrop-filter: blur(10px);
}

.btn-main.btn-line span {
  color: var(--coinha-powder-white);
}

.bg-color,
section.bg-color {
  background: var(--coinha-moss-green);
}

.bg-color-op-1 {
  background: rgba(101, 105, 95, .09);
}

.bg-color-op-2 {
  background: rgba(101, 105, 95, .16);
}

.coinha-accent {
  font-family: "Loretta Display", Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.coinha-hero {
  min-height: 88vh;
  background-size: cover;
  background-position: center;
}

.coinha-hero h1 {
  max-width: 980px;
  font-size: clamp(52px, 7.2vw, 112px);
  line-height: .98;
}

.coinha-hero .lead {
  max-width: 720px;
  color: rgba(249, 249, 247, .82);
}

/* Hero home: titulo mas contenido para no invadir la pantalla */
.coinha-hero-h1 {
  max-width: 680px;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.08;
}

/* Hero home: nombre del desarrollo por slide del carrusel */
.coinha-slide-name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 34px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 0 calc((100vw - min(100vw - 24px, 1320px)) / 2 + 12px);
  color: #f9f9f7;
  pointer-events: none;
}

.coinha-slide-kicker {
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .75;
}

.coinha-slide-title {
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  line-height: 1.1;
}

@media (max-width: 767px) {
  .coinha-slide-name {
    bottom: 22px;
  }

  /* Torre Hudson: en móvil se conserva el edificio principal al centro. */
  .coinha-hudson-slide {
    background-position: center center !important;
  }
}

.coinha-hero:before,
.coinha-page-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(29, 32, 29, .78), rgba(29, 32, 29, .34));
  z-index: 0;
}

.coinha-hero > .container,
.coinha-page-hero > .container {
  position: relative;
  z-index: 1;
}

.coinha-page-hero {
  min-height: 560px;
  background-size: cover;
  background-position: center;
}

.coinha-page-hero h1 {
  font-size: clamp(48px, 7.5vw, 108px);
  line-height: 1;
  max-width: 980px;
}

.coinha-page-hero h3,
.coinha-page-hero h4 {
  max-width: 720px;
  color: rgba(249, 249, 247, .82);
}

.coinha-project-card img,
.coinha-gallery img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.coinha-project-card {
  box-shadow: 0 24px 70px rgba(29, 32, 29, .12);
  transition: transform 220ms var(--coinha-ease-out), box-shadow 220ms var(--coinha-ease-out);
}

.coinha-project-card .p-40 {
  background: var(--coinha-powder-white);
  padding: 34px !important;
}

.coinha-project-card h3 {
  line-height: 1.16;
  margin-bottom: 12px;
  color: var(--coinha-darkness-black) !important;
  font-weight: 600;
}

.coinha-project-card p {
  color: rgba(29, 32, 29, .68);
  max-width: 92%;
}

.coinha-gallery a {
  overflow: hidden;
  border-radius: 8px;
  background: var(--coinha-darkness-black);
}

.coinha-gallery img {
  transition: transform 360ms var(--coinha-ease-out), opacity 220ms ease;
}

.coinha-meta {
  color: var(--coinha-moss-green);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 600;
}

.coinha-soft-line {
  border-color: rgba(101, 105, 95, .22) !important;
}

footer.section-dark {
  background: var(--coinha-darkness-black);
  padding-top: 88px;
}

footer .social-icons a {
  color: var(--coinha-powder-white);
  border-color: rgba(249, 249, 247, .24);
}

footer p {
  color: rgba(249, 249, 247, .68);
}

footer a {
  color: rgba(249, 249, 247, .78);
}

.form-control,
input[type=text],
input[type=email],
textarea,
select {
  border-radius: 8px !important;
}

@media (hover: hover) and (pointer: fine) {
  .btn-main:hover {
    transform: translateY(-1px);
  }

  .coinha-project-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 32px 90px rgba(29, 32, 29, .18);
  }

  .coinha-gallery a:hover img {
    transform: scale(1.045);
    opacity: .92;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-main,
  .coinha-project-card,
  .coinha-gallery img {
    transition: opacity 160ms ease, color 160ms ease, background-color 160ms ease;
  }

  .btn-main:active,
  .btn-main:hover,
  .coinha-project-card:hover,
  .coinha-gallery a:hover img {
    transform: none;
  }
}

@media (max-width: 991px) {
  section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .coinha-hero {
    min-height: 690px;
    background-position: center;
  }

  .coinha-hero h1,
  .coinha-page-hero h1 {
    font-size: clamp(44px, 13vw, 68px);
    line-height: 1.02;
  }

  .coinha-page-hero {
    min-height: 520px;
  }

  .logo-main,
  .logo-scroll,
  .logo-mobile {
    max-width: 170px;
  }

  .coinha-project-card .p-40 {
    padding: 28px !important;
  }

  .coinha-project-card p {
    max-width: none;
  }
}

@media (max-width: 575px) {
  section {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .coinha-hero {
    min-height: 590px;
  }

  .coinha-page-hero {
    min-height: 470px;
  }

  .coinha-hero h1,
  .coinha-page-hero h1 {
    font-size: clamp(38px, 11vw, 54px);
    line-height: 1.04;
  }

  section .btn-main,
  footer .btn-main {
    width: 100%;
    margin-bottom: 8px;
  }

  header .btn-main {
    width: auto;
    margin-bottom: 0;
  }

  .logo-main,
  .logo-scroll,
  .logo-mobile {
    max-width: 146px;
  }
}

/* =========================================================
   COINHA³ — Preloader, scroll motion & section polish
   ========================================================= */

/* --- Branded preloader: isotipo with a circle orbiting around it --- */
#de-loader {
  background: var(--coinha-powder-white);
}

#de-loader .lds-roller {
  display: none;
}

/* Orbiting ring */
#de-loader::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 132px;
  height: 132px;
  margin: -66px 0 0 -66px;
  border-radius: 50%;
  border: 2px solid rgba(101, 105, 95, .16);
  border-top-color: var(--coinha-moss-green);
  border-right-color: var(--coinha-moss-green);
  animation: coinhaSpin 1.05s linear infinite;
}

/* Centered isotipo */
#de-loader::after {
  content: "";
  width: 64px;
  height: 64px;
  background: url("../images/cliente/logos/coinha-isotipo-dark-sin-3.png") center / contain no-repeat;
  animation: coinhaBreath 1.8s var(--coinha-ease-in-out) infinite;
}

@keyframes coinhaSpin {
  to { transform: rotate(360deg); }
}

@keyframes coinhaBreath {
  0%, 100% { opacity: .55; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.02); }
}

/* --- Project hero: clear the floating header so title/text are not covered.
   Overrides the theme's .no-top/.no-bottom (which force padding:0 !important). --- */
.coinha-page-hero {
  padding-top: 200px !important;
  padding-bottom: 48px !important;
  min-height: 610px;
}

.coinha-page-hero h1 {
  font-weight: 600;
}

@media (max-width: 991px) {
  .coinha-page-hero {
    padding-top: 168px !important;
    min-height: 590px;
  }
}

@media (max-width: 575px) {
  .coinha-page-hero {
    padding-top: 144px !important;
    padding-bottom: 40px !important;
    min-height: 522px;
  }
}

/* --- Equal-height media in image + text rows --- */
.coinha-fill {
  height: 100%;
  min-height: 340px;
  overflow: hidden;
  border-radius: var(--rounded-1);
}

.coinha-fill img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .coinha-fill {
    min-height: 300px;
  }
}

/* --- Brand watermark (faint isotipo) --- */
.coinha-wm {
  position: absolute;
  pointer-events: none;
  background: url("../images/cliente/logos/coinha-isotipo-dark-sin-3.png") center / contain no-repeat;
  opacity: .05;
  z-index: 0;
}

.section-dark .coinha-wm {
  background-image: url("../images/cliente/logos/coinha-horizontal-light.png");
  opacity: .045;
}

.coinha-wm.wm-tr {
  top: 7%;
  right: -36px;
  width: 300px;
  height: 300px;
}

.coinha-wm.wm-bl {
  bottom: 5%;
  left: -28px;
  width: 240px;
  height: 240px;
}

/* --- Metric / stat cards polish --- */
.coinha-stat {
  transition: transform 240ms var(--coinha-ease-out), box-shadow 240ms var(--coinha-ease-out);
  border: 1px solid var(--border-color);
}

.section-dark .coinha-stat {
  border-color: rgba(249, 249, 247, .12);
}

.coinha-stat h3,
.coinha-stat .fs-40 {
  font-weight: 600;
}

/* --- Nearby / entorno rows --- */
.coinha-entorno > div {
  border-left: 2px solid transparent;
  transition: border-color 200ms ease, transform 220ms var(--coinha-ease-out);
}

/* --- Amenity image cards: subtle zoom on hover --- */
.coinha-amenity img {
  transition: transform 520ms var(--coinha-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .coinha-stat:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 60px rgba(29, 32, 29, .12);
  }

  .coinha-entorno > div:hover {
    border-left-color: var(--coinha-moss-green);
    transform: translateX(6px);
  }

  .coinha-amenity:hover img {
    transform: scale(1.06);
  }
}

/* --- Decorative accent rule under a subtitle --- */
.subtitle.s-line:after {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  background: var(--coinha-moss-green);
  margin-top: 14px;
}

.section-dark .subtitle.s-line:after {
  background: var(--coinha-concrete-grey);
}

/* --- Hero eyebrow / overline texts in white over dark heroes --- */
.coinha-page-hero .subtitle,
#section-hero .subtitle,
.jarallax .subtitle,
.coinha-hero .subtitle {
  color: var(--coinha-powder-white) !important;
  opacity: .92;
}

.coinha-page-hero .subtitle.s-line:after,
#section-hero .subtitle.s-line:after,
.jarallax .subtitle.s-line:after {
  background: var(--coinha-powder-white);
  opacity: .7;
}

/* --- Floating contact button (bottom-right) --- */
.coinha-fab {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 11900;
  display: inline-flex;
  align-items: center;
  gap: 0;
  height: 60px;
  padding: 0 18px;
  border-radius: 40px;
  background: var(--coinha-moss-green);
  color: var(--coinha-powder-white);
  box-shadow: 0 16px 40px rgba(29, 32, 29, .28);
  overflow: hidden;
  transition: transform 220ms var(--coinha-ease-out), background-color 220ms ease, box-shadow 220ms ease;
}

.coinha-fab .coinha-fab-ic {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
}

.coinha-fab .coinha-fab-label {
  max-width: 0;
  opacity: 0;
  white-space: nowrap;
  font-weight: 500;
  letter-spacing: .01em;
  transition: max-width 320ms var(--coinha-ease-out), opacity 220ms ease, margin-left 320ms var(--coinha-ease-out);
}

.coinha-fab:hover {
  color: var(--coinha-powder-white);
  background: var(--coinha-darkness-black);
  transform: translateY(-3px);
  box-shadow: 0 22px 54px rgba(29, 32, 29, .36);
}

.coinha-fab:hover .coinha-fab-label {
  max-width: 200px;
  opacity: 1;
  margin-left: 10px;
}

.coinha-fab-pulse::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 40px;
  border: 2px solid var(--coinha-moss-green);
  animation: coinhaFabPulse 2.4s var(--coinha-ease-out) infinite;
  pointer-events: none;
}

@keyframes coinhaFabPulse {
  0% { opacity: .55; transform: scale(1); }
  70%, 100% { opacity: 0; transform: scale(1.35); }
}

@media (max-width: 575px) {
  .coinha-fab {
    right: 16px;
    bottom: 16px;
    height: 54px;
    padding: 0 15px;
  }
}

/* --- Distribution lists (planta baja / alta) --- */
.coinha-dist {
  counter-reset: dist;
  margin: 0;
  padding: 0;
  list-style: none;
}

.coinha-dist li {
  position: relative;
  padding: 13px 0 13px 46px;
  border-bottom: 1px solid var(--border-color);
}

.coinha-dist li:last-child {
  border-bottom: 0;
}

.coinha-dist li:before {
  counter-increment: dist;
  content: counter(dist, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--coinha-moss-green);
  letter-spacing: .04em;
}

.section-dark .coinha-dist li {
  border-bottom-color: rgba(249, 249, 247, .12);
}

/* Compact distribution list (side-by-side with the floor plan) */
.coinha-dist-compact li {
  padding: 7px 0 7px 34px;
  font-size: 14px;
  line-height: 1.3;
}

.coinha-dist-compact li:before {
  top: 7px;
  font-size: 12px;
}

/* --- House / facade type cards (Tipos de casa) --- */
.coinha-tipo {
  background: var(--coinha-powder-white);
  border: 1px solid var(--border-color);
  border-radius: var(--rounded-1);
  overflow: hidden;
  height: 100%;
  transition: transform 220ms var(--coinha-ease-out), box-shadow 220ms var(--coinha-ease-out);
}

.coinha-tipo-media {
  overflow: hidden;
  background: #f1f1ee;
}

.coinha-tipo-media img {
  width: 100%;
  display: block;
  transition: transform 600ms var(--coinha-ease-out);
}

.coinha-tipo-body {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 18px 22px;
}

.coinha-tipo-tag {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--coinha-moss-green);
  color: var(--coinha-powder-white);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (hover: hover) and (pointer: fine) {
  .coinha-tipo:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(29, 32, 29, .14);
  }

  .coinha-tipo:hover .coinha-tipo-media img {
    transform: scale(1.05);
  }
}

/* --- Legal / utility pages (Aviso de privacidad, 404) --- */
.coinha-legal-hero {
  padding-top: 150px;
  padding-bottom: 64px;
}

.coinha-legal h3 {
  margin-top: 40px;
  margin-bottom: 12px;
  font-size: 22px;
}

.coinha-legal h3:first-of-type {
  margin-top: 0;
}

.coinha-legal p {
  line-height: 1.7;
}

.coinha-note {
  border-left: 3px solid var(--coinha-moss-green);
  background: rgba(101, 105, 95, .08);
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
}

.coinha-subfoot {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  align-items: center;
  justify-content: space-between;
}

.coinha-subfoot a {
  color: rgba(249, 249, 247, .82);
}

.coinha-404 {
  padding-top: 170px;
  padding-bottom: 120px;
}

.coinha-404-num {
  font-size: clamp(96px, 18vw, 200px);
  line-height: .9;
  font-weight: 700;
  color: var(--coinha-moss-green);
  letter-spacing: -.02em;
}

@media (max-width: 575px) {
  .coinha-legal-hero { padding-top: 124px; }
  .coinha-404 { padding-top: 132px; padding-bottom: 80px; }
  .coinha-subfoot { justify-content: center; text-align: center; }
}

/* --- Spec / delivery grid --- */
.coinha-spec {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--border-color);
  border-radius: var(--rounded-1);
  height: 100%;
  transition: transform 220ms var(--coinha-ease-out), border-color 220ms ease, background-color 220ms ease;
}

.coinha-cic {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  color: var(--coinha-moss-green);
}

.coinha-chk {
  position: relative;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(101, 105, 95, .12);
  margin-top: 2px;
}

.coinha-chk:after {
  content: "";
  position: absolute;
  left: 9px;
  top: 6px;
  width: 6px;
  height: 11px;
  border: solid var(--coinha-moss-green);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.section-dark .coinha-chk {
  background: rgba(249, 249, 247, .14);
}

@media (hover: hover) and (pointer: fine) {
  .coinha-spec:hover {
    transform: translateY(-4px);
    border-color: var(--coinha-moss-green);
  }
}

/* --- Premium location list with times --- */
.coinha-loc {
  border-top: 1px solid var(--border-color);
}

.coinha-loc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--border-color);
  transition: padding-left 220ms var(--coinha-ease-out), background-color 220ms ease;
}

.coinha-loc-row .coinha-loc-time {
  flex-shrink: 0;
  font-weight: 600;
  color: var(--coinha-moss-green);
  font-variant-numeric: tabular-nums;
}

@media (hover: hover) and (pointer: fine) {
  .coinha-loc-row:hover {
    padding-left: 14px;
    background: rgba(101, 105, 95, .05);
  }
}

/* --- Section eyebrow micro-label --- */
.coinha-kicker {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--coinha-moss-green);
  padding: 7px 14px;
  border: 1px solid var(--border-color);
  border-radius: 40px;
  margin-bottom: 18px;
}

.section-dark .coinha-kicker {
  color: var(--coinha-powder-white);
  border-color: rgba(249, 249, 247, .2);
}

/* --- Editorial statement band --- */
.coinha-statement h2 {
  font-size: clamp(34px, 4.4vw, 62px);
  line-height: 1.08;
  font-weight: 600;
}

/* --- Reveal helper used with WOW for richer scroll motion --- */
.coinha-reveal {
  will-change: transform, opacity;
}

/* =========================================================
   COINHA³ — Icon set (Lucide, MIT) wiring
   Icons are inline SVG <symbol>s referenced with <use>, so the
   theme's icon-font glyph-stripping never affects them.
   ========================================================= */
.coinha-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.coinha-ic {
  display: inline-block;
  vertical-align: middle;
  color: var(--coinha-moss-green);
}

/* Icon sitting above each metric / stat figure */
.coinha-stat-ic {
  width: 26px;
  height: 26px;
  margin-bottom: 18px;
  color: var(--coinha-moss-green);
  opacity: .9;
  transition: transform 240ms var(--coinha-ease-out), opacity 240ms ease;
}

.section-dark .coinha-stat-ic {
  color: var(--coinha-concrete-grey);
}

@media (hover: hover) and (pointer: fine) {
  .coinha-stat:hover .coinha-stat-ic {
    transform: translateY(-2px) scale(1.06);
    opacity: 1;
  }
}

/* Category header with an icon (Supermercados, Educación, …) */
.coinha-loc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.coinha-loc-head .coinha-meta {
  margin-bottom: 0;
}

.coinha-loc-ic {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--coinha-moss-green);
}

.section-dark .coinha-loc-ic {
  color: var(--coinha-powder-white);
}

/* =========================================================
   COINHA³ — Home hero headline tuned to match the project heroes
   (same weight, scale & italic Loretta accent as .coinha-page-hero)
   ========================================================= */
#section-hero h1 {
  font-size: clamp(48px, 6vw, 92px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.01em;
}

#section-hero .subtitle {
  letter-spacing: .18em;
  font-weight: 600;
}

#section-hero h4 {
  color: rgba(249, 249, 247, .86);
}

@media (max-width: 991px) {
  #section-hero h1 {
    font-size: clamp(40px, 9vw, 60px);
    line-height: 1.04;
  }
}

@media (max-width: 575px) {
  #section-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.06;
  }
}

/* =========================================================
   COINHA³ — Project page: editorial band, floor plans,
   interactive masterplan & availability grid
   ========================================================= */

/* Full-bleed image + text band (Fachadas) */
/* La banda no debe recortar verticalmente el texto: solo controla overflow horizontal */
.coinha-band.overflow-hidden {
  overflow: visible !important;
  overflow-x: clip !important;
}

.coinha-band {
  max-width: 100%;
  overflow-x: clip;
}

.coinha-band > .row {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.coinha-band-media {
  min-height: 460px;
  overflow: hidden;
}

.coinha-band-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coinha-band-text {
  padding: 56px 0;
  min-width: 0;
  white-space: normal;
}

.coinha-band-text > div {
  width: 100%;
  max-width: 680px;
  min-width: 0;
}

.coinha-band-text h2,
.coinha-band-text p {
  max-width: 100%;
  overflow-wrap: break-word;
  white-space: normal;
}

/* En desktop la columna de texto iguala la altura de la imagen sin forzar recortes */
@media (min-width: 992px) {
  .coinha-band-text {
    min-height: 460px;
  }

  .coinha-band-text > div {
    margin-left: 0;
    margin-right: auto;
  }
}

/* =========================================================
   NOSOTROS — narrativa editorial, equipo y proceso
   ========================================================= */
.about-hero-image {
  object-position: center 52% !important;
}

.about-intro .lead {
  max-width: 620px;
  color: var(--coinha-darkness-black);
  font-size: clamp(1.08rem, 1.45vw, 1.3rem);
  line-height: 1.55;
}

.about-principles {
  border-top: 1px solid rgba(249, 249, 247, .16);
}
.about-principles > div {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid rgba(249, 249, 247, .12);
}
.about-principles span,
.about-card-number,
.about-process-step > span {
  color: var(--coinha-light-olive);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
}
.about-principles strong {
  color: var(--coinha-powder-white);
  font-size: 15px;
  font-weight: 500;
}

.about-capabilities {
  background: #f4f2ed;
}
.about-capability {
  position: relative;
  min-height: 260px;
  padding: 34px 30px;
  overflow: hidden;
  color: var(--coinha-darkness-black);
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(29, 32, 29, .09);
  border-radius: 3px;
  transition: transform 220ms var(--coinha-ease-out), border-color 220ms ease, box-shadow 220ms ease;
}
.about-capability::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -36px;
  width: 110px;
  height: 110px;
  border: 1px solid rgba(101, 105, 95, .14);
  border-radius: 50%;
}
.about-capability .about-card-number {
  display: inline-block;
  margin-bottom: 72px;
  color: var(--coinha-olive);
}
.about-capability h4 {
  margin-bottom: 10px;
}
.about-capability p {
  color: rgba(29, 32, 29, .68);
}

.about-team {
  background: #181b18;
}
.about-team-figure {
  position: relative;
  height: 100%;
  min-height: 430px;
  margin: 0;
  overflow: hidden;
  background: #262a26;
  border-radius: 3px;
}
.about-team-figure-main {
  min-height: 690px;
}
.about-team-figure-side {
  min-height: 440px;
}
.about-team-figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform 700ms var(--coinha-ease-out);
}
.about-team-figure::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(10, 12, 10, .72));
  pointer-events: none;
}
.about-team-figure figcaption {
  position: absolute;
  right: 24px;
  bottom: 22px;
  left: 24px;
  z-index: 1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.about-team-figure figcaption span {
  color: var(--coinha-powder-white);
  font-family: var(--title-font);
  font-size: 24px;
}
.about-team-figure figcaption small {
  max-width: 150px;
  color: rgba(249, 249, 247, .62);
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: .11em;
  text-align: right;
  text-transform: uppercase;
}
.about-team-note {
  margin-top: 24px;
  padding: 28px 30px;
  color: var(--coinha-darkness-black);
  background: var(--coinha-light-olive);
  border-radius: 3px;
}
.about-team-note-kicker {
  display: block;
  margin-bottom: 18px;
  color: rgba(29, 32, 29, .62);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.about-team-note p {
  font-family: var(--title-font);
  font-size: clamp(1.12rem, 1.65vw, 1.4rem);
  line-height: 1.45;
}

.about-process-grid {
  border-top: 1px solid rgba(29, 32, 29, .14);
  border-bottom: 1px solid rgba(29, 32, 29, .14);
}
.about-process-step {
  min-height: 260px;
  height: 100%;
  padding: 34px 30px 26px;
  border-right: 1px solid rgba(29, 32, 29, .14);
}
.about-process-grid > div:last-child .about-process-step {
  border-right: 0;
}
.about-process-step > span {
  display: block;
  margin-bottom: 70px;
  color: var(--coinha-olive);
}
.about-process-step h4 {
  margin-bottom: 10px;
}
.about-process-step p {
  max-width: 230px;
  margin-bottom: 0;
  color: rgba(29, 32, 29, .66);
}

.about-commitments .coinha-stat {
  border: 1px solid rgba(29, 32, 29, .07);
  transition: transform 220ms var(--coinha-ease-out), box-shadow 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .about-capability:hover,
  .about-commitments .coinha-stat:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 48px rgba(29, 32, 29, .09);
  }
  .about-capability:hover {
    border-color: rgba(101, 105, 95, .3);
  }
  .about-team-figure:hover img {
    transform: scale(1.025);
  }
}

.about-capability:active,
.about-commitments .coinha-stat:active {
  transform: scale(.985);
  transition-duration: 140ms;
}

@media (max-width: 991px) {
  .about-team-figure-main {
    min-height: 560px;
  }
  .about-team-figure-side {
    min-height: 520px;
  }
  .about-process-grid > div:nth-child(2) .about-process-step {
    border-right: 0;
  }
  .about-process-grid > div:nth-child(-n+2) .about-process-step {
    border-bottom: 1px solid rgba(29, 32, 29, .14);
  }
}

@media (max-width: 575px) {
  .about-hero-image {
    object-position: 56% center !important;
  }

  .about-capability {
    min-height: 230px;
    padding: 28px 24px;
  }
  .about-capability .about-card-number {
    margin-bottom: 52px;
  }
  .about-team-figure-main,
  .about-team-figure-side {
    height: 390px;
    min-height: 390px;
  }
  .about-team-figure figcaption {
    right: 18px;
    bottom: 16px;
    left: 18px;
  }
  .about-team-figure figcaption span {
    font-size: 20px;
  }
  .about-team-figure figcaption small {
    max-width: 125px;
    font-size: 8px;
  }
  .about-team-note {
    padding: 24px;
  }
  .about-process-grid > div .about-process-step {
    min-height: auto;
    padding: 26px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(29, 32, 29, .14);
  }
  .about-process-grid > div:last-child .about-process-step {
    border-bottom: 0;
  }
  .about-process-step > span {
    margin-bottom: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-capability,
  .about-commitments .coinha-stat,
  .about-team-figure img {
    transition: none !important;
  }
}

@media (max-width: 991px) {
  .coinha-band-media {
    min-height: 320px;
  }
  .coinha-band-text {
    padding: 40px 0;
  }

  .coinha-band-text > div {
    max-width: none;
  }
}

@media (max-width: 575px) {
  .coinha-band-text .row.g-3 {
    padding-right: 64px;
  }
}

/* Floor-plan figure with zoom hint */
.coinha-plan {
  position: relative;
  border-radius: var(--rounded-1);
  overflow: hidden;
  border: 1px solid var(--border-color);
  background: var(--coinha-powder-white);
}

.coinha-plan-zoom {
  position: absolute;
  right: 14px;
  bottom: 14px;
  background: rgba(29, 32, 29, .82);
  color: var(--coinha-powder-white);
  font-size: 12px;
  letter-spacing: .04em;
  padding: 7px 13px;
  border-radius: 40px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 220ms ease, transform 220ms var(--coinha-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .coinha-plan:hover .coinha-plan-zoom {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Interactive masterplan --- */
.coinha-map-wrap {
  position: relative;
  border-radius: var(--rounded-1);
  overflow: hidden;
  border: 1px solid var(--border-color);
  background: #cdd0c9;
}

.coinha-map-img {
  display: block;
  width: 100%;
}

.coinha-map-markers {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.coinha-mk {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 50%;
  border: 2px solid var(--coinha-powder-white);
  color: var(--coinha-powder-white);
  font-size: 11px;
  font-weight: 600;
  line-height: 22px;
  text-align: center;
  pointer-events: auto;
  cursor: default;
  box-shadow: 0 4px 12px rgba(29, 32, 29, .35);
  transition: transform 180ms var(--coinha-ease-out), box-shadow 180ms ease;
}

.coinha-mk.mk-av { background: var(--coinha-moss-green); }
.coinha-mk.mk-sold { background: #b23b3b; opacity: .85; }

.coinha-mk.hl,
.coinha-mk:hover {
  transform: translate(-50%, -50%) scale(1.28);
  box-shadow: 0 8px 20px rgba(29, 32, 29, .5);
  z-index: 3;
}

.coinha-mk.is-hidden { display: none; }

/* --- Map marker animations (entrance, pulse, tooltip) --- */
@keyframes coinhaMkIn {
  0%   { opacity: 0; transform: translate(-50%, -50%) scale(.1); }
  60%  { opacity: 1; transform: translate(-50%, -50%) scale(1.18); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.coinha-mk {
  animation: coinhaMkIn .55s var(--coinha-ease-out) backwards;
}

.coinha-mk.mk-av::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  border: 2px solid var(--coinha-moss-green);
  animation: coinhaMkPulse 2.6s var(--coinha-ease-out) infinite;
  pointer-events: none;
}

@keyframes coinhaMkPulse {
  0%        { opacity: .55; transform: scale(1); }
  70%, 100% { opacity: 0;   transform: scale(2.2); }
}

.coinha-mk-tip {
  position: absolute;
  bottom: 150%;
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: var(--coinha-darkness-black);
  color: var(--coinha-powder-white);
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  padding: 5px 9px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms var(--coinha-ease-out);
  z-index: 6;
}

.coinha-mk-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--coinha-darkness-black);
}

.coinha-mk:hover .coinha-mk-tip,
.coinha-mk.hl .coinha-mk-tip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* --- One-time sheen sweep over the Anara masterplan --- */
.coinha-map-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: -65%;
  width: 45%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .28), transparent);
  transform: skewX(-18deg);
  animation: coinhaSheen 2.6s var(--coinha-ease-out) .4s 1 both;
  pointer-events: none;
  z-index: 4;
}

@keyframes coinhaSheen {
  0%        { left: -65%; }
  100%      { left: 135%; }
}

/* --- Lomas static masterplan: hover zoom + looping sheen + pulsing hint --- */
.coinha-map-static .coinha-plan-zoom {
  opacity: 1;
  transform: none;
  animation: coinhaHintPulse 2.6s ease-in-out infinite;
}

@keyframes coinhaHintPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(101, 105, 95, .55); }
  60%      { box-shadow: 0 0 0 9px rgba(101, 105, 95, 0); }
}

.coinha-map-static img {
  transition: transform 700ms var(--coinha-ease-out);
}

.coinha-map-static::after {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .32), transparent);
  transform: skewX(-18deg);
  animation: coinhaSheenLoop 5s ease-in-out 1.2s infinite;
  pointer-events: none;
  z-index: 3;
}

@keyframes coinhaSheenLoop {
  0%        { left: -60%; }
  28%, 100% { left: 130%; }
}

@media (hover: hover) and (pointer: fine) {
  .coinha-map-static:hover img { transform: scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .coinha-mk { animation: none; }
  .coinha-mk.mk-av::before { animation: none; opacity: 0; }
  .coinha-map-wrap::after,
  .coinha-map-static::after { animation: none; display: none; }
  .coinha-map-static .coinha-plan-zoom { animation: none; }
  .coinha-map-static:hover img { transform: none; }
}

.coinha-legend {
  display: flex;
  gap: 22px;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 500;
}

.coinha-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.coinha-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

.coinha-dot.dot-av { background: var(--coinha-moss-green); }
.coinha-dot.dot-sold { background: #b23b3b; }

/* --- Availability filter chips --- */
.coinha-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

.coinha-chip {
  appearance: none;
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 40px;
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--heading-font-color);
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.coinha-chip span {
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  font-weight: 600;
  opacity: .6;
}

.coinha-chip.is-active {
  background: var(--coinha-moss-green);
  border-color: var(--coinha-moss-green);
  color: var(--coinha-powder-white);
}

.coinha-chip.is-active span { opacity: .9; }

@media (hover: hover) and (pointer: fine) {
  .coinha-chip:not(.is-active):hover {
    border-color: var(--coinha-moss-green);
    color: var(--coinha-moss-green);
  }
}

/* --- Availability unit cards --- */
.coinha-units {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.coinha-unit {
  position: relative;
  padding: 18px;
  border: 1px solid var(--border-color);
  border-radius: var(--rounded-1);
  background: var(--coinha-powder-white);
  transition: transform 200ms var(--coinha-ease-out), border-color 200ms ease, box-shadow 200ms ease;
}

.coinha-unit.hl,
.coinha-unit:hover {
  transform: translateY(-3px);
  border-color: var(--coinha-moss-green);
  box-shadow: 0 16px 36px rgba(29, 32, 29, .12);
}

.coinha-unit.is-sold {
  background: rgba(101, 105, 95, .06);
  opacity: .72;
}

.coinha-unit.is-hidden { display: none; }

.coinha-unit-n {
  font-weight: 600;
  font-size: 17px;
  margin-bottom: 10px;
  color: var(--heading-font-color);
}

.coinha-unit-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  color: rgba(29, 32, 29, .62);
  padding: 3px 0;
}

.coinha-unit-row b {
  color: var(--heading-font-color);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.coinha-badge {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 40px;
}

.coinha-badge.b-av {
  color: var(--coinha-moss-green);
  background: rgba(101, 105, 95, .14);
}

.coinha-badge.b-sold {
  color: #b23b3b;
  background: rgba(178, 59, 59, .12);
}

/* Scrollable grid for developments with many units (Lomas, 48) */
.coinha-units-scroll {
  max-height: 624px;
  overflow-y: auto;
  padding: 2px 8px 2px 2px;
  scrollbar-width: thin;
  scrollbar-color: var(--coinha-concrete-grey) transparent;
}

.coinha-units-scroll::-webkit-scrollbar { width: 7px; }
.coinha-units-scroll::-webkit-scrollbar-thumb {
  background: var(--coinha-concrete-grey);
  border-radius: 8px;
}

.coinha-map-static { display: block; }

@media (max-width: 1199px) {
  .coinha-units { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 575px) {
  .coinha-units { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .coinha-unit { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  #de-loader::before { animation: none; }
  #de-loader::after { animation: none; opacity: 1; }
  .coinha-fab-pulse::before { animation: none; }
}

/* =========================================================
   Popup elegante de contacto (botón flotante)
   ========================================================= */
.coinha-modal-lock { overflow: hidden; }

.coinha-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  visibility: hidden;
  pointer-events: none;
}
.coinha-modal.is-open { visibility: visible; pointer-events: auto; }

.coinha-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(29, 32, 29, .55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .35s var(--coinha-ease-out);
}
.coinha-modal.is-open .coinha-modal-overlay { opacity: 1; }

.coinha-modal-card {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: var(--coinha-powder-white);
  border-radius: 14px;
  padding: 44px 40px 40px;
  box-shadow: 0 40px 120px rgba(29, 32, 29, .35);
  opacity: 0;
  transform: translateY(24px) scale(.96);
  transition: opacity .4s var(--coinha-ease-out), transform .5s var(--coinha-ease-out);
}
.coinha-modal.is-open .coinha-modal-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.coinha-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--coinha-moss-green);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.coinha-modal-close:hover {
  background: rgba(101, 105, 95, .12);
  transform: rotate(90deg);
}

.coinha-modal-head { margin-bottom: 26px; }
.coinha-modal-kicker {
  display: block;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--coinha-moss-green);
  margin-bottom: 10px;
}
.coinha-modal-title { margin: 0 0 8px; }
.coinha-modal-sub {
  margin: 0;
  color: var(--coinha-moss-green);
}

.coinha-modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.coinha-modal-form textarea.form-control { margin-bottom: 20px; resize: vertical; }
.coinha-modal-selectwrap { position: relative; }
.coinha-modal-selectwrap svg {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: var(--coinha-moss-green);
  pointer-events: none;
}
.coinha-modal-selectwrap select { appearance: none; -webkit-appearance: none; }

.coinha-modal-success {
  text-align: center;
  padding: 20px 0 8px;
  animation: coinhaFadeIn .5s var(--coinha-ease-out) both;
}
.coinha-modal-successic {
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(101, 105, 95, .12);
  color: var(--coinha-moss-green);
}
@keyframes coinhaFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 575px) {
  .coinha-modal-card { padding: 40px 22px 26px; }
  .coinha-modal-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .coinha-modal-card,
  .coinha-modal-overlay { transition: opacity .2s ease; transform: none; }
}

/* Proyecto destacado (home): iconos en stats + caption sobre la imagen */
.coinha-stat { position: relative; }
.coinha-stat-ic {
  width: 26px;
  height: 26px;
  color: var(--coinha-moss-green);
  margin-bottom: 10px;
  opacity: .9;
}
.coinha-stat .coinha-meta { margin-top: 2px; }

.coinha-destacado-stack {
  display: grid;
  grid-template-rows: 1.35fr 1fr;
  gap: 16px;
  min-height: 520px;
}
.coinha-destacado-media { position: relative; overflow: hidden; border-radius: var(--rounded-1); }
.coinha-destacado-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--coinha-ease-out); }
.coinha-destacado-media:hover img { transform: scale(1.03); }
@media (max-width: 991px) {
  .coinha-destacado-stack { min-height: 0; grid-template-rows: auto auto; }
  .coinha-destacado-media { min-height: 240px; }
}
.coinha-destacado-cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 26px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #f9f9f7;
  background: linear-gradient(to top, rgba(29,32,29,.72), rgba(29,32,29,0));
}
.coinha-destacado-tag { font-size: 20px; font-weight: 600; line-height: 1.1; }
.coinha-destacado-loc { font-size: 13px; letter-spacing: .04em; opacity: .85; }

/* Mapa de ubicación protagonista en páginas de desarrollo */
.coinha-locmap {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-color);
  background: var(--coinha-powder-white);
}
.coinha-locmap img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .6s var(--coinha-ease-out);
}
.coinha-locmap:hover img { transform: scale(1.03); }
.coinha-locmap-bar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  color: #f9f9f7;
  background: linear-gradient(to top, rgba(29,32,29,.72), rgba(29,32,29,0));
}
.coinha-locmap-name { font-weight: 600; }
.coinha-locmap-hint { font-size: 13px; opacity: .85; }

/* =========================================================
   Panel de ubicación protagonista (mapa completo + texto)
   Cada página define su mapa con --coinha-locmap-img
   ========================================================= */
.coinha-locsec { background: #F1EFEE; position: relative; overflow: hidden; }
body.dark-scheme .coinha-locsec { background: #1c1f1c; }
.coinha-locpanel {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  min-height: 560px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(101, 105, 95, .12);
}
.coinha-locpanel-map {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: #F1EFEE;
}
/* Imagen real (no background) para que el popup "Ampliar mapa" funcione */
.coinha-locpanel-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;                    /* muestra el mapa completo */
  object-position: center;
  display: block;
}
/* Destello de luz que cruza el mapa suavemente cada cierto tiempo */
.coinha-locpanel-shine {
  position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none;
}
.coinha-locpanel-shine::before {
  content: "";
  position: absolute; top: -25%; height: 150%; width: 38%; left: -50%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-16deg);
  animation: coinhaShine 8.5s ease-in-out infinite;
}
@keyframes coinhaShine {
  0%   { left: -50%; opacity: 0; }
  8%   { opacity: 1; }
  26%  { left: 120%; opacity: 1; }
  32%, 100% { left: 120%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .coinha-locpanel-shine::before { animation: none; }
}
.coinha-locpanel-hint {
  position: absolute; z-index: 3; left: 18px; bottom: 16px;
  font-size: 13px; font-weight: 600; letter-spacing: .02em;
  color: #5b5346; background: rgba(241, 239, 238, .72);
  padding: 6px 12px; border-radius: 999px;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .3s ease;
}
.coinha-locpanel-map:hover .coinha-locpanel-hint { opacity: 1; }
.coinha-locpanel-info {
  padding: 44px 44px;
  display: flex; flex-direction: column; justify-content: center;
}
.coinha-locpanel-info h2 { font-size: 30px; line-height: 1.18; margin: 2px 0 10px; }
.coinha-locpanel-lead { font-size: 15px; margin-bottom: 20px; }
/* Tipografía compacta solo aquí para que el panel no crezca de más */
.coinha-locpanel .coinha-loc-row { padding: 6px 4px; font-size: 14px; line-height: 1.3; }
.coinha-locpanel .coinha-loc-time { font-size: 14px; }
.coinha-locpanel .coinha-loc-head { margin-bottom: 5px; }
.coinha-locpanel .coinha-meta { font-size: 14px; }
.coinha-locpanel .row { --bs-gutter-y: .9rem; }
body.dark-scheme .coinha-locpanel-hint { color: #e8e6df; background: rgba(28, 31, 28, .72); }
body.dark-scheme .coinha-locpanel-map { background-color: #1c1f1c; }
@media (max-width: 991px) {
  .coinha-locpanel { grid-template-columns: 1fr; min-height: 0; }
  .coinha-locpanel-map { min-height: 300px; }
  .coinha-locpanel-info { padding: 30px 26px; }
}

/* Indicador de scroll sutil en el hero */
.coinha-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(249, 249, 247, .85);
  text-decoration: none;
  transition: color .2s ease;
}
.coinha-scroll-cue:hover { color: #fff; }
.coinha-scroll-line {
  width: 1px;
  height: 42px;
  background: linear-gradient(to bottom, rgba(249,249,247,0), rgba(249,249,247,.85));
  position: relative;
  overflow: hidden;
}
.coinha-scroll-line::after {
  content: "";
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 50%;
  background: #f9f9f7;
  animation: coinhaScroll 1.8s var(--coinha-ease-in-out) infinite;
}
.coinha-scroll-word {
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
}
@keyframes coinhaScroll {
  0% { top: -50%; }
  100% { top: 100%; }
}
@media (max-width: 767px) {
  .coinha-scroll-cue { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .coinha-scroll-line::after { animation: none; }
}

/* =========================================================
   Carrusel de renders — marquee de loop infinito continuo
   ========================================================= */
.coinha-rcar {
  position: relative;
  overflow: hidden;
}
.coinha-rcar-track {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
}
.coinha-rcar-track.is-marquee {
  animation: coinhaMarquee var(--coinha-marquee-time, 40s) linear infinite;
}
.coinha-rcar:hover .coinha-rcar-track.is-marquee {
  animation-play-state: paused;
}
@keyframes coinhaMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(var(--coinha-marquee-shift, -50%)); }
}
.coinha-rcar-slide {
  flex: 0 0 auto;
  width: clamp(230px, 26vw, 360px);
  border-radius: 10px;
  overflow: hidden;
  display: block;
}
.coinha-rcar-slide img {
  width: 100%;
  height: clamp(180px, 20vw, 260px);
  object-fit: cover;
  display: block;
  transition: transform .6s var(--coinha-ease-out);
}
.coinha-rcar-slide:hover img { transform: scale(1.04); }

/* Degradado lateral sutil y elegante */
.coinha-rcar::before,
.coinha-rcar::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 90px;
  z-index: 3;
  pointer-events: none;
}
.coinha-rcar::before {
  left: 0;
  background: linear-gradient(to right, var(--bg-light) 8%, rgba(249,249,247,0));
}
.coinha-rcar::after {
  right: 0;
  background: linear-gradient(to left, var(--bg-light) 8%, rgba(249,249,247,0));
}
.bg-color-op-1 .coinha-rcar::before { background: linear-gradient(to right, #f0efec 8%, rgba(240,239,236,0)); }
.bg-color-op-1 .coinha-rcar::after { background: linear-gradient(to left, #f0efec 8%, rgba(240,239,236,0)); }

/* En modo marquee no se usan las flechas */
.coinha-rcar-nav { display: none; }

@media (max-width: 767px) {
  .coinha-rcar-slide { width: 68vw; }
  .coinha-rcar::before, .coinha-rcar::after { width: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .coinha-rcar-track.is-marquee { animation: none; }
}

/* =========================================================
   Botón toggle Dark / Light + ajustes de tema oscuro
   ========================================================= */
.coinha-theme-toggle {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(249, 249, 247, .5);
  background: rgba(29, 32, 29, .42);
  color: #f9f9f7;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex: 0 0 auto;
  box-shadow: 0 8px 28px rgba(29, 32, 29, .18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.coinha-theme-toggle:hover {
  transform: translateY(-1px);
  background: rgba(29, 32, 29, .62);
  border-color: rgba(249, 249, 247, .75);
}
.coinha-theme-knob { position: relative; width: 20px; height: 20px; }
.coinha-theme-knob svg {
  position: absolute;
  inset: 0;
  width: 20px;
  height: 20px;
  transition: opacity .3s ease, transform .45s var(--coinha-ease-out);
}
.coinha-theme-knob .ic-moon { opacity: 0; transform: rotate(-45deg) scale(.5); }
body.dark-scheme .coinha-theme-knob .ic-sun { opacity: 0; transform: rotate(45deg) scale(.5); }
body.dark-scheme .coinha-theme-knob .ic-moon { opacity: 1; transform: none; }

/* Header con scroll: en claro icono oscuro; en oscuro icono claro */
header.smaller .coinha-theme-toggle {
  border-color: var(--border-color);
  background: rgba(101, 105, 95, .08);
  color: var(--coinha-darkness-black);
}
body.dark-scheme header.smaller .coinha-theme-toggle {
  border-color: rgba(249, 249, 247, .3);
  background: rgba(249, 249, 247, .08);
  color: #f9f9f7;
}

/* --- Ajustes de superficies propias en modo oscuro --- */
body.dark-scheme header.smaller,
body.dark-scheme header.header-mobile {
  background: rgba(21, 24, 21, .96);
  border-bottom: 1px solid rgba(249, 249, 247, .1);
}
body.dark-scheme .coinha-modal-card { background: #1c1f1c; }
body.dark-scheme .coinha-modal-close { color: #f2f2ef; }
body.dark-scheme .coinha-modal-close:hover { background: rgba(249, 249, 247, .1); }
body.dark-scheme .coinha-modal-kicker,
body.dark-scheme .coinha-modal-sub,
body.dark-scheme .coinha-modal-successic { color: #cfd0cb; }
body.dark-scheme .coinha-modal-successic { background: rgba(249, 249, 247, .1); }

body.dark-scheme .coinha-locmap { background: #1c1f1c; border-color: rgba(249, 249, 247, .14); }

body.dark-scheme .coinha-rcar::before { background: linear-gradient(to right, var(--bg-dark-1) 8%, rgba(29, 32, 29, 0)); }
body.dark-scheme .coinha-rcar::after { background: linear-gradient(to left, var(--bg-dark-1) 8%, rgba(29, 32, 29, 0)); }
body.dark-scheme .bg-color-op-1 .coinha-rcar::before { background: linear-gradient(to right, #202320 8%, rgba(32, 35, 32, 0)); }
body.dark-scheme .bg-color-op-1 .coinha-rcar::after { background: linear-gradient(to left, #202320 8%, rgba(32, 35, 32, 0)); }

body.dark-scheme .coinha-rcar-nav {
  background: #23261f;
  color: #f2f2ef;
}
body.dark-scheme .coinha-stat-ic,
body.dark-scheme .coinha-meta { color: #b7b9b1; }

/* Tarjetas/superficies claras del theme dentro de dark */
body.dark-scheme .bg-light,
body.dark-scheme .coinha-plan,
body.dark-scheme .coinha-tipo,
body.dark-scheme .coinha-unit {
  background: #1c1f1c !important;
  border-color: rgba(249, 249, 247, .12);
}

/* Texto legible dentro de tarjetas claras (bg-light/text-dark) en modo oscuro */
body.dark-scheme .bg-light,
body.dark-scheme .bg-light h1,
body.dark-scheme .bg-light h2,
body.dark-scheme .bg-light h3,
body.dark-scheme .bg-light h4,
body.dark-scheme .bg-light h5,
body.dark-scheme .bg-light h6,
body.dark-scheme .bg-light .text-dark,
body.dark-scheme .coinha-project-card.text-dark h1,
body.dark-scheme .coinha-project-card.text-dark h2,
body.dark-scheme .coinha-project-card.text-dark h3 {
  color: #f2f2ef !important;
}
body.dark-scheme .bg-light p,
body.dark-scheme .coinha-project-card .coinha-meta {
  color: rgba(242, 242, 239, .68) !important;
}

/* =========================================================
   Fixes header: alineación del toggle + logo/menú en dark sticky
   ========================================================= */
/* Alinear verticalmente el toggle con el CTA y el menú */
.de-flex-col:has(> .coinha-theme-toggle) {
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (min-width: 992px) {
  header.header-float #mainmenu {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  header.header-float #mainmenu > li {
    margin-right: clamp(14px, 1.55vw, 26px);
  }

  header.header-float .de-flex-col:has(> .coinha-theme-toggle) > .btn-main {
    width: auto !important;
    min-width: 178px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 992px) and (max-width: 1299px) {
  header.header-float #mainmenu > li {
    margin-right: 14px;
  }

  header.header-float #mainmenu > li > a {
    font-size: 13px;
  }

  header.header-float .de-flex-col:has(> .coinha-theme-toggle) > .btn-main {
    min-width: 164px;
    padding-left: 18px;
    padding-right: 18px;
  }
}
/* Un poco más visible sobre el hero (modo claro, header transparente) */
.coinha-theme-toggle {
  background: rgba(29, 32, 29, .42);
  border-color: rgba(249, 249, 247, .5);
}

/* En modo oscuro + sticky: logo legible (se aclara) y texto de menú claro */
body.dark-scheme header.smaller #logo img,
body.dark-scheme header.header-mobile #logo img {
  filter: brightness(0) invert(1);
}
body.dark-scheme header.smaller #mainmenu > li > a,
body.dark-scheme header.smaller #mainmenu > li > span,
body.dark-scheme header.smaller #mainmenu > li.has-child > a:after {
  color: #f2f2ef !important;
}
/* Asegurar el fondo oscuro del header al hacer scroll en modo oscuro */
body.dark-scheme header.smaller {
  background: rgba(21, 24, 21, .96) !important;
  border-bottom: 1px solid rgba(249, 249, 247, .1);
}

/* =========================================================
   COINHA — Ajustes de revisión (menú, hero, renders,
   etiquetas, tarjetas de desarrollo y mapa de ubicación)
   ========================================================= */

/* --- Etiquetas de sección (eyebrows): más presencia, on-brand y
   siempre legibles (antes se veían apagadas / oscuras sobre fondo negro) --- */
.subtitle {
  background: rgba(101, 105, 95, .1);
  color: var(--coinha-moss-green);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 40px;
}

.section-dark .subtitle,
.text-light .subtitle,
.dark-scheme .subtitle {
  background: rgba(249, 249, 247, .14);
  color: var(--coinha-powder-white) !important;
}

/* Variante con línea: eyebrow limpio (sin chip), conserva el guion inferior */
.subtitle.s-line {
  background: transparent;
  padding-left: 0;
  padding-right: 0;
  border-radius: 0;
}

/* --- Home hero: título más contenido y limpio para no invadir la imagen,
   con el botón acomodado justo debajo (ya no suelto a media pantalla) --- */
#section-hero h1.coinha-hero-h1 {
  font-size: clamp(30px, 3.9vw, 50px);
  line-height: 1.1;
  max-width: 620px;
  letter-spacing: -0.005em;
}

.coinha-hero-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 991px) {
  #section-hero h1.coinha-hero-h1 { font-size: clamp(28px, 5.6vw, 42px); }
}

@media (max-width: 575px) {
  #section-hero h1.coinha-hero-h1 { font-size: clamp(26px, 7.4vw, 34px); }
  .coinha-hero-actions { margin-top: 20px; }
}

/* --- Renders (home): cajas uniformes para una retícula alineada --- */
#gallery .item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* --- Desarrollos: tarjetas de imagen a la misma altura (Anara y Lomas) --- */
.coinha-devcard-media {
  aspect-ratio: 16 / 11;
  overflow: hidden;
}

.coinha-devcard-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- Ubicación: el mapa gana presencia y se mantiene a la vista
   mientras se recorre la lista de tiempos --- */
@media (min-width: 992px) {
  .coinha-locmap-lg {
    position: sticky;
    top: 110px;
  }
}

/* =========================================================
   COINHA — Colaboraciones: muro de logos y pasos de proceso
   ========================================================= */

/* Muro de logotipos de aliados (placeholder / real) */
.coinha-logowall {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.coinha-logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 18px;
  border: 1px solid var(--border-color);
  border-radius: var(--rounded-1);
  background: var(--coinha-powder-white);
  color: var(--coinha-concrete-grey);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: center;
  transition: border-color .2s ease, color .2s ease, transform .22s var(--coinha-ease-out);
}

.coinha-logo-tile img {
  max-width: 100%;
  max-height: 46px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .7;
  transition: filter .2s ease, opacity .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .coinha-logo-tile:hover {
    border-color: var(--coinha-moss-green);
    color: var(--coinha-moss-green);
    transform: translateY(-3px);
  }
  .coinha-logo-tile:hover img { filter: none; opacity: 1; }
}

@media (max-width: 991px) {
  .coinha-logowall { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 575px) {
  .coinha-logowall { grid-template-columns: repeat(2, 1fr); }
}

body.dark-scheme .coinha-logo-tile {
  background: #1c1f1c;
  border-color: rgba(249, 249, 247, .12);
}

/* Pasos de proceso (numerados) */
.coinha-step {
  position: relative;
  padding: 28px 24px;
  border: 1px solid var(--border-color);
  border-radius: var(--rounded-1);
  background: var(--coinha-powder-white);
  transition: transform .22s var(--coinha-ease-out), box-shadow .22s var(--coinha-ease-out), border-color .2s ease;
}

.coinha-step-n {
  display: block;
  font-family: "Loretta Display", Georgia, serif;
  font-style: italic;
  font-size: 42px;
  line-height: 1;
  color: var(--coinha-moss-green);
  opacity: .5;
}

.coinha-step h4 { margin: 14px 0 8px; }

@media (hover: hover) and (pointer: fine) {
  .coinha-step:hover {
    transform: translateY(-5px);
    border-color: var(--coinha-moss-green);
    box-shadow: 0 22px 60px rgba(29, 32, 29, .1);
  }
}

body.dark-scheme .coinha-step {
  background: #1c1f1c;
  border-color: rgba(249, 249, 247, .12);
}

/* =========================================================
   COINHA — Menú premium/minimalista + animación sticky
   (Revisión: menú más limpio y con entrada suave al fijarse.
   Solo desktop; el menú móvil se mantiene igual.)
   ========================================================= */

/* Transición base del header para que el paso a sticky sea suave */
header.header-float {
  transition:
    background-color 420ms var(--coinha-ease-out),
    box-shadow 420ms var(--coinha-ease-out),
    backdrop-filter 420ms var(--coinha-ease-out),
    padding 420ms var(--coinha-ease-out),
    transform 520ms var(--coinha-ease-out);
  will-change: transform, background-color;
}

@media (min-width: 992px) {
  /* --- Estado sticky: aparece deslizando desde arriba, con blur y
     una sombra sutil premium (nada de línea dura) --- */
  header.header-light.header-float.smaller {
    background: rgba(249, 249, 247, .88) !important;
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    backdrop-filter: saturate(140%) blur(14px);
    box-shadow: 0 10px 40px -18px rgba(29, 32, 29, .28) !important;
    animation: coinhaHeaderDrop 520ms var(--coinha-ease-out);
  }

  body.dark-scheme header.header-float.smaller {
    box-shadow: 0 10px 42px -16px rgba(0, 0, 0, .6) !important;
  }

  @keyframes coinhaHeaderDrop {
    from { transform: translateY(-14px); opacity: .35; }
    to   { transform: translateY(0);     opacity: 1; }
  }

  /* --- Links de menú: más aire, tipografía contenida y elegante --- */
  header.header-float #mainmenu > li > a.menu-item {
    position: relative;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: .01em;
    padding: 6px 2px;
    color: var(--coinha-darkness-black);
    transition: color 260ms var(--coinha-ease-out);
  }

  /* Subrayado animado que crece desde la izquierda (hover / activo) */
  header.header-float #mainmenu > li > a.menu-item::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1.5px;
    background: var(--coinha-moss-green);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 340ms var(--coinha-ease-out);
  }

  header.header-float #mainmenu > li > a.menu-item:hover,
  header.header-float #mainmenu > li.active > a.menu-item {
    color: var(--coinha-moss-green);
  }

  header.header-float #mainmenu > li > a.menu-item:hover::before,
  header.header-float #mainmenu > li.active > a.menu-item::before {
    transform: scaleX(1);
  }

  /* En sticky modo oscuro, el subrayado se aclara para contrastar */
  body.dark-scheme header.header-float.smaller #mainmenu > li > a.menu-item::before {
    background: var(--coinha-powder-white);
  }

  /* --- CTA del header: más sobrio, con transición fina --- */
  header.header-float .btn-main {
    letter-spacing: .02em;
    font-weight: 500;
    border-radius: 40px;
    transition:
      background-color 240ms var(--coinha-ease-out),
      color 240ms var(--coinha-ease-out),
      transform 240ms var(--coinha-ease-out);
  }

  header.header-float .btn-main:hover {
    transform: translateY(-1px);
  }
}

/* =========================================================
   COINHA — Cards de colaboración (marquee de home)
   Imagen vertical + etiqueta de marca + título/ubicación.
   ========================================================= */
.coinha-collab-rcar .coinha-rcar-track { gap: 20px; }

.coinha-collab-card {
  position: relative;
  width: clamp(240px, 23vw, 320px);
  border-radius: 12px;
  box-shadow: 0 18px 44px -22px rgba(29, 32, 29, .45);
}

.coinha-collab-card img {
  height: clamp(300px, 30vw, 420px);
  width: 100%;
  object-fit: cover;
  display: block;
}

/* Velo inferior para legibilidad del texto sobre la foto */
.coinha-collab-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 62%;
  background: linear-gradient(to top, rgba(21, 24, 21, .82) 8%, rgba(21, 24, 21, .35) 45%, rgba(21, 24, 21, 0));
  z-index: 1;
  pointer-events: none;
  transition: opacity .5s var(--coinha-ease-out);
}

/* Etiqueta de marca (arriba a la izquierda) */
.coinha-collab-brand {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--coinha-powder-white);
  background: rgba(29, 32, 29, .55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(249, 249, 247, .28);
  padding: 6px 12px;
  border-radius: 40px;
}

/* Título + ubicación (abajo) */
.coinha-collab-cap {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.coinha-collab-title {
  color: var(--coinha-powder-white);
  font-family: var(--title-font, inherit);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.15;
}
.coinha-collab-loc {
  color: rgba(249, 249, 247, .82);
  font-size: 13px;
  letter-spacing: .01em;
}

/* Zoom sutil de la imagen al pasar el cursor (hereda pausa del marquee) */
.coinha-collab-card img { transition: transform .7s var(--coinha-ease-out); }
.coinha-collab-card:hover img { transform: scale(1.05); }

@media (max-width: 767px) {
  .coinha-collab-card { width: 74vw; }
  .coinha-collab-card img { height: 64vw; }
}

/* =========================================================
   COINHA — Animación de entrada de los títulos del hero
   El nombre del desarrollo asciende y aparece cada vez que
   su slide se vuelve activo (fade del Swiper). Toque editorial.
   ========================================================= */
#section-hero .swiper-slide .coinha-slide-name {
  opacity: 0;
}
#section-hero .swiper-slide-active .coinha-slide-name {
  animation: coinhaSlideNameIn 900ms var(--coinha-ease-out) 260ms both;
}
@keyframes coinhaSlideNameIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Pequeña línea que acompaña al kicker para un aire más editorial */
#section-hero .coinha-slide-kicker {
  position: relative;
  padding-left: 30px;
}
#section-hero .coinha-slide-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 20px;
  height: 1px;
  background: currentColor;
  opacity: .8;
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
}
#section-hero .swiper-slide-active .coinha-slide-kicker::before {
  animation: coinhaKickerLine 700ms var(--coinha-ease-out) 520ms both;
}
@keyframes coinhaKickerLine {
  to { transform: translateY(-50%) scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  #section-hero .swiper-slide .coinha-slide-name { opacity: 1; }
  #section-hero .swiper-slide-active .coinha-slide-name,
  #section-hero .swiper-slide-active .coinha-slide-kicker::before { animation: none; }
  #section-hero .coinha-slide-kicker::before { transform: translateY(-50%) scaleX(1); }
}

/* =========================================================
   COINHA — Hero: títulos enriquecidos + animaciones premium
   ========================================================= */

/* Ubicación bajo el título de cada slide */
#section-hero .coinha-slide-loc {
  font-size: 13px;
  letter-spacing: .04em;
  opacity: .82;
  margin-top: 3px;
  font-weight: 400;
}

/* Entrada del título grande del hero: asciende y se enfoca (blur-in).
   Sustituye al fadeInUp genérico por una revelación más editorial. */
.coinha-hero-reveal {
  animation: coinhaHeroReveal 1100ms var(--coinha-ease-out) 200ms both;
}
.coinha-hero-reveal .coinha-accent {
  animation: coinhaAccentIn 900ms var(--coinha-ease-out) 700ms both;
}
@keyframes coinhaHeroReveal {
  from { opacity: 0; transform: translateY(24px); filter: blur(8px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}
@keyframes coinhaAccentIn {
  from { opacity: .35; }
  to   { opacity: 1; }
}

/* Ken Burns: zoom lento y continuo de la imagen activa del hero.
   Da vida al banner sin distraer del contenido (referencia Nest/ODG). */
#section-hero .swiper-slide-active .swiper-inner,
#section-hero .swiper-slide-duplicate-active .swiper-inner {
  animation: coinhaKenBurns 9s var(--coinha-ease-out) both;
  transform-origin: center center;
}
@keyframes coinhaKenBurns {
  from { transform: scale(1.03); }
  to   { transform: scale(1.09); }
}

@media (prefers-reduced-motion: reduce) {
  .coinha-hero-reveal,
  .coinha-hero-reveal .coinha-accent,
  #section-hero .swiper-slide-active .swiper-inner,
  #section-hero .swiper-slide-duplicate-active .swiper-inner {
    animation: none;
    filter: none;
  }
}

/* =========================================================
   COINHA — Slider de tarjetas (desarrollos + colaboraciones)
   Flechas + bullets, sin autoplay ni degradado lateral.
   ========================================================= */
.coinha-cards-shell {
  position: relative;
  margin-top: 12px;
}
.coinha-cards-swiper {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 6px 2px 2px;
}
.coinha-cards-swiper .swiper-slide {
  height: auto;
  display: flex;
}
.coinha-cards-swiper .coinha-project-card {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.coinha-cards-swiper .coinha-project-card .p-40 {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.coinha-cards-swiper .coinha-project-card .btn-main {
  margin-top: auto;
}

/* Media + etiqueta Desarrollo / Colaboración */
.coinha-card-media {
  position: relative;
}
.coinha-card-media img {
  height: clamp(220px, 24vw, 300px);
  width: 100%;
  object-fit: cover;
}
.coinha-card-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--coinha-powder-white);
  background: rgba(29, 32, 29, .62);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(249, 249, 247, .28);
  padding: 6px 12px;
  border-radius: 40px;
}

/* Flechas de navegación */
.coinha-cards-nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 6;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--coinha-powder-white);
  color: var(--coinha-darkness-black);
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .55);
  transition: transform .22s var(--coinha-ease-out), background .22s ease;
}
.coinha-cards-prev { left: -8px; }
.coinha-cards-next { right: -8px; }
.coinha-cards-nav:hover { transform: translateY(-50%) scale(1.08); }
.coinha-cards-nav.swiper-button-disabled { opacity: .3; cursor: default; }
.coinha-cards-nav.swiper-button-disabled:hover { transform: translateY(-50%) scale(1); }

/* Bullets (sobre sección oscura) */
.coinha-cards-pagination {
  position: relative;
  text-align: center;
  margin-top: 30px;
}
.coinha-cards-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(249, 249, 247, .4);
  opacity: 1;
  transition: width .3s var(--coinha-ease-out), background .3s ease;
}
.coinha-cards-pagination .swiper-pagination-bullet-active {
  background: var(--coinha-powder-white);
  width: 26px;
  border-radius: 4px;
}

@media (max-width: 575px) {
  .coinha-cards-prev { left: 2px; }
  .coinha-cards-next { right: 2px; }
  .coinha-cards-nav { width: 40px; height: 40px; font-size: 20px; }
}

/* =========================================================
   COINHA — Menú aún más minimalista + aire en el sticky
   ========================================================= */
@media (min-width: 992px) {
  /* Menú minimalista: mayúsculas sutiles, tracking amplio, peso ligero */
  header.header-float #mainmenu > li > a.menu-item {
    text-transform: uppercase;
    font-size: 12.5px;
    letter-spacing: .13em;
    font-weight: 500;
  }
  header.header-float #mainmenu > li {
    margin-right: clamp(18px, 2vw, 34px);
  }

  /* Más aire arriba/abajo en el header (flotante y fijo): el logo ya no
     queda pegado ni al borde ni al menú */
  header.header-float .header-inner {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  header.header-float.smaller .header-inner {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  /* Logo un poco más contenido al fijarse, con respiración vertical */
  header.header-float.smaller #logo img {
    max-height: 42px;
    width: auto;
  }
}

/* =========================================================
   COINHA — Hero: texto principal rotante (cambia por slide)
   ========================================================= */
.coinha-hero-copy {
  transition: opacity .55s var(--coinha-ease-out), visibility .55s;
}
.coinha-hero-copy.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.coinha-hero-anim {
  animation: coinhaHeroReveal 1000ms var(--coinha-ease-out) both;
}
.coinha-hero-anim .coinha-accent {
  animation: coinhaAccentIn 900ms var(--coinha-ease-out) 500ms both;
}
@media (prefers-reduced-motion: reduce) {
  .coinha-hero-anim,
  .coinha-hero-anim .coinha-accent { animation: none; }
  .coinha-hero-copy { transition: none; }
}

/* =========================================================
   COINHA — REDISEÑO ELEGANTE DEL HEADER (desktop)
   Claro sobre el hero · oscuro sobre el sticky (vidrio blanco).
   Nav en mayúsculas con subrayado central · botón contorno ·
   logo claro/oscuro según estado. El menú móvil no se toca.
   ========================================================= */
@media (min-width: 992px) {

  /* --- Altura y aire --- */
  header.header-float .header-inner {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  header.header-float.smaller .header-inner {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  header.header-float #logo img {
    max-height: 50px;
    width: auto;
    transition: max-height .4s var(--coinha-ease-out);
  }
  header.header-float.smaller #logo img { max-height: 38px; }

  /* --- Logo: claro sobre el hero, oscuro al fijarse --- */
  header.header-light.header-float #logo .logo-main   { display: inline-block !important; }
  header.header-light.header-float #logo .logo-scroll,
  header.header-light.header-float #logo .logo-mobile { display: none !important; }
  header.header-light.header-float.smaller #logo .logo-main   { display: none !important; }
  header.header-light.header-float.smaller #logo .logo-scroll { display: inline-block !important; }

  /* --- Navegación elegante --- */
  header.header-float #mainmenu {
    display: flex;
    align-items: center;
    gap: 2px;
  }
  header.header-float #mainmenu > li { margin: 0 !important; }
  header.header-light.header-float #mainmenu > li > a.menu-item {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 500;
    padding: 10px 20px;
    color: var(--coinha-powder-white) !important;
    position: relative;
    transition: color .3s var(--coinha-ease-out);
  }
  /* Subrayado que crece desde el centro */
  header.header-float #mainmenu > li > a.menu-item::before {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 4px;
    height: 1px;
    background: currentColor;
    opacity: .85;
    transition: left .35s var(--coinha-ease-out), right .35s var(--coinha-ease-out);
  }
  header.header-float #mainmenu > li > a.menu-item:hover::before,
  header.header-float #mainmenu > li.active > a.menu-item::before {
    left: 20px;
    right: 20px;
  }

  /* Caret del submenú (Desarrollos): sigue el color del nav */
  header.header-light.header-float #mainmenu > li.has-child:after { color: rgba(249, 249, 247, .8) !important; }

  /* --- Estado sticky: nav y caret oscuros sobre vidrio blanco --- */
  header.header-light.header-float.smaller #mainmenu > li > a.menu-item { color: var(--coinha-darkness-black) !important; }
  header.header-light.header-float.smaller #mainmenu > li.has-child:after { color: rgba(29, 32, 29, .55) !important; }

  /* --- Botón Contacto: contorno elegante --- */
  header.header-float .de-flex-col > .btn-main {
    background: transparent !important;
    border: 1px solid rgba(249, 249, 247, .55) !important;
    border-radius: 40px !important;
    color: var(--coinha-powder-white) !important;
    min-height: auto !important;
    padding: 11px 26px !important;
    font-size: 11.5px !important;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 500;
    transition: background-color .3s var(--coinha-ease-out), color .3s var(--coinha-ease-out), border-color .3s var(--coinha-ease-out), transform .2s var(--coinha-ease-out);
  }
  header.header-float .de-flex-col > .btn-main span { color: inherit !important; }
  header.header-float .de-flex-col > .btn-main:hover {
    background: var(--coinha-powder-white) !important;
    color: var(--coinha-darkness-black) !important;
    border-color: var(--coinha-powder-white) !important;
    transform: translateY(-1px);
  }
  /* Sticky: botón con contorno oscuro */
  header.header-light.header-float.smaller .de-flex-col > .btn-main {
    border-color: rgba(29, 32, 29, .3) !important;
    color: var(--coinha-darkness-black) !important;
  }
  header.header-light.header-float.smaller .de-flex-col > .btn-main:hover {
    background: var(--coinha-darkness-black) !important;
    color: var(--coinha-powder-white) !important;
    border-color: var(--coinha-darkness-black) !important;
  }
}

/* =========================================================
   COINHA — REDISEÑO COMPLETO DEL HEADER MÓVIL (estado normal)
   Problema anterior: en estado normal (sin scroll) el header
   quedaba estático sobre el fondo claro del sitio, pero el
   icono de menú era blanco (#fff) → invisible ("todo blanco,
   no se ve nada"). Solo el sticky (clase .header-mobile) tenía
   el icono oscuro. Aquí se rediseña el header normal para que
   sea una barra de vidrio legible y coherente con el sticky,
   en modo claro y oscuro. El desktop (>=992px) no se toca.
   ========================================================= */
@media (max-width: 991px) {

  /* Barra sólida de vidrio también en estado normal (no sólo al
     hacer scroll): así "normal" y "sticky" se ven igual de bien.
     Selector con la misma especificidad que la regla .transparent
     del tema para poder ganarle sin !important. */
  header.header-float,
  body:not(.side-layout) header.header-light.header-float.transparent:not(.smaller):not(.header-mobile) {
    background: rgba(249, 249, 247, .96);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid rgba(101, 105, 95, .14);
  }

  /* Altura contenida y aire equilibrado */
  header.header-float .header-inner {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  /* Logo: forzar la versión oscura (legible sobre la barra clara)
     y un tamaño equilibrado */
  header.header-float #logo .logo-main,
  header.header-float #logo .logo-scroll {
    display: none !important;
  }
  header.header-float #logo .logo-mobile {
    display: inline-block !important;
  }
  header.header-float #logo img {
    max-height: 40px;
    width: auto;
  }

  /* --- Botón de menú (hamburguesa) rediseñado ---
     Icono oscuro dentro de un contorno circular sutil: legible
     siempre, con buen área de toque y micro-interacción premium */
  #menu-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    margin-top: 0;
    margin-left: 14px;
    color: var(--coinha-darkness-black);
    border: 1px solid rgba(29, 32, 29, .18);
    border-radius: 50%;
    background: rgba(29, 32, 29, .015);
    transition:
      background-color .25s var(--coinha-ease-out),
      border-color .25s var(--coinha-ease-out),
      color .25s var(--coinha-ease-out),
      transform .2s var(--coinha-ease-out);
  }
  #menu-btn:before {
    font-size: 17px;
    line-height: 1;
  }
  #menu-btn:hover,
  #menu-btn:active,
  #menu-btn.menu-open {
    background: var(--coinha-darkness-black);
    border-color: var(--coinha-darkness-black);
    color: var(--coinha-powder-white);
    transform: translateY(-1px);
  }

  /* --- Modo oscuro: barra oscura + logo e icono claros --- */
  body.dark-scheme header.header-float,
  body.dark-scheme:not(.side-layout) header.header-light.header-float.transparent:not(.smaller):not(.header-mobile) {
    background: rgba(21, 24, 21, .96);
    border-bottom: 1px solid rgba(249, 249, 247, .1);
  }
  body.dark-scheme header.header-float #logo img {
    filter: brightness(0) invert(1);
  }
  body.dark-scheme #menu-btn {
    color: var(--coinha-powder-white);
    border-color: rgba(249, 249, 247, .22);
    background: rgba(249, 249, 247, .04);
  }
  body.dark-scheme #menu-btn:hover,
  body.dark-scheme #menu-btn:active,
  body.dark-scheme #menu-btn.menu-open {
    background: var(--coinha-powder-white);
    border-color: var(--coinha-powder-white);
    color: var(--coinha-darkness-black);
  }
}

/* =========================================================
   COINHA — HEADER PC (escritorio): transparente + menú pulido.
   El header flota TRANSPARENTE sobre el hero, sin tarjeta blanca
   y SIN sombras. El foco está en un menú más elegante.
   Solo estado normal (sin scroll); el sticky (.smaller) no se toca.
   ========================================================= */
@media (min-width: 992px) {
  /* --- Header realmente transparente (quita la tarjeta blanca del
     tema y el desplazamiento tipo "pill") --- */
  header.header-light.header-float:not(.smaller) .header-inner {
    background: none !important;
    margin-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* --- Menú pulido: tracking amplio, peso ligero, blanco limpio --- */
  header.header-light.header-float:not(.smaller) #mainmenu > li > a.menu-item {
    color: var(--coinha-powder-white) !important;
    text-transform: uppercase;
    font-size: 12.5px;
    letter-spacing: .18em;
    font-weight: 500;
    padding: 10px 18px;
    opacity: .82;
    text-shadow: none;
    transition: opacity .3s var(--coinha-ease-out), color .3s var(--coinha-ease-out);
  }
  header.header-light.header-float:not(.smaller) #mainmenu > li > a.menu-item:hover,
  header.header-light.header-float:not(.smaller) #mainmenu > li.active > a.menu-item {
    opacity: 1;
  }

  /* Indicador inferior fino que crece desde el centro (hover / activo) */
  header.header-light.header-float:not(.smaller) #mainmenu > li > a.menu-item::before {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 2px;
    height: 1.5px;
    background: var(--coinha-powder-white);
    opacity: .9;
    transition: left .34s var(--coinha-ease-out), right .34s var(--coinha-ease-out);
  }
  header.header-light.header-float:not(.smaller) #mainmenu > li > a.menu-item:hover::before,
  header.header-light.header-float:not(.smaller) #mainmenu > li.active > a.menu-item::before {
    left: 18px;
    right: 18px;
  }

  /* El caret de "Desarrollos" vive fuera del enlace. Desplazamos sólo su
     indicador la mitad de ese ancho para que el trazo quede centrado bajo el
     conjunto etiqueta + caret, no visualmente cargado a la izquierda. */
  header.header-float #mainmenu > li.has-child > a.menu-item::before {
    left: calc(50% + 6px);
    right: calc(50% - 6px);
  }

  header.header-float #mainmenu > li.has-child > a.menu-item:hover::before,
  header.header-float #mainmenu > li.has-child.active > a.menu-item::before {
    left: 24px;
    right: 12px;
  }

  /* Caret del submenú alineado con el color del menú */
  header.header-light.header-float:not(.smaller) #mainmenu > li.has-child:after {
    color: rgba(249, 249, 247, .8) !important;
    text-shadow: none;
  }

  /* --- Submenú (Desarrollos): panel de vidrio oscuro, legible --- */
  header.header-light.header-float:not(.smaller) #mainmenu li ul {
    background: rgba(21, 24, 21, .92) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(249, 249, 247, .12);
    border-radius: 10px;
    padding: 8px 0;
    overflow: hidden;
  }
  header.header-light.header-float:not(.smaller) #mainmenu li ul li a {
    color: rgba(249, 249, 247, .85) !important;
    text-transform: none;
    letter-spacing: .01em;
    font-size: 13.5px;
    padding: 9px 20px;
    transition: background-color .25s var(--coinha-ease-out), color .25s var(--coinha-ease-out);
  }
  header.header-light.header-float:not(.smaller) #mainmenu li ul li a:hover {
    background: rgba(249, 249, 247, .08) !important;
    color: var(--coinha-powder-white) !important;
  }

  /* Logo limpio (sin sombra) */
  header.header-light.header-float:not(.smaller) #logo img {
    filter: none;
  }

  /* Botón Contacto: contorno limpio, sin sombra */
  header.header-light.header-float:not(.smaller) .de-flex-col > .btn-main {
    border-color: rgba(249, 249, 247, .6) !important;
    text-shadow: none;
    box-shadow: none !important;
  }
}

/* =========================================================
   COINHA — "Smart Projects" en negrita dentro de las tarjetas
   de "Nuestros desarrollos". La sección tiene clase .text-light,
   y el tema fuerza .text-light strong { color:#fff }, pero las
   tarjetas tienen fondo claro → el bold blanco se perdía.
   Lo pasamos al color del texto (negro de la marca).
   ========================================================= */
#section-desarrollos p strong {
  color: var(--coinha-darkness-black);
}

/* Casa Plata: recorte controlado, ficha técnica y galería. */
.coinha-casa-page {
  overflow-x: hidden;
}

.coinha-casa-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
}

.coinha-casa-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(18, 21, 19, .72) 0%, rgba(18, 21, 19, .42) 50%, rgba(18, 21, 19, .18) 100%);
  pointer-events: none;
}

.coinha-casa-hero .container {
  position: relative;
  z-index: 2;
}

.coinha-casa-detail {
  position: relative;
  overflow: hidden;
  padding: 42px;
  border: 1px solid rgba(38, 42, 38, .12);
  border-radius: 10px;
  background: #fff;
}

.coinha-casa-detail > span {
  position: absolute;
  top: 22px;
  right: 26px;
  color: rgba(38, 42, 38, .15);
  font-size: 42px;
  line-height: 1;
}

.coinha-casa-detail h3 {
  margin: 10px 0 18px;
  font-size: clamp(32px, 4vw, 50px);
}

.coinha-casa-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.coinha-casa-gallery a {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: var(--coinha-darkness-black);
}

.coinha-casa-gallery img {
  display: block;
  width: 100%;
  height: clamp(300px, 38vw, 520px);
  object-fit: cover;
  transition: transform .7s var(--coinha-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .coinha-casa-gallery a:hover img {
    transform: scale(1.035);
  }
}

@media (max-width: 767px) {
  .coinha-casa-hero-image {
    object-position: center 55%;
  }

  .coinha-casa-hero::after {
    background: linear-gradient(90deg, rgba(18, 21, 19, .68), rgba(18, 21, 19, .38));
  }

  .coinha-casa-hero h4 {
    line-height: 1.45;
  }

  .coinha-casa-detail {
    padding: 34px 28px;
  }

  .coinha-casa-gallery {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .coinha-casa-gallery img {
    height: 68vw;
    min-height: 260px;
  }
}

/* =====================================================================
   Ajustes minuta 03 sep 2026
   ===================================================================== */

/* --- Menú: pestaña visible pero no habilitada (Industrial) --- */
#mainmenu .coinha-nav-disabled,
#mainmenu .coinha-nav-disabled:hover {
  cursor: default;
  opacity: .5;
  pointer-events: none;
}

/* --- Banner Torre Hudson: blur/transparencia en los laterales --- */
.coinha-hero-blur > .container {
  position: relative;
  z-index: 2;
}
.coinha-hero-blur .coinha-hero-sideblur {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38%;
  z-index: 1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(19px);
  backdrop-filter: blur(19px);
}
.coinha-hero-blur .coinha-hero-sideblur.is-left {
  left: 0;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 52%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 52%, transparent 100%);
}
.coinha-hero-blur .coinha-hero-sideblur.is-right {
  right: 0;
  -webkit-mask-image: linear-gradient(to left, #000 0%, #000 52%, transparent 100%);
  mask-image: linear-gradient(to left, #000 0%, #000 52%, transparent 100%);
}
@media (max-width: 767px) {
  .coinha-hero-blur .coinha-hero-sideblur { width: 30%; }
}

/* --- Plano de conjunto (Anara / Lomas): layout + leyenda creativa --- */
.coinha-layout-copy h2 {
  margin: 8px 0 14px;
}
.coinha-layout-copy .lead {
  font-family: "Loretta Display", Georgia, serif;
  font-style: italic;
  color: var(--coinha-moss-green);
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.35;
}

/* --- Chips de características + asterisco --- */
.coinha-chiprow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.coinha-chiprow span {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .01em;
  color: var(--coinha-darkness-black);
  background: rgba(101, 105, 95, .1);
  border: 1px solid rgba(101, 105, 95, .22);
  padding: 6px 13px;
  border-radius: 40px;
}
.coinha-ast {
  color: var(--coinha-moss-green);
  margin-left: 2px;
}

/* --- Forma de entrega (Torre Hudson) --- */
.coinha-entrega {
  list-style: none;
  margin: 0;
  padding: 0;
}
.coinha-entrega li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--body-font-color);
}
.coinha-entrega li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--coinha-moss-green);
}

/* --- Home: tarjeta "Casas en colaboración" dividida en tres --- */
.coinha-trio {
  display: flex;
  gap: 3px;
}
.coinha-trio img {
  width: 33.333%;
  height: clamp(220px, 24vw, 300px);
  object-fit: cover;
  display: block;
}

/* --- Colaboraciones: logo del aliado en la intro --- */
.coinha-partner-logo {
  display: block;
  width: auto;
  height: clamp(64px, 8vw, 96px);
  margin: 18px auto 22px;
  object-fit: contain;
}

/* --- Ajustes de correcciones 03/09/2026 --- */
.coinha-nowrap { white-space: nowrap; }

.coinha-home-sideblur {
  position: absolute;
  inset-block: 0;
  width: 38%;
  z-index: 1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(19px);
  backdrop-filter: blur(19px);
}
.coinha-home-sideblur.is-left {
  left: 0;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 52%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 52%, transparent 100%);
}
.coinha-home-sideblur.is-right {
  right: 0;
  -webkit-mask-image: linear-gradient(to left, #000 0%, #000 52%, transparent 100%);
  mask-image: linear-gradient(to left, #000 0%, #000 52%, transparent 100%);
}

.coinha-home-collab-images {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
}
.coinha-home-collab-images img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
  object-position: center;
}
#section-hero .swiper-slide-active .coinha-home-collab-slide,
#section-hero .swiper-slide-duplicate-active .coinha-home-collab-slide {
  animation: none;
  transform: none;
}

.coinha-collab-hero {
  background: #242724;
}
.coinha-collab-hero > .jarallax-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.coinha-map-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .coinha-home-sideblur { width: 30%; }
  .coinha-home-collab-images { gap: 2px; }
  .coinha-home-collab-images img { object-position: center top; }
}
