﻿/* ============================================================
   DACORP ABOGADOS — styles.css
   Sistema de diseño basado en la referencia Máxima Legal.
   Paleta: #1C1C1C (negro) · #C1AA80 (dorado) · #F5F5F5 (fondo) · #4D4D4D (gris)
   Tipografía: Aeonik Regular + Bold (local) como reemplazo de Aktiv Grotesk.
   Escala: calc(Npx / 1920 * 100vw) — relativo a 1920px de referencia.
============================================================ */

/* ── FUENTES LOCALES ─────────────────────────────────────── */
@font-face {
  font-family: 'Aeonik';
  src: url('../fonts/Aeonik/Aeonik-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Aeonik';
  src: url('../fonts/Aeonik/Aeonik-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Sackers Gothic';
  src: url('../fonts/Sackers Gothic/Sackers Gothic Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Sackers Gothic';
  src: url('../fonts/Sackers Gothic/Sackers Gothic Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Sackers Gothic';
  src: url('../fonts/Sackers Gothic/Sackers Gothic Heavy.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

/* ── VARIABLES CSS ──────────────────────────────────────── */
:root {
  --negro:  #1C1C1C;
  --dorado: #C1AA80;
  --fondo:  #F5F5F5;
  --gris:   #4D4D4D;
  --blanco: #FFFFFF;
  --borde:  #C6C6C6;
  --fondo-oscuro: #141414;
}

/* ── RESET BASE ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { font-synthesis: none; scroll-behavior: smooth; }

html.has-scroll-smooth { -webkit-perspective: 1px; perspective: 1px; }

body {
  background: var(--fondo);
  margin: 0;
  padding: 0;
  font-family: 'Aeonik', sans-serif;
  color: var(--negro);
}

body::-webkit-scrollbar { display: none; }

a { text-decoration: none !important; color: inherit; }
a:hover { text-decoration: none !important; }

img { max-width: 100%; display: block; }

p { margin-bottom: 0 !important; }

.rowava { margin-left: 0 !important; margin-right: 0 !important; }
.colava { padding-left: 0 !important; padding-right: 0 !important; }

/* ── LOCOMOTIVE SCROLL ──────────────────────────────────── */
.smooth-scroll {
  overflow-y: hidden !important;
  transition: filter 0.6s;
}
html.has-scroll-smooth .smooth-scroll {
  overflow: hidden !important;
  will-change: transform;
}
.c-scrollbar { height: 100vh !important; }

/* En móvil/tablet Locomotive usa scroll nativo: liberar overflow.
   Anulamos también html y body que locomotive-scroll.min.css (CDN) bloquea. */
@media (max-width: 991px) {
  html.has-scroll-smooth,
  html.has-scroll-init {
    overflow: auto !important;
  }
  html.has-scroll-smooth body {
    overflow: auto !important;
  }
  .smooth-scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
  }
  html.has-scroll-smooth .smooth-scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    will-change: auto !important;
  }
}


/* ============================================================
   PRELOADER
   Overlay blanco sobre toda la pantalla. Animación secuencial:
   1. Barra de progreso en la base crece de 0→100%
   2. Logo aparece con fade
   3. Todo el overlay sube y desaparece con translateY(-100%)
============================================================ */
.prel {
  position: fixed;
  z-index: 99999;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: var(--fondo);
  pointer-events: none;
  transition: transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

/* Barra de progreso en la parte inferior */
.prelPoloska {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 6px;
}
.prelPoloska-inner {
  position: absolute;
  bottom: 0; left: 0;
  width: 0%; height: 100%;
  background: var(--dorado);
  border-radius: 3px;
  transition: width 0.6s ease-out;
}

/* Logo centrado, empieza invisible */
.prelCenter {
  position: absolute;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.5s;
}
.prelCwrap { display: flex; align-items: center; }
.prelCl img {
  width: calc(260/1920*100vw);
  min-width: 180px;
  max-width: 320px;
  height: auto;
}

/* Clases que JS agrega secuencialmente */
.prelPoloska-inner.animprel1 { width: 25%; }
.prelPoloska-inner.animprel2 { width: 50%; }
.prelPoloska-inner.animprel3 { width: 80%; }
.prelPoloska-inner.animprel4 { width: 100%; }
.prelPoloska-inner.animprel5 { opacity: 0; }

/* El overlay sube para revelar el sitio */
.prel.animprelEnd { transform: translateY(-100%); }

@media (max-width: 575px) {
  .prelCl img { width: 200px; }
  .prelPoloska { height: 4px; }
}


/* ============================================================
   HEADER — Layout de 3 zonas: logo | servicios centrado | acciones
   Grid de 3 columnas: [logo 1fr] [serv auto] [acciones 1fr]
   Dos variantes: .header-rds-inner (oscuro/hero) y .header-doprds (claro/scroll)
============================================================ */
.header-wrapper {
  position: relative;
  z-index: 1000;
}

/* Base compartida entre las dos variantes */
.header {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 1000;
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.header.header-scroll-hidden {
  transform: translateY(-200%);
}

/* ── Layout interno: dos grupos, space-between ── */
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(18/1920*100vw) calc(80/1920*100vw);
  min-height: calc(72/1920*100vw);
}

/* Grupo izquierdo: logo + Servicios */
.header-left-group {
  display: flex;
  align-items: center;
  gap: calc(36/1920*100vw);
}

/* Grupo derecho: nav + CTA + hamburguesa */
.header-right-group {
  display: flex;
  align-items: center;
  gap: calc(28/1920*100vw);
}

/* Logo */
.header-logo { display: inline-flex; align-items: center; }
.header-logo img {
  height: calc(64/1920*100vw);
  min-height: 40px; max-height: 76px;
  width: auto;
}

/* Servicios */
.header-serv {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  padding: 4px 0;
}
.header-serv a {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  letter-spacing: 0.07em;
  color: var(--negro) !important;
  transition: opacity 0.3s;
}
.header-serv--white a { color: var(--blanco) !important; }
.header-serv:hover a { opacity: 0.5; }

.serv-chevron {
  flex-shrink: 0;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-serv.serv-open .serv-chevron { transform: rotate(180deg); }

/* Nav links (Nosotros, Equipo, Planes, Contacto) */
.header-nav {
  display: flex;
  align-items: center;
  gap: calc(52/1920*100vw);
}
.header-nav a {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  letter-spacing: 0.07em;
  color: var(--blanco) !important;   /* blanco por defecto (header oscuro/hero) */
  transition: opacity 0.3s;
  white-space: nowrap;
}
.header-doprds .header-nav a { color: var(--negro) !important; }
.header-nav a:hover { opacity: 0.5; }

/* CTA "Consulta gratuita" */
.header-cta {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  letter-spacing: 0.07em;
  color: var(--blanco) !important;
  position: relative;
  overflow: hidden;
  display: inline-block;
  transition: opacity 0.3s;
}
.header-cta span {
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.45);
  position: absolute;
  bottom: 0;
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-cta:hover span { transform: translateX(110%); }
.header-cta-dark { color: var(--negro) !important; }
.header-cta-dark span { border-bottom-color: rgba(28,28,28,0.28); }

/* Botón hamburguesa */
.header-menub {
  display: flex; align-items: center; justify-content: center;
  background: none; border: none; cursor: pointer; padding: 0;
  transition: opacity 0.3s, transform 0.3s;
  flex-shrink: 0;
}
.header-menub:hover { opacity: 0.6; transform: scale(0.92); }
.header-menub svg {
  width: calc(44/1920*100vw); height: calc(44/1920*100vw);
  min-width: 34px; max-width: 50px;
}

/* ── Variante oscura (sobre hero) ── */
.header-rds-inner {
  background: transparent;
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-rds-inner.header-hidden { opacity: 0; pointer-events: none; }

/* ── Variante clara (al scrollear) ── */
.header-doprds {
  background: rgba(245,245,245,0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(198,198,198,0.4);
  display: none;   /* JS activa con display:block + clase .header-visible */
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-doprds.header-visible { opacity: 1; }

/* ── Dropdown Servicios ─────────────────────────────────────── */
.servbox-wrapper {
  position: absolute;
  top: 100%; left: 0;
  width: 100%;
  background: var(--fondo);
  border-top: 1px solid var(--borde);
  border-bottom: 1px solid var(--borde);
  box-shadow: 0 24px 64px rgba(0,0,0,0.07);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  z-index: 999;
}
.servbox-wrapper.serv-open {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.servbox-inner {
  display: flex;
  align-items: center;
  padding: calc(80/1920*100vw) calc(80/1920*100vw);
  gap: 0;
  min-height: calc(600/1920*100vw);
}

/* Col 1: título + descripción */
.servbox-intro {
  flex: 0 0 17%;
  padding-right: calc(32/1920*100vw);
}
.servbox-h {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 700;
  font-size: clamp(22px, calc(34/1920*100vw), 44px);
  letter-spacing: 0.04em;
  color: var(--negro);
  margin-bottom: 14px;
}
.servbox-text {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: var(--gris);
  line-height: 1.55;
  text-align: justify;
}

/* Línea vertical separadora */
.servbox-divider {
  width: 1px;
  background: var(--borde);
  align-self: stretch;
  margin: 0 calc(32/1920*100vw);
  flex-shrink: 0;
}
/* El divisor antes de Penal queda más pegado */
.servbox-divider--penal {
  margin: 0 calc(16/1920*100vw);
}

/* Columnas de servicios */
.servbox-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-right: calc(20/1920*100vw);
}
/* Col continua de ambiental: sin padding extra a la izq */
.servbox-col--cont {
  padding-left: calc(8/1920*100vw);
}
.servbox-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gris);
  display: block;
  padding-bottom: 8px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--borde);
}
/* Placeholder invisible para alinear links de col --cont con col principal */
.servbox-label--hidden {
  visibility: hidden;
  pointer-events: none;
}
.servbox-a {
  display: block;
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.01em;
  color: var(--negro) !important;
  padding: 7px 0;
  transition: color 0.25s;
}
.servbox-a:hover { color: var(--dorado) !important; }

/* Col 5: imagen dinámica */
.servbox-img-wrap {
  flex: 0 0 calc(260/1920*100vw);
  max-width: 300px;
  min-width: 160px;
  height: clamp(180px, calc(360/1920*100vw), 420px);
  margin-left: calc(24/1920*100vw);
  align-self: center;
}
.servbox-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  transition: opacity 0.15s ease;
}

/* ── Responsive Header ──────────────────────────────────────── */
@media (max-width: 1400px) {
  /* Compactar gaps en pantallas medianas */
  .header-nav { gap: calc(28/1920*100vw); }
  .header-right-group { gap: calc(20/1920*100vw); }
  .header-left-group  { gap: calc(24/1920*100vw); }
}
@media (max-width: 1199px) {
  .header-nav { gap: 18px; }
  .header-nav a, .header-serv a, .header-cta { font-size: 11px; letter-spacing: 0.05em; }
  .header-right-group { gap: 14px; }
  .header-left-group  { gap: 18px; }
}
@media (max-width: 991px) {
  .header-inner { padding: 13px 20px; min-height: auto; }
  .header-nav   { display: none; }   /* nav en overlay, no en header */
  .header-cta   { display: none; }   /* CTA solo desktop */
  .header-serv  { display: none; }   /* Servicios solo desktop */
  .header-logo img { height: 34px; min-height: unset; max-height: unset; }
  .servbox-wrapper { display: none !important; }
  .header-left-group  { gap: 0; }
  .header-right-group { gap: 12px; }
  .header-menub svg { width: 38px; height: 38px; }
}
@media (max-width: 575px) {
  .header-inner { padding: 11px 16px; }
  .header-logo img { height: 40px; }
  .header-menub svg { width: 34px; height: 34px; }
}


/* ============================================================
   SCREEN ONE — HERO
   Imagen full-screen con parallax Locomotive.
   Texto grande en la parte inferior de la imagen.
   Overlays flotantes con animación reveal.
============================================================ */
.screen_one_wrap { position: relative; }

/* Imagen hero: height 140% + parallax via Locomotive Scroll */
.screen_one {
  position: relative;
  background: #111;
  min-height: 100vh;
}
.main-img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 140%;
  top: 0; left: 0;
  z-index: 1;
  border-radius: calc(10/1920*100vw);
  will-change: transform;
  filter: brightness(0.55);
}

/* Contenido sobre la imagen */
.screen_one-inner {
  position: relative;
  z-index: 2;
}

/* Overlays: posición fija relativa al hero, pointer-events none para no bloquear el scroll */
.screen_one-dop {
  position: absolute;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  z-index: 50;
  pointer-events: none;
}
.screen_one-dop-inner {
  position: absolute;
  width: calc(100% - calc(160/1920*100vw));
  right: calc(80/1920*100vw);
  bottom: calc(50/1920*100vw);
  overflow: visible;
}
.screen_one-dop-pod { top: clamp(200px, calc(280/1920*100vw), 360px); bottom: auto; }
.screen_one-dop-bottom { top: 58vh; bottom: auto; overflow: visible; }

.screen_one-mainb {
  display: flex;
  flex-direction: column;
  padding-left: calc(25/1920*100vw);
}
.screen_one-mainb-border {
  border-bottom: 1px solid rgba(255,255,255,0.3);
  margin-bottom: calc(30/1920*100vw);
}

.screen_one-mainb-hwrap {
  margin-bottom: calc(180/1920*100vw);
  display: flex;
  justify-content: space-between;
}

/* Número de sección (1.0) */
.screen_one-mainb-chapt {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(18/1920*100vw);
  font-size: clamp(12px, calc(18/1920*100vw), 22px);
  color: rgba(255,255,255,0.5);
}

/* Párrafo descriptivo (multi-línea con text reveal) */
.screen_one-mainb-h {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(40/1920*100vw);
  font-size: clamp(18px, calc(40/1920*100vw), 52px);
  line-height: 118%;
  letter-spacing: -0.03em;
  color: var(--blanco);
  width: 70%;
}

/* Cada línea del text-reveal: overflow:hidden oculta el span que viene de abajo */
.overhiava {
  overflow: hidden;
  margin-top: -0.15em;
}
.overhiava span { display: block; }

/* "Explorar" + flecha abajo */
.screen_one-mainb-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  pointer-events: all;
}
.screen_one-mainb-bottom span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(18px, calc(28/1920*100vw), 34px);
  color: rgba(255,255,255,0.85);
}
@keyframes scroll-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(7px); }
}
.scroll-arrow {
  cursor: pointer;
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  min-width: 36px; min-height: 36px;
  max-width: 56px; max-height: 56px;
  animation: scroll-bounce 2s ease-in-out infinite;
  transition: opacity 0.3s;
}
.scroll-arrow:hover { animation: none; opacity: 0.7; }

/* Tagline principal ("Derecho con propósito.") */
.screen_one-inner-h {
  padding-top: calc(680/1920*100vw);
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(32px, calc(90/1920*100vw), 115px);
  line-height: 108%;
  letter-spacing: 0.04em;
  color: var(--blanco);
  padding-left: calc(80/1920*100vw);
}

/* Descripción "Firma" bajo el tagline */
.screen_one-company {
  padding: calc(80/1920*100vw) calc(80/1920*100vw) 0;
}
.screen_one-company-border {
  border-bottom: 1px solid rgba(255,255,255,0.25);
  margin-bottom: calc(28/1920*100vw);
}
.screen_one-company-minh {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.75);
}
.screen_one-company-right { display: flex; justify-content: space-between; }
.screen_one-company-h {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(30/1920*100vw);
  font-size: clamp(16px, calc(30/1920*100vw), 38px);
  line-height: 130%;
  letter-spacing: -0.025em;
  color: rgba(255,255,255,0.85);
  width: 72%;
  padding-left: calc(20/1920*100vw);
  text-align: justify;
}
.screen_one-company-chapt {
  font-size: calc(18/1920*100vw);
  color: rgba(255,255,255,0.4);
}
.screen_one-company-chapt-mb { display: none; }

/* Bloque de estadísticas */
.screen_one-advwrap {
  position: relative;
  margin-top: calc(120/1920*100vw);
  padding: 0 calc(80/1920*100vw) calc(220/1920*100vw);
}
.screen_one-adv-border {
  border-bottom: 1px solid rgba(255,255,255,0.25);
  margin-bottom: calc(24/1920*100vw);
}
.screen_one-adv-h1 {
  font-family: 'Aeonik', sans-serif;
  font-weight: 800;
  font-size: calc(180/1920*100vw);
  font-size: clamp(52px, calc(180/1920*100vw), 220px);
  line-height: 92%;
  letter-spacing: -0.04em;
  color: var(--blanco);
  margin-bottom: calc(-6/1920*100vw);
  margin-left: calc(-8/1920*100vw);
}
.screen_one-adv-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(18px, calc(34/1920*100vw), 46px);
  line-height: 118%;
  letter-spacing: 0.03em;
  color: var(--blanco);
  margin-bottom: 0;
}
.screen_one-adv-serv-h {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(20px, calc(36/1920*100vw), 48px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--blanco);
  margin-bottom: calc(16/1920*100vw);
}
.screen_one-adv-h3 {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(18px, calc(28/1920*100vw), 36px);
  color: var(--blanco);
  width: 100%;
  max-width: calc(580/1920*100vw);
  margin-top: calc(-2/1920*100vw);
}
.screen_one-adv-h3 p { margin: 0; line-height: 1.2; text-align: justify; text-align-last: justify; }
.screen_one-adv1-inner { padding-left: calc(20/1920*100vw); }
.screen_one-adv2-inner { padding-right: calc(20/1920*100vw); }
.screen_one-adv3-inner { padding: 0 0 0 calc(20/1920*100vw); }
/* Cumplimiento — título justificado, mismo ancho máximo que el párrafo */
.screen_one-adv2 .screen_one-adv-serv-h {
  text-align: justify;
  max-width: calc(580/1920*100vw);
}
.screen_one-adv3 .screen_one-adv-h3 { max-width: calc(700/1920*100vw); }
.screen_one-adv4 { padding-top: calc(180/1920*100vw); }

/* Card blanca "Nosotros" (esquina inferior derecha del hero) */
.screen_one_about-a {
  display: block;
  width: 100%;
  height: calc(210/1920*100vw);
  min-height: 160px;
  background: var(--blanco);
  border-radius: 0;
  padding: calc(30/1920*100vw);
  margin-left: calc(20/1920*100vw);
  position: relative;
  transition: background 0.4s;
}
.screen_one_about-a:hover .arrow-bg { fill: var(--dorado); }
.screen_one_about-a-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  letter-spacing: 0.05em;
  color: var(--negro) !important;
  margin-bottom: calc(20/1920*100vw);
  display: block;
}
.screen_one_about-a-h2 {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(28/1920*100vw);
  font-size: clamp(16px, calc(28/1920*100vw), 36px);
  line-height: 120%;
  letter-spacing: -0.025em;
  color: var(--negro) !important;
  display: block;
  width: 80%;
}
.rossir-wrap {
  position: absolute;
  bottom: calc(24/1920*100vw);
  right: calc(24/1920*100vw);
}
.rossir-wrap svg, .arrow-icon {
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  min-width: 36px; min-height: 36px;
  max-width: 60px; max-height: 60px;
}


