/* ═══════════════════════════════════════════════════════════
   OYAGUE & MENDOZA — pages.css
   Estilos específicos por página.
   Reemplaza: servicios.css + paginas-verde-blanco.css +
              sección "PÁGINAS INTERNAS" de luxury-upgrade.css
═══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   PADDING Y OVERFLOW — secciones de páginas internas
══════════════════════════════════════════════════════════ */
/* Galería interiores — reduce espacio inferior */
.int-section.bv-gallery-section {
  padding-bottom: 60px !important;
}

.bv-section, .bv-areas-section, .bv-gallery-section,
.esg-section,
.srv-selector,
.terrenos-productos, .casas-productos,
.np-section, .np-cta,
.nos-page-main, .eq-main, .eq-adicional-section,
.not-grid-section {
  padding-top:    clamp(44px, 5.5vw, 64px) !important;
  padding-bottom: clamp(44px, 5.5vw, 64px) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Contenido sobre watermarks */
.bv-section > .container,
.bv-avance-section > .container,
.bv-areas-section > .container,
.bv-gallery-section > .container,
.esg-section > .container,
.srv-selector > .container,
.terrenos-productos > .container,
.casas-productos > .container,
.np-section > .container,
.np-section > .np-container,
.np-villas > .np-container,
.np-lotes > .np-container,
.np-zonas > .np-container,
.np-parque > .np-container,
.np-sostenibilidad > .np-container,
.np-cultura > .np-container,
.np-cta > .container,
.np-cta > .np-container,
.nos-page-main > .container,
.nos-page-main > .nos-page-inner,
.eq-main > .container,
.eq-main > .eq-inner,
.eq-adicional-section > .container,
.eq-adicional-section > div,
.not-grid-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Contenedores internos con padding propio */
.nos-page-inner,
.eq-inner {
  padding-left: 24px !important;
  padding-right: 24px !important;
  max-width: 1320px !important;
}
.eq-adicional-section > div {
  max-width: 1320px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
@media (max-width: 640px) {
  .nos-page-inner, .eq-inner { padding-left: 16px !important; padding-right: 16px !important; }
  .eq-adicional-section > div { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ══════════════════════════════════════════════════════════
   GRADIENTE SUPERIOR HEROES — páginas internas
   (para que el nav sea legible sobre la imagen)
══════════════════════════════════════════════════════════ */
.nos-hero::before,
.eq-hero::before,
.esg-hero::before,
.srv-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 180px;
  background: linear-gradient(to bottom, rgba(0,0,0,.55) 0%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}

/* ══════════════════════════════════════════════════════════
   WATERMARKS O&M — páginas internas
══════════════════════════════════════════════════════════ */
/* Esquina derecha — secciones claras */
.bv-avance-section::before,
.esg-section.ambiental::before,
.esg-section.gobernanza::before,
.terrenos-productos::before,
.casas-productos::before,
.np-concepto::before,
.np-zonas::before,
.np-sostenibilidad::before,
.np-cultura::before,
.not-grid-section::before {
  content: 'O&M' !important;
  background: none !important;
  position: absolute !important;
  right: -1% !important; bottom: -5% !important;
  top: auto !important; left: auto !important;
  height: auto !important; width: auto !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(12rem, 22vw, 26rem) !important;
  font-weight: 300 !important;
  color: rgba(149,187,48,.038) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.06em !important; line-height: 1 !important;
  user-select: none !important; white-space: nowrap !important;
}

/* O&M eliminado de sección interiores */
.bv-gallery-section::before {
  display: none !important;
}

/* MISIÓN / VISIÓN — watermark sección nosotros */
.nos-page-main::after {
  content: 'MISIÓN\A VISIÓN';
  white-space: pre; text-align: center;
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(13rem, 24vw, 30rem);
  font-weight: 700;
  color: rgba(120,120,115,.05);
  pointer-events: none; z-index: 0;
  letter-spacing: .04em; line-height: .88;
  user-select: none;
}

/* Esquina izquierda — alternadas */
.bv-section#edificio::before,
#tipologias::before,
.esg-section.social::before,
.srv-selector::before,
.np-lotes::before,
.np-parque::before {
  content: 'O&M' !important;
  background: none !important;
  position: absolute !important;
  left: -1% !important; bottom: -5% !important;
  top: auto !important; right: auto !important;
  height: auto !important; width: auto !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(12rem, 22vw, 26rem) !important;
  font-weight: 300 !important;
  color: rgba(149,187,48,.038) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.06em !important; line-height: 1 !important;
  user-select: none !important; white-space: nowrap !important;
}

/* Watermark blanco — secciones verde oscuro */
.np-cta::before {
  content: 'O&M';
  position: absolute;
  right: -1%; bottom: -10%;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(12rem, 22vw, 26rem);
  font-weight: 300;
  color: rgba(255,255,255,.022);
  pointer-events: none; z-index: 0;
  letter-spacing: -.06em; line-height: 1;
  user-select: none; white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════
   WATERMARKS BOSQUE VERTICAL — estilo 33 (palabra) + estilo 2 (O&M outline)
══════════════════════════════════════════════════════════ */
/* AVANCE DEL PROYECTO — palabra gigante, relleno gris */
.bv-avance-section::before {
  content: 'AVANCE\A PROYECTO' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(13rem, 26vw, 32rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* EL EDIFICIO — O&M outline */
.bv-section#edificio::before {
  content: 'O&M' !important;
  text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(20rem, 40vw, 52rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 2px rgba(149,187,48,.18) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.04em !important; line-height: 1 !important;
  user-select: none !important; white-space: nowrap !important;
}

/* TIPOLOGÍAS — palabra gigante, relleno gris */
#tipologias::before {
  content: 'TIPOLOGIAS\A BOSQUE' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(16rem, 32vw, 42rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* ÁREAS COMUNES — O&M outline */
.bv-areas-section::before {
  content: 'O&M' !important;
  text-align: center !important;
  position: absolute !important; left: 50% !important; top: -10% !important;
  right: auto !important; bottom: auto !important;
  transform: translateX(-50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(20rem, 40vw, 52rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 2px rgba(149,187,48,.10) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.04em !important; line-height: 1 !important;
  user-select: none !important; white-space: nowrap !important;
}

/* ══════════════════════════════════════════════════════════
   WATERMARKS TERRENOS · CASAS · SMARTCITY
══════════════════════════════════════════════════════════ */

/* TERRENOS — 2 líneas, centrado */
.terrenos-productos::before {
  content: 'NUESTROS\A TERRENOS' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(13rem, 26vw, 32rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* CASAS — 2 líneas, centrado */
.casas-productos::before {
  content: 'NUESTRAS\A CASAS' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(13rem, 26vw, 34rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* NP-CONCEPTO — 2 líneas, centrado */
.np-concepto::before {
  content: 'INVERSIÓN\A INTELIGENTE' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(11rem, 22vw, 28rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* NP-LOTES — O&M diagonal (O arriba-izq, & centro, M abajo-der) */
.np-lotes::before {
  content: 'O\A\00a0\00a0\00a0\00a0&\A\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0M' !important;
  white-space: pre !important; text-align: left !important;
  position: absolute !important; left: 0 !important; top: 0 !important;
  right: auto !important; bottom: auto !important;
  transform: none !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(12rem, 20vw, 26rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 3px rgba(149,187,48,.26) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .02em !important; line-height: .85 !important;
  user-select: none !important;
}

/* NP-ZONAS — 2 líneas, centrado */
.np-zonas::before {
  content: 'ZONAS\A DEL PROYECTO' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(12rem, 24vw, 30rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* NP-PARQUE — O&M horizontal grande en la parte superior */
.np-parque::before {
  content: 'O&M' !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: -8% !important;
  right: auto !important; bottom: auto !important;
  transform: translateX(-50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(20rem, 38vw, 52rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 3px rgba(149,187,48,.24) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.02em !important; line-height: 1 !important;
  user-select: none !important;
}

/* NP-SOSTENIBILIDAD — 2 líneas, centrado */
.np-sostenibilidad::before {
  content: 'SOSTENI\A BILIDAD' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(13rem, 26vw, 32rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* NP-CULTURA — O&M vertical rotado en el lado derecho */
.np-cultura::before {
  content: 'O&M' !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; right: -6% !important; top: 50% !important;
  left: auto !important; bottom: auto !important;
  transform: translateY(-50%) rotate(90deg) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(16rem, 30vw, 40rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 3px rgba(149,187,48,.24) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .06em !important; line-height: 1 !important;
  user-select: none !important;
}
.np-villas::before {
  content: 'VILLAS' !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(16rem, 34vw, 46rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.05) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: 1 !important;
  user-select: none !important;
}

/* ══════════════════════════════════════════════════════════
   WATERMARKS ESG — estilo 33 (palabra gigante gris, fondos oscuros)
══════════════════════════════════════════════════════════ */

/* AMBIENTAL — MEDIO / AMBIENTE centrado */
.esg-section.ambiental::before {
  content: 'MEDIO\A AMBIENTE' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  height: auto !important; width: auto !important; background: none !important;
  transform: translate(-50%, calc(-50% + 90px)) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(14rem, 28vw, 36rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.06) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* SOCIAL — PILAR / SOCIAL centrado */
.esg-section.social::before {
  content: 'PILAR\A SOCIAL' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  height: auto !important; width: auto !important; background: none !important;
  transform: translate(-50%, calc(-50% + 90px)) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(14rem, 28vw, 36rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.06) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* GOBERNANZA — GOBER / NANZA centrado */
.esg-section.gobernanza::before {
  content: 'GOBER\A NANZA' !important;
  white-space: pre !important; text-align: center !important;
  position: absolute !important; left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  height: auto !important; width: auto !important; background: none !important;
  transform: translate(-50%, calc(-50% + 90px)) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(14rem, 28vw, 36rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.06) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* Watermarks nosotros/equipo — tamaño grande */
.nos-page-main::before {
  content: 'O&M' !important;
  background: none !important;
  position: absolute !important;
  right: -1% !important; bottom: -10% !important;
  left: auto !important; top: auto !important;
  font-size: clamp(14rem, 26vw, 28rem) !important;
  color: rgba(149,187,48,.04) !important;
}
.eq-main::before {
  content: 'O&M' !important;
  background: none !important;
  position: absolute !important;
  left: -1% !important; bottom: -10% !important;
  right: auto !important; top: auto !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(14rem, 26vw, 28rem) !important;
  font-weight: 300 !important;
  color: rgba(149,187,48,.04) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.06em !important; line-height: 1 !important;
  user-select: none !important; white-space: nowrap !important;
}
.eq-adicional-section::before {
  content: 'COLABORADORES\A PRACTICANTES' !important;
  white-space: pre !important; text-align: center !important;
  background: none !important;
  position: absolute !important;
  left: 50% !important; top: 50% !important;
  right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(12rem, 22vw, 28rem) !important;
  font-weight: 700 !important;
  color: rgba(120,120,115,.05) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .04em !important; line-height: .88 !important;
  user-select: none !important;
}

/* FILOSOFÍA / VALORES — O&M outline al lado derecho (fondo blanco) */
.premium-valores-section::after {
  content: 'O&M' !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; right: -5% !important; top: 50% !important;
  left: auto !important; bottom: auto !important;
  transform: translateY(-50%) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(18rem, 34vw, 46rem) !important;
  font-weight: 700 !important; color: transparent !important;
  -webkit-text-stroke: 3px rgba(149,187,48,.22) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: -.04em !important; line-height: 1 !important;
  user-select: none !important;
}

/* ═══════════════════════════════════════════════════════════
   NOSOTROS.HTML
═══════════════════════════════════════════════════════════ */
.nos-page-main {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  border-top: 3px solid rgba(149,187,48,.18) !important;
}
.nos-page-main h2, .nos-page-main h3 { color: var(--dark-txt) !important; }
.nos-page-main p { color: var(--mid-txt) !important; }

/* Stats */
.nos-page-stats {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.nos-page-stat {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(149,187,48,.2) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
.nos-page-stat:hover {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(149,187,48,.4) !important;
}
.nos-page-stat-num  { color: var(--green-dk) !important; }
.nos-page-stat-label { color: var(--mid-txt) !important; }

/* Misión / Visión */
.nos-mv-item {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(149,187,48,.2) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
.nos-mv-item:hover {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(149,187,48,.4) !important;
}
.nos-mv-title       { color: var(--dark-txt) !important; }
.nos-mv-title em    { color: var(--green-dk)  !important; }
.nos-mv-text        { color: var(--mid-txt)   !important; }
.nos-mv-text strong { color: var(--green-dk)  !important; }
.nos-mv-num         { color: rgba(149,187,48,.14) !important; }

/* Quote sobre imagen */
.nos-img-quote-text    { color: #fff !important; }
.nos-img-quote-text em { color: #CEE632 !important; }

/* Valores */
.nos-valores-bloque { background: transparent !important; margin: 0 !important; padding: 0 !important; }
.nos-valores-bloque::before { display: none !important; }
.nos-valores-eyebrow { color: var(--green-dk) !important; }
.nos-valores-title    { color: var(--dark-txt) !important; }
.nos-valores-title em { color: var(--green-dk) !important; }
.nos-valor-item {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(149,187,48,.18) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
.nos-valor-item:hover {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(149,187,48,.4) !important;
}
.nos-valor-name { color: var(--dark-txt) !important; }
.nos-valor-desc { color: var(--mid-txt)  !important; }

/* Cómo trabajamos */
.nos-como-section {
  background: #050505 !important;
  position: relative !important;
}
.nos-como-section::before {
  background: linear-gradient(to right, transparent, rgba(149,187,48,.3), transparent) !important;
}
.nos-como-eyebrow       { color: var(--green-dk) !important; }
.nos-como-title         { color: #f5f2ec !important; }
.nos-como-title em      { color: var(--green) !important; }
.nos-como-card {
  background: #111 !important;
  border-color: rgba(149,187,48,.1) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.3) !important;
}
.nos-como-card:hover {
  background: rgba(149,187,48,.08) !important;
  border-color: var(--green) !important;
}
.nos-como-step-num   { color: var(--green) !important; }
.nos-como-step-title { color: #f5f2ec !important; }
.nos-como-step-desc  { color: #ffffff !important; }
.nos-como-tri-down   { background: var(--green) !important; }
.nos-como-tri-up     { background: var(--green) !important; }
.nos-como-card:hover .nos-como-tri-down,
.nos-como-card:hover .nos-como-tri-up { background: var(--green-lt) !important; }
.nos-como-foto { filter: brightness(.88) !important; }

/* Social section */
.nos-social-section {
  background: rgba(255,255,255,.75) !important;
  border-color: rgba(149,187,48,.18) !important;
  border-radius: 8px !important;
}
.nos-social-title { color: var(--dark-txt) !important; }
.nos-social-sub   { color: var(--mid-txt)  !important; }

/* Segunda nos-page-main */
.nos-page-main:last-of-type { background: #0a0a0a !important; }

/* CTA nosotros */
.nos-cta {
  background: linear-gradient(135deg, #4a7a1a 0%, #95BB30 40%, #CEE632 70%, #6a8f1a 100%) !important;
}
.nos-cta-title    { color: #fff !important; }
.nos-cta-title em { color: #1a3a0a !important; }
.nos-cta-sub      { color: rgba(255,255,255,.85) !important; }

/* ═══════════════════════════════════════════════════════════
   EQUIPO.HTML
═══════════════════════════════════════════════════════════ */
.eq-main {
  background-color: #000000 !important;
  background-image: none !important;
  border-top: 3px solid rgba(149,187,48,.13) !important;
}
.eq-main h2, .eq-main h3 { color: #ffffff !important; }
.eq-main p { color: rgba(255,255,255,0.55) !important; }

.eq-eyebrow   { color: var(--green-dk) !important; }
.eq-title     { color: #ffffff !important; }
.eq-title em  { color: var(--green) !important; }
.eq-sub       { color: rgba(255,255,255,.6) !important; }

/* Cards equipo */
.eq-card {
  background: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(149,187,48,.15) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
}
.eq-card:hover {
  border-color: var(--green) !important;
  box-shadow: 0 12px 40px rgba(149,187,48,.2) !important;
}
.eq-card-foto::after {
  background: linear-gradient(to top, rgba(42,74,15,.8), transparent 50%) !important;
}
.eq-card-num { color: rgba(149,187,48,.4) !important; }
.eq-card:hover .eq-card-num { color: var(--green) !important; }
.eq-card-nombre { color: var(--dark-txt) !important; }
.eq-card-rol    { color: var(--green)    !important; }
.eq-card-desc   { color: var(--mid-txt) !important; }
.eq-card-btn {
  background: rgba(149,187,48,.1) !important;
  border-color: rgba(149,187,48,.2) !important;
  color: var(--green-dk) !important;
}
.eq-card-btn:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: #fff !important;
}

/* Separador */
.eq-sep-line { background: linear-gradient(to right, transparent, var(--green), transparent) !important; }
.eq-sep-text { color: var(--green-dk) !important; }

/* Sección únete */
.eq-join {
  background: linear-gradient(135deg, #2a4a0f 0%, #3a6a15 100%) !important;
  border-color: rgba(206,230,50,.2) !important;
  position: relative !important;
  overflow: hidden !important;
}
.eq-join::before {
  content: '' !important;
  position: absolute !important;
  top: -60px; right: -60px !important;
  width: 300px; height: 300px !important;
  background: radial-gradient(circle, rgba(206,230,50,.1) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.eq-join-eyebrow    { color: #CEE632 !important; }
.eq-join-title      { color: #fff !important; }
.eq-join-title em   { color: #CEE632 !important; }
.eq-join-sub        { color: rgba(255,255,255,.85) !important; }
.eq-btn-primary     { background: var(--green) !important; color: #fff !important; }
.eq-btn-primary:hover { background: var(--green-lt) !important; color: #1a3a0a !important; }

/* CTA equipo */
.eq-cta {
  background: linear-gradient(135deg, #4a7a1a 0%, #95BB30 40%, #CEE632 70%, #6a8f1a 100%) !important;
}
.eq-cta-title    { color: #fff !important; }
.eq-cta-title em { color: #1a3a0a !important; }
.eq-cta-sub      { color: rgba(255,255,255,.85) !important; }

/* Colaboradores */
.eq-adicional-section {
  background-color: var(--beige-3) !important;
  background-image: radial-gradient(circle, rgba(149,187,48,.07) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  border-top: 3px solid rgba(149,187,48,.15) !important;
}
.eq-adicional-section h2, .eq-adicional-section h3 { color: var(--dark-txt) !important; }
.eq-adicional-section p { color: var(--mid-txt) !important; }
.eq-adicional-eyebrow    { color: var(--green-dk) !important; }
.eq-adicional-title      { color: var(--dark-txt) !important; }
.eq-adicional-title em   { color: var(--green)    !important; }
.eq-adicional-sub        { color: var(--mid-txt)  !important; }
.eq-adic-card {
  background: rgba(255,255,255,.85) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.3) !important;
  border: 1px solid rgba(149,187,48,.15) !important;
}
.eq-adic-info   { background: rgba(255,255,255,.9) !important; }
.eq-adic-nombre { color: var(--dark-txt) !important; }
.eq-adic-rol    { color: var(--green)    !important; }

/* ═══════════════════════════════════════════════════════════
   ESG.HTML
═══════════════════════════════════════════════════════════ */
.esg-nav-sticky {
  background: rgba(42,74,15,.97) !important;
  border-bottom-color: rgba(149,187,48,.2) !important;
}

.esg-section {
  border-top: 3px solid rgba(149,187,48,.16) !important;
}
.esg-section.ambiental {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
}
.esg-section.social {
  background-color: #FAFAF6 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='55'%3E%3Cline x1='27.5' y1='20' x2='27.5' y2='35' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3Cline x1='20' y1='27.5' x2='35' y2='27.5' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3C/svg%3E") !important;
  background-size: 55px 55px !important;
}
.esg-section.gobernanza {
  background-color: var(--beige-3) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50'%3E%3Cpath d='M25 4 L46 25 L25 46 L4 25 Z' fill='none' stroke='%2395BB30' stroke-width='0.6' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 50px 50px !important;
}
.esg-section h2, .esg-section h3 { color: var(--dark-txt) !important; }
.esg-section p { color: var(--mid-txt) !important; }

/* Títulos de sección ESG por tipo */
.ambiental  .esg-sec-title em { color: #38a169 !important; }
.social     .esg-sec-title em { color: #3182ce !important; }
.gobernanza .esg-sec-title em { color: #c09817 !important; }

/* Cards ESG */
.esg-card {
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(149,187,48,.15) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.06) !important;
}
.esg-card-title { color: var(--dark-txt) !important; }
.esg-card-text  { color: var(--mid-txt)  !important; }
.esg-card-num   { opacity: 1 !important; color: var(--green) !important; font-size: 2rem !important; }

/* Métricas */
.esg-metric {
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(149,187,48,.15) !important;
}
.esg-metric-label { color: var(--mid-txt) !important; }
.esg-metric-num   { color: var(--green-dk) !important; }

/* CTA ESG */
.esg-cta {
  background: linear-gradient(135deg, #4a7a1a 0%, #95BB30 40%, #CEE632 70%, #6a8f1a 100%) !important;
}
.esg-cta-eyebrow    { color: rgba(255,255,255,.8) !important; }
.esg-cta-title      { color: #fff !important; }
.esg-cta-title em   { color: #1a3a0a !important; }
.esg-cta-sub        { color: rgba(255,255,255,.85) !important; }

/* ═══════════════════════════════════════════════════════════
   BOSQUE VERTICAL.HTML — beige · blanco alternados
═══════════════════════════════════════════════════════════ */
.bv-avance-section {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  border-bottom: 3px solid rgba(149,187,48,.15) !important;
}
.bv-section#edificio {
  background-color: #FAFAF6 !important;
  background-image:
    repeating-linear-gradient(-55deg, transparent 0px, transparent 26px,
    rgba(149,187,48,.05) 26px, rgba(149,187,48,.05) 27px) !important;
  border-top: 3px solid rgba(149,187,48,.13) !important;
  border-bottom: 3px solid rgba(149,187,48,.11) !important;
}
#tipologias {
  background-color: var(--beige-3) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50'%3E%3Cpath d='M25 4 L46 25 L25 46 L4 25 Z' fill='none' stroke='%2395BB30' stroke-width='0.6' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 50px 50px !important;
  border-top: 3px solid rgba(149,187,48,.15) !important;
  border-bottom: 3px solid rgba(149,187,48,.13) !important;
}
.bv-areas-section {
  background-color: #FAFAF6 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='55'%3E%3Cline x1='27.5' y1='20' x2='27.5' y2='35' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3Cline x1='20' y1='27.5' x2='35' y2='27.5' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3C/svg%3E") !important;
  background-size: 55px 55px !important;
  border-top: 3px solid rgba(149,187,48,.13) !important;
}
.bv-gallery-section {
  background-color: var(--beige-2) !important;
  background-image: radial-gradient(circle, rgba(149,187,48,.07) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  border-top: 3px solid rgba(149,187,48,.16) !important;
}

/* Texto secciones BV */
.bv-avance-section h2, .bv-avance-section h3,
.bv-section#edificio h2, .bv-section#edificio h3,
#tipologias h2, #tipologias h3,
.bv-areas-section h2, .bv-areas-section h3,
.bv-gallery-section h2 { color: var(--dark-txt) !important; }
.bv-avance-section p, .bv-section#edificio p,
#tipologias p, .bv-areas-section p,
.bv-gallery-section p { color: var(--mid-txt) !important; }

/* Texto del panel de áreas — fondo oscuro, va en blanco */
#edificio #areasDesc,
#edificio .bv-areas-panel-desc,
#areasInfoPanel .bv-areas-panel-desc,
#areasInfoPanel p { color: #ffffff !important; }

/* Cards BV */
.bv-tipo-card, .bv-spec-card, .bv-area-card, .bv-gal-card {
  background: rgba(255,255,255,.85) !important;
  border-color: rgba(149,187,48,.15) !important;
}

/* Panel áreas comunes */
.bv-areas-info-panel { min-height: 580px !important; }
.bv-areas-panel-img  { height: 290px !important; }
.bv-areas-panel-name { font-size: 1.55rem !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
.bv-areas-panel-desc,
.bv-areas-section .bv-areas-panel-desc,
p.bv-areas-panel-desc { color: rgba(255,255,255,.92) !important; font-size: .88rem !important; }
.bv-areas-panel-empty-text { color: rgba(255,255,255,.4) !important; }
.bv-areas-panel-info { padding: 22px 24px !important; }

/* Fix dark inline-styles dentro de #tipologias */
#tipologias [style*="background:#050505"],
#tipologias [style*="background:#0a0a0a"] {
  background: rgba(255,255,255,.95) !important;
  border-color: rgba(149,187,48,.2) !important;
}
#tipologias [style*="background:#111"] {
  background: var(--beige-3) !important;
  border-color: rgba(149,187,48,.2) !important;
}
#tipologias [style*="color:#fff"],
#tipologias [style*="color:#f5f2ec"],
#tipologias h3 { color: var(--dark-txt) !important; }
#tipologias [style*="color:#999"]  { color: var(--soft-txt) !important; }
#tipologias [style*="color:rgba(245,242,236,.6)"],
#tipologias [style*="color:rgba(245"] { color: var(--mid-txt) !important; }
#tipologias [style*="color:#f5f2ec"] { color: var(--dark-txt) !important; }
#tipologias [style*="color:#888"]    { color: var(--soft-txt) !important; }

/* Tabs tipologías */
.bv-tipologias-tabs .bv-tipo-tab {
  background: var(--beige-4) !important;
  border-color: rgba(149,187,48,.18) !important;
  color: var(--dark-txt) !important;
}
.bv-tipologias-tabs .bv-tipo-tab.active {
  background: rgba(149,187,48,.15) !important;
  border-color: rgba(149,187,48,.4) !important;
}

/* ═══════════════════════════════════════════════════════════
   TERRENOS.HTML / CASAS.HTML
═══════════════════════════════════════════════════════════ */
.terrenos-productos, .casas-productos {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  border-top: 3px solid rgba(149,187,48,.18) !important;
}
.terrenos-productos h2, .terrenos-productos h3,
.casas-productos h2,   .casas-productos h3 { color: var(--dark-txt) !important; }
.terrenos-productos p, .casas-productos p  { color: var(--mid-txt)  !important; }

/* ═══════════════════════════════════════════════════════════
   NOTICIAS.HTML
═══════════════════════════════════════════════════════════ */
.not-grid-section {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='55'%3E%3Cline x1='27.5' y1='20' x2='27.5' y2='35' stroke='%2395BB30' stroke-width='0.8' stroke-opacity='0.1'/%3E%3Cline x1='20' y1='27.5' x2='35' y2='27.5' stroke='%2395BB30' stroke-width='0.8' stroke-opacity='0.1'/%3E%3C/svg%3E") !important;
  background-size: 55px 55px !important;
  border-top: 3px solid rgba(149,187,48,.18) !important;
}
.not-grid-section h2, .not-grid-section h3 { color: var(--dark-txt) !important; }
.not-grid-section p { color: var(--mid-txt) !important; }

/* NOTICIAS — letra vertical izquierda */
.not-grid-section::before {
  content: 'NOTICIAS' !important;
  writing-mode: vertical-lr !important;
  text-orientation: mixed !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; left: 2% !important; top: 10% !important;
  right: auto !important; bottom: auto !important;
  height: auto !important; width: auto !important; background: none !important;
  transform: none !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(11rem, 17vw, 22rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.07) !important;
  -webkit-text-stroke: 0 !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .08em !important; line-height: 1 !important;
  user-select: none !important;
}

/* NOVEDADES — letra vertical derecha */
.not-grid-section::after {
  content: 'NOVEDADES' !important;
  writing-mode: vertical-lr !important;
  text-orientation: mixed !important;
  white-space: nowrap !important; text-align: center !important;
  position: absolute !important; right: 2% !important; top: 10% !important;
  left: auto !important; bottom: auto !important;
  height: auto !important; width: auto !important; background: none !important;
  transform: none !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(11rem, 17vw, 22rem) !important;
  font-weight: 700 !important; color: rgba(120,120,115,.07) !important;
  pointer-events: none !important; z-index: 0 !important;
  letter-spacing: .08em !important; line-height: 1 !important;
  user-select: none !important;
}
.not-card {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(149,187,48,.14) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.06) !important;
}
.not-card:hover {
  border-color: rgba(149,187,48,.4) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.1) !important;
}

/* ═══════════════════════════════════════════════════════════
   DISEÑO.HTML / NUEVA PANGEA — beige · blanco alternados
═══════════════════════════════════════════════════════════ */
.np-concepto {
  background-color: var(--beige-2) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  border-top: 3px solid rgba(149,187,48,.18) !important;
}
.np-lotes {
  background-color: #FAFAF6 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='55'%3E%3Cline x1='27.5' y1='20' x2='27.5' y2='35' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3Cline x1='20' y1='27.5' x2='35' y2='27.5' stroke='%2395BB30' stroke-width='0.7' stroke-opacity='0.09'/%3E%3C/svg%3E") !important;
  background-size: 55px 55px !important;
  border-top: 3px solid rgba(149,187,48,.13) !important;
}
.np-zonas {
  background-color: var(--beige-3) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50'%3E%3Cpath d='M25 4 L46 25 L25 46 L4 25 Z' fill='none' stroke='%2395BB30' stroke-width='0.6' stroke-opacity='0.08'/%3E%3C/svg%3E") !important;
  background-size: 50px 50px !important;
  border-top: 3px solid rgba(149,187,48,.14) !important;
}
.np-parque {
  background-color: #FAFAF6 !important;
  background-image:
    repeating-linear-gradient(-55deg, transparent 0px, transparent 26px,
    rgba(149,187,48,.05) 26px, rgba(149,187,48,.05) 27px) !important;
  border-top: 3px solid rgba(149,187,48,.12) !important;
}
.np-sostenibilidad {
  background-color: var(--beige-2) !important;
  background-image: radial-gradient(circle, rgba(149,187,48,.07) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  border-top: 3px solid rgba(149,187,48,.16) !important;
}
.np-cultura {
  background-color: #FAFAF6 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.07'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%2395BB30' stroke-width='0.5' stroke-opacity='0.07'/%3E%3C/svg%3E") !important;
  background-size: 60px 60px !important;
  border-top: 3px solid rgba(149,187,48,.12) !important;
}
.np-cta {
  background-color: #1d3a0a !important;
  background-image:
    radial-gradient(ellipse at 10% 50%, rgba(149,187,48,.10) 0%, transparent 50%),
    radial-gradient(ellipse at 90% 50%, rgba(149,187,48,.08) 0%, transparent 45%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect x='1' y='1' width='78' height='78' fill='none' stroke='%2395BB30' stroke-width='0.4' stroke-opacity='0.07'/%3E%3C/svg%3E") !important;
  background-size: auto, auto, 80px 80px !important;
  border-top: 3px solid rgba(149,187,48,.3) !important;
}
.np-section h2, .np-section h3, .np-section h4 { color: var(--dark-txt) !important; }
.np-section p { color: var(--mid-txt) !important; }

/* Variables internas NP para secciones claras */
.np-concepto, .np-zonas, .np-parque, .np-sostenibilidad, .np-cultura, .np-lotes {
  --np-white:      #ffffff;
  --np-text:       #1A1A18;
  --np-text-muted: #5A5853;
  --np-green-dark: #5a8010;
  --np-green-lt:   #5a8010;
  --np-green-vlt:  rgba(149,187,48,.12);
}

/* Hero Nueva Pangea */
.np-hero { background: #050505 !important; }
.np-hero-bg {
  background:
    linear-gradient(to right, rgba(5,5,5,.85) 35%, rgba(5,5,5,.4) 100%),
    url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1920&q=85') center/cover no-repeat !important;
}
.np-hero-grid { opacity: .06 !important; }

/* Pills */
.np-pill {
  background: rgba(255,255,255,.92) !important;
  color: #3a3a38 !important;
  border-color: rgba(149,187,48,.3) !important;
}
.np-pill:hover { background: #fff !important; color: #5a8010 !important; border-color: var(--green) !important; }
.np-pill-dot { background: var(--green) !important; }

/* Cards NP */
.np-zona {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(149,187,48,.2) !important;
}
.np-zona:hover { background: #fff !important; border-color: var(--green) !important; }
.np-zona-name       { color: var(--green-dk) !important; }
.np-zona-items li   { color: #3a3a38 !important; border-bottom-color: rgba(149,187,48,.15) !important; }
.np-zona-items li::before { color: var(--green) !important; }

.np-parque-card {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(149,187,48,.2) !important;
}
.np-parque-card:hover { background: #fff !important; border-color: var(--green) !important; }
.np-parque-card-name { color: var(--green-dk) !important; }
.np-parque-card-desc { color: var(--mid-txt) !important; }
.np-parque-highlight {
  background: rgba(255,255,255,.92) !important;
  border-left-color: var(--green) !important;
}
.np-parque-highlight-text { color: var(--mid-txt) !important; }
.np-parque-badge { background: rgba(149,187,48,.15) !important; color: var(--green-dk) !important; }

.np-sost-card {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(149,187,48,.2) !important;
}
.np-sost-card:hover { background: #fff !important; border-color: var(--green) !important; }
.np-sost-name { color: var(--green-dk) !important; }
.np-sost-desc { color: var(--mid-txt) !important; }
.np-sost-num  { color: rgba(149,187,48,.15) !important; }

.np-cultura-item {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(149,187,48,.2) !important;
}
.np-cultura-item:hover { background: #fff !important; border-color: var(--green) !important; }
.np-cultura-item-name { color: var(--dark-txt) !important; }
.np-cultura-item-desc { color: var(--mid-txt) !important; }
.np-cultura-item-icon {
  background: rgba(149,187,48,.1) !important;
  border-color: rgba(149,187,48,.3) !important;
  color: var(--green-dk) !important;
}

/* ═══════════════════════════════════════════════════════════
   SERVICIOS.HTML — clases .srv-* (nav, hero, contenido propio)
═══════════════════════════════════════════════════════════ */

/* Nav servicios */
.srv-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 48px;
  transition: all .4s ease;
}
.srv-nav.scrolled {
  background: rgba(8,8,8,.96) !important;
  backdrop-filter: blur(20px) !important;
  padding: 14px 48px;
  border-bottom: 1px solid var(--green) !important;
}
.srv-nav-logo img { height: 46px; width: auto; }
.srv-nav-links { display: flex; gap: 36px; list-style: none; }
.srv-nav-links a {
  font-family: var(--font-main); font-size: .8rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.55); transition: color .3s; text-decoration: none;
}
.srv-nav-links a:hover, .srv-nav-links a.active { color: var(--green-lt); }
.srv-nav-cta {
  font-family: var(--font-main); font-size: .78rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--dark); background: var(--green) !important;
  padding: 10px 24px; border-radius: 2px;
  transition: background .3s; text-decoration: none;
}
.srv-nav-cta:hover { background: var(--green-dk) !important; }
.srv-hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: none; padding: 4px;
}
.srv-hamburger span { display: block; width: 24px; height: 2px; background: #fff; border-radius: 2px; }

/* Nav #navbar en servicios */
#navbar .nav-links a { font-size: .85rem !important; font-weight: 600 !important; letter-spacing: .05em !important; }
#navbar .nav-cta { font-size: .83rem !important; padding: 9px 22px !important; }
.srv-nav:not(.scrolled) .srv-nav-links a { color: rgba(255,255,255,.9) !important; }
#navbar.scrolled .nav-links a  { color: rgba(245,242,236,.85) !important; }
#navbar.scrolled .nav-links a:hover { color: var(--green-lt) !important; }
#navbar.scrolled .nav-social-link { color: rgba(245,242,236,.6) !important; }
#navbar.scrolled .nav-social-link:hover { color: var(--green) !important; }
#navbar.scrolled .hamburger span { background: rgba(245,242,236,.9) !important; }
.srv-nav.scrolled .srv-nav-links a { color: rgba(245,242,236,.85) !important; }
#navbar:not(.scrolled) .nav-logo-img { filter: brightness(0) invert(1) !important; }

/* Mobile menu servicios */
.srv-mobile-menu {
  display: none; position: fixed; inset: 0;
  background: var(--dark); z-index: 99;
  flex-direction: column; align-items: center; justify-content: center;
}
.srv-mobile-menu.open { display: flex; }
.srv-mobile-close {
  position: absolute; top: 24px; right: 24px;
  background: none; border: none; color: #fff; font-size: 1.5rem; cursor: none;
}
.srv-mobile-menu ul { list-style: none; text-align: center; }
.srv-mobile-menu li { padding: 12px 0; }
.srv-mobile-menu a {
  font-family: var(--font-serif); font-size: 2rem; font-weight: 300;
  color: #fff; text-decoration: none; transition: color .3s;
}
.srv-mobile-menu a:hover { color: var(--green-lt); }

/* Hero servicios */
.srv-hero {
  min-height: 100vh; position: relative;
  display: flex; align-items: flex-end;
  padding: 0 0 80px; overflow: hidden;
}
.srv-hero-bg {
  position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1487958449943-2429e8be8625?w=1800&q=90') center/cover no-repeat;
}
.srv-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(42,74,15,.7) 0%, rgba(42,74,15,.85) 50%, rgba(42,74,15,.97) 100%) !important;
}
.srv-hero-lines { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.srv-hero-lines::before {
  content: ''; position: absolute;
  top: 0; left: 50%; width: 1px; height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(149,187,48,.25), transparent);
  animation: srvLineDown 3s ease-in-out infinite;
}
@keyframes srvLineDown {
  0%,100% { opacity: 0; transform: scaleY(0) translateY(-100%); }
  50%      { opacity: 1; transform: scaleY(1) translateY(0); }
}
.srv-hero-content {
  position: relative; z-index: 1;
  max-width: 1160px; margin: 0 auto; padding: 0 48px; width: 100%;
}
.srv-hero-label {
  font-family: var(--font-main); font-size: .82rem; font-weight: 800;
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--green-lt) !important; margin-bottom: 24px; display: block;
}
.srv-hero-title {
  font-family: var(--font-serif); font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 300; line-height: 1.0; color: #fff !important;
  margin-bottom: 32px; letter-spacing: -.01em;
}
.srv-hero-title em     { font-style: italic; color: var(--green-lt) !important; font-weight: 300; }
.srv-hero-title strong { font-weight: 600; display: block; color: #fff !important; }
.srv-hero-desc {
  font-family: var(--font-main); font-size: 1rem;
  color: rgba(255,255,255,.8) !important; max-width: 500px; line-height: 1.8; margin-bottom: 48px;
}
.srv-hero-scroll { display: flex; align-items: center; gap: 16px; }
.srv-hero-scroll-line { width: 60px; height: 1px; background: rgba(149,187,48,.5) !important; animation: srvPulse 2s ease-in-out infinite; }
@keyframes srvPulse { 0%,100%{opacity:.3} 50%{opacity:1} }
.srv-hero-scroll span {
  font-family: var(--font-main); font-size: .80rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.5) !important;
}
.srv-hero-num {
  position: absolute; right: 48px; bottom: 80px;
  font-family: var(--font-serif); font-size: 18rem; font-weight: 300;
  line-height: 1; color: rgba(149,187,48,.05) !important;
  pointer-events: none; letter-spacing: -.05em; user-select: none;
}

/* Stats bar */
.srv-stats { background: var(--green) !important; display: grid; grid-template-columns: repeat(3, 1fr); }
.srv-stat {
  padding: 32px 40px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.3) !important;
}
.srv-stat:last-child { border-right: none; }
.srv-stat-num   { font-family: var(--font-serif); font-size: 2.8rem; font-weight: 300; color: #fff !important; display: block; line-height: 1; }
.srv-stat-label { font-family: var(--font-main); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.8) !important; margin-top: 6px; display: block; }

/* Selector (beige blanco, luxury-upgrade gana) */
.srv-selector {
  background-color: #FAFAF6 !important;
  background-image:
    repeating-linear-gradient(-55deg, transparent 0px, transparent 26px,
    rgba(149,187,48,.05) 26px, rgba(149,187,48,.05) 27px),
    radial-gradient(ellipse at 80% 20%, rgba(149,187,48,.06) 0%, transparent 45%) !important;
  border-top: 3px solid rgba(149,187,48,.13) !important;
  padding: 120px 0 0;
}
.srv-selector::before { content: none !important; }
.srv-selector h2, .srv-selector h3 { color: var(--dark-txt) !important; }
.srv-selector p { color: var(--mid-txt) !important; }
.srv-selector-header {
  max-width: 1160px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: end; margin-bottom: 80px;
}
.srv-selector-eyebrow { font-family: var(--font-main); font-size: .82rem; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: var(--green-dk) !important; margin-bottom: 16px; display: block; }
.srv-selector-title   { font-family: var(--font-serif); font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 300; line-height: 1.1; color: var(--dark-txt) !important; }
.srv-selector-title em { font-style: italic; color: var(--green) !important; }
.srv-selector-desc    { font-family: var(--font-main); font-size: .92rem; color: var(--mid-txt) !important; line-height: 1.8; align-self: end; }

/* Tabs servicios */
.srv-tabs-wrap  { max-width: 1160px; margin: 0 auto; padding: 0 48px; display: flex; justify-content: center; }
.srv-tabs-inner { display: inline-flex; gap: 0; border: 1.5px solid rgba(149,187,48,.2) !important; border-radius: 2px; overflow: hidden; background: rgba(255,255,255,.8) !important; }
.srv-tab-btn {
  font-family: var(--font-main); font-size: .87rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  padding: 18px 40px; cursor: none; border: none;
  background: transparent; color: var(--mid-txt) !important;
  border-right: 1px solid rgba(149,187,48,.2) !important;
  transition: all .35s ease; position: relative; white-space: nowrap;
}
.srv-tab-btn:last-child { border-right: none; }
.srv-tab-btn::after { content: ''; position: absolute; bottom: 0; left: 50%; right: 50%; height: 2px; background: var(--green) !important; transition: left .35s, right .35s; }
.srv-tab-btn:hover  { color: var(--dark-txt) !important; background: rgba(149,187,48,.05) !important; }
.srv-tab-btn.active { color: var(--dark-txt) !important; background: rgba(149,187,48,.12) !important; }
.srv-tab-btn.active::after { left: 0; right: 0; }
.srv-tab-icon { font-size: 1.1rem; margin-right: 10px; }

/* Panels */
.srv-panel { display: none; }
.srv-panel.active { display: block; animation: srvPanelIn .5s ease; }
@keyframes srvPanelIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

.srv-panel-hero { position: relative; height: 70vh; overflow: hidden; margin-top: 0; }
.srv-panel-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 8s ease; }
.srv-panel:hover .srv-panel-hero-bg { transform: scale(1.04); }
.srv-panel-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(42,74,15,.9) 0%, rgba(42,74,15,.5) 55%, rgba(42,74,15,.2) 100%) !important;
}
.srv-panel-hero-content { position: absolute; bottom: 0; left: 0; padding: 64px 80px; max-width: 680px; }
.srv-panel-cat-label  { font-family: var(--font-main); font-size: .78rem; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: var(--green-lt) !important; margin-bottom: 16px; display: block; }
.srv-panel-title      { font-family: var(--font-serif); font-size: clamp(2.2rem, 4vw, 3.6rem); font-weight: 300; line-height: 1.1; color: #fff !important; margin-bottom: 20px; }
.srv-panel-title em   { font-style: italic; color: var(--green-lt) !important; }
.srv-panel-subtitle   { font-family: var(--font-main); font-size: .92rem; color: rgba(255,255,255,.75) !important; line-height: 1.75; }
.srv-panel-hero-num   { position: absolute; right: 60px; bottom: 40px; font-family: var(--font-serif); font-size: 12rem; font-weight: 300; color: rgba(149,187,48,.07) !important; line-height: 1; pointer-events: none; user-select: none; }

.srv-panel-body { background: #0a0a0a !important; padding: 100px 0; }

/* Galería works */
.srv-works-section { max-width: 1160px; margin: 0 auto; padding: 0 48px; margin-bottom: 100px; }
.srv-works-header  { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; }
.srv-works-title   { font-family: var(--font-serif); font-size: 1.8rem; font-weight: 300; color: #f5f2ec !important; }
.srv-works-title em { font-style: italic; color: var(--green) !important; }
.srv-works-count   { font-family: var(--font-main); font-size: .82rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--green-lt) !important; }

.srv-works-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 80px; gap: 3px; }
.srv-work { position: relative; overflow: hidden; background: var(--dark-2); cursor: none; }
.srv-work:nth-child(1) { grid-column: 1 / 8;  grid-row: 1 / 5; }
.srv-work:nth-child(2) { grid-column: 8 / 13; grid-row: 1 / 3; }
.srv-work:nth-child(3) { grid-column: 8 / 13; grid-row: 3 / 5; }
.srv-work:nth-child(4) { grid-column: 1 / 5;  grid-row: 5 / 8; }
.srv-work:nth-child(5) { grid-column: 5 / 13; grid-row: 5 / 8; }
.srv-work-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .9s cubic-bezier(.25,.1,.25,1), filter .6s ease; filter: brightness(.8) saturate(.85) !important; }
.srv-work:hover .srv-work-bg { transform: scale(1.08); filter: brightness(.55) saturate(.7) !important; }
.srv-work-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(42,74,15,.95) 0%, transparent 55%) !important; }
.srv-work-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 28px; transform: translateY(8px); transition: transform .4s ease; }
.srv-work:hover .srv-work-content { transform: none; }
.srv-work-cat   { font-family: var(--font-main); font-size: .74rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--green-lt) !important; margin-bottom: 6px; display: block; }
.srv-work-title { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 400; color: #fff !important; line-height: 1.2; }
.srv-work:nth-child(1) .srv-work-title { font-size: 1.7rem; }
.srv-work-year  { font-family: var(--font-main); font-size: .80rem; color: rgba(255,255,255,.5) !important; margin-top: 4px; }
.srv-work-cta   { font-family: var(--font-main); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--green-lt) !important; opacity: 0; transition: opacity .3s .1s; margin-top: 10px; display: flex; align-items: center; gap: 8px; }
.srv-work:hover .srv-work-cta { opacity: 1; }
.srv-work-cta-line { width: 20px; height: 1px; background: var(--green-lt) !important; transition: width .3s ease; }
.srv-work:hover .srv-work-cta-line { width: 36px; }

/* Features grid */
.srv-features-section { max-width: 1160px; margin: 0 auto; padding: 0 48px; margin-bottom: 100px; }
.srv-features-header  { margin-bottom: 56px; text-align: center; }
.srv-features-header h3 { font-family: var(--font-serif); font-size: 2rem; font-weight: 300; color: #f5f2ec !important; }
.srv-features-header h3 em { font-style: italic; color: var(--green) !important; }
.srv-features-header p  { font-family: var(--font-main); font-size: .88rem; color: rgba(245,242,236,.5) !important; margin-top: 12px; line-height: 1.7; }
.srv-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.srv-feature {
  padding: 25px 20px;
  background: #111 !important;
  border: 1px solid rgba(149,187,48,.1) !important;
  min-height: 180px;
  display: flex; flex-direction: column; justify-content: center;
  position: relative;
}
.srv-feature::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 0; background: var(--green) !important; transition: height .4s ease; }
.srv-feature:hover::before { height: 100%; }
.srv-feature:hover { background: rgba(149,187,48,.1) !important; border-color: var(--green) !important; transform: translateY(-3px); }
.srv-feature-num  { font-family: var(--font-serif); font-size: 3.5rem; font-weight: 300; color: rgba(149,187,48,.1) !important; line-height: 1; margin-bottom: 20px; }
.srv-feature-icon { font-size: 1.8rem; margin-bottom: 16px; display: block; }
.srv-feature h4   { font-family: var(--font-main); font-size: .95rem; font-weight: 700; color: #f5f2ec !important; margin-bottom: 10px; letter-spacing: .02em; }
.srv-feature p    { font-family: var(--font-main); font-size: .94rem; color: rgba(245,242,236,.4) !important; line-height: 1.7; }

/* CTA box servicios */
.srv-cta-section { max-width: 1160px; margin: 0 auto; padding: 0 48px; }
.srv-cta-box {
  position: relative; overflow: hidden;
  background: #111 !important;
  border: 1px solid rgba(149,187,48,.1) !important;
  padding: 80px;
  display: grid; grid-template-columns: 1fr auto;
  gap: 60px; align-items: center;
}
.srv-cta-box::before { content: ''; position: absolute; top: -60px; right: -60px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(149,187,48,.08) 0%, transparent 70%); pointer-events: none; }
.srv-cta-label   { font-family: var(--font-main); font-size: .80rem; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: var(--green-lt) !important; margin-bottom: 16px; display: block; }
.srv-cta-title   { font-family: var(--font-serif); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 300; color: #f5f2ec !important; line-height: 1.15; }
.srv-cta-title em { font-style: italic; color: var(--green) !important; }
.srv-cta-buttons { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.srv-btn-primary {
  font-family: var(--font-main); font-size: .78rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  background: var(--green) !important; color: #fff !important;
  padding: 16px 36px; border-radius: 2px;
  text-decoration: none; transition: background .3s;
  text-align: center; white-space: nowrap;
}
.srv-btn-primary:hover { background: var(--green-dk) !important; }
.srv-btn-wa {
  font-family: var(--font-main); font-size: .78rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  background: var(--green) !important; color: #fff !important;
  padding: 16px 36px; border-radius: 2px;
  text-decoration: none; transition: background .3s;
  text-align: center; display: flex; align-items: center;
  justify-content: center; gap: 8px; white-space: nowrap;
}
.srv-btn-wa:hover { background: var(--green-dk) !important; }

/* Footer servicios */
.srv-footer { background: #050505 !important; padding: 64px 0 0; border-top: 1px solid rgba(149,187,48,.1) !important; }
.srv-footer-inner { max-width: 1160px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; }
.srv-footer-logo img { height: 44px; width: auto; filter: brightness(0) invert(1); opacity: .8; margin-bottom: 16px; display: block; }
.srv-footer-tagline  { font-family: var(--font-serif); font-style: italic; font-size: 1rem; color: var(--green-lt) !important; margin-bottom: 20px; }
.srv-footer-social { display: flex; gap: 10px; }
.srv-footer-soc {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(206,230,50,.1) !important;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.5) !important; transition: all .3s;
  border: 1px solid rgba(206,230,50,.2) !important; text-decoration: none;
}
.srv-footer-soc:hover { background: var(--green-lt) !important; color: #2a4a0f !important; border-color: var(--green-lt) !important; }
.srv-footer-col h4  { font-family: var(--font-main); font-size: .80rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(206,230,50,.5) !important; margin-bottom: 20px; }
.srv-footer-col ul  { list-style: none; }
.srv-footer-col li  { margin-bottom: 10px; }
.srv-footer-col a   { font-family: var(--font-main); font-size: .85rem; color: rgba(255,255,255,.45) !important; text-decoration: none; transition: color .3s; }
.srv-footer-col a:hover { color: var(--green-lt) !important; }
.srv-footer-bottom { border-top: 1px solid rgba(255,255,255,.06) !important; padding: 20px 48px; max-width: 1160px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.srv-footer-bottom p { font-family: var(--font-main); font-size: .87rem; color: rgba(255,255,255,.3) !important; }

/* Reveal servicios */
.reveal-up { opacity: 0; transform: translateY(40px); transition: opacity .8s ease, transform .8s ease; }
.reveal-up.visible { opacity: 1; transform: none; }
.reveal-up:nth-child(2) { transition-delay: .1s; }
.reveal-up:nth-child(3) { transition-delay: .2s; }
.reveal-up:nth-child(4) { transition-delay: .3s; }
.reveal-up:nth-child(5) { transition-delay: .4s; }
.reveal-up:nth-child(6) { transition-delay: .5s; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — páginas internas
══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .srv-works-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 260px; }
  .srv-work:nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 2; }
  .srv-work:nth-child(2) { grid-column: 1 / 2; grid-row: 2 / 3; }
  .srv-work:nth-child(3) { grid-column: 2 / 3; grid-row: 2 / 3; }
  .srv-work:nth-child(4) { grid-column: 1 / 2; grid-row: 3 / 4; }
  .srv-work:nth-child(5) { grid-column: 2 / 3; grid-row: 3 / 4; }
  .srv-features-grid { grid-template-columns: 1fr 1fr; }
  .srv-cta-box { grid-template-columns: 1fr; padding: 52px 40px; }
  .srv-cta-buttons { flex-direction: row; }
}

@media (max-width: 768px) {
  /* Servicios */
  .srv-nav { padding: 16px 24px; }
  .srv-nav.scrolled { padding: 12px 24px; }
  .srv-nav-links, .srv-nav-cta { display: none; }
  .srv-hamburger { display: flex; }
  .srv-hero-content { padding: 0 24px; }
  .srv-hero-num { display: none; }
  .srv-selector-header { grid-template-columns: 1fr; gap: 16px; padding: 0 24px; }
  .srv-tabs-wrap { padding: 0 16px; }
  .srv-tabs-inner { flex-direction: column; width: 100%; }
  .srv-tab-btn { border-right: none; border-bottom: 1px solid rgba(149,187,48,.2); }
  .srv-tab-btn:last-child { border-bottom: none; }
  .srv-panel-hero-content { padding: 36px 28px; }
  .srv-panel-hero-num { display: none; }
  .srv-works-section, .srv-features-section, .srv-cta-section { padding: 0 20px; }
  .srv-works-grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
  .srv-work:nth-child(n) { grid-column: 1; grid-row: auto; }
  .srv-features-grid { grid-template-columns: 1fr; }
  .srv-cta-box { padding: 40px 28px; }
  .srv-cta-buttons { flex-direction: column; }
  .srv-footer-inner { grid-template-columns: 1fr; gap: 32px; padding: 0 24px 40px; }
  .srv-footer-bottom { flex-direction: column; gap: 8px; padding: 20px 24px; text-align: center; }
}

@media (max-width: 480px) {
  .srv-hero-title { font-size: clamp(2.2rem, 10vw, 3rem); }
  .srv-works-section, .srv-features-section, .srv-cta-section { padding: 0 12px; }
  .srv-cta-box { padding: 28px 16px; }
}