/* ============================================================
   SCREEN TWO — SERVICIOS
   Fondo claro. Lista de servicios con hover "ball" interactivo.
============================================================ */
.screen_two {
  position: relative;
  background: var(--fondo);
  padding: calc(140/1920*100vw) calc(80/1920*100vw) calc(220/1920*100vw);
  z-index: 21;
}

/* Borde top animado (GSAP lo lleva de width:0 a width:100%) */
.screen_two_border {
  border-bottom: 2px solid var(--negro);
  margin-bottom: calc(28/1920*100vw);
  width: 0%;
}

.screen_two_heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(80/1920*100vw);
}
.screen_two_heading-r {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(18/1920*100vw);
}
.screen_two_heading-l {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  color: var(--negro);
}

/* Título de sección (grande) */
.screen_two_h1 {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(100/1920*100vw);
  font-size: clamp(34px, calc(100/1920*100vw), 130px);
  line-height: 100%;
  letter-spacing: -0.04em;
  color: var(--negro);
  width: 90%;
  margin-bottom: calc(70/1920*100vw);
}

.main_services_wrapper {
  margin-bottom: calc(80/1920*100vw);
}

.main_services_wrap { margin-bottom: calc(110/1920*100vw); }
.main_services_wrap:last-child { margin-bottom: 0; }

/* Label de categoría ("Derecho Ambiental") */
.main_services_hinner { padding-right: calc(20/1920*100vw); }
.main_services_hinner-inner {
  border-top: 1px solid var(--borde);
  padding-top: calc(24/1920*100vw);
}
.main_services_hinner-inner span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(14/1920*100vw), 17px);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--negro);
}

.main_services_servs { padding-left: calc(20/1920*100vw); }

/* Padding alterno izquierda/derecha en cada item */
.main_services_servs-inner-wrap:nth-child(2n-1) .main_services_servs-inner { padding-right: calc(20/1920*100vw); }
.main_services_servs-inner-wrap:nth-child(2n) .main_services_servs-inner { padding-left: calc(20/1920*100vw); }

/* Item de servicio: flex con texto a la izq y número a la der */
.main_services_servs-inner a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid var(--borde);
  height: calc(110/1920*100vw);
  min-height: 80px;
  position: relative;
  padding-top: calc(18/1920*100vw);
  overflow: hidden;
  transition: background 0.3s;
}
.main_services_servs-inner a:hover { background: rgba(193,170,128,0.05); }

/* Nombre del servicio */
.main_services_servs-inner a span:nth-child(1) {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(28/1920*100vw);
  font-size: clamp(16px, calc(28/1920*100vw), 36px);
  line-height: 120%;
  letter-spacing: -0.025em;
  color: var(--negro);
  width: 82%;
}

/* Número (01, 02…) */
.main_services_servs-inner a span:nth-child(2) {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(14/1920*100vw);
  font-size: clamp(11px, calc(14/1920*100vw), 17px);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #888;
}

/* Ball por ítem — sigue al cursor con gsap.quickSetter + deltaRatio (igual que la referencia) */
.main_services_servs-inner a {
  position: relative;
  overflow: hidden;
}
.mlball {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: calc(68/1920*100vw);
  height: calc(68/1920*100vw);
  min-width: 52px; min-height: 52px;
  max-width: 80px; max-height: 80px;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transform: scale(0.1);
  will-change: transform;
}
.mlball svg {
  width: 100%;
  height: 100%;
}
.ballactive {
  display: flex;
}

/* ── Línea dorada que desliza desde la izquierda al hacer hover ─ */
/* Es el último <span></span> vacío dentro de cada <a> de servicio */
.main_services_servs-inner a > span:last-child {
  display: block;
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  height: 2px;
  background: var(--dorado);
  transform: translateX(-101%);
  transition: transform 0.55s cubic-bezier(0.76, 0, 0.24, 1);
  pointer-events: none;
}
.main_services_servs-inner a:hover > span:last-child {
  transform: translateX(0);
}

/* Imagen y CTA inferior */
.screen_two-bottom-l-wrap { padding-right: calc(20/1920*100vw); }
.screen_two-bottom-l { margin-left: 0; }
.screen_two-bottom-l .screen_one_about-a-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  letter-spacing: 0.06em;
}
.screen_two-bottom-r { padding-left: calc(20/1920*100vw); }
.screen_two-bottom-r img {
  width: 100%;
  height: calc(600/1920*100vw);
  min-height: 280px;
  object-fit: cover;
  border-radius: calc(10/1920*100vw);
}


/* ============================================================
   SCREEN THREE — IMAGEN FULL WIDTH
   Decorativa entre servicios y sectores. Parallax suave.
============================================================ */
.screen_three {
  position: relative;
  z-index: 20;
  height: calc(1000/1920*100vw);
  min-height: 400px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.screen_three img {
  width: 100%;
  height: 140%;
  object-fit: cover;
  will-change: transform;
}


/* ============================================================
   SCREEN FOUR — SECTORES (Acordeón)
   Fondo ligeramente diferente (#EBEBEB) para separar visualmente.
============================================================ */
.screen_four {
  position: relative;
  background: #EBEBEB;
  padding: calc(140/1920*100vw) calc(80/1920*100vw) calc(220/1920*100vw);
  z-index: 23;
}
.screen_four_border {
  border-bottom: 2px solid var(--negro);
  margin-bottom: calc(28/1920*100vw);
  width: 0%;
}
.screen_four_heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(80/1920*100vw);
}
.screen_four_heading-l {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  color: var(--negro);
}
.screen_four_heading-r {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(18/1920*100vw), 22px);
  color: var(--negro);
}
.screen_four_h1 {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(100/1920*100vw);
  font-size: clamp(32px, calc(100/1920*100vw), 130px);
  line-height: 100%;
  letter-spacing: -0.04em;
  color: var(--negro);
  width: 90%;
  margin-bottom: calc(70/1920*100vw);
}

/* ── Sectores / Acordeón ───────────────────────────────────── */
.ratings_single--link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background 0.2s;
}
.ratings_single--link:hover { text-decoration: none; color: inherit; }
.ratings_single--link:hover .ratings_single-hc { color: var(--dorado); }
.ratings_single--link:hover .plus-icon rect { stroke: var(--dorado); }
.ratings_single--link:hover .plus-icon line { stroke: var(--dorado); }

.ratings_single {
  border-radius: calc(10/1920*100vw);
  margin-top: calc(-10/1920*100vw);
  border: none !important;
  overflow: hidden;
}
.ratings_single:first-child { margin-top: 0; }

/* Alternancia de colores en items */
.ratings_single:nth-child(2n-1) { background: var(--fondo); }
.ratings_single:nth-child(2n)   { background: var(--blanco); }

/* Header clickable del acordeón */
.ac-trigger {
  cursor: pointer;
  padding: calc(40/1920*100vw) calc(40/1920*100vw);
  user-select: none;
  transition: background 0.3s;
}
.ac-trigger:hover { background: rgba(193,170,128,0.08); }

.ratings_single-hl {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(28/1920*100vw);
  font-size: clamp(18px, calc(28/1920*100vw), 36px);
  line-height: 120%;
  letter-spacing: -0.025em;
  color: var(--gris);
}
.ratings_single-hc {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(28/1920*100vw);
  font-size: clamp(18px, calc(28/1920*100vw), 36px);
  line-height: 120%;
  letter-spacing: -0.025em;
  color: var(--negro);
}

/* Ícono + que rota 45° al abrir */
.ratings_single-icos {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}
.plus-icon {
  width: calc(44/1920*100vw);
  height: calc(44/1920*100vw);
  min-width: 32px; min-height: 32px;
  max-width: 50px; max-height: 50px;
  transition: transform 0.4s;
}
.acc_active .plus-icon { transform: rotate(45deg); }

/* Contenido expandible */
/* Nota: display:none/block lo controla JS directamente con inline style (prioridad > clase) */
.ac-panel {
  padding: calc(16/1920*100vw) calc(40/1920*100vw) calc(80/1920*100vw);
  display: none;
}

/* Imagen horizontal del sector */
.ratings_single-rlogo {
  width: clamp(220px, calc(400/1920*100vw), 460px);
  height: clamp(130px, calc(185/1920*100vw), 220px);
  border-radius: calc(10/1920*100vw);
  overflow: hidden;
  margin-bottom: 20px;
}
.ratings_single-rlogo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* La imagen ocupa exactamente el primer col-lg-4 del header → texto alineado con el título */
.ac-panel .col-lg-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.ac-panel .col-lg-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

/* Descripción del sector */
.sector-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(20/1920*100vw);
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 148%;
  color: var(--gris);
  padding-top: calc(20/1920*100vw);
}


/* ============================================================
   SCREEN FIVE — EQUIPO
   Fondo blanco. Cards con foto + info del abogado.
============================================================ */
.screen_five {
  position: relative;
  background: var(--blanco);
  padding: calc(140/1920*100vw) calc(80/1920*100vw) calc(200/1920*100vw);
}
.screen_five_border {
  border-bottom: 2px solid var(--negro);
  margin-bottom: calc(28/1920*100vw);
  width: 0%;
}
.screen_five_heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(80/1920*100vw);
}
.screen_five_heading-l {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
}
.screen_five_heading-r {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(18/1920*100vw), 22px);
}
.screen_five_h1 {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(100/1920*100vw);
  font-size: clamp(32px, calc(100/1920*100vw), 130px);
  line-height: 100%;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin-bottom: calc(70/1920*100vw);
  width: 80%;
}

/* Card de cada integrante */
/* ============================================================
   SCREEN FIVE — CASOS DE ÉXITO
   Replica el estilo de la referencia: foto de fondo + tarjeta
   blanca centrada en Swiper. Cursor personalizado navega slides.
============================================================ */

/* Contenedor principal: photo background
   SIN overflow:hidden para que el botón circular pueda sobresalir por abajo */
.main-cases-wrap {
  position: relative;
  height: clamp(360px, calc(900/1920*100vw), 980px);
  /* margin-bottom suficiente para que el botón circular que sobresale no solape la sección siguiente */
  margin-bottom: clamp(70px, calc(110/1920*100vw), 120px);
}

/* La imagen y el slider se clip juntos con border-radius + overflow en el inner */
.main-cases-img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.5);
  border-radius: calc(10/1920*100vw);
}

/* Área del slider — clip + cursor personalizado */
.main-cases-inner {
  position: relative;
  width: 100%; height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: none;
  border-radius: calc(10/1920*100vw);
  overflow: hidden;
}

/* Cursor flecha personalizado (sigue al mouse con GSAP) */
.slAr__arrow {
  position: absolute;
  left: 0; top: 0;
  width: clamp(60px, calc(100/1920*100vw), 110px);
  height: clamp(60px, calc(100/1920*100vw), 110px);
  pointer-events: none;
  opacity: 0;
  z-index: 12;
  will-change: transform;
}
.slAr__arrow svg { width: 100%; height: 100%; }

/* Tarjeta blanca de cada caso */
.main-case {
  height: clamp(240px, calc(480/1920*100vw), 560px);
  width: clamp(260px, calc(1050/1920*100vw), 1150px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #FFFFFF;
  position: relative;
  margin: auto;
  padding-left: clamp(24px, calc(50/1920*100vw), 60px);
  padding-right: clamp(24px, calc(50/1920*100vw), 60px);
  border-radius: calc(10/1920*100vw);
}

/* Imagen de sector en esquina superior derecha */
.main-case-logo {
  position: absolute;
  top: clamp(20px, calc(35/1920*100vw), 42px);
  right: clamp(20px, calc(35/1920*100vw), 42px);
  width: clamp(80px, calc(180/1920*100vw), 210px);
  height: clamp(80px, calc(180/1920*100vw), 210px);
  border-radius: calc(7/1920*100vw);
  object-fit: cover;
}

/* Número de caso */
.main-case-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #878787;
  margin-bottom: clamp(18px, calc(32/1920*100vw), 40px);
}

/* Título del caso */
.main-case-h {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(18px, calc(40/1920*100vw), 52px);
  line-height: 118%;
  letter-spacing: -0.02em;
  color: var(--negro);
  width: 65%;
  margin-bottom: clamp(16px, calc(26/1920*100vw), 32px);
}

/* Botón "Ver caso" */
.main-case-explore {
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, calc(12/1920*100vw), 16px);
  padding: 0 clamp(16px, calc(22/1920*100vw), 28px);
  height: clamp(38px, calc(50/1920*100vw), 60px);
  border: 1.4px solid #C1C1C1;
  border-radius: 40px;
  text-decoration: none;
  transition: background 0.5s, border-color 0.5s;
  width: fit-content;
}
.main-case-explore span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(16/1920*100vw), 20px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--negro);
  transition: color 0.5s;
}
.main-case-explore .case-arrow-hover { display: none; }
.main-case-explore:hover { background: var(--negro); border-color: var(--negro); }
.main-case-explore:hover span { color: var(--dorado); }
.main-case-explore:hover .case-arrow { display: none; }
.main-case-explore:hover .case-arrow-hover { display: block; }

/* Botón circular "Todos los casos" — centrado en borde inferior */
.main-cases-explore {
  position: absolute;
  bottom: clamp(-70px, calc(-90/1920*100vw), -100px);
  left: 0; right: 0;
  margin: auto;
  width: clamp(120px, calc(180/1920*100vw), 210px);
  height: clamp(120px, calc(180/1920*100vw), 210px);
  background: #E8E8E8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  z-index: 5;
  transition: background 0.45s;
}
.main-cases-explore span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(15/1920*100vw), 18px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--negro);
  transition: color 0.45s;
}
.main-cases-explore:hover { background: var(--negro); }
.main-cases-explore:hover span { color: var(--dorado); }

/* Swiper casos: slides a ancho completo */
.mySwiperMc { width: 100%; height: 100%; }
.mySwiperMc .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 991px) {
  .slAr__arrow { display: none; }
  .main-cases-inner { cursor: auto; }
  .main-case { width: 88%; }
  .main-case-h { width: 85%; }
  .main-case-logo { display: none; }
}


/* ============================================================
   SCREEN SIX — NOSOTROS (misión + quote)
   Fondo gris suave. Foto + cita + estadísticas.
============================================================ */
.screen_six {
  position: relative;
  background: #EBEBEB;
  padding: calc(140/1920*100vw) calc(80/1920*100vw) calc(200/1920*100vw);
}
.screen_six_border {
  border-bottom: 2px solid var(--negro);
  margin-bottom: calc(28/1920*100vw);
  width: 0%;
}
.screen_six_heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(80/1920*100vw);
}
.screen_six_heading-l {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
}
.screen_six_heading-r {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(18/1920*100vw), 22px);
}
.screen_six_h1 {
  font-family: 'Aeonik', sans-serif;
  font-size: calc(100/1920*100vw);
  font-size: clamp(30px, calc(100/1920*100vw), 130px);
  line-height: 100%;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin-bottom: calc(60/1920*100vw);
  width: 80%;
}

/* ============================================================
   SCREEN SIX — NOTICIAS
   Lista de artículos: borde superior + fecha + título grande.
   Misma estructura que "Insights" de la referencia.
============================================================ */

/* Contenedor general: borde superior */
.main-news-wrap {
  border-top: 1.5px solid var(--borde);
}

/* Separador vacío izquierdo (col-lg-4) */
.main-news-lef-pustota {
  padding-right: calc(25/1920*100vw);
}

/* Wrapper de cada artículo */
.main-new-wrap {
  padding-left: calc(25/1920*100vw);
}
.main-new-wrap:last-of-type .main-new {
  border-bottom: none;
}

/* Enlace del artículo */
.main-new {
  display: block;
  position: relative;
  padding-top: clamp(20px, calc(35/1920*100vw), 44px);
  padding-bottom: clamp(28px, calc(55/1920*100vw), 70px);
  padding-right: clamp(56px, calc(80/1920*100vw), 96px);
  border-bottom: 1.5px solid var(--borde);
  text-decoration: none;
  transition: opacity 0.3s;
}
.main-new:hover { opacity: 0.7; }
.main-new:hover .arrow-bg { fill: var(--dorado); }

/* Flecha en esquina superior derecha */
.main-new .rossir-wrap {
  position: absolute;
  right: 0;
  top: clamp(18px, calc(35/1920*100vw), 44px);
  width: clamp(36px, calc(44/1920*100vw), 52px);
  height: clamp(36px, calc(44/1920*100vw), 52px);
}
.main-new .rossir-wrap svg {
  width: 100%;
  height: 100%;
}

/* Fecha */
.main-new-date {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.02em;
  color: var(--gris);
  margin-bottom: clamp(10px, calc(20/1920*100vw), 28px);
}

/* Título del artículo */
.main-new-h {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(18px, calc(32/1920*100vw), 44px);
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--negro);
  width: 85%;
}


/* ============================================================
   FOOTER — CONTACTO
   Fondo muy oscuro (#141414). Todo texto en blanco/dorado.
============================================================ */
.footer {
  background: var(--fondo-oscuro);
  position: relative;
  z-index: 30;
}
.footer-inner {
  padding: calc(100/1920*100vw) calc(80/1920*100vw) calc(50/1920*100vw);
}

/* ── Marquee heading ── */
.footer_hm-wrap {
  overflow: hidden;
  margin-bottom: clamp(40px, calc(120/1920*100vw), 160px);
}
.footer_hm {
  white-space: nowrap;
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(52px, calc(140/1920*100vw), 180px);
  line-height: 90%;
  letter-spacing: -0.05em;
  color: #FFFFFF;
  display: flex;
  width: max-content;
  animation: marquee-infinite 18s linear infinite alternate;
  will-change: transform;
}
.footer_hm span {
  margin-right: clamp(40px, calc(120/1920*100vw), 160px);
  flex: none;
}
@keyframes marquee-infinite {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-40%); }
}

/* ── Descripción del formulario ── */
.footer-form-top {
  margin-bottom: clamp(30px, calc(60/1920*100vw), 80px);
}
.footer-form-top-border {
  border-top: 1.5px solid rgba(255,255,255,0.15);
  width: 100%;
  margin-bottom: clamp(16px, calc(28/1920*100vw), 40px);
}
.footer-form-top-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(20/1920*100vw), 26px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: rgba(255,255,255,0.5);
  text-align: justify;
}

/* ── Formulario de contacto ── */
.footer-form-wrap {
  margin-bottom: clamp(60px, calc(160/1920*100vw), 220px);
}
.footer-form-inputwrap { margin-bottom: 0; }
.footer-form-inputwrap:nth-child(2n-1) .footer-form-input { padding-right: clamp(12px, calc(25/1920*100vw), 36px); }
.footer-form-inputwrap:nth-child(2n)   .footer-form-input { padding-left:  clamp(12px, calc(25/1920*100vw), 36px); }

.footer-form-input {
  width: 100%;
  margin-bottom: clamp(24px, calc(55/1920*100vw), 80px);
}
.footer-form-input input,
.footer-form-textarea textarea {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1.2px solid rgba(255,255,255,0.18);
  padding-bottom: clamp(10px, calc(15/1920*100vw), 22px);
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(20px, calc(34/1920*100vw), 46px);
  line-height: 118%;
  letter-spacing: -0.03em;
  color: var(--blanco);
  outline: none;
  transition: border-color 0.35s;
}
.footer-form-input input:focus,
.footer-form-textarea textarea:focus { border-bottom-color: var(--dorado); }
.footer-form-input input::placeholder,
.footer-form-textarea textarea::placeholder { color: rgba(255,255,255,0.35); }

.footer-form-textarea {
  width: 100%;
  margin-bottom: clamp(20px, calc(30/1920*100vw), 44px);
}
.footer-form-textarea textarea {
  height: clamp(80px, calc(180/1920*100vw), 240px);
  resize: none;
}

/* Checkbox */
.footer-checkbox-wrap {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(15/1920*100vw), 20px);
  margin-bottom: clamp(30px, calc(50/1920*100vw), 70px);
}
.footer-checkbox-wrap input[type="checkbox"] {
  border: 1.2px solid rgba(255,255,255,0.35);
  border-radius: 2px;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  width: clamp(16px, calc(20/1920*100vw), 26px);
  height: clamp(16px, calc(20/1920*100vw), 26px);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.25s;
}
.footer-checkbox-wrap input[type="checkbox"]:checked {
  background-color: var(--dorado);
  border-color: var(--dorado);
}
.footer-checkbox-wrap span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(18/1920*100vw), 24px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: rgba(255,255,255,0.45);
}
.footer-checkbox-wrap a {
  color: rgba(255,255,255,0.45) !important;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}
.footer-checkbox-wrap a > span {
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid rgba(255,255,255,0.3);
  width: 100%;
  transition: transform 0.5s;
}
.footer-checkbox-wrap a:hover > span { transform: translateX(110%); }

/* Botón submit — círculo grande estilo referencia */
.footer-form-submit {
  display: flex;
  justify-content: center;
}
.footer-form-submit button {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: clamp(110px, calc(200/1920*100vw), 260px);
  height: clamp(110px, calc(200/1920*100vw), 260px);
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.22);
  background: transparent;
  cursor: pointer;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(17/1920*100vw), 22px);
  line-height: 140%;
  text-align: center;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  transition: background 0.5s, border-color 0.5s, color 0.5s;
}
.footer-form-submit button:hover {
  background: var(--dorado);
  border-color: var(--dorado);
  color: var(--negro);
}

/* ── Pre-footer: newsletter + menú ── */
.footer-prebottom {
  margin-bottom: clamp(40px, calc(100/1920*100vw), 140px);
  padding-top: clamp(30px, calc(60/1920*100vw), 80px);
  border-top: 1px solid rgba(255,255,255,0.1);
}

.footer-miniform-h {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(17/1920*100vw), 22px);
  line-height: 138%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: clamp(16px, calc(40/1920*100vw), 56px);
}
.footer-miniform-h1 {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(24px, calc(46/1920*100vw), 62px);
  line-height: 118%;
  letter-spacing: -0.035em;
  color: var(--blanco);
  margin-bottom: clamp(20px, calc(35/1920*100vw), 50px);
  width: 80%;
}

.footer-miniform {
  position: relative;
}
.footer-miniform-input {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding-bottom: clamp(10px, calc(15/1920*100vw), 22px);
  padding-right: 40px;
  outline: none;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(20/1920*100vw), 26px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: rgba(255,255,255,0.55);
  margin-bottom: clamp(16px, calc(25/1920*100vw), 36px);
}
.footer-miniform-input::placeholder { color: rgba(255,255,255,0.3); }
.footer-miniform-submit-trigger {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
  background: none;
  border: none;
  cursor: pointer;
}
.footer-miniform-submit-trigger svg { opacity: 0.6; transition: opacity 0.3s; }
.footer-miniform-submit-trigger:hover svg { opacity: 1; }
.footer-newsletter { padding-right: clamp(20px, calc(40/1920*100vw), 60px); margin-bottom: 40px; }

/* ── Menú del footer ── */
.footer-menu-h {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(17/1920*100vw), 22px);
  line-height: 115%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: clamp(16px, calc(40/1920*100vw), 56px);
}
.footer-menu-as {
  display: flex;
  flex-direction: column;
}
.footer-menu-a {
  display: flex;
  position: relative;
  overflow: hidden;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(20/1920*100vw), 26px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: rgba(255,255,255,0.85) !important;
  width: fit-content;
  margin-bottom: clamp(6px, calc(10/1920*100vw), 16px);
  transition: color 0.3s;
}
.footer-menu-a span {
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  border-bottom: 1px solid rgba(255,255,255,0.25);
  transition: transform 0.5s;
}
.footer-menu-a span::after {
  content: '';
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.25);
  position: absolute;
  bottom: 0;
  transition: transform 0.5s;
  transform: translateX(-110%);
}
.footer-menu-a:hover span { transform: translateX(110%); }
.footer-menu-a:hover { color: var(--dorado) !important; }

/* ── Footer bottom bar ── */
.footer-bottom {
  padding-top: clamp(16px, calc(30/1920*100vw), 44px);
  border-top: 1px solid rgba(255,255,255,0.1);
}
.footer-brochure {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(14/1920*100vw), 17px);
  color: rgba(255,255,255,0.35);
}
.footer-bottom-right {
  display: flex;
  justify-content: flex-end;
}
.footer-pravo a {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(14/1920*100vw), 17px);
  color: rgba(255,255,255,0.35) !important;
  position: relative;
  overflow: hidden;
}
.footer-pravo a span {
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  position: absolute;
  bottom: 0;
  transition: transform 0.4s;
}
.footer-pravo a:hover span { transform: translateX(110%); }


/* ============================================================
   MENÚ OVERLAY — pantalla completa, estilo Maxima Legal.
   Fondo claro. Cae desde arriba (translateY).
   Izquierda (65%): links grandes + redes + copyright.
   Derecha (35%): info de contacto + marca.
============================================================ */
.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;           /* explícito: no depende de bottom:0 que Locomotive distorsiona */
  z-index: 99998;
  background: var(--fondo);
  display: flex;
  flex-direction: column;
  transform: translateY(-100%);
  transition: transform 0.65s cubic-bezier(0.76, 0, 0.24, 1);
  overflow: hidden;
}
.menu-overlay.open { transform: translateY(0); }

/* ── Barra superior (espeja el header) ── */
.menu-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: calc(18/1920*100vw) calc(80/1920*100vw);
  border-bottom: 1px solid var(--borde);
  flex-shrink: 0;
}
.menu-top-logo img {
  height: calc(64/1920*100vw);
  min-height: 40px; max-height: 76px;
  width: auto;
}
.menu-close {
  grid-column: 3;
  justify-self: end;
  background: none; border: none; cursor: pointer; padding: 0;
  transition: opacity 0.3s;
}
.menu-close:hover { opacity: 0.5; }
.menu-close svg {
  width: calc(44/1920*100vw); height: calc(44/1920*100vw);
  min-width: 34px; max-width: 50px;
}

/* ── Cuerpo ── */
.menu-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* Columna izquierda (65%) */
.menu-nav-col {
  flex: 0 0 65%;
  border-right: 1px solid var(--borde);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(50/1920*100vw) calc(80/1920*100vw);
  overflow-y: auto;
}

.menu-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.menu-nav-a {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;                    /* Medium */
  font-size: clamp(20px, calc(38/1920*100vw), 50px);
  line-height: 1.22;
  letter-spacing: 0.04em;             /* Sackers Gothic queda bien con tracking positivo */
  color: var(--negro) !important;
  display: block;
  padding: 4px 0;
  transition: opacity 0.25s;
}
.menu-nav-a:hover { opacity: 0.38; }

/* Parte inferior: redes en grid 2 cols + copyright abajo */
.menu-nav-bottom {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: calc(28/1920*100vw);
  border-top: 1px solid var(--borde);
  margin-top: calc(36/1920*100vw);
}
.menu-socials {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 2 columnas — igual que la referencia */
  gap: 6px calc(48/1920*100vw);
}
.menu-social-a {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(15px, calc(18/1920*100vw), 22px);
  color: var(--negro) !important;
  transition: opacity 0.25s;
}
.menu-social-a:hover { opacity: 0.4; }
.menu-copyright {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(13px, calc(15/1920*100vw), 18px);
  color: var(--gris);
}

/* Columna derecha (35%) */
.menu-info-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(50/1920*100vw) calc(60/1920*100vw);
  overflow-y: auto;
}

.menu-info-city {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 500;
  font-size: clamp(12px, calc(14/1920*100vw), 17px);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gris);
  margin-bottom: 18px;
}
.menu-info-office p,
.menu-info-office a {
  display: block;
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(15px, calc(19/1920*100vw), 24px);
  color: var(--negro) !important;
  line-height: 1.75;
  transition: opacity 0.25s;
}
.menu-info-office a:hover { opacity: 0.5; }

.menu-info-brand {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(18px, calc(28/1920*100vw), 38px);
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--negro);
}

/* ── Responsive menú ──────────────────────────────────────── */
@media (max-width: 991px) {
  .menu-top {
    padding: 13px 20px;
    grid-template-columns: 1fr auto;
  }
  .menu-top-logo img { height: 32px; min-height: unset; max-height: unset; }
  .menu-close { grid-column: 2; }
  .menu-close svg { width: 38px; height: 38px; }

  /* Mobile: columna de contacto oculta — solo nav + redes */
  .menu-info-col { display: none; }

  /* Nav ocupa todo el ancho */
  .menu-nav-col {
    flex: 1;
    border-right: none;
    padding: 30px 20px;
  }
  .menu-nav-a { font-size: clamp(18px, 6vw, 36px); }
}
@media (max-width: 575px) {
  .menu-top { padding: 11px 16px; }
  .menu-top-logo img { height: 26px; }
  .menu-nav-col { padding: 22px 16px; }
  .menu-nav-a { font-size: clamp(16px, 7vw, 30px); }
  .menu-socials { gap: 14px; }
}


/* ============================================================
   ANIMACIONES DE ENTRADA (estado inicial antes de GSAP)
   GSAP las lleva de estos valores a su estado final.
============================================================ */
.anim-hidden { opacity: 0; transform: translateY(30px); }


/* ============================================================
   RESPONSIVE — 3 breakpoints como la referencia:
   1449px (laptop 1366), 991px (tablet 768), 575px (móvil 360)
============================================================ */

/* ── 1449px — Laptop/MacBook ─────────────────────────────── */
@media (max-width: 1449px) {
  /* Header */
  .header-inner { padding: calc(16/1366*100vw) calc(35/1366*100vw); min-height: unset; }
  .header-logo img { height: calc(36/1366*100vw); min-height: 28px; }

  /* Hero */
  .screen_one-inner-h {
    padding-top: calc(430/1366*100vw);
    font-size: calc(72/1366*100vw);
    padding-left: calc(35/1366*100vw);
  }
  .screen_one-adv4 { padding-top: calc(120/1366*100vw); }
  .screen_one-adv-h1 { font-size: calc(140/1366*100vw); }
  .screen_one-company {
    padding: calc(60/1366*100vw) calc(35/1366*100vw) 0;
  }
  .screen_one-advwrap {
    margin-top: calc(110/1366*100vw);
    padding: 0 calc(35/1366*100vw) calc(200/1366*100vw);
  }

  /* Secciones principales — padding */
  .screen_two, .screen_four, .screen_five, .screen_six {
    padding: calc(110/1366*100vw) calc(35/1366*100vw) calc(200/1366*100vw);
  }

  /* H1 de cada sección */
  .screen_two_h1, .screen_four_h1, .screen_five_h1, .screen_six_h1 {
    font-size: calc(88/1366*100vw);
  }

  /* Imagen full-width */
  .screen_three { height: calc(873/1366*100vw); }

  /* Servicios — ítems */
  .main_services_hinner { padding-right: calc(17.5/1366*100vw); }
  .main_services_servs { padding-left: calc(17.5/1366*100vw); }
  .main_services_servs-inner a {
    height: calc(95/1366*100vw);
    min-height: 72px;
    padding-top: calc(15/1366*100vw);
  }
  .main_services_servs-inner a span:nth-child(1) { font-size: calc(25/1366*100vw); }

  /* Casos — slider */
  .main-cases-wrap { height: calc(730/1366*100vw); }
  .main-case {
    height: calc(375/1366*100vw);
    width: calc(850/1366*100vw);
  }
  .main-case-h { font-size: calc(32/1366*100vw); }
  .main-cases-explore {
    width: calc(142/1366*100vw);
    height: calc(142/1366*100vw);
    bottom: calc(-71/1366*100vw);
  }

  /* Noticias */
  .main-new-h { font-size: calc(25/1366*100vw); }
  .main-new-wrap { padding-left: calc(17.5/1366*100vw); }

  /* Footer */
  .footer-inner { padding: calc(90/1366*100vw) calc(35/1366*100vw) calc(50/1366*100vw); }
}


/* ── 991px — Tablet ──────────────────────────────────────── */
@media (max-width: 991px) {
  /* Hero — valores calibrados para 768-991px sin salto brusco */
  .screen_one { min-height: 100svh; }
  .screen_one-dop { height: 50vh; display: block; }
  .screen_one-dop-inner {
    width: calc(100% - 40px);
    right: 20px;
    bottom: 20px;
  }
  .screen_one-dop-pod { top: 120px; bottom: auto; }
  .screen_one-mainb { padding-left: 0; }
  .screen_one-mainb-border { margin-bottom: 15px; }
  .screen_one-mainb-hwrap { margin-bottom: 0; }
  .screen_one-mainb-chapt { font-size: clamp(12px, 1.5vw, 14px); }
  .screen_one-mainb-h { font-size: clamp(18px, 4vw, 28px); width: 85%; }
  .screen_one-mainb-bottom span { display: none; }
  .screen_one-mainb-bottom svg { display: none; }
  
  .screen_one-inner-h {
    font-size: clamp(38px, 7.5vw, 74px);
    padding-top: 50vh;
    padding-left: 20px;
  }
  .screen_one-advwrap {
    display: block;
    margin-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
  }
  .screen_one-adv1-inner { padding-left: 10px; }
  .screen_one-adv2-inner { padding-right: 10px; }
  .screen_one-adv3-inner { padding-left: 10px; padding-right: 0; }
  .screen_one-adv-border { border-bottom: 1px solid #9B9B9B; margin-bottom: 20px; }
  .screen_one-adv-h1 { font-size: clamp(60px, 12vw, 105px); margin-bottom: 8px; margin-left: -8px; }
  .screen_one-adv-h2 { font-size: clamp(20px, 4vw, 28px); margin-bottom: 8px; }
  .screen_one-adv-h3 { font-size: clamp(14px, 2vw, 16px); width: 75%; max-width: 100%; }
  .screen_one-company { padding: 40px 20px 0; margin-top: 0; }
  .screen_one-company-chapt-pc { display: none; }
  .screen_one-company-chapt-mb { display: block; }
  .screen_one-company-h { width: 100%; padding-left: 0; font-size: clamp(15px, 2.8vw, 26px); }
  .screen_one_about-a { margin-top: 40px; }
  .screen_one-adv4 { padding-top: 50px; }

  /* Imagen full-width */
  .screen_three { height: clamp(260px, 58vw, 520px); min-height: unset; }

  /* Secciones — padding y h1 */
  .screen_two, .screen_four, .screen_five, .screen_six {
    padding: clamp(50px, 8vw, 80px) 20px clamp(80px, 14vw, 130px);
  }
  .screen_two_h1, .screen_four_h1, .screen_five_h1, .screen_six_h1 {
    font-size: clamp(28px, 6.5vw, 62px);
    width: 95%;
  }

  /* Servicios */
  .main_services_hinner-inner { border-top: none; padding-top: 0; }
  .main_services_hinner { padding-right: 0; margin-bottom: 20px; }
  .main_services_servs { padding-left: 0; }
  .main_services_servs-inner a {
    height: clamp(58px, 8vw, 80px);
    min-height: 56px;
    padding-top: clamp(10px, 1.2vw, 14px);
  }
  .main_services_servs-inner a span:nth-child(1) { font-size: clamp(14px, 2.8vw, 26px); }

  /* Casos */
  .slAr__arrow { display: none; }
  .main-cases-inner { cursor: auto; }
  .main-cases-wrap { height: clamp(320px, 62vw, 580px); margin-bottom: clamp(50px, 8vw, 80px); }
  .main-case { width: 88%; height: clamp(190px, 30vw, 310px); }
  .main-case-h { width: 85%; font-size: clamp(18px, 3vw, 30px); }
  .main-case-logo { display: none; }
  .main-cases-explore {
    width: clamp(100px, 14vw, 130px);
    height: clamp(100px, 14vw, 130px);
    bottom: clamp(-65px, -7vw, -50px);
  }

  /* Noticias */
  .main-new-wrap { padding-left: 0; }
  .main-news-lef-pustota { display: none; }
  .main-new-h { width: 90%; font-size: clamp(18px, 3vw, 30px); }

  /* Footer */
  .footer-inner { padding: 60px 20px 30px; }
  .footer_hm { font-size: clamp(38px, 8vw, 74px); }
  .footer-form-input input, .footer-form-textarea textarea { font-size: clamp(18px, 4vw, 30px); }
  .footer-miniform-h1 { width: 100%; font-size: clamp(22px, 5vw, 44px); }
  .footer-form-inputwrap:nth-child(2n-1) .footer-form-input,
  .footer-form-inputwrap:nth-child(2n)   .footer-form-input { padding-left: 0; padding-right: 0; }
}


/* ── 575px — Móvil ───────────────────────────────────────── */
@media (max-width: 575px) {
  /* Hero */
  .screen_one-dop { height: 50vh; display: block; }
  .screen_one-dop-inner {
    width: calc(100% - 32px);
    right: 16px;
    bottom: 16px;
  }
  .screen_one-dop-pod { top: 90px; bottom: auto; }
  .screen_one-mainb-h { font-size: clamp(16px, 6vw, 22px); width: 100%; }
  
  .screen_one-inner-h {
    font-size: clamp(30px, 11vw, 44px);
    padding-top: 50vh;
    padding-left: 16px;
  }
  
  .screen_one-advwrap {
    margin-top: 40px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 40px;
  }
  .screen_one-adv1-inner, .screen_one-adv2-inner, .screen_one-adv3-inner { padding-left: 0; padding-right: 0; }
  .screen_one-adv-border { margin-bottom: 15px; }
  .screen_one-adv-h1 { font-size: clamp(44px, 15vw, 60px); margin-bottom: 4px; margin-left: -4px; }
  .screen_one-adv-h2 { font-size: clamp(18px, 5vw, 22px); margin-bottom: 4px; }
  .screen_one-adv-h3 { font-size: clamp(13px, 3.5vw, 15px); width: 100%; max-width: 100%; margin-bottom: 24px; }
  .screen_one-adv3 .screen_one-adv-h3 { max-width: 100%; }
  .screen_one-adv-h3 p { text-align: justify; text-align-last: left; }
  /* Título "Cumplimiento" — quitar max-width del desktop en mobile */
  .screen_one-adv2 .screen_one-adv-serv-h { max-width: 100%; }
  
  .screen_one-company { padding: 24px 16px 0; margin-top: 25px; }

  /* Imagen full-width */
  .screen_three { height: clamp(160px, 60vw, 280px); min-height: unset; }

  /* Secciones */
  .screen_two, .screen_four, .screen_five, .screen_six {
    padding: clamp(40px, 10vw, 65px) 16px clamp(60px, 16vw, 100px);
  }
  .screen_two_h1, .screen_four_h1, .screen_five_h1, .screen_six_h1 {
    font-size: clamp(22px, 9vw, 40px);
    width: 100%;
  }

  /* Servicios */
  .main_services_servs-inner a {
    height: clamp(50px, 14vw, 68px);
    min-height: 48px;
    padding-top: clamp(8px, 2vw, 14px);
  }
  .main_services_servs-inner a span:nth-child(1) { font-size: clamp(13px, 4.5vw, 20px); }
  .main_services_servs-inner-wrap:nth-child(2n-1) .main_services_servs-inner,
  .main_services_servs-inner-wrap:nth-child(2n)   .main_services_servs-inner {
    padding-right: 0;
    padding-left: 0;
  }

  /* Casos */
  .main-cases-wrap { height: clamp(240px, 72vw, 360px); margin-bottom: 56px; }
  .main-case { width: 95%; height: clamp(160px, 44vw, 220px); }
  .main-case-h { font-size: clamp(15px, 5vw, 22px); width: 100%; }
  .main-cases-explore { width: 88px; height: 88px; bottom: -44px; }
  .main-cases-explore span { font-size: 10px; }

  /* Noticias */
  .main-new-h { font-size: clamp(15px, 5vw, 22px); }

  /* Footer */
  .footer-inner { padding: 50px 16px 24px; }
  .footer_hm { font-size: clamp(28px, 9vw, 48px); }
  .footer-form-submit button { width: 88px; height: 88px; font-size: 11px; }

  /* Menú overlay */
  .menu-wrapper { width: 100%; }

  /* Servicios CTA — imagen */
  .screen_two-bottom-r img { min-height: 220px; }
}


/* ============================================================
   PÁGINAS INTERNAS — base compartida
============================================================ */

/* Header siempre visible en páginas internas */
.pagina-interna .header-doprds {
  display: block !important;
  opacity: 1 !important;
}
.pagina-interna .header-rds-inner {
  display: none !important;
}

/* Link activo en nav */
.nav-active {
  color: var(--dorado) !important;
}


/* ============================================================
   NOSOTROS v2 — SCREEN ONE (estética Máxima Legal)
============================================================ */
.nos2-screen-one {
  background: var(--fondo);
  position: relative;
  z-index: 21;
  padding-top: clamp(110px, calc(160/1920*100vw), 200px);
  padding-bottom: clamp(30px, calc(50/1920*100vw), 70px);
  padding-left: clamp(20px, calc(80/1920*100vw), 120px);
  padding-right: clamp(20px, calc(80/1920*100vw), 120px);
}

/* H1 gigante */
.nos2-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(48px, calc(110/1920*100vw), 140px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin-bottom: clamp(40px, calc(80/1920*100vw), 100px);
}
.nos2-h1-dacorp {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  letter-spacing: 0.01em;
}
/* DACORP en Sackers Gothic inline (en párrafos, footer, etc.) */
.skg {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
}

/* Separador + fila "La firma" */
.nos2-company-section {
  margin-bottom: clamp(48px, calc(100/1920*100vw), 130px);
}

.nos2-separator {
  border-top: 1.5px solid rgba(28, 28, 28, 0.2);
  margin-bottom: clamp(20px, calc(30/1920*100vw), 40px);
}

.nos2-company-label {
  padding-right: clamp(0px, calc(25/1920*100vw), 32px);
}
.nos2-company-label span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  line-height: 138%;
  letter-spacing: 0;
  color: var(--negro);
}

.nos2-company-right {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(20px, calc(32/1920*100vw), 48px);
  padding-left: clamp(0px, calc(25/1920*100vw), 32px);
}

.nos2-company-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(21/1920*100vw), 26px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: var(--negro);
  width: 60%;
  margin: 0;
  text-align: justify;
}

/* Botón píldora */
.nos2-button {
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, calc(12/1920*100vw), 16px);
  height: clamp(38px, calc(55/1920*100vw), 68px);
  border: 1.4px solid rgba(28, 28, 28, 0.35);
  border-radius: clamp(30px, calc(40/1920*100vw), 50px);
  padding-left: clamp(16px, calc(25/1920*100vw), 32px);
  padding-right: clamp(12px, calc(20/1920*100vw), 26px);
  text-decoration: none;
  transition: background 0.5s, border-color 0.5s;
  white-space: nowrap;
  flex-shrink: 0;
  align-self: flex-start;
}
.nos2-button span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(17/1920*100vw), 22px);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--negro);
  transition: color 0.5s;
}
.nos2-button svg {
  color: var(--negro);
  transition: color 0.5s;
  flex-shrink: 0;
}
.nos2-button:hover {
  background: var(--negro);
  border-color: var(--negro);
}
.nos2-button:hover span { color: #fff; }
.nos2-button:hover svg { color: #fff; }

/* Imagen parallax grande */
.nos2-parallax {
  width: 100%;
  height: clamp(280px, calc(820/1920*100vw), 960px);
  position: relative;
  overflow: hidden;
  border-radius: clamp(6px, calc(10/1920*100vw), 14px);
  margin-bottom: clamp(48px, calc(30/1920*100vw), 40px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.nos2-parallax img {
  width: 100%;
  height: 140%;
  object-fit: cover;
  object-position: center;
}

/* Fundador */
.nos2-founder-row {
  margin-top: clamp(40px, calc(60/1920*100vw), 80px);
  margin-bottom: clamp(60px, calc(130/1920*100vw), 160px);
  align-items: stretch;
}
.nos2-founder-left {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-right: clamp(12px, calc(30/1920*100vw), 40px);
}
.nos2-founder-img-wrap {
  margin-top: clamp(20px, calc(28/1920*100vw), 36px);
  border-radius: clamp(6px, calc(10/1920*100vw), 14px);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  flex: 1;
}
.nos2-founder-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.7s ease;
}
.nos2-founder-img-wrap:hover img {
  transform: scale(1.03);
}
.nos2-founder-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-left: clamp(12px, calc(30/1920*100vw), 40px);
}
.nos2-founder-quote-mark {
  font-family: 'Aeonik', sans-serif;
  font-weight: 800;
  font-size: clamp(60px, calc(120/1920*100vw), 150px);
  line-height: 0.7;
  color: var(--dorado);
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
  display: block;
}
.nos2-founder-quote {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(17px, calc(26/1920*100vw), 34px);
  line-height: 142%;
  letter-spacing: -0.025em;
  color: var(--negro);
  margin: 0 0 clamp(28px, calc(44/1920*100vw), 56px);
  border: none;
  padding: 0;
}
.nos2-founder-line {
  width: clamp(40px, calc(60/1920*100vw), 80px);
  height: 1.5px;
  background: rgba(28,28,28,0.25);
  margin-bottom: clamp(16px, calc(22/1920*100vw), 28px);
}
.nos2-founder-attribution {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nos2-founder-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  letter-spacing: -0.02em;
  color: var(--negro);
}
.nos2-founder-cargo {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dorado);
}

/* Estadísticas (grid 2×2) */
.nos2-adv-wrap:nth-child(odd) .nos2-adv-inner {
  padding-right: clamp(0px, calc(25/1920*100vw), 32px);
}
.nos2-adv-wrap:nth-child(even) .nos2-adv-inner {
  padding-left: clamp(0px, calc(25/1920*100vw), 32px);
}
.nos2-adv-inner {
  height: clamp(200px, calc(360/1920*100vw), 420px);
  position: relative;
}
.nos2-adv-border {
  border-top: 1.5px solid rgba(28, 28, 28, 0.2);
  margin-bottom: clamp(16px, calc(28/1920*100vw), 36px);
}
.nos2-adv-pilar-h {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(18px, calc(28/1920*100vw), 38px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--negro);
  margin-bottom: clamp(12px, calc(20/1920*100vw), 28px);
}
.nos2-adv-num {
  font-family: 'Aeonik', sans-serif;
  font-weight: 800;
  font-size: clamp(72px, calc(170/1920*100vw), 200px);
  line-height: 92%;
  letter-spacing: -0.04em;
  color: rgba(28, 28, 28, 0.22);
  position: absolute;
  top: clamp(18px, calc(28/1920*100vw), 36px);
}
.nos2-adv-num--black {
  color: var(--negro);
}
.nos2-adv-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(20/1920*100vw), 26px);
  line-height: 138%;
  letter-spacing: -0.025em;
  color: var(--negro);
  position: absolute;
  top: clamp(110px, calc(220/1920*100vw), 260px);
  width: 55%;
  margin: 0;
  text-align: justify;
}


/* ============================================================
   NOSOTROS v2 — IMAGEN SEPARADORA
============================================================ */
.nos2-screen-img {
  position: relative;
  height: clamp(280px, 65vh, 100vh);
  overflow: hidden;
}
.nos2-screen-img-inner {
  position: absolute;
  inset: 0;
}
.nos2-screen-img img {
  width: 100%;
  height: 130%;
  object-fit: cover;
  object-position: center;
}


/* ============================================================
   NOSOTROS v2 — SECCIONES (equipo, pro bono)
============================================================ */
.nos2-section-inner {
  padding-left: clamp(20px, calc(80/1920*100vw), 120px);
  padding-right: clamp(20px, calc(80/1920*100vw), 120px);
  padding-top: clamp(72px, calc(140/1920*100vw), 180px);
  padding-bottom: clamp(72px, calc(180/1920*100vw), 240px);
}
.nos2-section-border {
  border-top: 2px solid var(--negro);
  margin-bottom: clamp(18px, calc(28/1920*100vw), 36px);
}
.nos2-section-border--light {
  border-top-color: rgba(28, 28, 28, 0.25);
}
.nos2-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: clamp(48px, calc(80/1920*100vw), 110px);
}
.nos2-section-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  line-height: 138%;
  letter-spacing: 0;
  color: var(--negro);
}
.nos2-section-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(21/1920*100vw), 26px);
  letter-spacing: -0.025em;
  color: rgba(28,28,28,0.4);
}
.nos2-section-h1 {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(32px, calc(95/1920*100vw), 112px);
  line-height: 100%;
  letter-spacing: -0.04em;
  color: var(--negro);
  width: 80%;
  margin-bottom: clamp(40px, calc(70/1920*100vw), 90px);
}
.nos2-section-h1--narrow { width: 70%; }


/* ── Socios Fundadores ──────────────────────────────────── */
.nos2-founders-section {
  margin-top: clamp(40px, calc(60/1920*100vw), 80px);
  margin-bottom: clamp(60px, calc(100/1920*100vw), 130px);
}
.nos2-founders-heading {
  margin-top: clamp(16px, calc(24/1920*100vw), 32px);
  margin-bottom: clamp(28px, calc(44/1920*100vw), 60px);
}
.nos2-founders-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(32px, calc(80/1920*100vw), 120px);
  padding: 0 clamp(24px, calc(100/1920*100vw), 160px);
}
.nos2-founders-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: clamp(6px, calc(10/1920*100vw), 14px);
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.nos2-founders-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.6s ease;
}
.nos2-founders-member:hover .nos2-founders-img-wrap img {
  transform: scale(1.04);
}
.nos2-founders-border {
  border-top: 1.5px solid rgba(28,28,28,0.2);
  margin-bottom: clamp(12px, calc(18/1920*100vw), 26px);
}
.nos2-founders-row {
  display: flex;
  align-items: flex-start;
  gap: clamp(12px, calc(18/1920*100vw), 26px);
}
.nos2-founders-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(17/1920*100vw), 22px);
  color: rgba(28,28,28,0.35);
  letter-spacing: -0.02em;
  flex-shrink: 0;
  padding-top: 3px;
}
.nos2-founders-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(17px, calc(24/1920*100vw), 32px);
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0 0 5px 0;
}
.nos2-founders-cargo {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 700;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--dorado);
}

/* ── Valores ─────────────────────────────────────────────── */
.nos2-valores { background: var(--blanco); }

.nos2-valores-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.nos2-valor-item {
  border-top: 1.5px solid rgba(28,28,28,0.18);
  padding-top: clamp(20px, calc(30/1920*100vw), 40px);
  padding-bottom: clamp(32px, calc(56/1920*100vw), 72px);
  padding-right: clamp(16px, calc(40/1920*100vw), 60px);
}
.nos2-valor-item:nth-child(3n) {
  padding-right: 0;
}
.nos2-valor-top {
  display: flex;
  align-items: baseline;
  gap: clamp(10px, calc(16/1920*100vw), 22px);
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.nos2-valor-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: rgba(28,28,28,0.3);
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.nos2-valor-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(20px, calc(32/1920*100vw), 42px);
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
  line-height: 1;
}
.nos2-valor-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--gris);
  margin: 0;
  text-align: justify;
}


/* ── Pro Bono ────────────────────────────────────────────── */
.nos2-probono { background: var(--fondo); }

.nos2-probono-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(21/1920*100vw), 26px);
  line-height: 155%;
  letter-spacing: -0.025em;
  color: var(--negro);
  padding-right: clamp(0px, calc(48/1920*100vw), 64px);
  margin: 0;
  text-align: justify;
}

.nos2-probono-list {
  display: flex;
  flex-direction: column;
  padding-left: clamp(0px, calc(24/1920*100vw), 32px);
}
.nos2-probono-item {
  padding-bottom: clamp(24px, calc(40/1920*100vw), 56px);
}
.nos2-probono-item-border {
  border-top: 1.5px solid rgba(28,28,28,0.2);
  margin-bottom: clamp(14px, calc(22/1920*100vw), 30px);
}
.nos2-probono-item-title {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(17px, calc(24/1920*100vw), 32px);
  letter-spacing: -0.03em;
  color: var(--negro);
  margin-bottom: 10px;
}
.nos2-probono-item-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  line-height: 155%;
  letter-spacing: -0.02em;
  color: var(--gris);
  margin: 0;
  text-align: justify;
}


/* ── Responsive nosotros v2 ─────────────────────────────── */
@media (max-width: 991px) {
  .nos2-h1 { font-size: clamp(38px, 10vw, 72px); }
  .nos2-adv-num { font-size: clamp(56px, 14vw, 100px); }
  .nos2-adv-inner { height: clamp(160px, 38vw, 200px); }
  .nos2-adv-text { top: clamp(90px, 22vw, 130px); width: 70%; }
  .nos2-company-right { flex-direction: column; }
  .nos2-company-text { width: 100%; }
  .nos2-section-h1 { width: 100%; font-size: clamp(28px, 8vw, 64px); }
  .nos2-section-h1--narrow { width: 100%; }
  .nos2-valores-grid { grid-template-columns: repeat(2, 1fr); }
  .nos2-valor-item:nth-child(3n) { padding-right: clamp(16px, calc(40/1920*100vw), 60px); }
  .nos2-valor-item:nth-child(2n) { padding-right: 0; }
  .nos2-probono-list { padding-left: 0; margin-top: 40px; }
  .nos2-founder-left { padding-right: clamp(8px, 3vw, 24px); }
  .nos2-founder-content { padding-left: clamp(8px, 3vw, 24px); }
}

@media (max-width: 575px) {
  .nos2-screen-one {
    padding-left: 16px;
    padding-right: 16px;
  }
  .nos2-h1 { font-size: clamp(38px, 12vw, 60px); }
  .nos2-section-inner { padding-left: 16px; padding-right: 16px; }
  .nos2-valores-grid { grid-template-columns: 1fr; }
  .nos2-valor-item:nth-child(3n),
  .nos2-valor-item:nth-child(2n) { padding-right: 0; }
  .nos2-adv-wrap:nth-child(odd) .nos2-adv-inner { padding-right: 0; }
  .nos2-adv-wrap:nth-child(even) .nos2-adv-inner { padding-left: 0; }
  /* Pilares — volver a flujo normal en mobile */
  .nos2-adv-inner { height: auto !important; padding-bottom: 28px; }
  .nos2-adv-text {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: justify;
    text-align-last: left;
    margin-top: 8px;
    font-size: clamp(13px, 3.8vw, 16px);
  }
  .nos2-founder-row { flex-direction: column; }
  .nos2-founder-left,
  .nos2-founder-content { padding: 0; }
  .nos2-founder-img-wrap { aspect-ratio: 4 / 3; margin-bottom: 32px; }
}


/* ============================================================
   PLANES DE PROTECCIÓN  (pl-*)
============================================================ */

/* ── Shared label ───────────────────────────────────────── */
.pl-section-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.45);
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
}
.pl-section-label--light { color: rgba(245,245,245,0.45); }

/* ── 01 HERO ────────────────────────────────────────────── */
.pl-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--negro);
}
/* Ética Profesional — hero un poco menos alto para que asome el contenido */
.pl-hero--etica { height: 82vh; min-height: 500px; }

.pl-hero-bg {
  position: absolute;
  inset: -15% 0;
  z-index: 0;
}
.pl-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.pl-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(28,28,28,0.92) 0%, rgba(28,28,28,0.35) 60%, rgba(28,28,28,0.15) 100%);
  z-index: 1;
}
.pl-hero-content {
  position: relative;
  z-index: 2;
  padding: clamp(30px, calc(50/1920*100vw), 70px) clamp(20px, calc(80/1920*100vw), 120px);
  width: 100%;
}
.pl-hero-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
}
.pl-hero-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(48px, calc(110/1920*100vw), 140px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--blanco);
  margin: 0 0 clamp(20px, calc(32/1920*100vw), 44px) 0;
}
.pl-hero-h1-dorado { color: var(--dorado); }
.pl-hero-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: rgba(245,245,245,0.65);
  max-width: clamp(280px, calc(500/1920*100vw), 580px);
  text-align: justify;
  margin: 0 0 clamp(24px, calc(40/1920*100vw), 54px) 0;
}
.pl-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--negro);
  background: var(--dorado);
  border: 1px solid var(--dorado);
  padding: clamp(12px, calc(16/1920*100vw), 20px) clamp(20px, calc(32/1920*100vw), 44px);
  text-decoration: none;
  transition: background 0.25s, color 0.25s;
}
.pl-hero-cta:hover { background: transparent; color: var(--dorado); text-decoration: none; }
.pl-hero-scroll {
  position: absolute;
  bottom: clamp(20px, calc(36/1920*100vw), 50px);
  right: clamp(20px, calc(50/1920*100vw), 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 2;
}
.pl-hero-scroll span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(8px, calc(9/1920*100vw), 11px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.4);
  writing-mode: vertical-lr;
}
.pl-hero-scroll-line {
  width: 1px;
  height: clamp(40px, calc(60/1920*100vw), 80px);
  background: rgba(245,245,245,0.25);
}

/* ── 02 PITCH ───────────────────────────────────────────── */
.pl-pitch {
  background: var(--fondo);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-pitch-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
}
.pl-pitch-border {
  border-top: 1.5px solid rgba(28,28,28,0.15);
  margin-bottom: clamp(40px, calc(70/1920*100vw), 90px);
}
.pl-pitch-row {
  display: flex;
  gap: clamp(40px, calc(100/1920*100vw), 160px);
  align-items: flex-start;
}
.pl-pitch-left { flex: 0 0 clamp(240px, calc(400/1920*100vw), 500px); }
.pl-pitch-right { flex: 1; }
.pl-pitch-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(36px, calc(70/1920*100vw), 90px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
}
.pl-pitch-h2 em {
  font-style: normal;
  color: var(--dorado);
}
.pl-pitch-p {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.65;
  letter-spacing: -0.02em;
  color: var(--gris);
  margin: 0 0 clamp(32px, calc(56/1920*100vw), 72px) 0;
  text-align: justify;
}
.pl-pitch-sep {
  border-top: 1px solid rgba(28,28,28,0.15);
  margin: clamp(-16px, calc(-28/1920*100vw), -20px) 0 clamp(24px, calc(40/1920*100vw), 56px);
}
.pl-pitch-stats {
  display: flex;
  align-items: center;
  gap: clamp(20px, calc(40/1920*100vw), 60px);
  margin-top: clamp(32px, calc(54/1920*100vw), 72px);
  padding-top: clamp(24px, calc(36/1920*100vw), 48px);
  border-top: 1.5px solid rgba(28,28,28,0.12);
}
.pl-pitch-stat { display: flex; flex-direction: column; gap: 6px; }
.pl-stat-num {
  font-family: 'Aeonik', sans-serif;
  font-weight: 800;
  font-size: clamp(64px, calc(140/1920*100vw), 180px);
  letter-spacing: -0.05em;
  color: var(--negro);
  line-height: 1;
  display: flex;
  align-items: baseline;
}
.pl-stat-pct {
  font-size: 0.45em;
  color: var(--dorado);
  font-weight: 800;
  margin-left: 0.05em;
}
.pl-stat-label {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.4;
  color: var(--gris);
  margin-top: clamp(6px, calc(10/1920*100vw), 14px);
}
.pl-pitch-stat-div {
  width: 1px;
  height: clamp(60px, calc(100/1920*100vw), 140px);
  background: rgba(28,28,28,0.15);
  flex-shrink: 0;
}

/* ── 03 QUÉ INCLUYE ─────────────────────────────────────── */
.pl-includes {
  background: var(--negro);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-includes-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
}
.pl-includes-header {
  margin-bottom: clamp(40px, calc(70/1920*100vw), 90px);
}
.pl-includes-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(36px, calc(70/1920*100vw), 90px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--blanco);
  margin: 0;
}
.pl-includes-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(245,245,245,0.1);
}
.pl-includes-item {
  padding: clamp(24px, calc(40/1920*100vw), 54px) clamp(16px, calc(28/1920*100vw), 40px) clamp(24px, calc(40/1920*100vw), 54px) 0;
  border-right: 1px solid rgba(245,245,245,0.1);
}
.pl-includes-item:last-child { border-right: none; padding-right: 0; }
.pl-includes-item:not(:first-child) { padding-left: clamp(16px, calc(28/1920*100vw), 40px); }
.pl-includes-item-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(16px, calc(22/1920*100vw), 28px);
}
.pl-includes-num {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(11/1920*100vw), 13px);
  letter-spacing: 0.08em;
  color: var(--dorado);
  flex-shrink: 0;
}
.pl-includes-rule {
  flex: 1;
  height: 1px;
  background: rgba(245,245,245,0.15);
}
.pl-includes-title {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(16px, calc(20/1920*100vw), 26px);
  line-height: 1.25;
  letter-spacing: -0.03em;
  color: var(--blanco);
  margin: 0 0 clamp(12px, calc(16/1920*100vw), 20px) 0;
}
.pl-includes-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  color: rgba(245,245,245,0.65);
  margin: 0;
  text-align: justify;
}

/* ── 04 IMAGEN FULL ─────────────────────────────────────── */
.pl-img-full {
  position: relative;
  height: clamp(300px, calc(580/1920*100vw), 720px);
  overflow: hidden;
  background: var(--negro);
}
.pl-img-full-inner {
  position: absolute;
  inset: -15% 0;
  height: 130%;
}
.pl-img-full-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.72;
}
.pl-img-full-caption {
  position: absolute;
  bottom: clamp(16px, calc(28/1920*100vw), 40px);
  right: clamp(20px, calc(50/1920*100vw), 80px);
  z-index: 2;
}
.pl-img-full-caption span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(11/1920*100vw), 13px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.4);
}

/* ── 05 BENEFICIOS ──────────────────────────────────────── */
.pl-beneficios {
  background: var(--fondo);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-beneficios-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
}
.pl-beneficios-header {
  display: flex;
  gap: clamp(40px, calc(100/1920*100vw), 160px);
  align-items: flex-end;
  margin-bottom: clamp(40px, calc(70/1920*100vw), 90px);
  padding-bottom: clamp(24px, calc(40/1920*100vw), 54px);
  border-bottom: 1.5px solid rgba(28,28,28,0.12);
}
.pl-beneficios-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(28px, calc(52/1920*100vw), 68px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
  flex-shrink: 0;
}
.pl-beneficios-intro {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(17/1920*100vw), 21px);
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--gris);
  margin: 0;
  text-align: justify;
  max-width: 540px;
}
.pl-beneficios-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, calc(36/1920*100vw), 50px);
}
.pl-bene-card {
  padding: clamp(24px, calc(36/1920*100vw), 48px);
  background: var(--blanco);
  border: 1px solid rgba(28,28,28,0.1);
  display: flex;
  flex-direction: column;
  gap: clamp(14px, calc(20/1920*100vw), 26px);
}
.pl-bene-icon {
  width: clamp(44px, calc(56/1920*100vw), 68px);
  height: clamp(44px, calc(56/1920*100vw), 68px);
  border: 1px solid rgba(28,28,28,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dorado);
  flex-shrink: 0;
}
.pl-bene-title {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(16px, calc(20/1920*100vw), 26px);
  line-height: 1.25;
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
}
.pl-bene-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.65;
  color: var(--gris);
  margin: 0;
  text-align: justify;
}
.pl-bene-desc strong { color: var(--negro); }

/* ── 06 CALLOUT 30% ─────────────────────────────────────── */
.pl-callout {
  background: var(--negro);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-callout-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
  display: flex;
  gap: clamp(40px, calc(100/1920*100vw), 160px);
  align-items: center;
}
.pl-callout-left { flex: 0 0 clamp(200px, calc(360/1920*100vw), 460px); }
.pl-callout-num {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(80px, calc(180/1920*100vw), 240px);
  line-height: 0.9;
  letter-spacing: -0.05em;
  color: var(--blanco);
}
.pl-callout-pct {
  font-size: 0.5em;
  color: var(--dorado);
}
.pl-callout-label {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.4;
  color: rgba(245,245,245,0.65);
  margin-top: 8px;
}
.pl-callout-right { flex: 1; }
.pl-callout-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.65;
  letter-spacing: -0.02em;
  color: rgba(245,245,245,0.6);
  margin: 0 0 clamp(16px, calc(22/1920*100vw), 28px) 0;
  text-align: justify;
}
.pl-callout-text strong { color: var(--dorado); }
.pl-callout-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--blanco);
  border-bottom: 1px solid rgba(245,245,245,0.3);
  padding-bottom: 4px;
  text-decoration: none;
  margin-top: clamp(16px, calc(24/1920*100vw), 32px);
  transition: color 0.2s, border-color 0.2s;
}
.pl-callout-cta:hover { color: var(--dorado); border-color: var(--dorado); text-decoration: none; }

/* ── 07 SECTORES ────────────────────────────────────────── */
.pl-sectores {
  background: var(--fondo);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-sectores-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
}
.pl-sectores-border {
  border-top: 1.5px solid rgba(28,28,28,0.15);
  margin-bottom: clamp(32px, calc(54/1920*100vw), 72px);
}
.pl-sectores-header {
  margin-bottom: clamp(32px, calc(54/1920*100vw), 70px);
}
.pl-sectores-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(28px, calc(56/1920*100vw), 72px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
}
.pl-sectores-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1.5px solid rgba(28,28,28,0.12);
  border-left: 1.5px solid rgba(28,28,28,0.12);
  margin-bottom: clamp(24px, calc(36/1920*100vw), 48px);
}
.pl-sector-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(16px, calc(24/1920*100vw), 32px);
  border-right: 1.5px solid rgba(28,28,28,0.12);
  border-bottom: 1.5px solid rgba(28,28,28,0.12);
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.pl-sector-item:hover { background: rgba(28,28,28,0.04); text-decoration: none; color: inherit; }
.pl-sector-item:hover .pl-sector-name { color: var(--dorado); }
.pl-sector-num {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(10/1920*100vw), 12px);
  letter-spacing: 0.1em;
  color: var(--dorado);
}
.pl-sector-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  letter-spacing: -0.02em;
  color: var(--negro);
  line-height: 1.3;
}
.pl-sectores-note {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.5;
  color: var(--gris);
  margin: 0;
  max-width: none;
  white-space: nowrap;
}
@media (max-width: 1199px) {
  .pl-sectores-note { white-space: normal; max-width: 680px; }
}
@media (max-width: 575px) {
  .pl-sectores-note { text-align: justify; }
}

/* ── 08 FORMULARIO ──────────────────────────────────────── */
.pl-form-section {
  background: var(--negro);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.pl-form-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
  display: flex;
  gap: clamp(40px, calc(100/1920*100vw), 160px);
  align-items: flex-start;
}
.pl-form-left {
  flex: 0 0 clamp(240px, calc(400/1920*100vw), 500px);
  position: sticky;
  top: 100px;
}
.pl-form-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(32px, calc(62/1920*100vw), 80px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--blanco);
  margin: 0 0 clamp(16px, calc(24/1920*100vw), 32px) 0;
}
.pl-form-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.65;
  color: rgba(245,245,245,0.5);
  margin: 0 0 clamp(24px, calc(36/1920*100vw), 48px) 0;
  text-align: justify;
}
.pl-form-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-form-contact-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: rgba(245,245,245,0.65);
  text-decoration: none;
  transition: color 0.2s;
}
.pl-form-contact-link:hover { color: var(--dorado); text-decoration: none; }
.pl-form-right { flex: 1; }
.pl-form {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, calc(18/1920*100vw), 24px);
}
.pl-form-field input,
.pl-form-field textarea,
.pl-form-field select,
.pl-form-select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(245,245,245,0.2);
  padding: clamp(10px, calc(14/1920*100vw), 18px) 0;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(15/1920*100vw), 18px);
  color: var(--blanco);
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}
.pl-form-field input::placeholder,
.pl-form-field textarea::placeholder { color: rgba(245,245,245,0.3); }
.pl-form-field input:focus,
.pl-form-field textarea:focus,
.pl-form-field select:focus { border-bottom-color: var(--dorado); }
.pl-form-field select option { background: var(--negro); color: var(--blanco); }
.pl-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, calc(24/1920*100vw), 36px);
}
.pl-form-field--textarea textarea {
  resize: none;
  min-height: clamp(80px, calc(110/1920*100vw), 140px);
}
.pl-form-check {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pl-form-check input[type="checkbox"] { flex-shrink: 0; accent-color: var(--dorado); }
.pl-form-check label {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  color: rgba(245,245,245,0.4);
  margin: 0;
}
.pl-form-check a { color: var(--dorado); text-decoration: none; }
.pl-form-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--dorado);
  border: none;
  padding: clamp(14px, calc(18/1920*100vw), 24px) clamp(20px, calc(32/1920*100vw), 44px);
  cursor: pointer;
  transition: background 0.25s;
  margin-top: clamp(8px, calc(12/1920*100vw), 16px);
}
.pl-form-submit:hover { background: rgba(193,170,128,0.85); }
.pl-form-submit-text {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--negro);
}
.pl-form-submit-icon {
  width: clamp(32px, calc(40/1920*100vw), 50px);
  height: clamp(32px, calc(40/1920*100vw), 50px);
  border: 1px solid rgba(28,28,28,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--negro);
  flex-shrink: 0;
}

/* ── Responsive pl ──────────────────────────────────────── */
@media (max-width: 991px) {
  .pl-pitch-row { flex-direction: column; gap: clamp(24px, 5vw, 48px); }
  .pl-pitch-left { flex: none; }
  .pl-includes-list { grid-template-columns: repeat(2, 1fr); }
  .pl-includes-item { border-right: none; border-bottom: 1px solid rgba(245,245,245,0.1); padding: clamp(20px, 4vw, 36px) 0; }
  .pl-includes-item:last-child { border-bottom: none; }
  .pl-includes-item:not(:first-child) { padding-left: 0; }
  .pl-beneficios-header { flex-direction: column; gap: 24px; align-items: flex-start; }
  .pl-beneficios-grid { grid-template-columns: 1fr; }
  .pl-callout-inner { flex-direction: column; gap: 32px; }
  .pl-sectores-grid { grid-template-columns: repeat(2, 1fr); }
  .pl-form-inner { flex-direction: column; gap: 40px; }
  .pl-form-left { position: static; flex: none; }
  .pl-pitch-stats { flex-wrap: wrap; }
}
@media (max-width: 575px) {
  .pl-hero-h1 { font-size: clamp(38px, 12vw, 60px); }
  .pl-includes-list { grid-template-columns: 1fr; }
  .pl-sectores-grid { grid-template-columns: 1fr; }
  .pl-form-row { grid-template-columns: 1fr; }
  .pl-callout-num { font-size: clamp(70px, 22vw, 120px); }
}


/* ============================================================
   EQUIPO PAGE  (eq-*)
============================================================ */

/* ── Hero / H1 ──────────────────────────────────────────── */
.eq-screen-one {
  background: var(--fondo);
  padding: clamp(110px, calc(160/1920*100vw), 200px) clamp(20px, calc(80/1920*100vw), 120px) clamp(30px, calc(50/1920*100vw), 70px);
}
.eq-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(48px, calc(110/1920*100vw), 140px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin-bottom: clamp(40px, calc(70/1920*100vw), 90px);
}
.eq-h1-span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  letter-spacing: 0.01em;
}

/* ── Intro row ──────────────────────────────────────────── */
.eq-intro {
  background: var(--fondo);
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px) clamp(40px, calc(70/1920*100vw), 90px);
}
.eq-intro-separator {
  border-top: 1.5px solid rgba(28,28,28,0.18);
  margin-bottom: clamp(18px, calc(28/1920*100vw), 40px);
}
.eq-intro-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(20px, calc(40/1920*100vw), 60px);
}
.eq-intro-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, calc(22/1920*100vw), 28px);
  color: var(--negro);
  flex-shrink: 0;
}
.eq-intro-tagline {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.5;
  letter-spacing: -0.025em;
  color: var(--gris);
  max-width: clamp(280px, calc(700/1920*100vw), 800px);
  margin: 0;
}
.eq-intro-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 16px);
  color: rgba(28,28,28,0.35);
  letter-spacing: -0.02em;
  flex-shrink: 0;
  padding-top: 4px;
}

/* ── Content wrapper ────────────────────────────────────── */
.eq-content {
  background: var(--fondo);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 130px);
}
.eq-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
}

/* ── Section: label sidebar + grid ─────────────────────── */
.eq-section {
  padding-top: clamp(32px, calc(54/1920*100vw), 72px);
}
.eq-section-border {
  border-top: 1.5px solid rgba(28,28,28,0.15);
  margin-bottom: clamp(24px, calc(36/1920*100vw), 50px);
}
.eq-section-row {
  display: flex;
  gap: clamp(24px, calc(48/1920*100vw), 70px);
  align-items: flex-start;
}
.eq-section-left {
  flex: 0 0 clamp(90px, calc(180/1920*100vw), 220px);
  padding-top: 3px;
}
.eq-category-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  color: var(--negro);
  letter-spacing: 0;
}
.eq-section-right { flex: 1; }

/* ── Grids ──────────────────────────────────────────────── */
.eq-grid {
  display: grid;
  gap: clamp(20px, calc(36/1920*100vw), 50px);
}
.eq-grid--2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: clamp(380px, calc(800/1920*100vw), 920px);
}
.eq-grid-flat {
  display: grid;
  gap: clamp(20px, calc(36/1920*100vw), 50px);
  padding: clamp(32px, calc(54/1920*100vw), 72px) clamp(20px, calc(80/1920*100vw), 120px) clamp(60px, calc(100/1920*100vw), 130px);
}
.eq-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.eq-grid--1 {
  grid-template-columns: 1fr;
  max-width: clamp(200px, calc(380/1920*100vw), 450px);
}

/* ── Card ───────────────────────────────────────────────── */
.eq-card { display: flex; flex-direction: column; }
.eq-card-photo-wrap {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: clamp(4px, calc(8/1920*100vw), 12px);
  margin-bottom: clamp(14px, calc(20/1920*100vw), 26px);
  background: rgba(28,28,28,0.06);
}
.eq-card-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.6s ease;
}
.eq-card:hover .eq-card-photo-wrap img { transform: scale(1.04); }
.eq-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eq-card-placeholder span {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(32px, calc(64/1920*100vw), 90px);
  color: rgba(28,28,28,0.14);
  letter-spacing: 0.1em;
}
.eq-card-rule {
  border-top: 1.5px solid rgba(28,28,28,0.18);
  margin-bottom: clamp(10px, calc(14/1920*100vw), 18px);
}
.eq-card-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(15px, calc(19/1920*100vw), 25px);
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0 0 5px 0;
}
.eq-card-cargo {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 700;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(10px, calc(14/1920*100vw), 18px);
}
.eq-card-bio {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(13/1920*100vw), 16px);
  line-height: 1.65;
  color: var(--gris);
  margin: 0 0 clamp(10px, calc(14/1920*100vw), 18px) 0;
}
.eq-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: auto;
  padding-top: 4px;
}
.eq-card-tag {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 19px);
  color: var(--negro);
  border: 1px solid rgba(28,28,28,0.22);
  border-radius: 2px;
  padding: 4px 12px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
a.eq-card-tag {
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  cursor: pointer;
}
a.eq-card-tag:hover {
  background: var(--dorado);
  border-color: var(--dorado);
  color: #fff;
  text-decoration: none;
}

/* ── Filters bar ────────────────────────────────────────── */
.eq-filters-wrap {
  background: var(--fondo);
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
  padding-bottom: clamp(24px, calc(40/1920*100vw), 56px);
}
.eq-filters-inner {
  border-top: 1.5px solid rgba(28,28,28,0.15);
  border-bottom: 1.5px solid rgba(28,28,28,0.15);
  padding: clamp(16px, calc(24/1920*100vw), 32px) 0;
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, calc(36/1920*100vw), 50px);
  flex-wrap: wrap;
}

/* Search */
.eq-search-wrap {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
  width: clamp(140px, calc(200/1920*100vw), 240px);
  border-bottom: 1px solid rgba(28,28,28,0.22);
  padding-bottom: 4px;
  color: rgba(28,28,28,0.4);
}
.eq-search-icon { flex-shrink: 0; }
.eq-search-input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 2px 0;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(17/1920*100vw), 21px);
  letter-spacing: 0.04em;
  color: var(--negro);
  outline: none;
}
.eq-search-input::placeholder { color: rgba(28,28,28,0.38); }

/* Divider */
.eq-filters-divider {
  width: 1px;
  align-self: stretch;
  background: rgba(28,28,28,0.15);
  flex-shrink: 0;
}

/* Dropdown filters */
.eq-dropdown {
  position: relative;
  flex-shrink: 0;
}
.eq-dropdown-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(17/1920*100vw), 21px);
  letter-spacing: 0.04em;
  color: var(--negro);
  white-space: nowrap;
  transition: opacity 0.18s;
}
.eq-dropdown-btn:hover { opacity: 0.65; }
.eq-dropdown-btn[aria-expanded="true"] .eq-dropdown-chevron {
  transform: rotate(180deg);
}
.eq-dropdown-chevron {
  color: var(--negro);
  transition: transform 0.22s ease;
  flex-shrink: 0;
}
.eq-dropdown-btn.has-selection { color: var(--negro); font-weight: 700; }

/* Dropdown menu */
.eq-dropdown-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  background: var(--blanco);
  border: 1px solid rgba(28,28,28,0.12);
  border-radius: 4px;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  min-width: 200px;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.eq-dropdown-menu.open {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.eq-dropdown-option {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  text-align: left;
  padding: 8px 18px;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(13/1920*100vw), 15px);
  color: rgba(28,28,28,0.6);
  cursor: pointer;
  transition: background 0.14s, color 0.14s;
  white-space: nowrap;
}
.eq-dropdown-option:hover { background: rgba(28,28,28,0.05); color: var(--negro); }
.eq-dropdown-option.active { color: var(--negro); font-weight: 700; }
.eq-dropdown-group-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(10/1920*100vw), 11px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.38);
  padding: 10px 18px 4px;
  pointer-events: none;
  border-top: 1px solid rgba(28,28,28,0.08);
  margin-top: 4px;
}
.eq-dropdown-group-label:first-of-type { border-top: none; margin-top: 0; }
.eq-dropdown-option--sub { padding-left: 24px; }

/* ── Card contact ───────────────────────────────────────── */
.eq-card-contact {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: clamp(10px, calc(14/1920*100vw), 18px);
  padding-top: clamp(10px, calc(14/1920*100vw), 18px);
  border-top: 1px solid rgba(28,28,28,0.12);
}
.eq-card-contact-link {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(19/1920*100vw), 24px);
  color: rgba(28,28,28,0.6);
  text-decoration: none;
  transition: color 0.2s;
  letter-spacing: -0.01em;
}
.eq-card-contact-link:hover { color: var(--negro); text-decoration: none; }
.eq-card-contact-link svg { flex-shrink: 0; opacity: 0.6; }
.eq-card-contact-link:hover svg { opacity: 1; }

/* ── Responsive eq ──────────────────────────────────────── */
@media (max-width: 991px) {
  .eq-h1 { font-size: clamp(38px, 10vw, 72px); }
  .eq-section-row { flex-direction: column; gap: 16px; }
  .eq-section-left { flex: none; }
  .eq-grid--2 { max-width: 100%; }
  .eq-grid--1 { max-width: 100%; grid-template-columns: repeat(2, 1fr); }
  .eq-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .eq-grid-flat { padding-left: 20px; padding-right: 20px; }
  .eq-intro-row { flex-wrap: wrap; }
  .eq-intro-num { display: none; }
  .eq-filters-inner { gap: 16px; flex-wrap: wrap; }
  .eq-filters-divider { display: none; }
  .eq-dropdown { min-width: 120px; }
  .eq-search-wrap { width: 100%; }
}
@media (max-width: 575px) {
  .eq-screen-one, .eq-intro, .eq-inner, .eq-filters-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
  .eq-h1 { font-size: clamp(38px, 12vw, 60px); }
  .eq-grid--2 { grid-template-columns: 1fr; }
  .eq-grid--1 { grid-template-columns: 1fr; }
  .eq-grid--3 { grid-template-columns: 1fr; }
  .eq-grid-flat { padding-left: 16px; padding-right: 16px; }
  .eq-intro-row { flex-direction: column; gap: 12px; }
}


/* ============================================================
   CONTACTO PAGE  (ct-*)
============================================================ */

/* ── 01 HERO ────────────────────────────────────────────── */
.ct-hero {
  background: var(--fondo);
  display: flex;
  align-items: flex-end;
  padding: clamp(110px, calc(160/1920*100vw), 200px)
           clamp(20px, calc(80/1920*100vw), 120px)
           clamp(30px, calc(50/1920*100vw), 70px);
  position: relative;
  z-index: 21;
}
.ct-hero-inner {
  width: 100%;
}
.ct-hero-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.4);
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
}
.ct-hero-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(48px, calc(110/1920*100vw), 140px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin: 0 0 clamp(24px, calc(36/1920*100vw), 48px) 0;
}
.ct-hero-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: var(--gris);
  max-width: clamp(300px, calc(560/1920*100vw), 680px);
  margin: 0;
}


/* ── 02 INFO + MAPA ─────────────────────────────────────── */
.ct-info-map {
  display: flex;
  align-items: stretch;
  min-height: clamp(360px, calc(600/1920*100vw), 740px);
  background: var(--blanco);
  position: relative;
  z-index: 20;
}

/* Panel izquierdo */
.ct-info-panel {
  flex: 0 0 clamp(260px, calc(480/1920*100vw), 600px);
  padding: clamp(40px, calc(70/1920*100vw), 90px)
           clamp(20px, calc(60/1920*100vw), 80px);
  display: flex;
  flex-direction: column;
  gap: clamp(24px, calc(36/1920*100vw), 48px);
  border-right: 1px solid rgba(28,28,28,0.1);
}

.ct-info-block {}

.ct-info-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(11/1920*100vw), 13px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.4);
  margin-bottom: clamp(6px, calc(8/1920*100vw), 12px);
}
.ct-info-value {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  color: var(--negro);
  margin: 0;
}
.ct-info-link {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--negro);
  text-decoration: none;
  transition: color 0.2s;
}
.ct-info-link:hover { color: var(--dorado); text-decoration: none; }

.ct-info-socials {
  display: flex;
  align-items: center;
  gap: clamp(8px, calc(12/1920*100vw), 18px);
  margin-top: auto;
  padding-top: clamp(16px, calc(24/1920*100vw), 32px);
  border-top: 1px solid rgba(28,28,28,0.1);
}
.ct-info-social {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 16px);
  color: rgba(28,28,28,0.5);
  text-decoration: none;
  transition: color 0.2s;
}
.ct-info-social:hover { color: var(--negro); text-decoration: none; }
.ct-info-social-dot {
  color: rgba(28,28,28,0.25);
  font-size: clamp(11px, calc(13/1920*100vw), 16px);
}

/* Panel derecho: mapa */
.ct-map-panel {
  flex: 1;
  position: relative;
  min-height: clamp(280px, calc(520/1920*100vw), 680px);
}
.ct-map-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}


/* ── 03 FORMULARIO ──────────────────────────────────────── */
.ct-form-section {
  background: var(--negro);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
  position: relative;
  z-index: 19;
}
.ct-form-inner {
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px);
  max-width: 1600px;
  margin: 0 auto;
}

/* Header del formulario */
.ct-form-header {
  margin-bottom: clamp(40px, calc(60/1920*100vw), 80px);
}
.ct-form-border {
  border-top: 1px solid rgba(245,245,245,0.15);
  margin-bottom: clamp(20px, calc(32/1920*100vw), 44px);
}
.ct-form-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: clamp(24px, calc(60/1920*100vw), 100px);
}
.ct-form-header-left {
  flex: 0 0 auto;
}
.ct-form-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.35);
  margin-bottom: clamp(12px, calc(18/1920*100vw), 24px);
}
.ct-form-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(36px, calc(72/1920*100vw), 90px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--blanco);
  margin: 0;
}
.ct-form-header-note {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(15/1920*100vw), 18px);
  line-height: 1.65;
  color: rgba(245,245,245,0.4);
  max-width: clamp(280px, calc(420/1920*100vw), 520px);
  margin: 0;
  padding-bottom: 8px;
}

/* Formulario campos */
.ct-form {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, calc(22/1920*100vw), 30px);
}
.ct-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, calc(28/1920*100vw), 48px);
}
.ct-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ct-form-field--full {
  grid-column: 1 / -1;
}
.ct-form-field-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(10/1920*100vw), 12px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.35);
  margin: 0;
}
.ct-form input,
.ct-form textarea,
.ct-form select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(245,245,245,0.18);
  padding: clamp(10px, calc(14/1920*100vw), 18px) 0;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(15/1920*100vw), 18px);
  color: var(--blanco);
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}
.ct-form input::placeholder,
.ct-form textarea::placeholder { color: rgba(245,245,245,0.25); }
.ct-form input:focus,
.ct-form textarea:focus,
.ct-form select:focus { border-bottom-color: var(--dorado); }
.ct-form select option { background: #1C1C1C; color: var(--blanco); }
.ct-form textarea { resize: none; min-height: clamp(90px, calc(130/1920*100vw), 170px); }

/* Select con chevron */
.ct-form-select-wrap {
  position: relative;
}
.ct-select-chevron {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgba(245,245,245,0.4);
}

/* Footer del form: checkbox + submit */
.ct-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, calc(24/1920*100vw), 40px);
  margin-top: clamp(8px, calc(12/1920*100vw), 20px);
  flex-wrap: wrap;
}
.ct-form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
}
.ct-form-check input[type="checkbox"] {
  flex-shrink: 0;
  accent-color: var(--dorado);
  margin-top: 3px;
  width: 14px;
  height: 14px;
}
.ct-form-check label {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  color: rgba(245,245,245,0.35);
  margin: 0;
  line-height: 1.5;
}
.ct-form-check a {
  color: var(--dorado);
  text-decoration: none;
}
.ct-form-check a:hover { text-decoration: underline; }

/* Botón submit */
.ct-form-submit {
  display: inline-flex;
  align-items: center;
  gap: clamp(12px, calc(18/1920*100vw), 26px);
  background: var(--dorado);
  border: none;
  padding: clamp(14px, calc(18/1920*100vw), 24px) clamp(20px, calc(32/1920*100vw), 46px);
  cursor: pointer;
  transition: background 0.25s, opacity 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}
.ct-form-submit:hover { background: rgba(193,170,128,0.82); }
.ct-submit-text {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--negro);
}
.ct-submit-icon {
  width: clamp(30px, calc(38/1920*100vw), 48px);
  height: clamp(30px, calc(38/1920*100vw), 48px);
  border: 1px solid rgba(28,28,28,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--negro);
}


/* ── Responsive ct ──────────────────────────────────────── */
@media (max-width: 991px) {
  .ct-hero-h1 { font-size: clamp(38px, 10vw, 72px); }
  .ct-info-map { flex-direction: column; }
  .ct-info-panel {
    flex: none;
    border-right: none;
    border-bottom: 1px solid rgba(28,28,28,0.1);
  }
  .ct-map-panel { min-height: clamp(280px, 50vw, 460px); }
  .ct-form-header-row { flex-direction: column; align-items: flex-start; gap: 24px; }
  .ct-form-header-note { max-width: 100%; }
}
@media (max-width: 575px) {
  .ct-hero {
    padding-left: 16px;
    padding-right: 16px;
  }
  .ct-hero-h1 { font-size: clamp(38px, 12vw, 60px); }
  .ct-info-panel { padding-left: 16px; padding-right: 16px; }
  .ct-form-inner { padding-left: 16px; padding-right: 16px; }
  .ct-form-row { grid-template-columns: 1fr; }
  .ct-form-footer { flex-direction: column; align-items: flex-start; }
  .ct-form-submit { width: 100%; justify-content: space-between; }
}


/* ============================================================
   SERVICIOS PAGE  (sv-*)
============================================================ */

/* ── 01 HERO ────────────────────────────────────────────── */
.sv-hero {
  background: var(--fondo);
  padding: clamp(110px, calc(160/1920*100vw), 200px)
           clamp(20px, calc(80/1920*100vw), 120px)
           clamp(30px, calc(50/1920*100vw), 70px);
  position: relative;
  z-index: 21;
}
.sv-hero-inner { width: 100%; }
.sv-hero-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.4);
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
}
.sv-hero-h1 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(48px, calc(110/1920*100vw), 140px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--negro);
  margin: 0 0 clamp(20px, calc(30/1920*100vw), 42px) 0;
}
.sv-hero-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: var(--gris);
  max-width: clamp(300px, calc(620/1920*100vw), 760px);
  margin: 0;
  text-align: justify;
}


/* ── NAV SECUNDARIA — siempre fixed, centrada ───────────── */
/* Nav inline — banda estática entre hero y secciones */
.sv-nav-inline {
  background: var(--blanco);
  border-bottom: 1px solid rgba(28,28,28,0.1);
  display: flex;
  justify-content: center;
}
.sv-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, calc(56/1920*100vw), 80px);
  height: clamp(46px, calc(54/1920*100vw), 64px);
  width: 100%;
  max-width: 800px;
  padding: 0 clamp(20px, calc(40/1920*100vw), 60px);
}
.sv-nav-a {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.45);
  text-decoration: none;
  position: relative;
  padding-bottom: 3px;
  transition: color 0.2s;
  white-space: nowrap;
}
.sv-nav-a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1.5px;
  background: var(--negro);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.sv-nav-a:hover { color: var(--negro); text-decoration: none; }
.sv-nav-a--active { color: var(--negro); }
.sv-nav-a--active::after { transform: scaleX(1); }
.sv-nav-sep {
  width: 1px;
  height: clamp(12px, calc(16/1920*100vw), 22px);
  background: rgba(28,28,28,0.18);
  flex-shrink: 0;
}
/* Spacer para compensar el nav siempre fijo */
.sv-nav-spacer {
  display: block;
  height: clamp(46px, calc(54/1920*100vw), 64px);
}


/* ── SECCIÓN DOS COLUMNAS ───────────────────────────────── */
.sv-section { background: var(--blanco); }
.sv-section--alt { background: var(--fondo); }
.sv-section-inner {
  display: flex;
  gap: clamp(24px, calc(60/1920*100vw), 90px);
  padding: clamp(40px, calc(70/1920*100vw), 90px)
           clamp(20px, calc(80/1920*100vw), 120px);
  min-height: clamp(500px, 80vh, 1000px);
}

/* Columna imagen — 50% */
.sv-img-col {
  flex: 0 0 50%;
}
.sv-img-sticky {
  position: sticky;
  top: clamp(110px, calc(140/1920*100vw), 170px);
}
.sv-img-wrap {
  position: relative;
  width: 100%;
  height: clamp(380px, 62vh, 780px);
  border-radius: clamp(6px, calc(10/1920*100vw), 14px);
  overflow: hidden;
  background: var(--fondo);
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.sv-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 0.45s ease;
}
.sv-img--active { opacity: 1; }

.sv-img-meta {
  display: flex;
  align-items: baseline;
  gap: clamp(8px, calc(12/1920*100vw), 16px);
}
.sv-img-meta--light .sv-img-meta-num,
.sv-img-meta--light .sv-img-meta-name { color: rgba(245,245,245,0.45); }
.sv-img-meta-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  color: rgba(28,28,28,0.35);
  letter-spacing: -0.01em;
  flex-shrink: 0;
  transition: all 0.2s;
}
.sv-img-meta-name {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  color: rgba(28,28,28,0.45);
  letter-spacing: -0.01em;
  line-height: 1.4;
  transition: all 0.2s;
}

/* Columna lista — 50% */
.sv-list-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sv-list-header {
  margin-bottom: clamp(24px, calc(36/1920*100vw), 50px);
  padding-bottom: clamp(20px, calc(30/1920*100vw), 40px);
  border-bottom: 1.5px solid rgba(28,28,28,0.12);
}
.sv-list-header--light { border-bottom-color: rgba(245,245,245,0.1); }
.sv-list-header-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: clamp(12px, calc(18/1920*100vw), 24px);
}
.sv-list-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.75);
}
.sv-list-label--light { color: rgba(245,245,245,0.75); }
.sv-list-count {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: rgba(28,28,28,0.55);
  letter-spacing: -0.01em;
}
.sv-list-count--light { color: rgba(245,245,245,0.55); }
.sv-list-intro {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--gris);
  margin: 0;
  text-align: justify;
}
.sv-list-intro--light { color: rgba(245,245,245,0.5); }

/* Lista de servicios */
.sv-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
}
.sv-item {
  border-bottom: 1px solid rgba(28,28,28,0.1);
}
.sv-list--light .sv-item { border-bottom-color: rgba(245,245,245,0.08); }
.sv-item-a {
  display: flex;
  align-items: center;
  gap: clamp(14px, calc(24/1920*100vw), 36px);
  padding: clamp(14px, calc(20/1920*100vw), 28px) 0;
  text-decoration: none;
  transition: background 0.2s;
}
.sv-item-a:hover { text-decoration: none; }
.sv-item-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  color: rgba(28,28,28,0.3);
  letter-spacing: -0.01em;
  flex-shrink: 0;
  min-width: clamp(22px, calc(30/1920*100vw), 40px);
  transition: color 0.2s;
}
.sv-item-a--light .sv-item-num { color: rgba(245,245,245,0.3); }
.sv-item-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  letter-spacing: -0.03em;
  color: var(--negro);
  flex: 1;
  transition: color 0.2s;
}
.sv-item-a--light .sv-item-name { color: var(--blanco); }
.sv-item-arrow {
  flex-shrink: 0;
  color: var(--negro);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.2s, transform 0.2s, color 0.2s;
}
.sv-item-a--light .sv-item-arrow { color: var(--blanco); }

/* Hover */
.sv-item:hover .sv-item-num { color: var(--dorado); }
.sv-item:hover .sv-item-name { color: var(--dorado); }
.sv-item-a--light:hover .sv-item-name { color: var(--dorado); }
.sv-item-a--light:hover .sv-item-num  { color: var(--dorado); }
.sv-item:hover .sv-item-arrow { opacity: 1; transform: translateX(0); }
.sv-item:hover .sv-item-a--light .sv-item-arrow { color: var(--dorado); }


/* ── SECTORES — misma estructura que ambiental/penal ──────── */
/* Reutiliza .sv-section + .sv-section-inner + .sv-img-col/list-col */
/* Solo agrega estilos propios del header y la lista de sectores */

.sv-sectores-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
}
.sv-sector { border-bottom: 1px solid rgba(28,28,28,0.1); }
.sv-sector-a {
  display: flex;
  align-items: center;
  gap: clamp(16px, calc(28/1920*100vw), 44px);
  padding: clamp(16px, calc(22/1920*100vw), 30px) 0;
  text-decoration: none;
}
.sv-sector-a:hover { text-decoration: none; }
.sv-sector-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  color: rgba(28,28,28,0.25);
  letter-spacing: -0.01em;
  flex-shrink: 0;
  min-width: clamp(22px, calc(30/1920*100vw), 40px);
  transition: color 0.2s;
}
.sv-sector-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(18px, calc(28/1920*100vw), 38px);
  letter-spacing: -0.035em;
  color: var(--negro);
  flex: 1;
  transition: color 0.2s;
}
.sv-sector-arrow {
  flex-shrink: 0;
  color: var(--negro);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.2s, transform 0.2s, color 0.2s;
}
.sv-sector:hover .sv-sector-num  { color: var(--dorado); }
.sv-sector:hover .sv-sector-name { color: var(--dorado); }
.sv-sector:hover .sv-sector-arrow { opacity: 1; transform: translateX(0); color: var(--dorado); }


/* ── CTA ────────────────────────────────────────────────── */
.sv-cta {
  background: var(--fondo);
  padding: clamp(60px, calc(90/1920*100vw), 120px)
           clamp(20px, calc(80/1920*100vw), 120px);
}
.sv-cta-border {
  border-top: 2px solid var(--negro);
  margin-bottom: clamp(32px, calc(50/1920*100vw), 70px);
}
.sv-cta-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(24px, calc(60/1920*100vw), 100px);
  flex-wrap: wrap;
}
.sv-cta-label {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(28,28,28,0.4);
  margin-bottom: clamp(12px, calc(18/1920*100vw), 24px);
}
.sv-cta-h2 {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(36px, calc(72/1920*100vw), 90px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--negro);
  margin: 0;
}
.sv-cta-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(20px, calc(30/1920*100vw), 42px);
  max-width: clamp(280px, calc(480/1920*100vw), 580px);
}
.sv-cta-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 22px);
  line-height: 1.6;
  color: var(--gris);
  margin: 0;
}
.sv-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: clamp(12px, calc(18/1920*100vw), 26px);
  background: var(--negro);
  padding: clamp(14px, calc(18/1920*100vw), 24px) clamp(22px, calc(36/1920*100vw), 50px);
  text-decoration: none;
  transition: background 0.25s;
}
.sv-cta-btn:hover { background: #333; text-decoration: none; }
.sv-cta-btn span:first-child {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blanco);
}
.sv-cta-btn-icon {
  width: clamp(30px, calc(38/1920*100vw), 48px);
  height: clamp(30px, calc(38/1920*100vw), 48px);
  border: 1px solid rgba(245,245,245,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blanco);
  flex-shrink: 0;
}


/* ── Responsive sv ──────────────────────────────────────── */
@media (max-width: 991px) {
  .sv-hero-h1 { font-size: clamp(38px, 10vw, 72px); }
  .sv-nav { gap: 16px; flex-wrap: wrap; height: auto; padding-top: 12px; padding-bottom: 12px; }
  .sv-nav-spacer { height: auto; min-height: clamp(60px, 10vw, 80px); }
  .sv-section-inner { flex-direction: column; min-height: auto; gap: clamp(20px, 4vw, 40px); }
  .sv-img-col { flex: none; width: 100%; }
  .sv-img-sticky { position: static; }
  .sv-img-wrap { height: clamp(240px, 50vw, 420px); }
  .sv-cta-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575px) {
  .sv-hero { padding-left: 16px; padding-right: 16px; }
  .sv-section-inner { padding-left: 16px; padding-right: 16px; }
  .sv-cta { padding-left: 16px; padding-right: 16px; }
  .sv-nav { padding-left: 16px; padding-right: 16px; }
  .sv-hero-h1 { font-size: clamp(38px, 12vw, 60px); }
  .sv-sector-name { font-size: clamp(15px, 5vw, 24px); }
}


/* ============================================================
   ÁREA PAGES & SECTOR PAGES — Clases .ap-*
   Plantilla compartida para las 26 páginas de área y sector.
============================================================ */

/* ── Contenedor interno ──────────────────────────────────── */
.ap-section-inner {
  max-width: clamp(900px, calc(1440/1920*100vw), 1440px);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, calc(80/1920*100vw), 120px);
  padding-right: clamp(20px, calc(80/1920*100vw), 120px);
}

/* ── Hero ────────────────────────────────────────────────── */
.ap-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 480px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.ap-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ap-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(20,20,20,0.15) 0%,
    rgba(20,20,20,0.55) 60%,
    rgba(20,20,20,0.80) 100%
  );
}
.ap-hero-content {
  position: relative;
  z-index: 2;
  padding: clamp(40px, calc(80/1920*100vw), 120px) clamp(20px, calc(80/1920*100vw), 120px);
  width: 100%;
}
.ap-hero-tag {
  display: inline-block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(12px, calc(22/1920*100vw), 30px);
}
.ap-hero-bread {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: rgba(245,245,245,0.55);
  margin-bottom: clamp(16px, calc(28/1920*100vw), 40px);
}
.ap-hero-bread a {
  color: rgba(245,245,245,0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.ap-hero-bread a:hover { color: var(--blanco); }
.ap-hero-title {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(36px, calc(72/1920*100vw), 96px);
  letter-spacing: -0.03em;
  line-height: 1.0;
  color: var(--blanco);
  margin: 0;
  max-width: 14ch;
}
.ap-hero-title--sector {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(40px, calc(120/1920*100vw), 160px);
  letter-spacing: 0.03em;
  line-height: 1.0;
  max-width: none;
}

/* ── Intro ───────────────────────────────────────────────── */
.ap-intro {
  padding-top: clamp(60px, calc(120/1920*100vw), 180px);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 140px);
  background: var(--blanco);
}
.ap-intro-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gris);
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.ap-intro-line {
  width: 40px;
  height: 1px;
  background: var(--dorado);
}
.ap-intro-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  color: var(--negro);
  margin-bottom: clamp(18px, calc(28/1920*100vw), 40px);
  text-align: justify;
}
.ap-intro-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.65;
  color: var(--gris);
  margin-bottom: 0;
  text-align: justify;
}

/* ── Services ────────────────────────────────────────────── */
.ap-services {
  padding-top: clamp(60px, calc(100/1920*100vw), 140px);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 140px);
  background: var(--fondo);
}
.ap-services-header {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, calc(16/1920*100vw), 20px);
  margin-bottom: clamp(40px, calc(72/1920*100vw), 100px);
}
.ap-services-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gris);
}
.ap-services-h2 {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(26px, calc(48/1920*100vw), 68px);
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--negro);
  margin: 0;
  max-width: 20ch;
}
.ap-services-list {
  display: flex;
  flex-direction: column;
}
.ap-service-item {
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, calc(48/1920*100vw), 64px);
  padding: clamp(22px, calc(32/1920*100vw), 44px) 0;
  border-top: 1px solid var(--borde);
}
.ap-service-item:last-child { border-bottom: 1px solid var(--borde); }
.ap-service-num {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  letter-spacing: 0.1em;
  color: var(--dorado);
  flex-shrink: 0;
  padding-top: 4px;
  min-width: 28px;
}
.ap-service-body {
  flex: 1;
}
.ap-service-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--negro);
  margin-bottom: clamp(6px, calc(10/1920*100vw), 14px);
  line-height: 1.2;
}
.ap-service-desc {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.6;
  color: var(--gris);
}

/* ── Related (sector pages) ──────────────────────────────── */
.ap-related {
  padding-top: clamp(60px, calc(100/1920*100vw), 140px);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 140px);
  background: var(--fondo);
}
.ap-related-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gris);
  margin-bottom: clamp(28px, calc(48/1920*100vw), 64px);
}
.ap-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(200px, calc(280/1920*100vw), 340px), 1fr));
  gap: 1px;
  border: 1px solid var(--borde);
}
.ap-related-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: clamp(18px, calc(26/1920*100vw), 36px) clamp(16px, calc(28/1920*100vw), 40px);
  background: var(--blanco);
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--negro);
  text-decoration: none;
  border: 1px solid var(--borde);
  transition: background 0.2s, color 0.2s;
}
.ap-related-item:hover {
  background: var(--negro);
  color: var(--blanco);
  border-color: var(--negro);
}
.ap-related-item svg { flex-shrink: 0; transition: transform 0.2s; }
.ap-related-item:hover svg { transform: translateX(4px); }

/* ── Team ────────────────────────────────────────────────── */
.ap-team {
  padding-top: clamp(60px, calc(100/1920*100vw), 140px);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 140px);
  background: var(--blanco);
}
.ap-team-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gris);
  margin-bottom: clamp(28px, calc(48/1920*100vw), 64px);
}
.ap-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(220px, calc(320/1920*100vw), 400px), 1fr));
  gap: clamp(20px, calc(32/1920*100vw), 48px);
}
.ap-team-card {
  display: block;
  text-decoration: none;
  color: var(--negro);
  group: '';
}
.ap-team-img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: grayscale(20%);
  transition: filter 0.3s;
}
.ap-team-card:hover .ap-team-img { filter: grayscale(0%); }
.ap-team-info {
  padding: clamp(14px, calc(20/1920*100vw), 28px) 0 0;
  border-top: 1px solid var(--borde);
  margin-top: clamp(14px, calc(20/1920*100vw), 28px);
}
.ap-team-name {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(16px, calc(20/1920*100vw), 26px);
  color: var(--negro);
  margin-bottom: 4px;
}
.ap-team-role {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--dorado);
  margin-bottom: 4px;
}
.ap-team-areas {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--gris);
}

/* ── Casos de éxito ─────────────────────────────────────── */
.ap-cases {
  background: var(--fondo-oscuro);
  padding: clamp(60px, calc(100/1920*100vw), 130px) 0;
}
.ap-cases-header {
  margin-bottom: clamp(32px, calc(52/1920*100vw), 72px);
}
.ap-cases-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 17px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.45);
  margin-bottom: clamp(12px, calc(18/1920*100vw), 26px);
}
.ap-cases-h2 {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(28px, calc(52/1920*100vw), 72px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--blanco);
  margin: 0;
}
.ap-cases-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(245,245,245,0.1);
}
.ap-case-item {
  display: flex;
  align-items: center;
  gap: clamp(16px, calc(28/1920*100vw), 44px);
  padding: clamp(20px, calc(28/1920*100vw), 40px) 0;
  border-bottom: 1px solid rgba(245,245,245,0.1);
  text-decoration: none;
  color: var(--blanco);
  transition: padding-left 0.3s ease;
  cursor: pointer;
}
.ap-case-item:hover { padding-left: clamp(10px, calc(18/1920*100vw), 24px); text-decoration: none; color: var(--blanco); }
.ap-case-item:hover .ap-case-num { color: var(--dorado); }
.ap-case-item:hover .ap-case-arrow { transform: translateX(6px); color: var(--dorado); }
.ap-case-num {
  font-family: 'Sackers Gothic', sans-serif;
  font-size: clamp(11px, calc(14/1920*100vw), 18px);
  color: rgba(245,245,245,0.35);
  flex-shrink: 0;
  min-width: clamp(28px, calc(42/1920*100vw), 56px);
  transition: color 0.3s;
}
.ap-case-body { flex: 1; }
.ap-case-type {
  font-family: 'Sackers Gothic', sans-serif;
  font-size: clamp(9px, calc(11/1920*100vw), 14px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(4px, calc(7/1920*100vw), 10px);
}
.ap-case-title {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  line-height: 1.35;
  color: var(--blanco);
}
.ap-case-arrow {
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.3s ease, color 0.3s;
  color: rgba(245,245,245,0.35);
}
@media (max-width: 575px) {
  .ap-case-arrow { display: none; }
  .ap-case-num { min-width: 28px; }
}

/* ── CTA ─────────────────────────────────────────────────── */
.ap-cta {
  background: var(--fondo-oscuro);
  padding: clamp(60px, calc(100/1920*100vw), 140px) clamp(20px, calc(80/1920*100vw), 120px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, calc(40/1920*100vw), 60px);
  flex-wrap: wrap;
}
.ap-cta-text {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(30px, calc(56/1920*100vw), 80px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--blanco);
}
.ap-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: clamp(14px, calc(20/1920*100vw), 28px) clamp(24px, calc(36/1920*100vw), 52px);
  border: 1px solid rgba(245,245,245,0.35);
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(16/1920*100vw), 20px);
  color: var(--blanco);
  text-decoration: none;
  transition: border-color 0.25s, background 0.25s, color 0.25s;
  flex-shrink: 0;
}
.ap-cta-btn:hover {
  background: var(--dorado);
  border-color: var(--dorado);
  color: var(--negro);
}
.ap-cta-btn svg { transition: transform 0.2s; }
.ap-cta-btn:hover svg { transform: translateX(4px); }

/* ── Responsive ap ───────────────────────────────────────── */
@media (max-width: 991px) {
  .ap-hero-title { font-size: clamp(32px, 8vw, 64px); }
  .ap-hero-title--sector { font-size: clamp(48px, 12vw, 100px); }
  .ap-services-h2 { font-size: clamp(24px, 6vw, 52px); }
  .ap-cta { flex-direction: column; align-items: flex-start; }
  .ap-cta-text { font-size: clamp(28px, 7vw, 56px); }
  .ap-team-grid { grid-template-columns: repeat(2, 1fr); }
  .ap-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .ap-section-inner { padding-left: 16px; padding-right: 16px; }
  .ap-hero { height: 72vh; min-height: 360px; }
  .ap-hero-content { padding-left: 16px; padding-right: 16px; padding-bottom: 32px; }
  .ap-hero-title { font-size: clamp(20px, 7vw, 34px); }
  .ap-hero-title--sector { font-size: clamp(26px, 9vw, 46px); }
  .ap-hero-bread { font-size: 12px; }
  .ap-services-h2 { font-size: clamp(22px, 8vw, 44px); }
  .ap-service-item { flex-direction: column; gap: 8px; }
  .ap-service-num { padding-top: 0; }
  .ap-team-grid { grid-template-columns: 1fr; }
  .ap-cta { padding-left: 16px; padding-right: 16px; }
  .ap-cta-text { font-size: clamp(26px, 9vw, 48px); }
}


/* ============================================================
   PÁGINAS DE PERFIL — equipo-*.html
============================================================ */
.profile-section {
  padding-top: clamp(110px, calc(160/1920*100vw), 200px);
  padding-bottom: clamp(60px, calc(100/1920*100vw), 140px);
  padding-left: clamp(20px, calc(80/1920*100vw), 120px);
  padding-right: clamp(20px, calc(80/1920*100vw), 120px);
  background: var(--fondo);
  min-height: 90vh;
}
.profile-grid {
  display: grid;
  grid-template-columns: clamp(340px, calc(720/1920*100vw), 900px) clamp(260px, calc(480/1920*100vw), 580px);
  gap: clamp(24px, calc(56/1920*100vw), 80px);
  align-items: start;
}
.profile-left {
  position: sticky;
  top: clamp(100px, calc(130/1920*100vw), 160px);
}
.profile-photo-wrap {
  border-radius: clamp(6px, calc(10/1920*100vw), 14px);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.profile-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.7s ease;
}
.profile-photo-wrap:hover .profile-photo { transform: scale(1.03); }
.profile-photo-caption-name {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(12px, calc(16/1920*100vw), 20px);
  letter-spacing: 0.04em;
  color: var(--negro);
}
.profile-photo-caption-role {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(14/1920*100vw), 17px);
  color: var(--gris);
  margin-top: clamp(3px, calc(5/1920*100vw), 7px);
}

/* Right column */
.profile-bread {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gris);
  margin-bottom: clamp(18px, calc(32/1920*100vw), 48px);
  display: flex;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
}
.profile-bread a { color: var(--gris); }
.profile-bread a:hover { color: var(--negro); }

.profile-name {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(28px, calc(56/1920*100vw), 72px);
  line-height: 1.0;
  letter-spacing: 0.01em;
  color: var(--negro);
  margin-bottom: clamp(12px, calc(18/1920*100vw), 26px);
}
.profile-cargo {
  font-family: 'Aeonik', sans-serif;
  font-weight: 400;
  font-size: clamp(17px, calc(26/1920*100vw), 34px);
  color: var(--dorado);
  letter-spacing: -0.02em;
  margin-bottom: clamp(8px, calc(14/1920*100vw), 18px);
}
.profile-areas {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(19/1920*100vw), 24px);
  color: var(--gris);
  margin-bottom: clamp(28px, calc(44/1920*100vw), 64px);
  letter-spacing: -0.01em;
  text-align: justify;
}
.profile-bio-text { text-align: justify; }
.profile-divider {
  border-top: 1.5px solid rgba(28,28,28,0.15);
  margin-bottom: 0;
}

/* Accordion */
.profile-acc-item {
  border-bottom: 1px solid rgba(28,28,28,0.15);
}
.profile-acc-trigger {
  width: 100%;
  background: none;
  border: none;
  padding: clamp(16px, calc(24/1920*100vw), 34px) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(15px, calc(20/1920*100vw), 26px);
  color: var(--negro);
  text-align: left;
  letter-spacing: -0.02em;
  transition: color 0.25s;
  gap: 16px;
}
.profile-acc-trigger:hover { color: var(--dorado); }
.profile-acc-icon {
  width: clamp(26px, calc(36/1920*100vw), 48px);
  height: clamp(26px, calc(36/1920*100vw), 48px);
  border: 1px solid rgba(28,28,28,0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.3s, border-color 0.3s, transform 0.3s;
}
.profile-acc-trigger svg { color: var(--negro); transition: color 0.3s; }
.profile-acc-item.pf-open .profile-acc-icon {
  background: var(--negro);
  border-color: var(--negro);
  transform: rotate(45deg);
}
.profile-acc-item.pf-open .profile-acc-icon svg { color: #fff; }

.profile-acc-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.45s ease;
}
.profile-acc-item.pf-open .profile-acc-body {
  max-height: 1800px;
}
.profile-acc-body-inner {
  padding-bottom: clamp(20px, calc(30/1920*100vw), 44px);
}
.profile-acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, calc(20/1920*100vw), 28px);
}
.profile-acc-entry {
  display: flex;
  gap: clamp(12px, calc(20/1920*100vw), 30px);
  align-items: flex-start;
}
.profile-acc-year {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(11/1920*100vw), 14px);
  color: var(--dorado);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  min-width: auto;
  text-align: right;
  margin-top: 3px;
  flex-shrink: 0;
  order: 2;
}
.profile-acc-text { flex: 1; order: 1; }
.profile-acc-main {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 23px);
  line-height: 1.55;
  color: var(--negro);
  letter-spacing: -0.01em;
  display: block;
}
.profile-acc-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(15/1920*100vw), 19px);
  color: var(--gris);
  letter-spacing: -0.01em;
  margin-top: clamp(2px, calc(4/1920*100vw), 6px);
  display: block;
}

/* Tabla de contacto (Cargo / Email / Teléfono) */
.profile-contact-table {
  margin-bottom: clamp(28px, calc(44/1920*100vw), 64px);
}
.profile-contact-row {
  display: grid;
  grid-template-columns: clamp(72px, calc(110/1920*100vw), 150px) 1fr;
  border-top: 1px solid rgba(28,28,28,0.12);
  padding: clamp(11px, calc(15/1920*100vw), 22px) 0;
  align-items: center;
  gap: clamp(12px, calc(20/1920*100vw), 32px);
}
.profile-contact-row:last-child {
  border-bottom: 1px solid rgba(28,28,28,0.12);
}
.profile-contact-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--gris);
}
.profile-contact-value {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(18/1920*100vw), 23px);
  color: var(--negro);
  letter-spacing: -0.01em;
}
.profile-contact-value a { color: var(--negro); }
.profile-contact-value a:hover { color: var(--dorado); }

/* Sección más especialistas */
.profile-more {
  padding: clamp(60px, calc(100/1920*100vw), 140px) clamp(20px, calc(80/1920*100vw), 120px);
  background: var(--fondo);
  border-top: 1.5px solid rgba(28,28,28,0.12);
}
.profile-more-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: clamp(36px, calc(60/1920*100vw), 88px);
  gap: 24px;
}
.profile-more-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(18px, calc(28/1920*100vw), 38px);
  color: var(--negro);
  letter-spacing: 0.02em;
}
.profile-more-viewall {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(15/1920*100vw), 19px);
  color: var(--negro);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(28,28,28,0.35);
  padding-bottom: 3px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.25s, border-color 0.25s;
}
.profile-more-viewall:hover { color: var(--dorado); border-color: var(--dorado); }
.profile-more-viewall svg { transition: transform 0.2s; }
.profile-more-viewall:hover svg { transform: translateX(4px); }
.profile-more-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, calc(32/1920*100vw), 52px);
}
.profile-more-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--negro);
}
.profile-more-card-img-wrap {
  border-radius: clamp(4px, calc(8/1920*100vw), 12px);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  margin-bottom: clamp(14px, calc(20/1920*100vw), 28px);
}
.profile-more-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.65s ease;
}
.profile-more-card:hover .profile-more-card-img { transform: scale(1.04); }
.profile-more-card-name {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(13px, calc(17/1920*100vw), 22px);
  color: var(--negro);
  letter-spacing: 0.02em;
  margin-bottom: clamp(4px, calc(6/1920*100vw), 8px);
  transition: color 0.25s;
}
.profile-more-card:hover .profile-more-card-name { color: var(--dorado); }
.profile-more-card-role {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(14/1920*100vw), 17px);
  color: var(--gris);
  margin-bottom: clamp(4px, calc(6/1920*100vw), 8px);
}
.profile-more-card-contact {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  color: var(--gris);
  margin-top: 2px;
}

/* Responsive */
@media (max-width: 991px) {
  .profile-grid {
    grid-template-columns: 1fr;
    gap: clamp(24px, 5vw, 48px);
  }
  .profile-left { position: static; }
  .profile-photo-wrap { max-width: 360px; }
  .profile-name { font-size: clamp(26px, 8vw, 60px); }
  .profile-more-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .profile-section {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 90px;
  }
  .profile-more {
    padding-left: 16px;
    padding-right: 16px;
  }
  .profile-name { font-size: clamp(22px, 10vw, 48px); }
  .profile-photo-wrap { max-width: 260px; }
  .profile-more-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   PUBLICACIONES — pub-*
   ============================================================ */

/* Hero */
.pub-hero {
  position: relative;
  width: 100%;
  height: clamp(420px, calc(680/1920*100vw), 720px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.pub-hero-bg {
  position: absolute;
  inset: 0;
}
.pub-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.pub-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(20,20,20,0.45) 0%, rgba(20,20,20,0.82) 100%);
}
.pub-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px) clamp(48px, calc(80/1920*100vw), 100px);
}
.pub-hero-top {
  display: flex;
  align-items: center;
  gap: clamp(12px, calc(20/1920*100vw), 28px);
  margin-bottom: clamp(8px, calc(16/1920*100vw), 20px);
}
.pub-hero-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blanco);
  opacity: 0.7;
}
.pub-hero-num {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  color: var(--blanco);
  opacity: 0.5;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 20px;
  padding: 2px 10px;
}
.pub-hero-h {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(44px, calc(100/1920*100vw), 130px);
  letter-spacing: -0.04em;
  line-height: 0.92;
  color: var(--blanco);
  margin: 0 0 clamp(16px, calc(28/1920*100vw), 36px);
}
.pub-hero-cats {
  display: flex;
  align-items: center;
  gap: clamp(8px, calc(14/1920*100vw), 20px);
  flex-wrap: wrap;
}
.pub-hero-cats span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  color: var(--blanco);
  opacity: 0.65;
}
.pub-hero-sep {
  opacity: 0.35 !important;
}

/* Layout principal */
.pub-section {
  background: var(--blanco);
}
.pub-layout {
  display: grid;
  grid-template-columns: clamp(200px, calc(300/1920*100vw), 340px) 1fr;
  min-height: 60vh;
}

/* Columna izquierda — filtros */
.pub-left {
  border-right: 1px solid var(--borde);
}
.pub-cats-sticky {
  position: sticky;
  top: clamp(80px, calc(100/1920*100vw), 120px);
  padding: clamp(32px, calc(56/1920*100vw), 72px) clamp(20px, calc(40/1920*100vw), 56px);
}
.pub-cats-border {
  width: 32px;
  height: 2px;
  background: var(--negro);
  margin-bottom: clamp(24px, calc(36/1920*100vw), 48px);
}
.pub-cats {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pub-cat {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: var(--negro);
  opacity: 0.35;
  padding: clamp(10px, calc(14/1920*100vw), 18px) 0;
  border-bottom: 1px solid var(--borde);
  cursor: pointer;
  transition: opacity 0.2s ease;
  user-select: none;
}
.pub-cat:first-child {
  border-top: 1px solid var(--borde);
}
.pub-cat:hover {
  opacity: 0.7;
}
.pub-cat--active {
  opacity: 1;
  font-weight: 700;
}
.pub-cats-select {
  display: none;
  position: relative;
  margin-top: 16px;
}
.pub-cats-select select {
  width: 100%;
  appearance: none;
  font-family: 'Aeonik', sans-serif;
  font-size: 14px;
  color: var(--negro);
  background: transparent;
  border: 1px solid var(--borde);
  border-radius: 4px;
  padding: 10px 36px 10px 14px;
  cursor: pointer;
}
.pub-cats-select svg {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Columna derecha — artículos */
.pub-right {
  padding: clamp(32px, calc(56/1920*100vw), 72px) clamp(24px, calc(56/1920*100vw), 80px);
}
.pub-articles {
  display: flex;
  flex-direction: column;
}
.pub-article {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: clamp(16px, calc(24/1920*100vw), 40px);
  padding: clamp(20px, calc(28/1920*100vw), 40px) 0;
  border-bottom: 1px solid var(--borde);
  text-decoration: none;
  color: var(--negro);
  transition: background 0.18s;
}
.pub-article:first-child {
  border-top: 1px solid var(--borde);
}
.pub-article:hover .pub-article-name {
  opacity: 0.6;
}
.pub-article:hover .pub-article-icon {
  transform: translateX(4px);
}
.pub-article-meta {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: clamp(8px, calc(12/1920*100vw), 16px);
  margin-bottom: clamp(6px, calc(10/1920*100vw), 14px);
}
.pub-article-date {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  color: var(--gris);
  opacity: 0.7;
}
.pub-article-tag {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(8px, calc(10/1920*100vw), 12px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 20px;
  padding: 3px 10px;
}
.pub-article-tag--casos {
  background: rgba(193,170,128,0.15);
  color: #8a7453;
}
.pub-article-tag--blog {
  background: rgba(80,120,200,0.12);
  color: #3a5fa0;
}
.pub-article-tag--noticias {
  background: rgba(60,160,100,0.12);
  color: #2a7a50;
}
.pub-article-name {
  grid-column: 1;
  grid-row: 2;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(19/1920*100vw), 26px);
  font-weight: 400;
  line-height: 1.35;
  color: var(--negro);
  transition: opacity 0.18s;
}
.pub-article-icon {
  grid-column: 2;
  grid-row: 1 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--negro);
  transition: transform 0.18s ease;
  flex-shrink: 0;
}

/* Responsive publicaciones */
@media (max-width: 991px) {
  .pub-layout {
    grid-template-columns: 1fr;
  }
  .pub-left {
    border-right: none;
    border-bottom: 1px solid var(--borde);
  }
  .pub-cats-sticky {
    position: static;
    padding: 24px 20px;
  }
  .pub-cats {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .pub-cat {
    border: 1px solid var(--borde);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: clamp(12px, 3vw, 15px);
  }
  .pub-cat:first-child { border-top: 1px solid var(--borde); }
  .pub-cats-border { display: none; }
  .pub-right {
    padding: 24px 20px;
  }
}
@media (max-width: 575px) {
  .pub-hero-inner {
    padding-bottom: 36px;
  }
  .pub-cats {
    display: none;
  }
  .pub-cats-select {
    display: block;
  }
  .pub-article {
    grid-template-columns: 1fr 32px;
  }
}


/* ============================================================
   CASOS — TODOS LOS CASOS (casos.html)
   ============================================================ */

.casos-hero {
  position: relative;
  width: 100%;
  height: clamp(380px, calc(580/1920*100vw), 680px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.casos-hero-bg {
  position: absolute;
  inset: 0;
}
.casos-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.casos-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(20,20,20,0.38) 0%, rgba(20,20,20,0.78) 100%);
}
.casos-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 clamp(20px, calc(80/1920*100vw), 120px) clamp(48px, calc(80/1920*100vw), 100px);
}
.casos-hero-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blanco);
  opacity: 0.65;
  display: block;
  margin-bottom: clamp(10px, calc(16/1920*100vw), 20px);
}
.casos-hero-h {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(44px, calc(100/1920*100vw), 130px);
  letter-spacing: -0.04em;
  line-height: 0.92;
  color: var(--blanco);
  margin: 0 0 clamp(16px, calc(24/1920*100vw), 32px);
}
.casos-hero-sub {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 20px);
  color: var(--blanco);
  opacity: 0.6;
}

/* Sección principal */
.casos-section {
  background: var(--blanco);
  padding: clamp(48px, calc(80/1920*100vw), 120px) clamp(20px, calc(80/1920*100vw), 120px);
}
.casos-layout {
  display: grid;
  grid-template-columns: clamp(180px, calc(260/1920*100vw), 300px) 1fr;
  gap: clamp(32px, calc(60/1920*100vw), 100px);
  align-items: start;
}

/* Filtros izquierda */
.casos-filters-sticky {
  position: sticky;
  top: clamp(80px, calc(100/1920*100vw), 120px);
}
.casos-filters-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(11/1920*100vw), 14px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--negro);
  opacity: 0.5;
  margin-bottom: clamp(16px, calc(24/1920*100vw), 32px);
}
.casos-filter-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.casos-filter-item {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  color: var(--negro);
  opacity: 0.35;
  padding: clamp(9px, calc(12/1920*100vw), 16px) 0;
  border-bottom: 1px solid var(--borde);
  cursor: pointer;
  transition: opacity 0.2s;
  user-select: none;
}
.casos-filter-item:first-child {
  border-top: 1px solid var(--borde);
}
.casos-filter-item:hover { opacity: 0.65; }
.casos-filter-item--active {
  opacity: 1;
  font-weight: 700;
}

/* Grid de casos */
.casos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--borde);
  border-left: 1px solid var(--borde);
}
.caso-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(20px, calc(32/1920*100vw), 48px);
  border-right: 1px solid var(--borde);
  border-bottom: 1px solid var(--borde);
  text-decoration: none;
  color: var(--negro);
  min-height: clamp(160px, calc(220/1920*100vw), 280px);
  transition: background 0.18s;
}
.caso-card:hover {
  background: var(--fondo);
}
.caso-card:hover .caso-card-arrow {
  transform: translateX(4px);
}
.caso-card-top {
  margin-bottom: clamp(16px, calc(24/1920*100vw), 36px);
}
.caso-card-sector {
  display: inline-block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(8px, calc(10/1920*100vw), 12px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(6px, calc(10/1920*100vw), 14px);
}
.caso-card-type {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  color: var(--gris);
  opacity: 0.7;
  line-height: 1.4;
  margin-bottom: clamp(6px, calc(10/1920*100vw), 14px);
}
.caso-card-title {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(13px, calc(16/1920*100vw), 21px);
  font-weight: 500;
  line-height: 1.35;
  color: var(--negro);
}
.caso-card-bottom {
  display: flex;
  justify-content: flex-end;
}
.caso-card-arrow {
  color: var(--negro);
  transition: transform 0.18s ease;
}

/* Responsive casos */
@media (max-width: 991px) {
  .casos-layout {
    grid-template-columns: 1fr;
  }
  .casos-filters-sticky { position: static; }
  .casos-filter-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .casos-filter-item {
    border: 1px solid var(--borde);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: clamp(12px, 3vw, 15px);
  }
  .casos-filter-item:first-child { border-top: 1px solid var(--borde); }
  .casos-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575px) {
  .casos-section {
    padding-left: 16px;
    padding-right: 16px;
  }
  .casos-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   CASO INDIVIDUAL — caso-*
   ============================================================ */

.caso-hero {
  position: relative;
  background: var(--fondo-oscuro);
  padding: clamp(120px, calc(180/1920*100vw), 240px) clamp(20px, calc(80/1920*100vw), 120px) clamp(48px, calc(80/1920*100vw), 100px);
}
.caso-bread {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: clamp(20px, calc(36/1920*100vw), 52px);
}
.caso-bread a,
.caso-bread span {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(11px, calc(13/1920*100vw), 15px);
  color: var(--blanco);
  opacity: 0.5;
  text-decoration: none;
  transition: opacity 0.18s;
}
.caso-bread a:hover { opacity: 0.85; }
.caso-bread-sep { opacity: 0.3 !important; }
.caso-hero-tag {
  display: block;
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: clamp(12px, calc(20/1920*100vw), 28px);
}
.caso-hero-h {
  font-family: 'Aeonik', sans-serif;
  font-weight: 700;
  font-size: clamp(28px, calc(56/1920*100vw), 80px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--blanco);
  max-width: clamp(500px, calc(900/1920*100vw), 1100px);
  margin: 0;
}

.caso-imgwrap {
  width: 100%;
  height: clamp(220px, calc(480/1920*100vw), 640px);
  overflow: hidden;
}
.caso-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.caso-body {
  background: var(--blanco);
}
.caso-body-inner {
  padding: clamp(48px, calc(80/1920*100vw), 120px) clamp(20px, calc(80/1920*100vw), 120px);
  max-width: 1400px;
}
.caso-section-row {
  display: grid;
  grid-template-columns: clamp(160px, calc(240/1920*100vw), 280px) 1fr;
  gap: clamp(24px, calc(48/1920*100vw), 80px);
  padding: clamp(32px, calc(52/1920*100vw), 72px) 0;
  border-bottom: 1px solid var(--borde);
}
.caso-section-row:first-child {
  border-top: 1px solid var(--borde);
}
.caso-section-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(9px, calc(11/1920*100vw), 14px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--negro);
  opacity: 0.5;
  padding-top: 4px;
}
.caso-section-text {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(14px, calc(17/1920*100vw), 22px);
  line-height: 1.6;
  color: var(--negro);
}
.caso-section-text strong {
  font-weight: 700;
}
.caso-section-text p { margin: 0 0 1em; }
.caso-section-text p:last-child { margin-bottom: 0; }
.caso-section-text ul {
  padding-left: 1.2em;
  margin: 0;
}
.caso-section-text ul li {
  margin-bottom: 0.5em;
}

/* Resultado highlight */
.caso-result-box {
  background: var(--fondo);
  border-left: 3px solid var(--dorado);
  padding: clamp(20px, calc(28/1920*100vw), 40px) clamp(24px, calc(36/1920*100vw), 52px);
  border-radius: 0 4px 4px 0;
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(15px, calc(19/1920*100vw), 26px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--negro);
}

/* Casos relacionados */
.caso-related {
  background: var(--fondo);
  padding: clamp(48px, calc(72/1920*100vw), 100px) clamp(20px, calc(80/1920*100vw), 120px);
}
.caso-related-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: clamp(24px, calc(40/1920*100vw), 60px);
  flex-wrap: wrap;
  gap: 16px;
}
.caso-related-label {
  font-family: 'Sackers Gothic', sans-serif;
  font-weight: 300;
  font-size: clamp(10px, calc(13/1920*100vw), 16px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--negro);
  opacity: 0.5;
}
.caso-related-all {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(15/1920*100vw), 18px);
  color: var(--negro);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.6;
  transition: opacity 0.18s;
}
.caso-related-all:hover { opacity: 1; }
.caso-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--borde);
}
.caso-rel-card {
  background: var(--blanco);
  padding: clamp(20px, calc(28/1920*100vw), 40px);
  text-decoration: none;
  color: var(--negro);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: clamp(140px, calc(180/1920*100vw), 240px);
  transition: background 0.18s;
}
.caso-rel-card:hover {
  background: #f0f0f0;
}
.caso-rel-card:hover .caso-rel-arrow {
  transform: translateX(4px);
}
.caso-rel-type {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(10px, calc(12/1920*100vw), 14px);
  color: var(--gris);
  opacity: 0.65;
  margin-bottom: clamp(8px, calc(12/1920*100vw), 16px);
}
.caso-rel-title {
  font-family: 'Aeonik', sans-serif;
  font-size: clamp(12px, calc(15/1920*100vw), 19px);
  line-height: 1.4;
  font-weight: 500;
  flex-grow: 1;
}
.caso-rel-bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(12px, calc(18/1920*100vw), 24px);
}
.caso-rel-arrow {
  color: var(--negro);
  transition: transform 0.18s ease;
}

/* Responsive caso individual */
@media (max-width: 991px) {
  .caso-section-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .caso-related-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575px) {
  .caso-hero {
    padding-left: 16px;
    padding-right: 16px;
  }
  .caso-body-inner {
    padding-left: 16px;
    padding-right: 16px;
  }
  .caso-related {
    padding-left: 16px;
    padding-right: 16px;
  }
  .caso-related-grid {
    grid-template-columns: 1fr;
  }
}

