/* =====================================================
   DESIGN SYSTEM 2026 – SPACE TELECOM (Starlink vibe)
   Light default + Dark via prefers-color-scheme
   ===================================================== */

/* =====================================================
   LIGHT (DEFAULT)
   ===================================================== */
:root {
  /* -----------------------------
     Brand (GLOBAL)
  ----------------------------- */
  --primary: #0097ce; /* Movilnet Blue */
  --secondary: #0696cc;
  --support: #0099ce;

  /* Accent “space” (halo / aurora) */
  --accent: #4fd1c5; /* teal glow */
  --accent-2: #7c3aed; /* violet glow (optional) */
  --warning: #f4c430;

  /* Legacy */
  --orange2: #f4c430;

  /* -----------------------------
     Core UI (general)
  ----------------------------- */
  --bg-main: #ffffff;
  --bg-soft: #f2f4f7;
  --bg-navbar: transparent;

  /* Glass / overlays */
  --overlay-dark: rgba(0, 0, 0, 0.6);
  --glass: rgba(255, 255, 255, 0.72);
  --glass-2: rgba(255, 255, 255, 0.55);
  --stroke: rgba(0, 0, 0, 0.08);

  /* Text */
  --text-main: #1f2933;
  --text-muted: rgba(31, 41, 51, 0.72);
  --text-light: #ffffff;

  /* Shadows (orbital) */
  --shadow-sm: 0 6px 16px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 14px 38px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 24px 70px rgba(0, 0, 0, 0.18);
  --shadow-nav: 0 2px 8px rgba(0, 0, 0, 0.1);

  /* Radius / spacing */
  --radius-sm: 16px;
  --radius-md: 26px;
  --radius-lg: 38px;

  /* -----------------------------
     Mobile menu
  ----------------------------- */
  --menu-bg: #ffffff;
  --menu-sep: rgba(0, 0, 0, 0.1);
  --menu-text: #111111;
  --menu-muted: rgba(0, 0, 0, 0.55);

  /* -----------------------------
     About
  ----------------------------- */
  --about-bg: #ffffff;
  --about-text: #111111;
  --about-muted: #555555;
  --about-card: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.92));
  --about-border: rgba(0, 0, 0, 0.08);
  --about-shadow: var(--shadow-md);

  /* -----------------------------
     Solutions
  ----------------------------- */
  --sol-bg: var(--bg-soft);
  --sol-title: var(--text-main);
  --sol-text: #2d3748;
  --sol-muted: #6b7280;

  --sol-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.92));
  --sol-card-border: rgba(0, 0, 0, 0.07);
  --sol-card-shadow: 0 18px 42px rgba(10, 16, 24, 0.1);
  --sol-card-shadow-hover: 0 24px 56px rgba(0, 151, 206, 0.18);

  /* -----------------------------
     Valores panel
  ----------------------------- */
  --vals-panel-bg: linear-gradient(160deg, rgba(255, 255, 255, 0.94), rgba(242, 247, 251, 0.9));
  --vals-panel-border: rgba(0, 0, 0, 0.07);
  --vals-panel-shadow: 0 28px 70px rgba(15, 23, 42, 0.2);

  --vals-heading: #1f2a44;
  --vals-text: #0b2a7a;
  --vals-separator: rgba(0, 0, 0, 0.1);

  /* -----------------------------
     Trust / Confianza
  ----------------------------- */
  --trust-bg: var(--bg-soft);
  --trust-title: var(--text-main);
  --trust-subtitle: rgba(31, 41, 51, 0.7);

  --trust-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 247, 251, 0.92));
  --trust-card-border: rgba(0, 0, 0, 0.08);
  --trust-card-shadow: 0 22px 54px rgba(15, 23, 42, 0.12);
  --trust-card-shadow-hover: 0 28px 70px rgba(0, 151, 206, 0.18);

  --trust-form-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 248, 252, 0.92));
  --trust-form-border: rgba(0, 0, 0, 0.08);
  --trust-form-shadow: var(--shadow-md);

  --trust-img-height: 175px;
  --trust-radius: var(--radius-md);

  --trust-input-bg: #ffffff;
  --trust-input-border: rgba(17, 24, 39, 0.18);
  --trust-input-border-focus: rgba(0, 151, 206, 0.55);
  --trust-input-text: #0f172a;
  --trust-input-placeholder: rgba(15, 23, 42, 0.55);

  --trust-muted: rgba(31, 41, 51, 0.72);

  /* -----------------------------
   Volunteer (split)
----------------------------- */
  --vol-radius: var(--radius-md);

  --vol-left-width: 42%;

  /* overlays suaves para light */
  --vol-right-overlay: rgba(255, 255, 255, 0.72);
  --vol-left-overlay: rgba(0, 151, 206, 0.08);

  /* textos oscuros */
  --vol-text: #111827;
  --vol-text-2: rgba(17, 24, 39, 0.72);

  /* bordes */
  --vol-border: rgba(17, 24, 39, 0.18);

  /* backgrounds */
  --vol-section-bg: #f6f8fb;
  --vol-form-bg: rgba(0, 151, 206, 0.06);

  --vol-btn-hover-text: var(--orange2);

  --vol-focus: 0 0 0 3px rgba(0, 151, 206, 0.25);

  /* -----------------------------
     “Space glow” helpers
  ----------------------------- */
  --glow-primary:
    0 0 0 6px rgba(0, 151, 206, 0.14), 0 18px 60px rgba(0, 151, 206, 0.22);

  --glow-accent:
    0 0 0 6px rgba(79, 209, 197, 0.12), 0 18px 70px rgba(79, 209, 197, 0.18);

  /* FOOTER (mismo dark para light y dark) */
  --footer-bg: #080a0f;
  --footer-surface: #11151d;
  --footer-surface-2: #161b24;

  --footer-text: #f5f7fb;
  --footer-muted: #8f99ab;
  --footer-text-soft: rgba(247, 251, 255, 0.86);
  --footer-text-subtle: rgba(247, 251, 255, 0.7);

  --footer-accent: #53a1bc;
  --footer-accent-2: #00aeef;
  --footer-primary: #0097ce;

  --footer-border: #202734;
  --footer-focus: rgba(0, 174, 239, 0.22);
  --footer-shadow-soft: 0 10px 35px rgba(0, 0, 0, 0.55);
  --footer-input-bg: rgba(255, 255, 255, 0.03);
  --footer-input-bg-focus: rgba(255, 255, 255, 0.05);
  --footer-input-border: rgba(83, 161, 188, 0.18);
  --footer-placeholder: rgba(210, 220, 232, 0.72);
  --footer-bottom-bg: rgba(0, 0, 0, 0.16);
  --footer-badge-border: rgba(255, 255, 255, 0.08);
  --footer-badge-bg: rgba(255, 255, 255, 0.02);
  --footer-address-border: rgba(83, 161, 188, 0.45);
  --footer-address-hover-border: rgba(0, 174, 239, 0.7);
  --footer-nav-text: rgba(247, 251, 255, 0.82);
  --footer-address-text: rgba(247, 251, 255, 0.8);
  --footer-scheme: dark;

  /* ---------- TOKENS LIGHT (por defecto) ---------- */

  --mv-bg: #f6f7fb;
  --mv-surface: #ffffff;
  --mv-surface-2: #f2f5ff;
  --mv-border: rgba(17, 24, 39, 0.12);

  --mv-text: #111827;
  --mv-text-2: rgba(17, 24, 39, 0.72);
  --mv-muted: rgba(17, 24, 39, 0.55);

  --mv-shadow: 0 16px 40px rgba(17, 24, 39, 0.1);
  --mv-shadow-soft: 0 10px 26px rgba(17, 24, 39, 0.08);

  --mv-radius: 18px;
  --mv-radius-lg: 26px;

  --mv-accent: #00aeef;
  --mv-accent-2: #1f7cff;

  --mv-hero-overlay: rgba(0, 0, 0, 0.4);
  --mv-focus: 0 0 0 3px rgba(0, 174, 239, 0.28);

  --space-primary: #36d7ff; /* cian (glow) */
  --space-secondary: #00aeef; /* azul */
  --space-warn: #ffb300; /* amarillo contadores */
  --space-danger: #ff4d6d;

  /* ---------- Base surfaces (LIGHT) ---------- */
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-2: #f0f4f9;

  /* “glass” in light */
  --glass: rgba(10, 16, 24, 0.04);
  --glass-2: rgba(10, 16, 24, 0.02);
  --border: rgba(10, 16, 24, 0.1);

  /* Hero */
  --sol-hero-text: #ffffff;
  --sol-hero-overlay-1: rgba(0, 0, 0, 0.55);
  --sol-hero-overlay-2: rgba(0, 0, 0, 0.35);
  --sol-hero-overlay-3: rgba(0, 0, 0, 0.7);

  /* Base “glass” surfaces (se mantiene tu look) */
  --sol-border: rgba(0, 0, 0, 0.1);
  --sol-border-soft: rgba(0, 0, 0, 0.1);

  --sol-surface-1: rgba(255, 255, 255, 0.86); /* reemplaza tus whites oscuros */
  --sol-surface-2: rgba(255, 255, 255, 0.72);
  --sol-surface-3: rgba(255, 255, 255, 0.58);

  /* Textos */
  --sol-text-1: rgba(0, 0, 0, 0.92);
  --sol-text-2: rgba(0, 0, 0, 0.78);
  --sol-text-3: rgba(0, 0, 0, 0.84);
  --sol-text-hover: #000;
  --sol-link: #000000;

  /* Sombras (mismo “peso”, solo adaptadas a light) */
  --sol-shadow-1: rgba(0, 0, 0, 0.12);
  --sol-shadow-2: rgba(0, 0, 0, 0.16);
  --sol-shadow-img: rgba(0, 0, 0, 0.16);

  /* Accent activo (mantengo tu cyan) */
  --sol-active-bg: rgba(54, 215, 255, 0.12);
  --sol-active-border: rgba(54, 215, 255, 0.24);

  /* Scrollbar */
  --sol-scroll-thumb: rgba(0, 0, 0, 0.18);

  /* CTA */
  --sol-btn-border: rgba(0, 174, 239, 0.35);
  --sol-btn-bg-1: rgba(0, 174, 239, 0.24);
  --sol-btn-bg-2: rgba(83, 161, 188, 0.18);
  --sol-btn-shadow: rgba(0, 174, 239, 0.2);
}

.site-footer {
  /* Aliases SOLO para el footer (tu CSS ya usa --bg, --text...) */
  --bg: var(--footer-bg);
  --surface: var(--footer-surface);
  --surface-2: var(--footer-surface-2);

  --text: var(--footer-text);
  --muted: var(--footer-muted);

  --border: var(--footer-border);
  --focus: var(--footer-focus);
  --shadow-soft: var(--footer-shadow-soft);

  --accent: var(--footer-accent);
  --accent-2: var(--footer-accent-2);
  --primary: var(--footer-primary);

  color-scheme: var(--footer-scheme);
}

/* =====================================================
   DARK MODE (OS auto)
   ===================================================== */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-main: #0b0f14;
    --bg-soft: #121821;
    --bg-navbar: rgba(0, 0, 0, 0.55);

    --text-main: #e5e7eb;
    --text-muted: rgba(229, 231, 235, 0.72);

    --overlay-dark: rgba(0, 0, 0, 0.75);
    --glass: rgba(255, 255, 255, 0.05);
    --glass-2: rgba(255, 255, 255, 0.03);
    --stroke: rgba(255, 255, 255, 0.1);

    --shadow-sm: 0 10px 26px rgba(0, 0, 0, 0.55);
    --shadow-md: 0 18px 55px rgba(0, 0, 0, 0.65);
    --shadow-lg: 0 30px 85px rgba(0, 0, 0, 0.78);
    --shadow-nav: 0 2px 10px rgba(0, 0, 0, 0.6);

    --menu-bg: #000000;
    --menu-sep: rgba(255, 255, 255, 0.12);
    --menu-text: #ffffff;
    --menu-muted: rgba(255, 255, 255, 0.7);

    --about-bg: #0b0f14;
    --about-text: #e5e7eb;
    --about-muted: rgba(229, 231, 235, 0.78);
    --about-card: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    --about-border: rgba(255, 255, 255, 0.1);
    --about-shadow: var(--shadow-md);

    --sol-bg: #0f1621;
    --sol-title: #ffffff;
    --sol-text: rgba(229, 231, 235, 0.9);
    --sol-muted: rgba(229, 231, 235, 0.65);

    --sol-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    --sol-card-border: rgba(255, 255, 255, 0.08);
    --sol-card-shadow: 0 18px 46px rgba(0, 0, 0, 0.42);
    --sol-card-shadow-hover: 0 28px 68px rgba(54, 215, 255, 0.14);

    --vals-panel-bg: linear-gradient(160deg, rgba(11, 18, 28, 0.9), rgba(17, 25, 38, 0.86));
    --vals-panel-border: rgba(255, 255, 255, 0.1);
    --vals-panel-shadow: var(--shadow-lg);

    --vals-heading: #ffffff;
    --vals-text: rgba(229, 231, 235, 0.85);
    --vals-separator: rgba(255, 255, 255, 0.08);

    --trust-bg: #0b0f14;
    --trust-title: #ffffff;
    --trust-subtitle: rgba(229, 231, 235, 0.72);

    --trust-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    --trust-card-border: rgba(255, 255, 255, 0.1);
    --trust-card-shadow: var(--shadow-md);
    --trust-card-shadow-hover: var(--shadow-lg);

    --trust-form-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    --trust-form-border: rgba(255, 255, 255, 0.1);
    --trust-form-shadow: var(--shadow-md);

    --trust-input-bg: rgba(255, 255, 255, 0.03);
    --trust-input-border: rgba(255, 255, 255, 0.14);
    --trust-input-border-focus: rgba(79, 209, 197, 0.55);
    --trust-input-text: rgba(229, 231, 235, 0.92);
    --trust-input-placeholder: rgba(229, 231, 235, 0.55);

    --trust-muted: rgba(229, 231, 235, 0.7);

    --vol-right-overlay: rgba(0, 0, 0, 0.58);
    --vol-left-overlay: rgba(0, 151, 206, 0.12);
    --vol-border: rgba(255, 255, 255, 0.14);

    --glow-primary:
      0 0 0 6px rgba(0, 151, 206, 0.1), 0 22px 70px rgba(0, 151, 206, 0.18);

    --glow-accent:
      0 0 0 6px rgba(79, 209, 197, 0.1), 0 22px 80px rgba(79, 209, 197, 0.16);

    --vol-text: rgba(255, 255, 255, 0.94);
    --vol-text-2: rgba(255, 255, 255, 0.82);

    --vol-section-bg: rgba(11, 15, 20, 0.72);
    --vol-form-bg: rgba(0, 151, 206, 0.08);

    --vol-focus: 0 0 0 3px rgba(54, 215, 255, 0.28);
    /* =====================================================
       FOOTER (dark más profundo en dark mode)
       ===================================================== */
    --mv-bg: #0b1220;
    --mv-surface: rgba(255, 255, 255, 0.06);
    --mv-surface-2: rgba(255, 255, 255, 0.09);
    --mv-border: rgba(255, 255, 255, 0.14);

    --mv-text: rgba(255, 255, 255, 0.92);
    --mv-text-2: rgba(255, 255, 255, 0.7);
    --mv-muted: rgba(255, 255, 255, 0.55);

    --mv-shadow: 0 18px 44px rgba(0, 0, 0, 0.55);
    --mv-shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.45);

    --mv-hero-overlay: rgba(0, 0, 0, 0.55);

    /* Base surfaces (DARK) */
    --bg: #070a0f;
    --surface: #0b0f14;
    --surface-2: #0f141c;

    /* glass in dark */
    --glass: rgba(255, 255, 255, 0.06);
    --glass-2: rgba(255, 255, 255, 0.03);
    --border: rgba(255, 255, 255, 0.1);

    /* Text */
    --text: rgba(255, 255, 255, 0.92);
    --space-muted: rgba(255, 255, 255, 0.72);

    /* Hero overlays (DARK) */
    --hero-overlay-1: rgba(0, 0, 0, 0.68);
    --hero-overlay-2: rgba(0, 0, 0, 0.26);
    --hero-overlay-3: rgba(0, 0, 0, 0.78);

    /* Stats overlay (DARK) */
    --overlay-strong: rgba(0, 0, 0, 0.72);
    --overlay-mid: rgba(0, 0, 0, 0.38);

    /* Shadows (DARK) */
    --shadow-sm: 0 10px 22px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 18px 34px rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 26px 60px rgba(0, 0, 0, 0.55);

    --focus: 0 0 0 3px rgba(54, 215, 255, 0.4);

    --sol-hero-text: #ffffff;
    --sol-hero-overlay-1: rgba(0, 0, 0, 0.55);
    --sol-hero-overlay-2: rgba(0, 0, 0, 0.35);
    --sol-hero-overlay-3: rgba(0, 0, 0, 0.7);
    --sol-link: #ffffff;

    --sol-border: rgba(255, 255, 255, 0.1);
    --sol-border-soft: rgba(255, 255, 255, 0.1);

    --sol-surface-1: rgba(255, 255, 255, 0.05);
    --sol-surface-2: rgba(255, 255, 255, 0.03);
    --sol-surface-3: rgba(255, 255, 255, 0.06);

    --sol-text-1: #fff;
    --sol-text-2: rgba(255, 255, 255, 0.78);
    --sol-text-3: rgba(255, 255, 255, 0.84);
    --sol-text-hover: #fff;

    --sol-shadow-1: rgba(0, 0, 0, 0.18);
    --sol-shadow-2: rgba(0, 0, 0, 0.22);
    --sol-shadow-img: rgba(0, 0, 0, 0.22);

    --sol-active-bg: rgba(54, 215, 255, 0.12);
    --sol-active-border: rgba(54, 215, 255, 0.24);

    --sol-scroll-thumb: rgba(255, 255, 255, 0.14);

    --sol-btn-border: rgba(0, 174, 239, 0.35);
    --sol-btn-bg-1: rgba(0, 174, 239, 0.24);
    --sol-btn-bg-2: rgba(83, 161, 188, 0.18);
    --sol-btn-shadow: rgba(0, 174, 239, 0.25);
  }
}

/* =====================================================
   GLOBAL / BASE (Space Telecom 2026)
===================================================== */

/* Base */
html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  font-family: var(
    --font-sans,
    "Poppins",
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif
  );
  font-weight: 400;
  background-color: var(--bg-main);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Selection (detalle premium) */
::selection {
  background: rgba(0, 151, 206, 0.25);
}

/* =====================================================
   TYPOGRAPHY
===================================================== */

/* Títulos: SpaceX vibe = más limpios, sin gritar todo en MAYÚSCULAS */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(
    --font-display,
    "Montserrat",
    "Poppins",
    system-ui,
    sans-serif
  );
  font-weight: 700;
  color: var(--text-main);
  margin: 0 0 0.6em;
  letter-spacing: -0.02em;
  text-transform: none; /* <- clave para que se vea premium */
}

/* Escala fluida */
h1 {
  font-size: clamp(1.8rem, 2.4vw, 3rem);
  line-height: 1.15;
}
h2 {
  font-size: clamp(1.5rem, 2vw, 2.4rem);
  line-height: 1.2;
}
h3 {
  font-size: clamp(1.2rem, 1.4vw, 1.75rem);
  line-height: 1.25;
}
h4 {
  font-size: clamp(1.05rem, 1.1vw, 1.35rem);
  line-height: 1.3;
}
h5 {
  font-size: 1rem;
  line-height: 1.35;
}
h6 {
  font-size: 0.95rem;
  line-height: 1.35;
}

p {
  margin: 0 0 1rem;
  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  font-weight: 400;
  color: var(--text-muted, rgba(31, 41, 51, 0.72));
}

/* =====================================================
   LINKS
===================================================== */

a {
  color: var(--primary);
  text-decoration: none;
  transition:
    color 0.18s ease,
    opacity 0.18s ease;
}

a:hover {
  color: var(--accent);
}

a:focus-visible {
  outline: 3px solid rgba(0, 151, 206, 0.35);
  outline-offset: 3px;
  border-radius: 8px;
}

/* =====================================================
   BUTTONS (Bootstrap-compatible)
===================================================== */

/* Base: no fuerces padding 20px en todos */
.btn {
  font-weight: 700;
  border-radius: 12px;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

/* Custom primary (outline + glow on hover) */
.btn.btn-custom {
  padding: 12px 18px;
  color: var(--text-main);
  background: transparent;
  border: 1.5px solid rgba(0, 151, 206, 0.55);
  box-shadow: 0 0 0 0 rgba(0, 151, 206, 0);
}

.btn.btn-custom:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 151, 206, 0.85);
  box-shadow: var(
    --glow-primary,
    0 0 0 6px rgba(0, 151, 206, 0.14),
    0 18px 60px rgba(0, 151, 206, 0.22)
  );
}

/* Social buttons: tamaño consistente, no 20px universal */
.btn.btn-custom-social {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #fff;
}

/* Focus states: NO los elimines, hazlos bonitos */
.btn:focus-visible,
.form-control:focus-visible {
  outline: 3px solid rgba(79, 209, 197, 0.35);
  outline-offset: 3px;
  box-shadow: none;
}

/* =====================================================
   FORMS (global)
===================================================== */

.form-control {
  border-radius: 12px;
}

/* =====================================================
   CONTAINER FLUID (safe)
===================================================== */

.container-fluid {
  max-width: 100%;
  padding-left: 30px;
  padding-right: 30px;
}

/* =====================================================
   FLATICON FIX (one time only)
===================================================== */

[class^="flaticon-"]::before,
[class*=" flaticon-"]::before,
[class^="flaticon-"]::after,
[class*=" flaticon-"]::after {
  font-size: inherit;
  margin-left: 0;
}

/* =====================================================
   NEWSLETTER INPUTS (footer)
===================================================== */

.input-suscrip {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  margin-bottom: 10px;
}

.input-suscrip::placeholder {
  color: rgba(255, 255, 255, 0.65);
}

.sec-inp-sus {
  margin: 0;
  padding: 0;
}

.btn-custom-susc {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  border: 1px solid transparent;
  background-color: var(--primary);
  color: #ffffff;
  font-weight: 800;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease;
}

.btn-custom-susc:hover {
  background-color: var(--accent);
  transform: translateY(-1px);
  box-shadow: var(
    --glow-accent,
    0 0 0 6px rgba(79, 209, 197, 0.12),
    0 18px 70px rgba(79, 209, 197, 0.18)
  );
}

/* =====================================================
   MOBILE (sm)
===================================================== */

@media (max-width: 575.98px) {
  .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* No fuerces .container { width: 90%; } - Bootstrap ya lo hace */
  /* Si quieres más aire, usa padding en secciones, no reescribas container */
}

/**********************************/
/*********** Nav Bar CSS **********/
/**********************************/

/* ================================
   NAVBAR BASE
================================ */

.navbar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px 0;
  background-color: transparent;
  z-index: 999;
  transition:
    background-color 0.4s ease,
    padding 0.4s ease,
    box-shadow 0.4s ease;
}

.navbar .container-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ================================
   NAVBAR STICKY (SCROLL)
================================ */

.navbar.nav-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--primary);
  padding: 8px 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ================================
   BRAND / LOGO
================================ */

.navbar-brand {
  margin: 0;
  padding: 0;
  margin-left: 20px;
  display: flex;
  align-items: center;
  line-height: 1;
  min-width: 0;
}

.navbar-brand img {
  width: 250px; /* desktop base */
  height: auto;
  display: block;
  max-width: 100%;
  transform-origin: left center;
  transition: transform 0.4s ease;
}

.navbar.nav-sticky .navbar-brand img {
  transform: scale(0.77);
}

/* Efecto suave del logo (tu JS) */
#logo {
  transition:
    opacity 0.18s ease,
    transform 0.25s ease;
  transform-origin: left center;
  will-change: opacity, transform;
}
#logo.is-fading {
  opacity: 0;
  transform: scale(0.98);
}

/* ================================
   LINKS
================================ */

.navbar-dark .navbar-nav .nav-link {
  font-family: "Montserrat", "Poppins", sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 8px 12px;
  margin: 0 1px;
  font-size: 16px;
  color: #fff;
  border-radius: 8px;
  position: relative;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.navbar-dark .navbar-nav .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.navbar-dark .navbar-nav .nav-link.active {
  border-bottom: none;
  background: transparent;
  box-shadow: none;
}

.navbar-dark .navbar-nav .nav-link.active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
}

/* ================================
   TOGGLER
================================ */

.navbar-toggler {
  margin: 0;
  margin-right: 15px;
  padding: 8px 12px;
  border-radius: 6px;
  line-height: 1;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-width='2.2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ================================
   DROPDOWN
================================ */

.navbar .dropdown-menu {
  margin-top: 0;
  border: none;
  background-color: #fff;
  padding: 10px 0;
  min-width: 220px;
}

.navbar .dropdown {
  position: relative;
}

.navbar .nav-products {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0 1px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.navbar .nav-link-products {
  margin: 0;
  padding-right: 0;
  border-radius: 0;
}

.navbar .dropdown-toggle-split {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border-radius: 0;
  min-width: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  opacity: 0.92;
  transform: translateY(1px);
}

.navbar .dropdown-toggle-split::after {
  margin-left: -1px;
  vertical-align: middle;
  border-top-width: 0.24em;
  border-right-width: 0.2em;
  border-left-width: 0.2em;
  opacity: 0.9;
}

.navbar .dropdown-toggle-split:focus,
.navbar .dropdown-toggle-split:hover,
.navbar .dropdown-toggle-split:active {
  background: transparent;
  box-shadow: none;
  outline: none;
}

.navbar .nav-products:hover {
  background: transparent;
  box-shadow: none;
}

.navbar .nav-products:hover .nav-link-products,
.navbar .nav-products:hover .dropdown-toggle-split {
  background-color: transparent;
  box-shadow: none;
}

.navbar .nav-products .nav-link-products.active,
.navbar .nav-products .dropdown-toggle-split.active {
  background: transparent;
  box-shadow: none;
}

.navbar .nav-products .nav-link-products.active {
  box-shadow: none;
}

.navbar .dropdown-item {
  padding: 10px 18px;
  font-size: 15px;
  border-radius: 10px;
  margin: 2px 8px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.navbar .dropdown-item:hover {
  background-color: rgba(0, 174, 239, 0.15);
  transform: translateX(2px);
}

/* 1) NAV NORMAL (desktop por ancho real) */
@media (min-width: 1127px) {
  /* Menú normal visible */
  .navbar.has-overlay-menu.navbar-expand-lg .navbar-collapse {
    display: flex;
    flex-basis: auto;
  }

  /* Oculta hamburguesa en nav normal */
  .navbar.has-overlay-menu.navbar-expand-lg .navbar-toggler {
    display: none;
  }

  /* Tu overlay no debe verse en este modo (ajusta al selector real) */
  .mobile-overlay,
  .overlay-menu,
  #overlayMenu,
  #mobileOverlay {
    display: none;
  }

  /* Estética desktop */
  .navbar {
    padding: 16px 0;
  }

  .navbar.nav-sticky {
    padding: 8px 0;
    background: rgba(0, 151, 206, 0.92);
    backdrop-filter: blur(12px);
  }

  .navbar .dropdown-menu {
    margin-top: 0;
    top: calc(100% + 6px);
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
    padding: 8px 0;
  }

  .navbar .nav-products .dropdown-menu {
    left: -10px;
  }

  .navbar .navbar-nav {
    align-items: center;
    gap: 2px;
  }
}

@media (prefers-color-scheme: light) {
  .navbar .nav-products:hover .nav-link-products,
  .navbar .nav-products:hover .dropdown-toggle-split {
    background-color: transparent;
    box-shadow: none;
  }

  .navbar .nav-products .nav-link-products.active,
  .navbar .nav-products .dropdown-toggle-split.active {
    background: transparent;
    box-shadow: none;
  }
}

@media (prefers-color-scheme: dark) {
  .navbar .nav-products:hover .nav-link-products,
  .navbar .nav-products:hover .dropdown-toggle-split {
    background-color: transparent;
    box-shadow: none;
  }

  .navbar .nav-products .nav-link-products.active,
  .navbar .nav-products .dropdown-toggle-split.active {
    background: transparent;
    box-shadow: none;
  }
}

/* 2) OVERLAY (tablet/movil por ancho real) */
@media (max-width: 1126.98px) {
  /* Apaga el menú normal (evita duplicado) */
  .navbar.has-overlay-menu.navbar-expand-lg .navbar-collapse {
    display: none;
  }

  /* Fuerza hamburguesa visible incluso entre 992–1126 (Bootstrap la ocultaría) */
  .navbar.has-overlay-menu.navbar-expand-lg .navbar-toggler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Asegura overlay disponible (selector real recomendado: #mobileOverlay o .mobile-overlay) */
  .mobile-overlay,
  #mobileOverlay {
    display: block;
  }

  /* Ajustes responsive pro */
  .navbar {
    padding: 10px 0;
    background: transparent;
    transition:
      background-color 0.35s ease,
      padding 0.35s ease,
      box-shadow 0.35s ease;
  }

  .navbar .container-fluid {
    min-height: 72px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .navbar-brand {
    margin-left: 0;
    max-width: 72vw;
  }

  .navbar-brand img {
    width: auto;
    height: clamp(34px, 7.4vw, 56px);
    max-width: 100%;
    object-fit: contain;
  }

  .navbar-toggler {
    margin-right: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
    transition:
      transform 0.15s ease,
      background-color 0.2s ease,
      border-color 0.2s ease;
  }

  .navbar-toggler:hover {
    transform: translateY(-1px);
    background: rgba(0, 0, 0, 0.26);
    border-color: rgba(255, 255, 255, 0.75);
  }

  .navbar-dark .navbar-toggler-icon {
    width: 26px;
    height: 26px;
    background-size: 26px 26px;
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-width='2.8' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  }

  .navbar.nav-sticky {
    padding: 8px 0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
  }

  /* Ultra pequeño */
  @media (max-width: 360px) {
    .navbar .container-fluid {
      min-height: 66px;
      padding-left: 12px;
      padding-right: 12px;
    }

    .navbar-brand {
      max-width: 68vw;
    }

    .navbar-brand img {
      height: 38px;
    }

    .navbar-toggler {
      padding: 9px 11px;
      border-radius: 12px;
    }

    .navbar-dark .navbar-toggler-icon {
      width: 24px;
      height: 24px;
      background-size: 24px 24px;
    }
  }

  /* Pantallas un poco más grandes */
  @media (min-width: 430px) and (max-width: 1126.98px) {
    .navbar .container-fluid {
      min-height: 78px;
    }

    .navbar-brand img {
      height: 58px;
    }
  }
}

/* ================================
   OVERLAY MOBILE (MENÚ HAMBURGUESA)
   (con PANEL deslizante)
================================ */

/* ✅ DEFAULT: overlay apagado (NAV normal) */
.mobile-overlay {
  display: none; /* <- clave */

  position: fixed;
  inset: 0;
  z-index: 2000;

  /* Backdrop */
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);

  /* Estado cerrado */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.25s ease,
    visibility 0s linear 0.25s;
  overflow: hidden; /* el scroll lo maneja el panel */
}

/* =========================================================
   ✅ SWITCH PROFESIONAL (sin !important)
   - OVERLAY ON cuando NO cumple 1127x931
   - NAV normal solo si cumple 1127x931
   Nota: esto requiere que tu JS agregue body.overlay-enabled
========================================================= */

/* Overlay activo */
@media (max-width: 1126.98px) {
  body.overlay-enabled .mobile-overlay {
    display: block;
  }
}

/* Nav normal desktop */
@media (min-width: 1127px) {
  body:not(.overlay-enabled) .mobile-overlay {
    display: none;
  }
}

.mobile-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity 0.25s ease,
    visibility 0s linear 0s;
}

body.menu-open {
  overflow: hidden;
}

/* ================================
   PANEL (contenedor del menú)
================================ */

.mobile-overlay__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(420px, 92vw);

  background: var(--menu-bg, #ffffff);
  color: var(--menu-text, #111111);

  /* Scroll interno */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  /* Look pro */
  box-shadow: -18px 0 55px rgba(0, 0, 0, 0.35);
  border-left: 1px solid var(--menu-sep, rgba(0, 0, 0, 0.12));

  /* Animación de entrada */
  transform: translateX(14px);
  transition: transform 0.25s ease;
}

.mobile-overlay.is-open .mobile-overlay__panel {
  transform: translateX(0);
}

/* ================================
   BOTÓN CERRAR
================================ */

.mobile-overlay__close {
  position: sticky;
  top: 14px;
  left: 14px;

  width: 44px;
  height: 44px;
  margin: 14px 0 0 14px;

  border-radius: 999px;
  border: 1px solid var(--menu-sep, rgba(0, 0, 0, 0.15));
  background: rgba(255, 255, 255, 0.06);

  color: var(--menu-text, #111111);
  font-size: 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
}

/* ================================
   ZONA IDIOMA
================================ */

.mobile-overlay__top {
  padding: 18px 22px 10px 22px;
}

.mobile-overlay__lang {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--menu-muted, rgba(0, 0, 0, 0.55));

  font-family: "Poppins", sans-serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
}

/* ================================
   NAV
================================ */

.mobile-overlay__nav {
  padding: 10px 0 18px 0;
}

.mobile-overlay__item {
  display: flex;
  align-items: center;
  justify-content: space-between;

  width: 100%;
  padding: 18px 22px;

  border-top: 1px solid var(--menu-sep, rgba(0, 0, 0, 0.08));

  color: var(--menu-text, #111111);
  text-decoration: none;

  background: none;
  border-left: none;
  border-right: none;
  border-bottom: none;

  font-family: "Montserrat", "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 14px;

  cursor: pointer;
}

.mobile-overlay__item:last-child {
  border-bottom: 1px solid var(--menu-sep, rgba(0, 0, 0, 0.08));
}

.mobile-overlay__item:active {
  background: rgba(0, 0, 0, 0.04);
}

/* ================================
   SUBMENÚ
================================ */

.mobile-overlay__group {
  width: 100%;
}

.mobile-overlay__toggle {
  background: none;
  border: none;
}

/* Flecha */
.mobile-overlay__arrow {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid currentColor;
  transition: transform 0.25s ease;
  transform: rotate(0deg);
}

.mobile-overlay__toggle.active .mobile-overlay__arrow {
  transform: rotate(180deg);
}

.mobile-overlay__submenu {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  background: rgba(0, 0, 0, 0.02);
}

.mobile-overlay__submenu a {
  display: block;
  padding: 14px 32px;

  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 500;

  text-transform: none;
  letter-spacing: 0.02em;

  color: var(--menu-text, #111111);
  text-decoration: none;

  border-top: 1px solid var(--menu-sep, rgba(0, 0, 0, 0.06));
}

.mobile-overlay__submenu a:hover {
  background: rgba(0, 151, 206, 0.08);
}

/* ================================
   DARK MODE (toma tus variables)
================================ */

@media (prefers-color-scheme: dark) {
  .mobile-overlay {
    background: rgba(0, 0, 0, 0.55);
  }

  .mobile-overlay__panel {
    background: var(--menu-bg, #0b0f14);
    color: var(--menu-text, #ffffff);
    border-left: 1px solid var(--menu-sep, rgba(255, 255, 255, 0.12));
  }

  .mobile-overlay__item {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .mobile-overlay__submenu {
    background: rgba(255, 255, 255, 0.03);
  }

  .mobile-overlay__submenu a {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: #ffffff;
  }

  .mobile-overlay__item:active {
    background: rgba(255, 255, 255, 0.06);
  }
}
/***********************************************************/
/*********************** HERO VIDEO ************************/
/***********************************************************/

/* ================================
   WRAPPER (altura robusta)
================================ */
#carouselExampleSlidesOnly,
#carouselExampleSlidesOnly .carousel-inner,
#carouselExampleSlidesOnly .carousel-item {
  position: relative;
  overflow: hidden;

  height: 100vh; /* fallback */
  height: 100svh; /* mobile safe viewport */
  height: 100dvh; /* dynamic viewport */
}

/* ================================
   VIDEO
================================ */
#carouselExampleSlidesOnly .video_inicio {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* ================================
   OVERLAY (legibilidad)
================================ */
#carouselExampleSlidesOnly .capa {
  position: absolute;
  inset: 0;
  z-index: 2;

  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.45) 45%,
    rgba(0, 0, 0, 0.6) 100%
  );
}

/* ================================
   CONTENEDOR TEXTO (base)
   Desktop/tablet grande: clamp
================================ */
#carouselExampleSlidesOnly .headerinfo {
  position: absolute;
  inset: 0;
  z-index: 3;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  padding-left: 20px;
  padding-right: 20px;

  padding-top: calc(clamp(70px, 10vh, 120px) + env(safe-area-inset-top, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* ================================
   TEXTO HERO
================================ */
#carouselExampleSlidesOnly .carousel-text-prin h1 {
  color: #ffffff;
  font-size: clamp(32px, 4.4vw, 70px);
  font-weight: 700;
  margin: 0 0 18px;

  font-family: "Montserrat", "Poppins", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  text-wrap: balance;
}

#carouselExampleSlidesOnly .carousel-text-prin p {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(18px, 2.6vw, 36px);
  font-weight: 600;
  margin: 0 0 22px;

  font-family: "Poppins", sans-serif;

  text-wrap: pretty;
}

/* ================================
   LINEA TITULO
================================ */
#linea_titulo {
  width: clamp(180px, 22vw, 280px);
  height: 4px;
  background-color: var(--primary);
  border: none;
  margin: 0 auto 26px;
  border-radius: 999px;
}

/* ================================
   RESPONSIVE (ordenado, sin pisarse)
================================ */

/* Móvil + Tablet (hasta 991.98): usa altura real navbar */
@media (max-width: 991.98px) {
  :root {
    --nav-h-mobile: 72px; /* debe coincidir con tu navbar .container-fluid min-height */
  }

  #carouselExampleSlidesOnly .headerinfo {
    padding-left: 16px;
    padding-right: 16px;

    /* ✅ no clamp en móvil/tablet */
    padding-top: calc(var(--nav-h-mobile) + env(safe-area-inset-top, 0px));
  }
}

/* Muy chico */
@media (max-width: 360px) {
  :root {
    --nav-h-mobile: 66px;
  }

  #carouselExampleSlidesOnly .carousel-text-prin h1 {
    font-size: 24px;
  }
  #carouselExampleSlidesOnly .carousel-text-prin p {
    font-size: 14px;
  }
}

/* Móviles (mejor lectura y spacing) */
@media (max-width: 575.98px) {
  #carouselExampleSlidesOnly .carousel-text-prin h1 {
    font-size: clamp(26px, 7.6vw, 40px);
    letter-spacing: 0.04em;
    margin-bottom: 14px;
  }

  #carouselExampleSlidesOnly .carousel-text-prin p {
    font-size: clamp(15px, 4.6vw, 20px);
    font-weight: 500;
    margin-bottom: 18px;
  }

  #linea_titulo {
    width: min(220px, 70vw);
    margin-bottom: 18px;
  }
}

/* Tablet grande (opcional): si tu navbar sube a 78px como te dejé */
@media (min-width: 430px) and (max-width: 991.98px) {
  :root {
    --nav-h-mobile: 78px;
  }
}

/* =========================
   ABOUT - CLEAN TECH STYLE
   ========================= */

.about {
  background:
    radial-gradient(700px 320px at 10% 10%, rgba(0, 151, 206, 0.08), transparent 60%),
    radial-gradient(620px 280px at 90% 80%, rgba(79, 209, 197, 0.08), transparent 58%),
    var(--about-bg);
  position: relative;
}

/* -------- Imagen -------- */

.about-img-wrapper {
  height: 100%;
  min-height: 420px;
  border-radius: 34px 34px 20px 34px;
  overflow: hidden;
  border: 1px solid var(--about-border);
  display: flex;
  background: var(--about-card);
}

.about-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* -------- Contenido -------- */

.about-content {
  height: 100%;
  padding: 50px 45px;
  border-radius: 34px 34px 34px 20px;
  background: var(--about-card);
  border: 1px solid var(--about-border);

  display: flex;
  flex-direction: column;
  justify-content: space-between; /* mejor distribución */
}

/* Contenedor interno para mejor lectura */
.about-content > *:not(:last-child) {
  margin-bottom: 20px;
}

.about-content {
  box-shadow: 0 24px 56px rgba(15, 23, 42, 0.12);
}

/* Badge */

.about-badge {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--primary);
}

/* Título */

.about-title {
  font-size: clamp(28px, 2.3vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--about-text);
  max-width: 520px; /* evita líneas demasiado largas */
}

/* Texto */

.about-text {
  font-size: 16px;
  line-height: 1.9;
  color: var(--about-muted);
  max-width: 520px;
}

/* Botón */

.btn-about {
  align-self: flex-start;
  padding: 13px 26px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  transition: all 0.3s ease;
}

.btn-about:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 151, 206, 0.3);
}

/* -------- Responsive -------- */

@media (max-width: 991px) {
  .about-img-wrapper {
    min-height: 300px;
  }

  .about-content {
    padding: 35px 25px;
  }
}
@media (max-width: 991px) {
  .about {
    margin-top: 40px;
  }

  .about .row {
    row-gap: 28px;
  }
}
/* =========================================
   SOLUCIONES – PRO (RESPONSIVE OPTIMIZADO)
   6 desktop / 4 laptop / 3 tablet / 2 móvil / 1 móvil pequeño
   Montserrat 700 / Poppins 400-700
   Space Telecom: limpio, premium, sin colapsos
========================================= */

/* =========================
   SECCIÓN
   ========================= */
.service_conteiner {
  background:
    radial-gradient(900px 420px at 12% 18%, rgba(0, 151, 206, 0.1), transparent 60%),
    radial-gradient(900px 420px at 88% 82%, rgba(79, 209, 197, 0.08), transparent 58%),
    var(--sol-bg);
  padding: 80px 0 70px;
  margin-top: 48px;
  margin-bottom: 48px;
  overflow: hidden; /* evita sombras/hover cortados por overflow externo raro */
}

.service_conteiner > h2 {
  margin: 0 0 18px;
  text-align: center;
  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 700;
  font-size: clamp(26px, 2.6vw, 40px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--sol-title);
}

.service_conteiner > h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 4px;
  margin: 14px auto 0;
  background: var(--primary);
  border-radius: 3px;
}

/* =========================
   GRID RESPONSIVE (anti-bootstrap bugs)
   - Funciona si .sol-grid es div normal o .row
   - Evita colapsos por width/flex de col-*
   ========================= */
.sol-grid {
  margin-top: 50px;
  display: grid;
  gap: 22px 18px;
  align-items: stretch;

  /* 6 en desktop grande */
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* Si tu HTML usa: <div class="row sol-grid"> ... <div class="col-lg-2"> ... */
.sol-grid.row {
  margin-left: 0; /* elimina gutters negativos del .row */
  margin-right: 0;
}
.sol-grid.row > [class*="col-"] {
  padding-left: 0; /* el gap del grid ya maneja separación */
  padding-right: 0;
  max-width: none; /* evita que el col-* limite */
}

/* Laptop grande: 4 */
@media (max-width: 1399.98px) {
  .sol-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Tablet: 3 */
@media (max-width: 991.98px) {
  .service_conteiner {
    padding: 65px 0 55px;
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .sol-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 38px;
    gap: 20px 16px;
  }
}

/* Mobile: 2 */
@media (max-width: 767.98px) {
  .sol-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
  }
}

/* Mobile pequeño: 1 */
@media (max-width: 420px) {
  .sol-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   LINK / CARD
   ========================= */
.asol {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

/* Card premium + “space” */
.sol-card {
  height: 100%;
  text-align: center;

  border-radius: 28px;
  padding: 18px 16px 20px;

  background: var(--sol-card-bg);
  border: 1px solid var(--sol-card-border);
  box-shadow: var(--sol-card-shadow);

  display: flex;
  flex-direction: column;
  gap: 12px;

  /* evita que contenido “empuje” raro */
  min-width: 0;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

/* Media */
.sol-media {
  width: 100%;
  border-radius: 22px;
  overflow: hidden;

  /* se mantiene consistente incluso si la card es estrecha */
  aspect-ratio: 16 / 9;

  /* ayuda cuando la imagen carga */
  background: rgba(0, 0, 0, 0.03);
}

.sol-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.001);
  transition: transform 0.28s ease;
}

/* =========================
   TÍTULO (más grande + estable)
   ========================= */
.sol-card h3 {
  margin: 0;
  padding: 0 6px;

  font-family: var(--font-sans, "Poppins", sans-serif);
  font-weight: 700;

  /* ✅ un poco más grande que antes, sin romper 6 columnas */
  font-size: clamp(15px, 1.12vw, 19px);

  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sol-title);
  line-height: 1.25;

  /* uniformidad de cards */
  min-height: 44px;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  transition: color 0.18s ease;
}

/* =========================
   INTERACCIONES (hover solo desktop)
   ========================= */
@media (hover: hover) and (pointer: fine) {
  .asol:hover .sol-card {
    box-shadow: var(--sol-card-shadow-hover);
    transform: translateY(-6px);
    border-color: rgba(0, 151, 206, 0.35);
  }

  .asol:hover .sol-img {
    transform: scale(1.06);
  }

  .asol:hover h3 {
    color: var(--primary);
  }
}

/* Focus accesible */
.asol:focus-visible .sol-card {
  outline: 3px solid rgba(0, 151, 206, 0.35);
  outline-offset: 4px;
}

/* =========================
   MEDIA AJUSTES
   ========================= */
@media (max-width: 767.98px) {
  .sol-media {
    aspect-ratio: 4 / 3;
  }

  /* en móvil, un pelín más grande para lectura */
  .sol-card h3 {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
}

/* =========================================
   VALORES – PANEL CENTRAL (PRO SPACE)
   Imagen limpia | Panel premium | Hover elegante
========================================= */

.values-panel {
  background-image: url("../img/Equipo3.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 0%;
  margin: 70px 0;
  padding-bottom: 80px;
  position: relative;
}

.values-panel::after {
  content: "";
  position: absolute;
  right: 8%;
  bottom: 18px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(79, 209, 197, 0.22), transparent 68%);
  pointer-events: none;
}

/* =========================
   HEADER
========================= */
.values-panel__header {
  position: relative;
  text-align: center;
  padding: 60px 0 28px; /* más aire arriba */
  margin-bottom: 50px;
}

/* Franja más limpia y moderna */
.values-panel__header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 90px;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.55),
    rgba(0, 0, 0, 0.35)
  );
  z-index: 0;
}

.values-panel__title {
  position: relative;
  z-index: 1;
  margin: 0;

  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 700;
  font-size: clamp(30px, 2.8vw, 42px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
}

/* =========================
   PANEL CENTRAL
========================= */
.values-panel__box {
  width: min(1100px, 92%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  background: var(--vals-panel-bg);
  border: 1px solid var(--vals-panel-border);
  box-shadow: var(--vals-panel-shadow);
  border-radius: 34px;
  overflow: hidden;
  backdrop-filter: blur(6px);
}

/* columnas */
.values-panel__item {
  padding: 38px 28px;
  text-align: center;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
  min-width: 0;
}

/* separadores */
.values-panel__item + .values-panel__item {
  border-left: 1px solid var(--vals-separator);
}

/* =========================
   ICONOS
========================= */
.values-panel__icon {
  position: relative;
  width: 85px;
  height: 85px;
  margin: 0 auto 18px;
}

.values-panel__icon img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 85px;
  height: 85px;
  object-fit: contain;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.icon-hover {
  opacity: 0;
}

/* =========================
   TEXTOS
========================= */
.values-panel__item h3 {
  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 18px;
  margin: 10px 0 12px;
  color: var(--vals-heading);
}

.values-panel__item p {
  font-family: var(--font-sans, "Poppins", sans-serif);
  font-weight: 400;
  line-height: 1.65;
  font-size: 15px;
  margin: 0;
  color: var(--vals-text);
}

/* =========================
   HOVER
========================= */
@media (hover: hover) and (pointer: fine) {
  .values-panel__item:hover {
    transform: translateY(-10px);
    background-color: rgba(0, 151, 206, 0.07);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
    position: relative;
    z-index: 2;
  }

  .values-panel__item:hover h3 {
    color: var(--primary);
  }

  .values-panel__item:hover .icon-default {
    opacity: 0;
    transform: translateX(-50%) scale(0.92);
  }

  .values-panel__item:hover .icon-hover {
    opacity: 1;
    transform: translateX(-50%) scale(1.12);
  }
}

/* accesibilidad */
.values-panel__item:focus-within {
  outline: 3px solid rgba(0, 151, 206, 0.35);
  outline-offset: -3px;
  border-radius: 28px;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 991.98px) {
  .values-panel {
    padding-bottom: 70px;
  }

  .values-panel__header {
    padding: 48px 0 22px;
    margin-bottom: 40px;
  }

  .values-panel__box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .values-panel__item:nth-child(3),
  .values-panel__item:nth-child(4) {
    border-top: 1px solid var(--vals-separator);
  }

  .values-panel__item:nth-child(3) {
    border-left: none;
  }
}

@media (max-width: 575.98px) {
  .values-panel__box {
    grid-template-columns: 1fr;
  }

  .values-panel__item + .values-panel__item {
    border-left: none;
    border-top: 1px solid var(--vals-separator);
  }

  .values-panel__header::before {
    height: 60px;
  }

  .values-panel__item {
    padding: 28px 20px;
  }
}

/* =========================================
   TRUST – SPACE TELECOM VERSION PRO
   Más premium | Más limpio | Más moderno
========================================= */

.trust {
  padding: 80px 0;
  background:
    radial-gradient(920px 420px at 18% 12%, rgba(0, 151, 206, 0.1), transparent 60%),
    radial-gradient(900px 420px at 82% 88%, rgba(79, 209, 197, 0.08), transparent 58%),
    var(--trust-bg);
  position: relative;
  overflow: hidden;
}

/* Glow sutil tipo tech */
.trust::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      800px 400px at 20% 10%,
      rgba(0, 151, 206, 0.1),
      transparent 60%
    ),
    radial-gradient(
      800px 400px at 80% 90%,
      rgba(79, 209, 197, 0.08),
      transparent 60%
    );
  pointer-events: none;
}

.trust-title {
  font-weight: 700;
  font-size: clamp(28px, 2.4vw, 38px);
  letter-spacing: 0.4px;
  margin-bottom: 32px;
  color: var(--trust-title);
}

.trust-row {
  margin-top: 10px;
}

@media (min-width: 992px) {
  .trust-row > .col-lg-6 {
    display: flex;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .trust-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .trust-grid > [class*="col-"] {
    display: flex;
    width: auto;
    max-width: none;
    flex: initial;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0 !important;
  }

  .trust-card {
    width: 100%;
    height: 100%;
    min-height: 260px;
  }

  .trust-form {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

/* =========================
   CARDS
========================= */

.trust-card {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  height: 235px;

  background: var(--trust-card-bg);
  border: 1px solid var(--trust-card-border);
  box-shadow: var(--trust-card-shadow);

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.trust-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  transform: scale(1.02);
  transition: transform 0.4s ease;
  will-change: transform;
}

.trust-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  padding: 18px 18px 16px;

  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.65) 55%,
    rgba(0, 0, 0, 0.88) 100%
  );
}

.trust-card__title {
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  margin-bottom: 6px;
  letter-spacing: 0.8px;
}

.trust-card__text {
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  margin: 0;
}

/* Hover premium solo desktop */
@media (hover: hover) and (pointer: fine) {
  .trust-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--trust-card-shadow-hover);
  }

  .trust-card:hover .trust-card__img {
    transform: scale(1.07);
  }
}

/* =========================
   FORM CARD
========================= */

.trust-form {
  border-radius: 32px;
  padding: 30px;

  background: var(--trust-form-bg);
  border: 1px solid var(--trust-form-border);
  box-shadow: var(--trust-form-shadow);

  backdrop-filter: blur(10px);
}

.trust-form__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.trust-form__icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.trust-form__title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(22px, 1.8vw, 30px);
  letter-spacing: 0.4px;
}

/* =========================
   INPUTS
========================= */

.trust-input {
  border-radius: 18px;
  border: 1px solid var(--trust-input-border);
  background: var(--trust-input-bg);
  color: var(--trust-input-text);
  height: 48px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.trust-input::placeholder {
  color: var(--trust-input-placeholder);
}

.trust-input:focus {
  border-color: var(--trust-input-border-focus);
  box-shadow: 0 0 0 0.2rem rgba(0, 151, 206, 0.25);
}

/* Checkbox text */
.trust-check {
  margin-top: 8px;
}

.trust-check__text {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--trust-muted);
  line-height: 1.4;
}

/* Button */
.trust-btn {
  border-radius: 22px;
  padding: 13px 20px;
  font-weight: 600;
  min-width: 220px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.trust-btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--glow-primary);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991.98px) {
  .trust {
    padding: 60px 0;
  }

  .trust-card {
    height: 210px;
  }

  .trust-form {
    padding: 22px;
  }

  .trust-btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  .trust {
    padding: 45px 0;
  }

  .trust-title {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 20px;
  }

  .trust-card {
    height: 185px;
    border-radius: 22px;
  }

  .trust-card__body {
    padding: 14px 14px 12px;
  }

  .trust-card__title {
    font-size: 13px;
  }

  .trust-card__text {
    font-size: 12.5px;
  }

  .trust-form {
    padding: 18px;
    border-radius: 24px;
  }

  .trust-form__title {
    font-size: 20px;
  }

  .trust-input {
    height: 50px; /* mejor tap target */
  }
}

:root{
  /* fallback para la imagen (si tu parallax no setea   background) */
  --vol-bg-image: url("../img/Contador1.jpg");

  --vol-radius: 18px;

  /* Light */
  --vol-text: #111827;
  --vol-text-2: rgba(17,24,39,.72);

  --vol-card-bg: rgba(255,255,255,.86);
  --vol-card-bg-2: rgba(255,255,255,.72);
  --vol-card-border: rgba(17,24,39,.12);

  --vol-shadow: 0 20px 60px rgba(0,0,0,.14);

  --vol-overlay: rgba(0,0,0,.18);

  --vol-primary: #0097ce;
  --vol-accent: #36d7ff;

  --vol-btn-bg1: rgba(0,151,206,.92);
  --vol-btn-bg2: rgba(54,215,255,.55);
  --vol-btn-text: #ffffff;
}

@media (prefers-color-scheme: dark){
  :root{
    --vol-text: rgba(255,255,255,.94);
    --vol-text-2: rgba(255,255,255,.78);

    --vol-card-bg: rgba(255,255,255,.07);
    --vol-card-bg-2: rgba(255,255,255,.04);
    --vol-card-border: rgba(255,255,255,.12);

    --vol-shadow: 0 26px 80px rgba(0,0,0,.68);

    --vol-overlay: rgba(0,0,0,.48);

    --vol-btn-bg1: rgba(0,151,206,.85);
    --vol-btn-bg2: rgba(54,215,255,.32);
  }
}

/* =====================================================
   VOLUNTEER SPLIT (CTA left / Content right)
   HTML: <section class="volunteer volunteer--split" ... data-image-src="...">
===================================================== */
.volunteer.volunteer--split{
  position: relative;
  width: 100%;
  margin: 90px 0;
  border-radius: 36px;
  overflow: hidden;

  /* Si el plugin parallax NO pone background, esto asegura que se vea */
  background-image: var(--vol-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  min-height: 420px;
}

/* Overlay para que el texto sea legible sobre la imagen */
.volunteer.volunteer--split::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(900px 520px at 20% 10%, rgba(0,151,206,.18), transparent 55%),
    linear-gradient(90deg, rgba(0,0,0,.08), var(--vol-overlay));
}

/* Contenido siempre encima */
.volunteer.volunteer--split .container,
.volunteer.volunteer--split .row{
  position: relative;
  z-index: 1;
}

@media (min-width: 992px){
  .volunteer.volunteer--split .row{
    padding: 28px;
  }
}

/* =====================================================
   LEFT: CTA PANEL (tu .volunteer-form)
===================================================== */
.volunteer.volunteer--split .volunteer-form{
  border-radius: 30px;
  border: 1px solid var(--vol-card-border);

  background:
    radial-gradient(900px 420px at 20% 10%, rgba(0,151,206,.16), transparent 55%),
    linear-gradient(180deg, var(--vol-card-bg), var(--vol-card-bg-2));

  box-shadow: var(--vol-shadow);
  padding: clamp(18px, 2.2vw, 28px);
}

.volunteer.volunteer--split .volunteer__headline{
  margin: 0 0 16px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.12;
  color: var(--vol-text);
  font-size: clamp(20px, 2vw, 30px);
}

.volunteer.volunteer--split .volunteer__actions{
  display: flex;
  margin-top: 10px;
}

.volunteer.volunteer--split .volunteer__btn.btn.btn-custom{
  width: 100%;
  height: 54px;

  border-radius: 999px;
  border: 1px solid rgba(54,215,255,.35);

  background: linear-gradient(180deg, var(--vol-btn-bg1), var(--vol-btn-bg2));
  color: var(--vol-btn-text);

  font-weight: 600;
  letter-spacing: .02em;

  box-shadow: 0 18px 44px rgba(0,151,206,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.volunteer.volunteer--split .volunteer__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 60px rgba(0,151,206,.28);
  filter: saturate(1.05);
}

/* =====================================================
   RIGHT: CONTENT PANEL (tu .volunteer-content)
===================================================== */
.volunteer.volunteer--split .volunteer-content{
  border-radius: 30px;
  border: 1px solid var(--vol-card-border);

  background: rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow: var(--vol-shadow);
  padding: clamp(18px, 2.2vw, 28px);
}

/* En light: más blanco para legibilidad */
@media (prefers-color-scheme: light){
  .volunteer.volunteer--split .volunteer-content{
    background: rgba(255,255,255,.78);
  }
}
@media (prefers-color-scheme: dark){
  .volunteer.volunteer--split .volunteer-content{
    background: rgba(0,0,0,.26);
  }
}

.volunteer.volunteer--split .volunteer__title{
  margin: 0;
  color: var(--vol-text);
  font-weight: 700;
  letter-spacing: .01em;
}

.volunteer.volunteer--split .volunteer-text p{
  margin: 12px 0 0;
  color: var(--vol-text-2);
  line-height: 1.7;
  font-size: 16px;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width: 991.98px){
  .volunteer.volunteer--split{
    margin: 60px 0;
    min-height: unset;
  }

  /* Overlay vertical en móviles */
  .volunteer.volunteer--split::before{
    background:
      radial-gradient(900px 520px at 20% 10%, rgba(0,151,206,.18), transparent 55%),
      linear-gradient(180deg, rgba(0,0,0,.12), var(--vol-overlay));
  }

  .volunteer.volunteer--split .row{
    padding: 16px;
    row-gap: 16px;
  }
}

@media (max-width: 575.98px){
  .volunteer.volunteer--split .volunteer__btn.btn.btn-custom{
    height: 50px;
    border-radius: 999px;
  }
}
/*****************************************************/
/******* Carousel Clientes – Space Version ***********/
/*****************************************************/

.clientes-showcase {
  width: min(94vw, 1180px);
  margin: clamp(54px, 7vw, 92px) auto 0;
  --clientes-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(0, 151, 206, 0.07), transparent 70%), #ffffff;
  --clientes-shell-border: rgba(11, 87, 162, 0.08);
  --clientes-shell-shadow: 0 18px 48px rgba(16, 48, 88, 0.08);
  --clientes-title: var(--space-text);
  --clientes-copy: var(--space-muted);
  --clientes-card-bg: rgba(255, 255, 255, 0.88);
  --clientes-card-border: rgba(11, 87, 162, 0.07);
  --clientes-card-shadow: 0 10px 26px rgba(16, 48, 88, 0.05);
  --clientes-arrow-bg: rgba(255, 255, 255, 0.94);
  --clientes-arrow-border: rgba(0, 0, 0, 0.15);
  --clientes-arrow-text: #163a60;
  --clientes-dot: rgba(0, 0, 0, 0.2);
  --clientes-dot-hover: rgba(0, 0, 0, 0.4);
  --clientes-dot-active: var(--primary);
}

.clientes-showcase__heading {
  max-width: 720px;
  margin: 0 auto 20px;
  text-align: center;
}

.clientes-showcase__eyebrow {
  margin: 0 0 10px;
  color: var(--space-primary);
  font-family: "Montserrat", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.clientes-showcase__heading h2 {
  margin: 0 0 12px;
  color: var(--clientes-title);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.08;
}

.clientes-showcase__heading p {
  margin: 0;
  color: var(--clientes-copy);
  line-height: 1.72;
}

.carouselClientes {
  position: relative;
  width: 100%;
  padding: 26px 0 22px;
  background: var(--clientes-shell-bg);
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--clientes-shell-border);
  box-shadow: var(--clientes-shell-shadow);
}

html[data-theme="dark"] .clientes-showcase,
body.theme-dark .clientes-showcase {
  --clientes-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%), linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
  --clientes-shell-border: rgba(75, 201, 243, 0.14);
  --clientes-shell-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  --clientes-title: #ffffff;
  --clientes-copy: rgba(255, 255, 255, 0.78);
  --clientes-card-bg: rgba(255, 255, 255, 0.05);
  --clientes-card-border: rgba(75, 201, 243, 0.12);
  --clientes-card-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  --clientes-arrow-bg: rgba(255, 255, 255, 0.08);
  --clientes-arrow-border: rgba(75, 201, 243, 0.16);
  --clientes-arrow-text: rgba(255, 255, 255, 0.9);
  --clientes-dot: rgba(255, 255, 255, 0.26);
  --clientes-dot-hover: rgba(255, 255, 255, 0.42);
  --clientes-dot-active: #36d7ff;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .clientes-showcase {
    --clientes-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%), linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
    --clientes-shell-border: rgba(75, 201, 243, 0.14);
    --clientes-shell-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
    --clientes-title: #ffffff;
    --clientes-copy: rgba(255, 255, 255, 0.78);
    --clientes-card-bg: rgba(255, 255, 255, 0.05);
    --clientes-card-border: rgba(75, 201, 243, 0.12);
    --clientes-card-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    --clientes-arrow-bg: rgba(255, 255, 255, 0.08);
    --clientes-arrow-border: rgba(75, 201, 243, 0.16);
    --clientes-arrow-text: rgba(255, 255, 255, 0.9);
    --clientes-dot: rgba(255, 255, 255, 0.26);
    --clientes-dot-hover: rgba(255, 255, 255, 0.42);
    --clientes-dot-active: #36d7ff;
  }
}

/* Contenedor con margen adaptable */
.carousel__contenedor {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 58px;
}

/* Lista */
.carousel__lista {
  overflow: hidden;
}

/* Elementos */
.carousel__elemento {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 118px;
  padding: 10px;
}

.carousel__lista .carousel__elemento img {
  max-width: 162px;
  max-height: 68px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.84;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.carousel__lista .glider-track {
  align-items: stretch;
}

.carousel__lista .carousel__elemento > img {
  display: block;
}

.carousel__elemento {
  border-radius: 18px;
  background: var(--clientes-card-bg);
  border: 1px solid var(--clientes-card-border);
  box-shadow: var(--clientes-card-shadow);
}

/* Hover logos */
.carousel__elemento img:hover {
  opacity: 1;
  transform: scale(1.05);
}

/* =========================
   Flechas modernas
========================= */

.carousel__anterior,
.carousel__siguiente {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--clientes-arrow-border);
  background: var(--clientes-arrow-bg);
  color: var(--clientes-arrow-text);
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
}

.carousel__anterior {
  left: 8px;
}

.carousel__siguiente {
  right: 8px;
}

.carousel__anterior:hover,
.carousel__siguiente:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* =========================
   Indicadores (dots)
========================= */

.carousel__indicadores {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.carousel__indicadores .glider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clientes-dot);
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.carousel__indicadores .glider-dot:hover {
  background: var(--clientes-dot-hover);
}

.carousel__indicadores .glider-dot.active {
  background: var(--clientes-dot-active);
  transform: scale(1.2);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 768px) {
  .clientes-showcase {
    width: calc(100% - 28px);
    margin-top: 42px;
  }

  .clientes-showcase__heading {
    margin-bottom: 16px;
  }

  .carousel__contenedor {
    padding: 0 36px;
  }

  .carousel__elemento {
    height: 96px;
    border-radius: 16px;
  }

  .carousel__lista .carousel__elemento img {
    max-width: 122px;
    max-height: 52px;
  }

  .carousel__anterior,
  .carousel__siguiente {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 575.98px) {
  .carouselClientes {
    padding: 22px 0 18px;
    border-radius: 20px;
  }

  .carousel__contenedor {
    padding: 0 32px;
  }

  .carousel__elemento {
    height: 88px;
    padding: 8px;
  }

  .carousel__lista .carousel__elemento img {
    max-width: 114px;
    max-height: 48px;
  }

  .carousel__indicadores {
    margin-top: 14px;
  }
}

/* =========================================================
   NOSOTROS — Final Theme Render
========================================================= */
body.nosotros-page {
  --nos-title: #173759;
  --nos-copy: rgba(20, 43, 70, 0.86);
  --nos-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 248, 252, 0.94));
  --nos-surface-border: rgba(11, 87, 162, 0.08);
  --nos-card-bg: rgba(255, 255, 255, 0.92);
  --nos-card-border: rgba(11, 87, 162, 0.1);
  --nos-tab: rgba(23, 55, 89, 0.7);
  --nos-tab-active: #173759;
  --nos-carousel-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(0, 151, 206, 0.07), transparent 70%), #ffffff;
  --nos-carousel-shell-border: rgba(11, 87, 162, 0.08);
  --nos-carousel-shell-shadow: 0 18px 48px rgba(16, 48, 88, 0.08);
  --nos-carousel-card-bg: rgba(255, 255, 255, 0.88);
  --nos-carousel-card-border: rgba(11, 87, 162, 0.07);
  --nos-carousel-card-shadow: 0 10px 26px rgba(16, 48, 88, 0.05);
  --nos-carousel-arrow-bg: rgba(255, 255, 255, 0.94);
  --nos-carousel-arrow-border: rgba(0, 0, 0, 0.15);
  --nos-carousel-arrow-text: #163a60;
  --nos-carousel-dot: rgba(0, 0, 0, 0.2);
  --nos-carousel-dot-hover: rgba(0, 0, 0, 0.4);
  --nos-carousel-dot-active: var(--primary);
}

html[data-theme="dark"] body.nosotros-page,
body.nosotros-page.theme-dark {
  --nos-title: #ffffff;
  --nos-copy: rgba(255, 255, 255, 0.82);
  --nos-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
  --nos-surface-border: rgba(255, 255, 255, 0.1);
  --nos-card-bg: rgba(6, 15, 28, 0.42);
  --nos-card-border: rgba(255, 255, 255, 0.08);
  --nos-tab: rgba(255, 255, 255, 0.72);
  --nos-tab-active: #ffffff;
  --nos-carousel-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%), linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
  --nos-carousel-shell-border: rgba(75, 201, 243, 0.14);
  --nos-carousel-shell-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  --nos-carousel-card-bg: rgba(255, 255, 255, 0.05);
  --nos-carousel-card-border: rgba(75, 201, 243, 0.12);
  --nos-carousel-card-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  --nos-carousel-arrow-bg: rgba(255, 255, 255, 0.08);
  --nos-carousel-arrow-border: rgba(75, 201, 243, 0.16);
  --nos-carousel-arrow-text: rgba(255, 255, 255, 0.9);
  --nos-carousel-dot: rgba(255, 255, 255, 0.26);
  --nos-carousel-dot-hover: rgba(255, 255, 255, 0.42);
  --nos-carousel-dot-active: #36d7ff;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page {
    --nos-title: #ffffff;
    --nos-copy: rgba(255, 255, 255, 0.82);
    --nos-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
    --nos-surface-border: rgba(255, 255, 255, 0.1);
    --nos-card-bg: rgba(6, 15, 28, 0.42);
    --nos-card-border: rgba(255, 255, 255, 0.08);
    --nos-tab: rgba(255, 255, 255, 0.72);
    --nos-tab-active: #ffffff;
    --nos-carousel-shell-bg: radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%), linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
    --nos-carousel-shell-border: rgba(75, 201, 243, 0.14);
    --nos-carousel-shell-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
    --nos-carousel-card-bg: rgba(255, 255, 255, 0.05);
    --nos-carousel-card-border: rgba(75, 201, 243, 0.12);
    --nos-carousel-card-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    --nos-carousel-arrow-bg: rgba(255, 255, 255, 0.08);
    --nos-carousel-arrow-border: rgba(75, 201, 243, 0.16);
    --nos-carousel-arrow-text: rgba(255, 255, 255, 0.9);
    --nos-carousel-dot: rgba(255, 255, 255, 0.26);
    --nos-carousel-dot-hover: rgba(255, 255, 255, 0.42);
    --nos-carousel-dot-active: #36d7ff;
  }
}

body.nosotros-page .about-tabs__shell {
  background: var(--nos-surface);
  border-color: var(--nos-surface-border);
  box-shadow: 0 28px 78px rgba(14, 32, 58, 0.14);
}

body.nosotros-page .about-tabs__heading h2,
body.nosotros-page .clientes-showcase__heading h2,
body.nosotros-page .homolo-heading h2,
body.nosotros-page .proyect_title {
  color: var(--nos-title);
}

body.nosotros-page .about-tabs__tab {
  color: var(--nos-tab);
}

body.nosotros-page .about-tabs__tab:hover,
body.nosotros-page .about-tabs__tab.is-active {
  color: var(--nos-tab-active);
}

body.nosotros-page .about-tabs__block {
  background: var(--nos-card-bg);
  border-color: var(--nos-card-border);
  box-shadow: 0 18px 42px rgba(16, 48, 88, 0.08);
}

body.nosotros-page .about-tabs__block h3 {
  color: var(--nos-title);
}

body.nosotros-page .about-tabs__block p,
body.nosotros-page .about-tabs__block li,
body.nosotros-page .clientes-showcase__heading p,
body.nosotros-page .homolo-heading p,
body.nosotros-page .proyect_intro {
  color: var(--nos-copy);
}

body.nosotros-page .carouselClientes {
  background: var(--nos-carousel-shell-bg);
  border-color: var(--nos-carousel-shell-border);
  box-shadow: var(--nos-carousel-shell-shadow);
}

body.nosotros-page .carousel__elemento {
  background: var(--nos-carousel-card-bg);
  border-color: var(--nos-carousel-card-border);
  box-shadow: var(--nos-carousel-card-shadow);
}

body.nosotros-page .carousel__anterior,
body.nosotros-page .carousel__siguiente {
  background: var(--nos-carousel-arrow-bg);
  border-color: var(--nos-carousel-arrow-border);
  color: var(--nos-carousel-arrow-text);
}

body.nosotros-page .carousel__indicadores .glider-dot {
  background: var(--nos-carousel-dot);
}

body.nosotros-page .carousel__indicadores .glider-dot:hover {
  background: var(--nos-carousel-dot-hover);
}

body.nosotros-page .carousel__indicadores .glider-dot.active {
  background: var(--nos-carousel-dot-active);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page .about-tabs {
    margin-top: clamp(32px, 5vw, 56px);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__shell {
    background:
      linear-gradient(180deg, rgba(12, 18, 28, 0.96), rgba(17, 25, 38, 0.94));
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 30px 84px rgba(0, 0, 0, 0.34);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__heading {
    padding-bottom: 6px;
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__nav {
    border-bottom-color: rgba(75, 201, 243, 0.14);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
  }
}

html[data-theme="dark"] body.nosotros-page .about-tabs {
  margin-top: clamp(32px, 5vw, 56px);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__shell,
body.nosotros-page.theme-dark .about-tabs__shell {
  background:
    linear-gradient(180deg, rgba(12, 18, 28, 0.96), rgba(17, 25, 38, 0.94));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 30px 84px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__heading,
body.nosotros-page.theme-dark .about-tabs__heading {
  padding-bottom: 6px;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__nav,
body.nosotros-page.theme-dark .about-tabs__nav {
  border-bottom-color: rgba(75, 201, 243, 0.14);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block,
body.nosotros-page.theme-dark .about-tabs__block {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

/* =========================================================
   NOSOTROS — Final Light/Dark Override
========================================================= */
body.nosotros-page .about-tabs__shell,
body.nosotros-page .about-tabs__block,
body.nosotros-page .clientes-showcase__heading h2,
body.nosotros-page .clientes-showcase__heading p,
body.nosotros-page .homolo-heading h2,
body.nosotros-page .homolo-heading p,
body.nosotros-page .proyect_title,
body.nosotros-page .proyect_intro,
body.nosotros-page .carouselClientes,
body.nosotros-page .carousel__elemento,
body.nosotros-page .carousel__anterior,
body.nosotros-page .carousel__siguiente,
body.nosotros-page .carousel__indicadores .glider-dot {
  transition:
    background-color 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

html[data-theme="light"] body.nosotros-page .about-tabs__shell,
body.nosotros-page:not(.theme-dark) .about-tabs__shell {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.95));
  border-color: rgba(11, 87, 162, 0.08);
  box-shadow: 0 24px 64px rgba(16, 48, 88, 0.12);
}

html[data-theme="light"] body.nosotros-page .about-tabs__heading h2,
html[data-theme="light"] body.nosotros-page .clientes-showcase__heading h2,
html[data-theme="light"] body.nosotros-page .homolo-heading h2,
html[data-theme="light"] body.nosotros-page .proyect_title,
body.nosotros-page:not(.theme-dark) .about-tabs__heading h2,
body.nosotros-page:not(.theme-dark) .clientes-showcase__heading h2,
body.nosotros-page:not(.theme-dark) .homolo-heading h2,
body.nosotros-page:not(.theme-dark) .proyect_title {
  color: #173759;
}

html[data-theme="light"] body.nosotros-page .about-tabs__tab,
body.nosotros-page:not(.theme-dark) .about-tabs__tab {
  color: rgba(23, 55, 89, 0.72);
}

html[data-theme="light"] body.nosotros-page .about-tabs__tab:hover,
html[data-theme="light"] body.nosotros-page .about-tabs__tab.is-active,
body.nosotros-page:not(.theme-dark) .about-tabs__tab:hover,
body.nosotros-page:not(.theme-dark) .about-tabs__tab.is-active {
  color: #173759;
}

html[data-theme="light"] body.nosotros-page .about-tabs__nav,
body.nosotros-page:not(.theme-dark) .about-tabs__nav {
  border-bottom-color: rgba(11, 87, 162, 0.12);
}

html[data-theme="light"] body.nosotros-page .about-tabs__block,
body.nosotros-page:not(.theme-dark) .about-tabs__block {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(11, 87, 162, 0.1);
  box-shadow: 0 14px 38px rgba(16, 48, 88, 0.08);
}

html[data-theme="light"] body.nosotros-page .about-tabs__block h3,
body.nosotros-page:not(.theme-dark) .about-tabs__block h3 {
  color: #173759;
}

html[data-theme="light"] body.nosotros-page .about-tabs__block p,
html[data-theme="light"] body.nosotros-page .about-tabs__block li,
html[data-theme="light"] body.nosotros-page .clientes-showcase__heading p,
html[data-theme="light"] body.nosotros-page .homolo-heading p,
html[data-theme="light"] body.nosotros-page .proyect_intro,
body.nosotros-page:not(.theme-dark) .about-tabs__block p,
body.nosotros-page:not(.theme-dark) .about-tabs__block li,
body.nosotros-page:not(.theme-dark) .clientes-showcase__heading p,
body.nosotros-page:not(.theme-dark) .homolo-heading p,
body.nosotros-page:not(.theme-dark) .proyect_intro {
  color: rgba(20, 43, 70, 0.86);
}

html[data-theme="light"] body.nosotros-page .carouselClientes,
body.nosotros-page:not(.theme-dark) .carouselClientes {
  background:
    radial-gradient(760px 240px at 50% 0%, rgba(0, 151, 206, 0.07), transparent 70%),
    #ffffff;
  border-color: rgba(11, 87, 162, 0.08);
  box-shadow: 0 18px 48px rgba(16, 48, 88, 0.08);
}

html[data-theme="light"] body.nosotros-page .carousel__elemento,
body.nosotros-page:not(.theme-dark) .carousel__elemento {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(11, 87, 162, 0.08);
  box-shadow: 0 10px 26px rgba(16, 48, 88, 0.05);
}

html[data-theme="light"] body.nosotros-page .carousel__anterior,
html[data-theme="light"] body.nosotros-page .carousel__siguiente,
body.nosotros-page:not(.theme-dark) .carousel__anterior,
body.nosotros-page:not(.theme-dark) .carousel__siguiente {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(0, 0, 0, 0.15);
  color: #163a60;
}

html[data-theme="light"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page:not(.theme-dark) .carousel__indicadores .glider-dot {
  background: rgba(0, 0, 0, 0.2);
}

html[data-theme="light"] body.nosotros-page .carousel__indicadores .glider-dot:hover,
body.nosotros-page:not(.theme-dark) .carousel__indicadores .glider-dot:hover {
  background: rgba(0, 0, 0, 0.4);
}

html[data-theme="light"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page:not(.theme-dark) .carousel__indicadores .glider-dot.active {
  background: var(--primary);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__shell,
body.nosotros-page.theme-dark .about-tabs__shell {
  background: linear-gradient(180deg, rgba(12, 18, 28, 0.96), rgba(17, 25, 38, 0.94));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 30px 84px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__heading h2,
html[data-theme="dark"] body.nosotros-page .clientes-showcase__heading h2,
html[data-theme="dark"] body.nosotros-page .homolo-heading h2,
html[data-theme="dark"] body.nosotros-page .proyect_title,
body.nosotros-page.theme-dark .about-tabs__heading h2,
body.nosotros-page.theme-dark .clientes-showcase__heading h2,
body.nosotros-page.theme-dark .homolo-heading h2,
body.nosotros-page.theme-dark .proyect_title {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__tab,
body.nosotros-page.theme-dark .about-tabs__tab {
  color: rgba(255, 255, 255, 0.72);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__tab:hover,
html[data-theme="dark"] body.nosotros-page .about-tabs__tab.is-active,
body.nosotros-page.theme-dark .about-tabs__tab:hover,
body.nosotros-page.theme-dark .about-tabs__tab.is-active {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__nav,
body.nosotros-page.theme-dark .about-tabs__nav {
  border-bottom-color: rgba(75, 201, 243, 0.14);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block,
body.nosotros-page.theme-dark .about-tabs__block {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block h3,
body.nosotros-page.theme-dark .about-tabs__block h3 {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block p,
html[data-theme="dark"] body.nosotros-page .about-tabs__block li,
html[data-theme="dark"] body.nosotros-page .clientes-showcase__heading p,
html[data-theme="dark"] body.nosotros-page .homolo-heading p,
html[data-theme="dark"] body.nosotros-page .proyect_intro,
body.nosotros-page.theme-dark .about-tabs__block p,
body.nosotros-page.theme-dark .about-tabs__block li,
body.nosotros-page.theme-dark .clientes-showcase__heading p,
body.nosotros-page.theme-dark .homolo-heading p,
body.nosotros-page.theme-dark .proyect_intro {
  color: rgba(255, 255, 255, 0.82);
}

html[data-theme="dark"] body.nosotros-page .carouselClientes,
body.nosotros-page.theme-dark .carouselClientes {
  background:
    radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%),
    linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] body.nosotros-page .carousel__elemento,
body.nosotros-page.theme-dark .carousel__elemento {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(75, 201, 243, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] body.nosotros-page .carousel__anterior,
html[data-theme="dark"] body.nosotros-page .carousel__siguiente,
body.nosotros-page.theme-dark .carousel__anterior,
body.nosotros-page.theme-dark .carousel__siguiente {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(75, 201, 243, 0.16);
  color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot {
  background: rgba(255, 255, 255, 0.26);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot:hover,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot:hover {
  background: rgba(255, 255, 255, 0.42);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot.active {
  background: #36d7ff;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__shell {
    background: linear-gradient(180deg, rgba(12, 18, 28, 0.96), rgba(17, 25, 38, 0.94));
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 30px 84px rgba(0, 0, 0, 0.34);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__heading h2,
  html:not([data-theme="light"]) body.nosotros-page .clientes-showcase__heading h2,
  html:not([data-theme="light"]) body.nosotros-page .homolo-heading h2,
  html:not([data-theme="light"]) body.nosotros-page .proyect_title {
    color: #ffffff;
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__tab {
    color: rgba(255, 255, 255, 0.72);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__tab:hover,
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__tab.is-active {
    color: #ffffff;
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__nav {
    border-bottom-color: rgba(75, 201, 243, 0.14);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block h3 {
    color: #ffffff;
  }

  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block p,
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block li,
  html:not([data-theme="light"]) body.nosotros-page .clientes-showcase__heading p,
  html:not([data-theme="light"]) body.nosotros-page .homolo-heading p,
  html:not([data-theme="light"]) body.nosotros-page .proyect_intro {
    color: rgba(255, 255, 255, 0.82);
  }

  html:not([data-theme="light"]) body.nosotros-page .carouselClientes {
    background:
      radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%),
      linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__elemento {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(75, 201, 243, 0.12);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__anterior,
  html:not([data-theme="light"]) body.nosotros-page .carousel__siguiente {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(75, 201, 243, 0.16);
    color: rgba(255, 255, 255, 0.9);
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__indicadores .glider-dot {
    background: rgba(255, 255, 255, 0.26);
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__indicadores .glider-dot:hover {
    background: rgba(255, 255, 255, 0.42);
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__indicadores .glider-dot.active {
    background: #36d7ff;
  }
}

/* =========================================================
   NOSOTROS — Theme Cohesion Fix
   - Light/Dark se adaptan al contenido
   - Contadores se mantienen iguales en ambos temas
========================================================= */
body.nosotros-page .mv-stats,
html[data-theme="dark"] body.nosotros-page .mv-stats,
body.nosotros-page.theme-dark .mv-stats,
html[data-theme="light"] body.nosotros-page .mv-stats {
  background-color: #03070d;
}

body.nosotros-page .mv-stats::before,
html[data-theme="dark"] body.nosotros-page .mv-stats::before,
body.nosotros-page.theme-dark .mv-stats::before,
html[data-theme="light"] body.nosotros-page .mv-stats::before {
  background:
    linear-gradient(180deg, rgba(2, 7, 13, 0.5), rgba(2, 7, 13, 0.58) 42%, rgba(2, 7, 13, 0.68) 100%),
    radial-gradient(900px 420px at 22% 12%, rgba(20, 184, 255, 0.08), transparent 60%),
    url("../assets/img/starlink3.png") center center / cover no-repeat;
  filter: brightness(0.68) saturate(0.98) contrast(1.02);
}

body.nosotros-page .mv-stats__overlay,
html[data-theme="dark"] body.nosotros-page .mv-stats__overlay,
body.nosotros-page.theme-dark .mv-stats__overlay,
html[data-theme="light"] body.nosotros-page .mv-stats__overlay {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.08),
    rgba(0, 0, 0, 0.02),
    rgba(0, 0, 0, 0.08)
  );
}

body.nosotros-page .mv-stat__number,
body.nosotros-page .mv-stat__label,
body.nosotros-page .mv-stat__prefix,
html[data-theme="dark"] body.nosotros-page .mv-stat__number,
html[data-theme="dark"] body.nosotros-page .mv-stat__label,
html[data-theme="dark"] body.nosotros-page .mv-stat__prefix,
body.nosotros-page.theme-dark .mv-stat__number,
body.nosotros-page.theme-dark .mv-stat__label,
body.nosotros-page.theme-dark .mv-stat__prefix,
html[data-theme="light"] body.nosotros-page .mv-stat__number,
html[data-theme="light"] body.nosotros-page .mv-stat__label,
html[data-theme="light"] body.nosotros-page .mv-stat__prefix {
  color: #ffffff;
}

body.nosotros-page .mv-stat__prefix,
html[data-theme="dark"] body.nosotros-page .mv-stat__prefix,
body.nosotros-page.theme-dark .mv-stat__prefix,
html[data-theme="light"] body.nosotros-page .mv-stat__prefix {
  color: #ffd24a;
}

body.nosotros-page .about-tabs__shell {
  margin-inline: auto;
}

html[data-theme="light"] body.nosotros-page .homolo-heading__eyebrow,
html[data-theme="light"] body.nosotros-page .clientes-showcase__eyebrow,
body.nosotros-page:not(.theme-dark) .homolo-heading__eyebrow,
body.nosotros-page:not(.theme-dark) .clientes-showcase__eyebrow {
  color: #0d86dd;
}

html[data-theme="dark"] body.nosotros-page .homolo-heading__eyebrow,
html[data-theme="dark"] body.nosotros-page .clientes-showcase__eyebrow,
body.nosotros-page.theme-dark .homolo-heading__eyebrow,
body.nosotros-page.theme-dark .clientes-showcase__eyebrow {
  color: #4bc9f3;
}

@media (max-width: 991.98px) {
  body.nosotros-page .mv-stats::before,
  html[data-theme="dark"] body.nosotros-page .mv-stats::before,
  body.nosotros-page.theme-dark .mv-stats::before,
  html[data-theme="light"] body.nosotros-page .mv-stats::before {
    background:
      linear-gradient(180deg, rgba(2, 7, 13, 0.52), rgba(2, 7, 13, 0.6) 44%, rgba(2, 7, 13, 0.7) 100%),
      radial-gradient(680px 320px at 20% 10%, rgba(20, 184, 255, 0.06), transparent 60%),
      url("../assets/img/starlink3.png") center center / cover no-repeat;
  }
}

/* =========================================================
   NOSOTROS — Carousel Clientes / Render limpio
   ========================================================= */
body.nosotros-page .clientes-showcase {
  width: min(99vw, 1680px);
}

body.nosotros-page .carouselClientes {
  padding: 22px 0 26px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.nosotros-page .carousel__contenedor {
  max-width: 1560px;
  padding: 0 56px;
}

body.nosotros-page .carousel__lista {
  overflow: hidden;
}

body.nosotros-page .carousel__lista .glider-track {
  align-items: center;
  gap: 6px;
}

body.nosotros-page .carousel__elemento {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 110px;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

body.nosotros-page .carousel__lista .carousel__elemento img {
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 1;
  filter: none;
  transform: none;
  display: block;
}

body.nosotros-page .carousel__lista .carousel__elemento img:hover {
  opacity: 1;
  transform: none;
}

body.nosotros-page .carousel__anterior,
body.nosotros-page .carousel__siguiente {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.12);
  color: #b7bec9;
  box-shadow: none;
}

body.nosotros-page .carousel__anterior {
  left: 14px;
}

body.nosotros-page .carousel__siguiente {
  right: 14px;
}

body.nosotros-page .carousel__anterior:hover,
body.nosotros-page .carousel__siguiente:hover {
  transform: translateY(-50%);
  background: #ffffff;
  border-color: rgba(0, 174, 239, 0.24);
  color: #667085;
  box-shadow: none;
}

body.nosotros-page .carousel__indicadores {
  margin-top: 12px;
  gap: 10px;
}

body.nosotros-page .carousel__indicadores .glider-dot {
  width: 10px;
  height: 10px;
  margin: 0;
  border: 0;
  background: #d2d7e0;
}

body.nosotros-page .carousel__indicadores .glider-dot:hover {
  background: #bcc3cf;
}

body.nosotros-page .carousel__indicadores .glider-dot.active {
  background: #b5abd6;
  transform: scale(1);
}

html[data-theme="dark"] body.nosotros-page .carouselClientes,
body.nosotros-page.theme-dark .carouselClientes,
html[data-theme="light"] body.nosotros-page .carouselClientes,
body.nosotros-page:not(.theme-dark) .carouselClientes {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-theme="dark"] body.nosotros-page .carousel__elemento,
body.nosotros-page.theme-dark .carousel__elemento,
html[data-theme="light"] body.nosotros-page .carousel__elemento,
body.nosotros-page:not(.theme-dark) .carousel__elemento {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-theme="dark"] body.nosotros-page .carousel__anterior,
html[data-theme="dark"] body.nosotros-page .carousel__siguiente,
body.nosotros-page.theme-dark .carousel__anterior,
body.nosotros-page.theme-dark .carousel__siguiente,
html[data-theme="light"] body.nosotros-page .carousel__anterior,
html[data-theme="light"] body.nosotros-page .carousel__siguiente,
body.nosotros-page:not(.theme-dark) .carousel__anterior,
body.nosotros-page:not(.theme-dark) .carousel__siguiente {
  background: #ffffff;
  border-color: rgba(17, 24, 39, 0.12);
  color: #b7bec9;
  box-shadow: none;
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot,
html[data-theme="light"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page:not(.theme-dark) .carousel__indicadores .glider-dot {
  background: #d2d7e0;
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot.active,
html[data-theme="light"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page:not(.theme-dark) .carousel__indicadores .glider-dot.active {
  background: #b5abd6;
}

@media (max-width: 991.98px) {
  body.nosotros-page .clientes-showcase {
    width: calc(100% - 24px);
  }

  body.nosotros-page .carousel__contenedor {
    padding: 0 44px;
  }

  body.nosotros-page .carousel__elemento {
    height: 94px;
    padding: 10px 12px;
  }

  body.nosotros-page .carousel__lista .carousel__elemento img {
    max-width: 100%;
    max-height: 58px;
  }
}

@media (max-width: 575.98px) {
  body.nosotros-page .carouselClientes {
    padding: 16px 0 20px;
  }

  body.nosotros-page .carousel__contenedor {
    padding: 0 36px;
  }

  body.nosotros-page .carousel__elemento {
    height: 82px;
    padding: 8px 10px;
  }

  body.nosotros-page .carousel__lista .carousel__elemento img {
    max-width: 100%;
    max-height: 46px;
  }

  body.nosotros-page .carousel__anterior,
  body.nosotros-page .carousel__siguiente {
    width: 30px;
    height: 30px;
  }

  body.nosotros-page .carousel__indicadores {
    margin-top: 10px;
    gap: 8px;
  }
}

@media (max-width: 575.98px) {
  body.nosotros-page .mv-stats::before,
  html[data-theme="dark"] body.nosotros-page .mv-stats::before,
  body.nosotros-page.theme-dark .mv-stats::before,
  html[data-theme="light"] body.nosotros-page .mv-stats::before {
    background:
      linear-gradient(180deg, rgba(2, 7, 13, 0.56), rgba(2, 7, 13, 0.62) 42%, rgba(2, 7, 13, 0.72) 100%),
      radial-gradient(440px 220px at 22% 10%, rgba(20, 184, 255, 0.05), transparent 60%),
      url("../assets/img/starlink3.png") 58% center / cover no-repeat;
  }
}

/*****************************************************/
/************* Botón flotante contacto ***************/
/*****************************************************/

/* Contenedor flotante */
.contacto-float {
  position: fixed;
  right: 70px;
  bottom: 70px;
  z-index: 2200;

  display: flex;
  flex-direction: column-reverse; /* ✅ hace que se abran hacia arriba */
  align-items: flex-end;
  gap: 14px;
}

/* Botón principal */
.contacto-btn {
  appearance: none;
  border: 0;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  font-weight: 600;
  letter-spacing: 0.02em;

  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--secondary));

  /* 🔼 5% más grande */
  height: 46px; /* antes 44 */
  padding: 0 24px; /* antes 22 */
  font-size: 1.05rem; /* 5% más */

  border-radius: 999px;

  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.25),
    0 0 0 6px rgba(0, 151, 206, 0.12);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contacto-btn:hover {
    transform: translateY(-2px);
    box-shadow:
      0 20px 50px rgba(0, 0, 0, 0.3),
      0 0 0 6px rgba(79, 209, 197, 0.16);
    filter: saturate(1.05);
  }
}

.contacto-btn:focus-visible {
  outline: 3px solid rgba(79, 209, 197, 0.35);
  outline-offset: 4px;
}

/* Menú */
.contacto-social {
  display: flex;
  flex-direction: column;
  gap: 12px;

  width: 100%;
  max-width: 320px;

  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;

  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
}

.contacto-social.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Items */
.contacto-social__item {
  display: inline-flex;
  align-items: center;
  gap: 12px;

  /* 🔼 5% más grande */
  padding: 13px 16px;
  font-size: 14px;

  border-radius: 999px;
  text-decoration: none;

  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  font-weight: 600;

  color: #fff;

  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.25);
  transition:
    transform 0.18s ease,
    opacity 0.18s ease,
    box-shadow 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contacto-social__item:hover {
    transform: translateX(-6px);
    opacity: 0.95;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.3);
  }
}

/* Variantes */
.contacto-social__item--call {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(8px);
}

.contacto-social__item--wa {
  background: #00c853;
}

.contacto-social__item--ms {
  background: linear-gradient(90deg, #4b87ff, #c33fdc, #fb5d7b);
}

/* Mobile */
@media (max-width: 575.98px) {
  .contacto-float {
    right: 20px;
    bottom: 20px;
  }
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  --r-12: 12px;
  --ease: ease;
  background:
    radial-gradient(
      1200px 600px at 20% -10%,
      rgba(83, 161, 188, 0.18),
      transparent 60%
    ),
    radial-gradient(
      900px 500px at 90% 10%,
      rgba(0, 174, 239, 0.12),
      transparent 55%
    ),
    radial-gradient(700px 320px at 50% 110%, rgba(79, 209, 197, 0.1), transparent 65%),
    var(--bg);
  color: var(--text);
  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  border-top: 1px solid var(--border);
}

.site-footer .footer-block {
  height: 100%;
  padding: 8px 0 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  box-shadow: none;
}

.footer-title {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: var(--accent);
  margin: 0 0 1.15rem 0;
}

.footer-text {
  color: var(--footer-text-soft);
  margin-bottom: 0.75rem;
  line-height: 1.5;
}

.footer-kicker {
  font-size: 0.8rem;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--footer-text-subtle);
}

.footer-brand img {
  max-width: 210px;
  height: auto;
  display: block;
}

.footer-meta,
.footer-badge,
.footer-form,
.footer-complaints {
  display: block;
}

/* Links */
.footer-nav a,
.footer-link-inline {
  color: var(--text);
  text-decoration: none;
  transition:
    transform 0.15s var(--ease),
    color 0.15s var(--ease),
    opacity 0.15s var(--ease);
}

.footer-nav a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.42rem 0;
  color: var(--footer-nav-text);
  font-weight: 500;
}

.footer-nav a::before {
  content: "›";
  color: var(--accent);
  opacity: 0.9;
  transform: translateY(-1px);
}

.footer-nav a:hover {
  color: var(--text);
  transform: translateX(2px);
}

.footer-link-inline:hover {
  color: var(--accent-2);
}

/* Address */
.footer-address {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  width: 100%;
  color: var(--footer-address-text);
  text-decoration: none;
  padding: 0.1rem 0 0.1rem 0.95rem;
  border: 0;
  border-left: 2px solid var(--footer-address-border);
  border-radius: 0;
  background: transparent;
  transition:
    background 0.2s var(--ease),
    border-color 0.2s var(--ease),
    transform 0.2s var(--ease);
}

.footer-address:hover {
  background: transparent;
  border-color: var(--footer-address-hover-border);
  transform: translateX(2px);
}

.footer-address i {
  color: var(--accent);
  margin-top: 2px;
}

/* Phones */
.footer-phone a {
  font-weight: 600;
  letter-spacing: 0.2px;
  color: var(--accent-2);
}

/* Badge */
.footer-badge-img {
  display: block;
  border-radius: 14px;
  border: 1px solid var(--footer-badge-border);
  background: var(--footer-badge-bg);
  padding: 0.28rem;
}

/* Complaints */
.footer-complaints {
  display: inline-block;
}

.footer-complaints img {
  display: block;
  border-radius: 14px;
  border: 1px solid var(--footer-badge-border);
  background: var(--footer-badge-bg);
  transition: transform 0.2s var(--ease);
}

.footer-complaints:hover img {
  transform: translateY(-1px);
}

/* Form */
.footer-form .form-row {
  row-gap: 0.5rem;
  margin-left: 0;
  margin-right: 0;
}

.footer-input {
  width: 100%;
  height: 44px;
  padding: 0 0.9rem;
  border-radius: 12px;
  border: 1px solid var(--footer-input-border);
  background: var(--footer-input-bg);
  color: var(--text);
  outline: none;
  transition:
    border-color 0.2s var(--ease),
    box-shadow 0.2s var(--ease),
    background 0.2s var(--ease);
}

.footer-input::placeholder {
  color: var(--footer-placeholder);
}

.footer-input:focus {
  border-color: rgba(83, 161, 188, 0.55);
  box-shadow: 0 0 0 4px var(--focus);
  background: var(--footer-input-bg-focus);
}

.footer-cta {
  width: 100%;
  height: 46px;
  border: 1px solid rgba(0, 174, 239, 0.35);
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    rgba(0, 174, 239, 0.24),
    rgba(83, 161, 188, 0.18)
  );
  color: var(--text);
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition:
    transform 0.2s var(--ease),
    box-shadow 0.2s var(--ease),
    border-color 0.2s var(--ease);
}

.footer-cta:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
  border-color: rgba(0, 174, 239, 0.55);
}

.footer-hint {
  color: var(--footer-text-subtle);
  font-size: 0.8rem;
  line-height: 1.4;
}

.footer-bottom {
  border-top: 1px solid var(--border);
  background: var(--footer-bottom-bg);
}

.footer-muted {
  color: var(--footer-text-subtle);
}

/* Accessibility: focus visible */
.site-footer a:focus-visible,
.site-footer button:focus-visible,
.site-footer input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px var(--focus);
  border-radius: 999px;
}

/* Mobile-first adjustments */
@media (max-width: 767.98px) {
  .site-footer .container.py-5 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .site-footer .footer-block {
    min-height: auto;
    padding-top: 0;
  }

  .footer-title {
    margin-top: 0.25rem;
  }

  .footer-social {
    gap: 0.45rem;
  }

  .footer-address {
    padding: 0.1rem 0 0.1rem 0.85rem;
  }

  .footer-form .form-row {
    row-gap: 0.75rem;
  }
}

/* ==============================
   Footer Social – Space Style
   ============================== */

.footer-social {
  display: flex;
  gap: 12px;
  margin-top: 14px;
}

.social-btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;

  /* Estado base */
  color: var(--footer-text);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.15);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.3s ease;
}

/* Icon size */
.social-btn i {
  font-size: 18px;
  transition: transform 0.25s ease;
}

/* ==============================
   Hover Effect – Celeste Glow
   ============================== */

.social-btn:hover {
  color: #ffffff;
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-3px);

  box-shadow:
    0 0 0 4px rgba(0, 151, 206, 0.18),
    0 10px 25px rgba(0, 151, 206, 0.35);
}

/* Micro animación del ícono */
.social-btn:hover i {
  transform: scale(1.1);
}

/* ==============================
   Focus accesible
   ============================== */

.social-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 151, 206, 0.35);
}

/* ==============================
   Mobile optimization
   ============================== */

@media (max-width: 576px) {
  .social-btn {
    width: 38px;
    height: 38px;
  }

  .social-btn i {
    font-size: 16px;
  }
}

/***********************************************************/
/*********************** Página Nosotros ************************/
/***********************************************************/

.mv-hero-carousel {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* sin gutters bootstrap */
.mv-hero-carousel__container {
  padding-left: 0;
  padding-right: 0;
}

/* IMPORTANTÍSIMO con Owl: los items deben tener altura real */
.mv-hero-carousel__track {
  position: relative;
}
.mv-hero-carousel__track .owl-stage-outer,
.mv-hero-carousel__track .owl-stage,
.mv-hero-carousel__track .owl-item {
  height: 100%;
}

/* =====================================================
   HERO → ANCHO 100% / ALTO 50% VIEWPORT
===================================================== */
.mv-hero-carousel__slide,
.mv-hero-carousel__media {
  position: relative;
  width: 100%;
  height: 50vh; /* 👈 altura 50% pantalla */
  margin: 0;
}

/* soporte moderno mobile */
@supports (height: 50svh) {
  .mv-hero-carousel__slide,
  .mv-hero-carousel__media {
    height: 50svh;
  }
}

/* imagen llena el espacio SIN deformar */
.mv-hero-carousel__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: saturate(1.05) contrast(1.06);
}

/* overlay cinematic */
.mv-hero-carousel__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      900px 520px at 18% 12%,
      rgba(54, 215, 255, 0.18),
      transparent 58%
    ),
    radial-gradient(
      820px 480px at 86% 18%,
      rgba(0, 174, 239, 0.12),
      transparent 62%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.68) 0%,
      rgba(0, 0, 0, 0.26) 48%,
      rgba(0, 0, 0, 0.78) 100%
    );
  pointer-events: none;
}

/* dots */
.mv-hero-carousel__track .owl-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  display: flex;
  justify-content: center;
  gap: 10px;
  z-index: 5;
  padding: 0 14px;
}

.mv-hero-carousel__track .owl-dot span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
  display: block;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease;
}

.mv-hero-carousel__track .owl-dot.active span {
  background: rgba(54, 215, 255, 0.9);
  transform: scale(1.25);
}

/* nav */
.mv-hero-carousel__track .owl-nav {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
}

.mv-hero-carousel__track .owl-prev,
.mv-hero-carousel__track .owl-next {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: grid;
  place-items: center;
  transition:
    transform 0.18s ease,
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.mv-hero-carousel__track .owl-prev {
  left: 14px;
}
.mv-hero-carousel__track .owl-next {
  right: 14px;
}

@media (hover: hover) {
  .mv-hero-carousel__track .owl-prev:hover,
  .mv-hero-carousel__track .owl-next:hover {
    transform: translateY(-50%) scale(1.03);
    border-color: rgba(54, 215, 255, 0.35);
    background: rgba(0, 0, 0, 0.32);
  }
}

/* Mobile: un poco más alto para que no se vea pequeño */
@media (max-width: 575.98px) {
  .mv-hero-carousel__slide,
  .mv-hero-carousel__media {
    height: 40vh;
  }

  .mv-hero-carousel__track .owl-prev,
  .mv-hero-carousel__track .owl-next {
    width: 40px;
    height: 40px;
  }

  .mv-hero-carousel__track .owl-dots {
    bottom: 12px;
    gap: 8px;
  }
}
/* ======2. CONTADORES (Stats) ====== */
.mv-stats {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #03070d;
  min-height: 50vh;
}
@supports (min-height: 50svh) {
  .mv-stats {
    min-height: 50svh;
  }
}

.mv-stats__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--stats-overlay-a),
    var(--stats-overlay-b),
    var(--stats-overlay-a)
  );
  pointer-events: none;
}

.mv-stats::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 7, 13, 0.5), rgba(2, 7, 13, 0.58) 42%, rgba(2, 7, 13, 0.68) 100%),
    radial-gradient(900px 420px at 22% 12%, rgba(20, 184, 255, 0.08), transparent 60%),
    url("../assets/img/starlink3.png") center center / cover no-repeat;
  filter: brightness(0.68) saturate(0.98) contrast(1.02);
  pointer-events: none;
}

/* ✅ Full width viewport (sin caja centrada) */
.mv-stats__container {
  position: relative;
  z-index: 1;

  width: 100vw;
  margin: 0;

  min-height: inherit;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-content: end;
  align-items: end;

  gap: clamp(16px, 2vw, 28px);
  padding-block: clamp(160px, 24vh, 280px) clamp(28px, 5vh, 62px);
  padding-inline: clamp(18px, 4vw, 72px);

  color: var(--stats-text); /* ✅ texto general */
}

/* sin recuadro */
.mv-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: clamp(14px, 1.8vw, 22px);
  align-items: center;

  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;

  min-height: clamp(160px, 20vh, 240px);
  padding: clamp(8px, 1.4vh, 18px);
}

/* Icono */
.mv-stat__icon {
  width: clamp(64px, 6.5vh, 96px);
  height: clamp(64px, 6.5vh, 96px);
  display: grid;
  place-items: center;

  background: transparent;
  border: 0;
  border-radius: 0;

  font-size: clamp(34px, 4vh, 54px);
}

/* Número */
.mv-stat__numline {
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1;
}

.mv-stat__prefix {
  font-size: clamp(26px, 3.2vh, 40px);
  font-weight: 900;
  color: var(--space-warn); /* tu amarillo */
}

.mv-stat__number {
  font-size: clamp(54px, 6.2vh, 84px);
  font-weight: 950;
  letter-spacing: 0.02em;
  color: var(--stats-number); /* ✅ cambia con light/dark */
}

.mv-stat__label {
  grid-column: 2 / -1;
  margin: 10px 0 0 0;
  color: var(--stats-muted); /* ✅ cambia con light/dark */
  font-size: clamp(16px, 2.1vh, 20px);
  line-height: 1.35;
}

/* Tablet */
@media (max-width: 991.98px) {
  .mv-stats::before {
    background:
      linear-gradient(180deg, rgba(2, 7, 13, 0.52), rgba(2, 7, 13, 0.6) 44%, rgba(2, 7, 13, 0.7) 100%),
      radial-gradient(680px 320px at 20% 10%, rgba(20, 184, 255, 0.06), transparent 60%),
      url("../assets/img/starlink3.png") center center / cover no-repeat;
  }

  .mv-stats__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 2.4vw, 26px);
    padding-inline: clamp(16px, 4vw, 40px);
    padding-block: clamp(84px, 11vh, 126px) clamp(22px, 4vh, 54px);
  }

  .mv-stat {
    min-height: clamp(150px, 18vh, 220px);
  }

  .mv-stat__icon {
    width: clamp(62px, 6vh, 88px);
    height: clamp(62px, 6vh, 88px);
    font-size: clamp(32px, 3.8vh, 50px);
  }

  .mv-stat__prefix {
    font-size: clamp(24px, 3vh, 36px);
  }
  .mv-stat__number {
    font-size: clamp(50px, 5.8vh, 78px);
  }
  .mv-stat__label {
    font-size: clamp(15px, 2vh, 18px);
  }
}

/* Mobile */
@media (max-width: 575.98px) {
  .mv-stats {
    min-height: max(50vh, 420px);
  }

  .mv-stats::before {
    background:
      linear-gradient(180deg, rgba(2, 7, 13, 0.56), rgba(2, 7, 13, 0.62) 42%, rgba(2, 7, 13, 0.72) 100%),
      radial-gradient(440px 220px at 22% 10%, rgba(20, 184, 255, 0.05), transparent 60%),
      url("../assets/img/starlink3.png") 58% center / cover no-repeat;
  }
  @supports (min-height: 50svh) {
    .mv-stats {
      min-height: max(50svh, 420px);
    }
  }

  .mv-stats__container {
    width: 100%;
    grid-template-columns: 1fr;
    padding-inline: 16px;
    padding-block: clamp(92px, 14vh, 124px) 18px;
    gap: 14px;
  }

  .mv-stat {
    min-height: 148px;
    padding: 12px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    row-gap: 8px;
  }

  .mv-stat__icon {
    width: 56px;
    height: 56px;
    font-size: 30px;
  }

  .mv-stat__icon img {
    max-width: 100%;
    max-height: 100%;
    display: block;
  }

  .mv-stat__numline {
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .mv-stat__prefix {
    font-size: 26px;
  }
  .mv-stat__number {
    font-size: 50px;
  }
  .mv-stat__label {
    grid-column: auto;
    margin: 0;
    font-size: 18px;
    text-align: center;
    max-width: 240px;
  }
}
/* =========================================================
   3) MISIÓN / VISIÓN / VALORES (responsive pro)
========================================================= */
.seccion_mision {
  width: min(94vw, 1120px);
  margin: 40px auto 0 auto;

  /* ✅ como es .row, controlamos spacing aquí (no en .row interno) */
  row-gap: 18px;
}

/* ✅ columnas a misma altura */
.seccion_mision > .col {
  display: flex;
}

/* ✅ la card ocupa todo el alto de la columna */
.seccion_mision .sec_card {
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 100%;

  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.095),
    rgba(255, 255, 255, 0.04)
  );
  box-shadow: var(--shadow-md);
  transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    border-color 0.3s var(--ease-out);
}

.seccion_mision .sec_card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      700px 260px at 20% 0%,
      rgba(54, 215, 255, 0.16),
      transparent 60%
    ),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 35%);
  opacity: 0.45;
}

@media (hover: hover) {
  .seccion_mision .sec_card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(54, 215, 255, 0.22);
  }
}

/* ✅ header visual consistente */
.seccion_mision .card-title {
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}

/* ✅ imagen centrada, sin inflar */
.seccion_mision .sec_card img {
  width: 100%;
  height: 190px; /* más estable que max-height */
  object-fit: contain;
  padding: 14px 14px 0 14px;
  filter: saturate(1.06) contrast(1.05);
  transition: transform 0.35s var(--ease-out);
}

@media (hover: hover) {
  .seccion_mision .sec_card:hover img {
    transform: scale(1.04);
  }
}

/* ✅ body flexible: empuja contenido y mantiene orden */
.seccion_mision .card-body {
  padding: 18px 18px 22px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1; /* rellena altura */
}

.seccion_mision .card-text {
  color: var(--space-muted);
  line-height: 1.65;
  margin: 0;
}

.seccion_mision .card-title {
  color: #18314c;
}

/* ✅ mata el padding inline feo del UL y lo hace consistente */
.seccion_mision ul {
  padding-left: 22px; /* pisa el inline 50px */
  margin: 0;
}

.seccion_mision li {
  color: #314861;
  margin: 6px 0;
}
.seccion_mision li::marker {
  color: var(--space-primary);
}

@media (prefers-color-scheme: dark) {
  .seccion_mision .card-title {
    color: #ffffff;
  }

  .seccion_mision li {
    color: rgba(255, 255, 255, 0.82);
  }
}

/* =========================================================
   Responsive: 3 → 2 → 1 con mejor proporción
========================================================= */

/* tablet: 2 columnas, mejor lectura */
@media (max-width: 991.98px) {
  .seccion_mision {
    width: min(94vw, 980px);
    row-gap: 16px;
  }
  .seccion_mision .sec_card img {
    height: 170px;
  }
}

/* móvil: 1 columna, padding más cómodo */
@media (max-width: 575.98px) {
  .seccion_mision {
    width: calc(100% - 28px);
    margin-top: 26px;
    row-gap: 14px;
  }
  .seccion_mision .card-body {
    padding: 16px 14px 18px 14px;
  }
  .seccion_mision .sec_card img {
    height: 150px;
  }
}

/* =========================================================
   NOSOTROS — About Tabs
========================================================= */
.about-tabs {
  width: min(94vw, 1120px);
  margin: clamp(36px, 5vw, 68px) auto 0;
}

.about-tabs__shell {
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08),
    rgba(255, 255, 255, 0.04)
  );
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.about-tabs__heading {
  padding: clamp(24px, 4vw, 42px) clamp(20px, 4vw, 48px) 0;
}

.about-tabs__eyebrow {
  margin: 0 0 10px;
  color: var(--space-primary);
  font-family: "Montserrat", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.about-tabs__heading h2 {
  margin: 0;
  color: var(--space-text);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  font-weight: 700;
}

.about-tabs__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0 clamp(20px, 4vw, 48px);
  margin-top: 26px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.about-tabs__tab {
  position: relative;
  padding: 18px 14px 16px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Montserrat", sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: color 0.25s ease, opacity 0.25s ease;
}

.about-tabs__tab::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 4px;
  border-radius: 999px;
  background: transparent;
  transition: background 0.25s ease;
}

.about-tabs__tab:hover,
.about-tabs__tab.is-active {
  color: #ffffff;
}

.about-tabs__tab.is-active::after {
  background: linear-gradient(90deg, #0f9df0, #36d7ff);
}

.about-tabs__panel {
  padding: clamp(26px, 4vw, 42px) clamp(20px, 4vw, 48px) clamp(28px, 4vw, 46px);
}

.about-tabs__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 34px);
}

.about-tabs__block {
  padding: clamp(18px, 2.4vw, 28px);
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(6, 15, 28, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.about-tabs__block h3 {
  margin: 0 0 12px;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 1.28rem;
  font-weight: 700;
}

.about-tabs__block p,
.about-tabs__block li {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.72;
}

.about-tabs__block p + p {
  margin-top: 14px;
}

.about-tabs__list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
}

.about-tabs__list li::marker {
  color: var(--space-primary);
}

html[data-theme="light"] .about-tabs__shell,
body:not(.theme-dark) .about-tabs__shell {
  border-color: rgba(11, 87, 162, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 248, 252, 0.94));
  box-shadow: 0 24px 64px rgba(16, 48, 88, 0.1);
}

html[data-theme="light"] .about-tabs__heading h2,
body:not(.theme-dark) .about-tabs__heading h2 {
  color: #173759;
}

html[data-theme="light"] .about-tabs__nav,
body:not(.theme-dark) .about-tabs__nav {
  border-bottom-color: rgba(11, 87, 162, 0.12);
}

html[data-theme="light"] .about-tabs__tab,
body:not(.theme-dark) .about-tabs__tab {
  color: rgba(23, 55, 89, 0.7);
}

html[data-theme="light"] .about-tabs__tab:hover,
html[data-theme="light"] .about-tabs__tab.is-active,
body:not(.theme-dark) .about-tabs__tab:hover,
body:not(.theme-dark) .about-tabs__tab.is-active {
  color: #173759;
}

html[data-theme="light"] .about-tabs__block,
body:not(.theme-dark) .about-tabs__block {
  border-color: rgba(11, 87, 162, 0.1);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 34px rgba(16, 48, 88, 0.06);
}

html[data-theme="light"] .about-tabs__block h3,
body:not(.theme-dark) .about-tabs__block h3 {
  color: #15385c;
}

html[data-theme="light"] .about-tabs__block p,
html[data-theme="light"] .about-tabs__block li,
body:not(.theme-dark) .about-tabs__block p,
body:not(.theme-dark) .about-tabs__block li {
  color: rgba(20, 43, 70, 0.86);
}

@media (max-width: 991.98px) {
  .about-tabs__content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .about-tabs {
    width: calc(100% - 28px);
    margin-top: 28px;
  }

  .about-tabs__heading {
    padding: 22px 16px 0;
  }

  .about-tabs__nav {
    grid-template-columns: 1fr;
    padding: 0 16px;
    margin-top: 18px;
  }

  .about-tabs__tab {
    text-align: left;
    padding: 14px 4px;
  }

  .about-tabs__tab::after {
    left: 0;
    right: 0;
  }

  .about-tabs__panel {
    padding: 20px 16px 24px;
  }

  .about-tabs__block {
    padding: 18px 16px;
    border-radius: 18px;
  }
}

/* =========================================================
   PROYECTOS + MAPA — Responsive PRO (letras + imágenes)
   Compatible con Bootstrap (row/col/g-0)
========================================================= */

.proyect_container {
  width: min(94vw, 1120px);
  margin: clamp(24px, 4vw, 44px) auto 0 auto;
  padding: clamp(16px, 3vw, 26px) 0;
}

.proyect_intro {
  max-width: 560px;
  margin: 10px 0 22px;
  color: var(--space-muted);
  line-height: 1.72;
}

.proyect_intro--map {
  max-width: 520px;
}

/* Row: estira columnas y controla gaps */
.proyect_container .proyect_grid {
  row-gap: clamp(14px, 2.6vw, 22px);
  align-items: stretch;
}

/* Columnas: layout vertical (para que el mapa pueda llenar alto) */
.proyect_container .proyect_grid > [class*="col-"] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Títulos: balanceo y misma “banda” en desktop */
.proyect_container .proyect_title {
  text-align: center;
  margin: 0 0 clamp(10px, 1.8vw, 16px) 0;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.08;
  text-wrap: balance;

  min-height: 58px;
  display: grid;
  place-items: center;

  font-size: clamp(22px, 1.9vw, 30px);
}

/* Lista de cards */
.proyect_list {
  display: grid;
  gap: clamp(10px, 1.7vw, 14px);
}

/* Card */
.proyect_card {
  width: 100%;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.09),
    rgba(255, 255, 255, 0.04)
  );
  box-shadow: var(--shadow-md);
  transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    border-color 0.3s var(--ease-out);
}

@media (hover: hover) {
  .proyect_card:hover {
    transform: translateY(-8px) rotate(-0.4deg);
    box-shadow: var(--shadow-lg);
    border-color: rgba(54, 215, 255, 0.22);
  }
}

/* ===== Imagen: consistente en todas las cards ===== */
.proyect_media {
  /* Alto estable para que todas las cards “cuadren” */
  min-height: 132px;
}
.proyect_media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05);
}

/* ===== Texto: jerarquía clara ===== */
.proyect_body {
  padding: clamp(12px, 1.6vw, 16px);
}

.proyect_body .card-title {
  margin: 0 0 6px 0;
  font-weight: 800;
  letter-spacing: 0.01em;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.2;

  /* evita cortes feos en títulos largos */
  text-wrap: balance;
}

.proyect_body .card-text {
  margin: 0;
  color: var(--space-muted);
  line-height: 1.45;
  font-size: clamp(13px, 0.95vw, 15px);
}

/* UL largo: 2 columnas en desktop, mejora legibilidad */
.proyect_ul {
  margin: 8px 0 0 0;
  padding-left: 18px;
  color: var(--space-muted);
  line-height: 1.45;

  column-count: 2;
  column-gap: 22px;
}
.proyect_ul li {
  break-inside: avoid;
  margin: 4px 0;
}

/* ===== MAPA: mismo alto que proyectos en desktop ===== */
.map_wrap {
  flex: 1;
  min-height: 0;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: var(--shadow-lg);
  background: rgba(255, 255, 255, 0.03);
  display: flex;
}

.map_wrap .video_posicion {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* cover si quieres recorte bonito */
}

/* =========================================================
   TABLET (<= 992px): 2 col, más aire y mejor lectura
========================================================= */
@media (max-width: 991.98px) {
  .proyect_container {
    width: min(94vw, 980px);
  }

  .proyect_container .proyect_title {
    min-height: 52px;
    font-size: clamp(22px, 3vw, 28px);
  }

  .proyect_media {
    min-height: 120px;
  }

  .proyect_ul {
    column-count: 1; /* en tablet, mejor 1 columna */
  }

  .map_wrap {
    min-height: 360px; /* evita que el mapa se aplaste si el contenido crece */
  }
}

/* =========================================================
   MOBILE (<= 768px): cards con imagen arriba / texto abajo
   (mejor división real)
========================================================= */
@media (max-width: 767.98px) {
  .proyect_container {
    width: calc(100% - 28px);
  }

  /* ya no forzamos mismas alturas al apilar */
  .proyect_container .proyect_grid > [class*="col-"] {
    display: block;
  }

  .proyect_container .proyect_title {
    min-height: 0;
    margin-bottom: 12px;
    font-size: 22px;
  }

  /* Bootstrap row.g-0 dentro de la card -> lo convertimos en 1 columna */
  .proyect_card .row.g-0 {
    display: grid;
    grid-template-columns: 1fr;
  }

  /* imagen arriba, grande y clara */
  .proyect_media {
    min-height: 190px;
  }

  /* texto abajo, más legible */
  .proyect_body {
    padding: 14px 14px;
  }
  .proyect_body .card-title {
    font-size: 15px;
  }
  .proyect_body .card-text {
    font-size: 14px;
  }

  /* UL siempre 1 columna en mobile */
  .proyect_ul {
    column-count: 1;
    column-gap: 0;
    padding-left: 18px;
  }

  /* mapa: ratio para que se vea grande y estable */
  .map_wrap {
    flex: none;
    aspect-ratio: 4 / 3;
    min-height: 0;
  }
  .map_wrap .video_posicion {
    height: 100%;
    object-fit: contain;
  }
}

/* =========================================================
   MOBILE pequeño (<= 576px): afinado
========================================================= */
@media (max-width: 575.98px) {
  .proyect_media {
    min-height: 175px;
  }
  .map_wrap {
    aspect-ratio: 1 / 1;
  }
}

/* =========================================================
   PATCH PRO: Mejora tablet + móvil (letras + imágenes)
   Pegar al FINAL (sobrescribe sin !important)
========================================================= */

/* =========================
   TABLET (<= 992px)
========================= */
@media (max-width: 991.98px) {
  /* más aire horizontal y vertical */
  .proyect_container {
    padding: 22px 0;
  }

  /* títulos más compactos y legibles */
  .proyect_container .proyect_title {
    font-size: 28px;
    min-height: 0;
    margin-bottom: 14px;
  }

  /* imagen un poco más protagonista */
  .proyect_media {
    min-height: 150px;
  }

  /* texto más cómodo */
  .proyect_body {
    padding: 14px 14px;
  }

  .proyect_body .card-title {
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 8px;
  }

  .proyect_body .card-text {
    font-size: 15px;
    line-height: 1.5;
  }

  /* UL más respirado */
  .proyect_ul li {
    margin: 6px 0;
  }

  /* mapa: evita “aplastamiento” */
  .map_wrap {
    min-height: 440px;
  }
  .map_wrap .video_posicion {
    object-position: center;
  }
}

/* =========================
   MOBILE (<= 768px)
========================= */
@media (max-width: 767.98px) {
  /* títulos: evita saltos raros y mejora lectura */
  .proyect_container .proyect_title {
    font-size: 22px;
    line-height: 1.15;
    text-wrap: balance;
  }

  /* al convertir a grid, hacemos que los "cols" internos ocupen 100% */
  .proyect_card .row.g-0 > [class*="col-"] {
    width: 100%;
    max-width: 100%;
  }

  /* imagen grande arriba */
  .proyect_media {
    min-height: 210px;
  }

  /* texto con mejor jerarquía */
  .proyect_body {
    padding: 14px 14px 16px 14px;
  }

  .proyect_body .card-title {
    font-size: 16px;
  }

  .proyect_body .card-text {
    font-size: 14px;
    line-height: 1.55;
  }

  /* UL: más legible en mobile */
  .proyect_ul {
    line-height: 1.55;
  }
  .proyect_ul li {
    margin: 6px 0;
  }

  /* mapa: más grande y con frame estable */
  .map_wrap {
    aspect-ratio: 4 / 3;
  }
  .map_wrap .video_posicion {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

/* =========================
   MOBILE pequeño (<= 576px)
========================= */
@media (max-width: 575.98px) {
  .proyect_media {
    min-height: 190px;
  }

  .proyect_container .proyect_title {
    font-size: 20px;
  }

  /* mapa más cuadrado para verse grande */
  .map_wrap {
    aspect-ratio: 1 / 1;
  }
}

/* =========================================================
   PATCH ANTI-COLAPSO (viewport fluid + container queries)
   - Las cards cambian layout según su ancho real, no solo breakpoints
   - El mapa mantiene proporción y no se aplasta
========================================================= */

/* 1) Cards: activamos container queries */
.proyect_card {
  container-type: inline-size; /* ✅ magia: responde al ancho de la card */
}

/* 2) Forzamos layout interno estable (ignorando el col-4/col-8 cuando haga falta)
      En ancho normal: imagen izquierda / texto derecha */
.proyect_card .row.g-0 {
  display: grid;
  grid-template-columns: clamp(140px, 30%, 190px) 1fr;
  align-items: stretch;
}

/* Las columnas internas de bootstrap no deben imponer ancho dentro del grid */
.proyect_card .row.g-0 > [class*="col-"] {
  width: auto;
  max-width: none;
}

/* La media siempre ocupa toda su celda */
.proyect_media {
  min-height: clamp(140px, 16vh, 190px);
}
.proyect_media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Texto: escala fluida (evita microtexto o gigantismo) */
.proyect_body .card-title {
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 1.2;
}
.proyect_body .card-text {
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.5;
}

/* 3) Cuando la card sea angosta, automáticamente pasa a 1 columna (imagen arriba) */
@container (max-width: 440px) {
  .proyect_card .row.g-0 {
    grid-template-columns: 1fr;
  }

  .proyect_media {
    min-height: 200px;
  }

  .proyect_body {
    padding: 14px 14px 16px 14px;
  }

  .proyect_body .card-title {
    font-size: 15px;
  }
  .proyect_body .card-text {
    font-size: 14px;
  }
}

/* 4) UL largo: fluido (2 columnas solo cuando hay ancho real) */
.proyect_ul {
  column-count: 2;
  column-gap: 22px;
}
@media (max-width: 991.98px) {
  .proyect_ul {
    column-count: 1;
  }
}

/* 5) Mapa: no se aplasta en rangos raros (min-height fluido) */
.map_wrap {
  min-height: clamp(320px, 38vh, 520px);
  display: flex;
}
.map_wrap .video_posicion {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

/* 6) En móvil real: ratio estable (se ve grande, no colapsa) */
@media (max-width: 767.98px) {
  .map_wrap {
    flex: none;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

/* móviles pequeños: más cuadrado */
@media (max-width: 575.98px) {
  .map_wrap {
    aspect-ratio: 1 / 1;
  }
}

/* =========================================================
   5) HOMOLOGACIONES / CERTIFICADOS / AUTORIZACIONES (pro responsive)
========================================================= */
.container-homolo {
  width: min(94vw, 1120px);
  margin: clamp(40px, 5vw, 74px) auto 0 auto;
}

.homolo-heading {
  width: min(94vw, 1120px);
  margin: clamp(46px, 6vw, 84px) auto 0;
}

.homolo-heading__eyebrow {
  margin: 0 0 10px;
  color: var(--space-primary);
  font-family: "Montserrat", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.homolo-heading h2 {
  margin: 0 0 12px;
  color: var(--space-text);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.05;
}

.homolo-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--space-muted);
  line-height: 1.72;
}

/* spacing */
.container-homolo .row {
  row-gap: clamp(14px, 2.2vw, 18px);
}

/* card */
.container-homolo .card {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.095),
    rgba(255, 255, 255, 0.04)
  );
  box-shadow: var(--shadow-md);
  transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    border-color 0.3s var(--ease-out);

  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (hover: hover) {
  .container-homolo .card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(54, 215, 255, 0.22);
  }
}

/* =========================================================
   Imagen SIN deformar: wrapper + object-fit: contain
   - La imagen se ajusta y encoge según el ancho
   - Mantiene proporción y NO se estira
========================================================= */

/* wrapper: controla la altura de forma responsiva */
.container-homolo .card .homolo-media {
  width: 100%;
  aspect-ratio: 16 / 10; /* ✅ proporción estable (ajusta si quieres 4/3) */
  display: grid;
  place-items: center;

  background: rgba(0, 0, 0, 0.18); /* leve base para cuando quede “letterbox” */
}

/* imagen: se adapta sin deformar */
.container-homolo .card .homolo-media img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* ✅ no recorta y no deforma */
  object-position: center;
  display: block;

  /* “calidad” visual */
  filter: saturate(1.05) contrast(1.05);
}

/* body */
.container-homolo .card-body {
  padding: clamp(14px, 1.6vw, 18px);
}

.container-homolo p,
.container-homolo li {
  color: var(--space-muted);
}

/* =========================================================
   Tablet: mejor proporción y lectura
========================================================= */
@media (max-width: 991.98px) {
  .container-homolo {
    width: min(94vw, 980px);
  }
  .container-homolo .card .homolo-media {
    aspect-ratio: 16 / 11;
  }
}

/* =========================================================
   Mobile: cards más compactas, imagen más alta
========================================================= */
@media (max-width: 575.98px) {
  .proyect_intro,
  .proyect_intro--map,
  .homolo-heading p {
    max-width: 100%;
  }

  .homolo-heading {
    width: calc(100% - 28px);
    margin-top: 34px;
  }

  .container-homolo {
    width: calc(100% - 28px);
  }
  .container-homolo .card-body {
    padding: 16px 14px;
  }
  .container-homolo .card .homolo-media {
    aspect-ratio: 4 / 3; /* ✅ se ve grande en móvil */
  }
}

/* Motion accessibility */
@media (prefers-reduced-motion: reduce) {
  .container-homolo .card {
    transition: none;
  }
}

/***** Página Soluciones *****/

/* =================================================== HERO HEADER (50% VIEWPORT) =================================================== */
.page-headerS {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 320px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

@supports (height: 50svh) {
  .page-headerS {
    height: 50svh;
  }
}

.page-headerS__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

/* overlay */
.page-headerS__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    var(--sol-hero-overlay-1),
    var(--sol-hero-overlay-2),
    var(--sol-hero-overlay-3)
  );
}

/* contenido */
.page-headerS__content {
  position: relative;
  z-index: 3;
  text-align: center;
  color: var(--sol-hero-text);
  width: 100%;
  max-width: 1120px;
  padding: 0 clamp(16px, 4vw, 72px) clamp(18px, 4vh, 44px);
}

.page-headerS__content h1 {
  margin: 0 0 8px 0;
  font-size: clamp(30px, 4vw, 62px);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.05;
}

/* FIX: H1 del hero siempre blanco (light y dark) */
.page-headerS .page-headerS__content,
.page-headerS .page-headerS__content h1 {
  color: var(--sol-hero-text);
}

/* Links dentro del hero: blancos */
.page-headerS a {
  color: var(--sol-hero-text);
}

/* Links en Soluciones (contenido): negro en light / blanco en dark según --sol-link */
.services-section--starlink a {
  color: var(--sol-link);
}

@media (max-width: 991.98px) {
  .page-headerS {
    height: 45vh;
  }
}

@media (max-width: 575.98px) {
  .page-headerS {
    height: 40vh;
    min-height: 260px;
  }
  .page-headerS__content h1 {
    font-size: 30px;
  }
}

/* ========================================================= SERVICES (Soluciones Starlink) ========================================================= */
.services-section--starlink {
  position: relative;
}

/* Sidebar (desktop) */
.services-sidebar {
  border-radius: 16px;
  border: 1px solid var(--sol-border);
  background: linear-gradient(
    180deg,
    var(--sol-surface-3),
    var(--sol-surface-2)
  );
  padding: 12px;
  box-shadow: 0 18px 60px var(--sol-shadow-1);
}

#list-example .list-group-item {
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid var(--sol-border-soft);
  background: var(--sol-surface-2);
  color: var(--sol-text-3);
  font-weight: 800;
  letter-spacing: 0.01em;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease,
    color 0.2s ease;
}

#list-example .list-group-item:hover {
  transform: translateX(2px);
  background: var(--sol-surface-1);
  color: var(--sol-text-hover);
}

#list-example .list-group-item.active {
  background: var(--sol-active-bg);
  border-color: var(--sol-active-border);
  color: var(--sol-text-hover);
}

/* Contenedor scrollspy (desktop) */
.scrollspy-example {
  max-height: min(78vh, 860px);
  overflow: auto;
  padding-right: 6px;
  scroll-behavior: smooth;
  outline: none;
}

/* Scrollbar (webkit) */
.scrollspy-example::-webkit-scrollbar {
  width: 10px;
}
.scrollspy-example::-webkit-scrollbar-thumb {
  background: var(--sol-scroll-thumb);
  border-radius: 999px;
}
.scrollspy-example::-webkit-scrollbar-track {
  background: transparent;
}

/* Card solución */
.row-soluciones {
  border-radius: 18px;
  border: 1px solid var(--sol-border);
  background: linear-gradient(
    180deg,
    var(--sol-surface-3),
    var(--sol-surface-2)
  );
  box-shadow: 0 18px 60px var(--sol-shadow-2);
  padding: clamp(14px, 1.8vw, 18px);
  margin: 0;
  row-gap: 14px;
}

/* Títulos */
.titulo_sol {
  color: var(--sol-text-hover);
  font-weight: 950;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
.row-text-solution h3 {
  color: var(--sol-text-1);
  font-weight: 800;
  line-height: 1.25;
}
.row-text-solution p,
.row-text-solution li {
  color: var(--sol-text-2);
  line-height: 1.6;
}

/* Imagen */
.img-card {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  border: 1px solid var(--sol-border);
  box-shadow: 0 14px 40px var(--sol-shadow-img);
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

/* CTA */
.row-soluciones .btn.btn-primary {
  border-radius: 14px;
  border: 1px solid var(--sol-btn-border);
  background: linear-gradient(180deg, var(--sol-btn-bg-1), var(--sol-btn-bg-2));
  font-weight: 900;
  letter-spacing: 0.02em;
  padding: 0.72rem 1rem;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.row-soluciones .btn.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 30px var(--sol-btn-shadow);
}

/* Separadores */
.services-section--starlink hr {
  border-top: 1px solid var(--sol-border);
}

/* Tablet */
@media (max-width: 991.98px) {
  .scrollspy-example {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
  .services-sidebar {
    padding: 10px;
  }
  .img-card {
    aspect-ratio: 16 / 9;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .page-headerS--starlink {
    padding: 28px 0;
  }
  .row-soluciones {
    padding: 14px;
  }
  .img-card {
    aspect-ratio: 4 / 3;
  }
  .row-text-solution ul {
    padding-left: 18px;
  }
}

/* Mobile pequeño */
@media (max-width: 575.98px) {
  .img-card {
    aspect-ratio: 1 / 1;
  }
  #list-example .list-group-item {
    padding: 0.75rem 0.85rem;
  }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
  .scrollspy-example {
    scroll-behavior: auto;
  }
  #list-example .list-group-item,
  .row-soluciones .btn.btn-primary {
    transition: none;
  }
}

/* ✅ Tu regla final de “SIN SCROLL INTERNO” (tal cual la dejaste) */
.scrollspy-example {
  max-height: none;
  overflow: visible;
  padding-right: 0;
  scroll-behavior: smooth;
  outline: none;
}
/* =====================================================
   ROOT TOKENS – Ubícanos (Light default + Dark auto)
===================================================== */
:root {
  /* Base */
  --ub-bg: #ffffff;
  --ub-bg-soft: #f2f4f7;

  --ub-text: #111827;
  --ub-muted: rgba(17, 24, 39, 0.72);

  --ub-primary: #0097ce;
  --ub-accent: #36d7ff;

  --ub-stroke: rgba(17, 24, 39, 0.12);

  --ub-glass-1: rgba(255, 255, 255, 0.9);
  --ub-glass-2: rgba(255, 255, 255, 0.72);

  --ub-shadow-md: 0 18px 50px rgba(0, 0, 0, 0.1);
  --ub-shadow-lg: 0 26px 70px rgba(0, 0, 0, 0.14);

  --ub-radius: 20px;
  --ub-radius-sm: 16px;

  /* Header overlay */
  --ub-hero-1: rgba(0, 0, 0, 0.45);
  --ub-hero-2: rgba(0, 0, 0, 0.28);
  --ub-hero-3: rgba(0, 0, 0, 0.6);

  /* Chips */
  --ub-chip-bg: rgba(0, 151, 206, 0.08);
  --ub-chip-bd: rgba(0, 151, 206, 0.14);

  /* Map frame */
  --ub-map-bg: rgba(0, 0, 0, 0.03);
}

@media (prefers-color-scheme: dark) {
  :root {
    --ub-bg: #0b0f14;
    --ub-bg-soft: #121821;

    --ub-text: rgba(255, 255, 255, 0.92);
    --ub-muted: rgba(255, 255, 255, 0.7);

    --ub-stroke: rgba(255, 255, 255, 0.12);

    --ub-glass-1: rgba(255, 255, 255, 0.06);
    --ub-glass-2: rgba(255, 255, 255, 0.03);

    --ub-shadow-md: 0 18px 55px rgba(0, 0, 0, 0.55);
    --ub-shadow-lg: 0 30px 85px rgba(0, 0, 0, 0.72);

    --ub-hero-1: rgba(0, 0, 0, 0.58);
    --ub-hero-2: rgba(0, 0, 0, 0.26);
    --ub-hero-3: rgba(0, 0, 0, 0.72);

    --ub-chip-bg: rgba(255, 255, 255, 0.04);
    --ub-chip-bd: rgba(255, 255, 255, 0.1);

    --ub-map-bg: rgba(255, 255, 255, 0.02);
  }
}

/* =====================================================
   PAGE HEADER (30vh, full width)
===================================================== */
.page-header--ubicacion {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);

  height: 30vh;
  min-height: 180px;

  overflow: hidden;
  display: grid;
  place-items: center;

  background: #000;
}

@supports (height: 30svh) {
  .page-header--ubicacion {
    height: 30svh;
  }
}

.page-header--ubicacion .container,
.page-header--ubicacion .row,
.page-header--ubicacion .col-12 {
  height: 100%;
}

.page-header--ubicacion .col-12 {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
}

.page-header--ubicacion .col-12 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  filter: saturate(1.05) contrast(1.05);
}

.page-header--ubicacion .col-12::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    var(--ub-hero-1),
    var(--ub-hero-2),
    var(--ub-hero-3)
  );
}

.page-header--ubicacion h2 {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #fff;
  font-weight: 950;
  letter-spacing: 0.02em;
  font-size: clamp(28px, 3.2vw, 48px);
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.55);
}

/* =====================================================
   SERVICE (70vh)
===================================================== */
.service--ubicacion {
  height: 70vh;
  min-height: 420px;

  display: flex;
  align-items: center;

  padding: 0;
  background: linear-gradient(180deg, var(--ub-bg), var(--ub-bg-soft));
}

@supports (height: 70svh) {
  .service--ubicacion {
    height: 70svh;
  }
}

.service--ubicacion > .container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding-top: 18px;
  padding-bottom: 18px;
}

/* Header */
.service--ubicacion .section-header {
  margin-bottom: 18px;
}
.service--ubicacion .section-header h2 {
  margin: 0;
  font-weight: 950;
  letter-spacing: 0.01em;
  color: var(--ub-text);
}
.service--ubicacion .section-header p {
  margin: 8px auto 0;
  max-width: 720px;
  color: var(--ub-muted);
}

/* Row grid */
.service--ubicacion .row {
  flex: 1;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 18px;
  margin-left: 0;
  margin-right: 0;
}

.service--ubicacion .col-lg-4,
.service--ubicacion .col-md-6 {
  display: flex;
  padding-left: 0;
  padding-right: 0;
}

/* Desktop width fix (col-lg-4 es angosto) */
@media (min-width: 992px) {
  .service--ubicacion .col-lg-4 {
    flex: 0 0 46%;
    max-width: 46%;
  }
}

/* Card base */
.service--ubicacion .service-item {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;

  border-radius: var(--ub-radius);
  border: 1px solid var(--ub-stroke);

  background:
    radial-gradient(
      900px 420px at 20% 10%,
      rgba(0, 151, 206, 0.1),
      transparent 55%
    ),
    radial-gradient(
      900px 420px at 80% 30%,
      rgba(79, 209, 197, 0.08),
      transparent 55%
    ),
    linear-gradient(180deg, var(--ub-glass-1), var(--ub-glass-2));

  box-shadow: var(--ub-shadow-md);
  padding: 20px;
}

@media (hover: hover) {
  .service--ubicacion .service-item {
    transition:
      transform 0.18s ease,
      box-shadow 0.18s ease,
      border-color 0.18s ease;
  }
  .service--ubicacion .service-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--ub-shadow-lg);
    border-color: rgba(0, 151, 206, 0.25);
  }
}

/* Icon header */
.service--ubicacion .service-icon {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.service--ubicacion .service-icon i {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: var(--ub-radius-sm);

  border: 1px solid rgba(0, 151, 206, 0.22);
  background:
    radial-gradient(
      120px 60px at 30% 20%,
      rgba(54, 215, 255, 0.18),
      transparent 55%
    ),
    rgba(0, 151, 206, 0.1);

  color: var(--ub-primary);
  font-size: 18px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
}

.service--ubicacion .service-icon__title {
  font-weight: 950;
  color: var(--ub-text);
  letter-spacing: 0.01em;
}

/* Text content */
.service--ubicacion .service-text {
  display: grid;
  gap: 12px;
}

.service--ubicacion .service-text h3 {
  margin: 0;
  font-weight: 950;
  letter-spacing: 0.01em;
  color: var(--ub-text);
  font-size: 16px;
}

.service--ubicacion .service-text h3.mt-4 {
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--ub-stroke);
}

.service--ubicacion .service-text p {
  margin: 0;
  color: var(--ub-muted);
  line-height: 1.55;
  font-size: 15px;
}

/* Links (tel/mail) */
.service--ubicacion .service-link {
  color: var(--ub-text);
  text-decoration: none;
  font-weight: 900;
}

/* Chips for link rows */
.service--ubicacion .service-text p:has(.service-link) {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 10px 12px;
  border-radius: 14px;

  background: var(--ub-chip-bg);
  border: 1px solid var(--ub-chip-bd);
}

/* Hover link */
.service--ubicacion .service-link:hover {
  color: var(--ub-primary);
  text-decoration: underline;
}

/* Map area */
.service--ubicacion .service-map {
  flex: 1;
  display: flex;
  min-height: 0;
}
.service--ubicacion .service-map .map {
  flex: 1;
  display: flex;
  border-radius: var(--ub-radius);
  overflow: hidden;
  border: 1px solid var(--ub-stroke);
  box-shadow: var(--ub-shadow-md);
  background: var(--ub-map-bg);
}
.service--ubicacion .service-map iframe {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width: 991.98px) {
  .page-header--ubicacion {
    height: 25vh;
    min-height: 160px;
  }

  .service--ubicacion {
    height: auto;
    min-height: unset;
    padding: 40px 0;
    display: block;
  }
  .service--ubicacion > .container {
    height: auto;
  }

  .service--ubicacion .row {
    flex: unset;
  }
  .service--ubicacion .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .service--ubicacion .service-item {
    height: auto;
    padding: 18px;
    border-radius: 18px;
  }
  .service--ubicacion .service-map iframe {
    height: 320px;
    min-height: 320px;
  }
}

@media (max-width: 767.98px) {
  .page-header--ubicacion {
    height: 22vh;
    min-height: 140px;
  }
  .page-header--ubicacion h2 {
    font-size: 30px;
  }

  .service--ubicacion .row {
    flex-direction: column;
  }
  .service--ubicacion .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .service--ubicacion .service-map iframe {
    height: 260px;
    min-height: 260px;
  }
}

/* =====================================================
   CONTACT HUB – HERO + CATEGORÍAS
===================================================== */
.contact-hub-hero {
  position: relative;
  overflow: hidden;
  padding: 132px 0 64px;
  background: linear-gradient(100deg, #08111d 0%, #10233f 48%, #173b97 100%);
  color: #ffffff;
}

.contact-hub-hero__media {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.contact-hub-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.34;
  filter: saturate(0.95) contrast(1.05) brightness(0.72);
}

.contact-hub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7, 14, 24, 0.48);
}

.contact-hub-hero__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  margin: 0 auto;
  text-align: center;
}

.contact-hub-hero__eyebrow {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contact-hub-hero h1 {
  margin: 0;
  color: #f4f1ea;
  font-size: clamp(44px, 6vw, 86px);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.contact-hub-hero__lead {
  margin: 22px auto 0;
  max-width: 620px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.16rem;
  line-height: 1.7;
}

.contact-hub-search {
  margin: 28px auto 0;
  max-width: 680px;
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 42px rgba(8, 17, 34, 0.14);
}

.contact-hub-search__icon {
  color: #0097ce;
  font-size: 1.05rem;
}

.contact-hub-search__input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #102a43;
  font-size: 1.02rem;
  outline: 0;
}

.contact-hub-search__input::placeholder {
  color: rgba(22, 50, 76, 0.52);
}

.contact-hub-tags {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.contact-hub-tags__label {
  color: rgba(255, 255, 255, 0.84);
  font-weight: 600;
}

.contact-hub-tag {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #102a43;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 10px 24px rgba(8, 17, 34, 0.08);
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.contact-hub-tag:hover {
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-1px);
  background: rgba(14, 93, 143, 0.96);
  border-color: rgba(126, 219, 255, 0.26);
}

.contact-hub-grid {
  padding: 64px 0 28px;
  background: #f4f7fb;
}

.contact-hub-grid .container {
  width: min(100vw, 1320px);
  max-width: 1320px;
}

.contact-hub-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.hub-card {
  min-width: 0;
  padding: 24px 24px 26px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.hub-card__icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #eef6fb;
  color: #0f5f93;
  font-size: 1.15rem;
  margin-bottom: 16px;
}

.hub-card h2 {
  margin: 0 0 10px;
  color: #102a43;
  font-size: 1.15rem;
  font-weight: 500;
}

.hub-card p {
  margin: 0;
  color: rgba(22, 50, 76, 0.78);
  line-height: 1.65;
}

.hub-card__link {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: #0f5f93;
  text-decoration: none;
  font-weight: 600;
}

.hub-card__link:hover {
  color: #0b6aa5;
  text-decoration: none;
}

.contact-split {
  min-height: 520px;
  padding: 56px 0 72px;
  background:
    radial-gradient(760px 220px at 50% 0%, rgba(0, 151, 206, 0.08), transparent 72%),
    linear-gradient(180deg, #f4f7fb, #eef3f8);
}

.contact-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.contact-head h2,
.contact-head h1 {
  color: #102a43;
}

.contact-check {
  border-color: rgba(15, 23, 42, 0.1);
  background: #f7fafc;
}

.contact-check label {
  color: #102a43;
}

.contact-check p {
  color: rgba(22, 50, 76, 0.76);
}

.contact-btn {
  background: linear-gradient(180deg, #0f5f93, #0097ce);
  box-shadow: 0 18px 38px rgba(15, 95, 147, 0.2);
}

.contact-btn:hover {
  box-shadow: 0 20px 42px rgba(15, 95, 147, 0.26);
}

@media (prefers-color-scheme: dark) {
  .contact-hub-hero {
    background: linear-gradient(100deg, #08111d 0%, #10233f 48%, #173b97 100%);
    color: #ffffff;
  }

  .contact-hub-hero__media img {
    opacity: 0.34;
    filter: saturate(0.95) contrast(1.05) brightness(0.72);
  }

  .contact-hub-hero::before {
    background: rgba(7, 14, 24, 0.48);
  }

  .contact-hub-hero__eyebrow {
    color: rgba(255, 255, 255, 0.78);
  }

  .contact-hub-hero h1 {
    color: #f4f1ea;
  }

  .contact-hub-hero__lead {
    color: rgba(255, 255, 255, 0.86);
  }

  .contact-hub-search {
    border-color: rgba(54, 215, 255, 0.45);
    background: rgba(17, 24, 39, 0.82);
    box-shadow: 0 18px 42px rgba(8, 17, 34, 0.2);
  }

  .contact-hub-search__icon {
    color: #53bcff;
  }

  .contact-hub-search__input {
    color: #ffffff;
  }

  .contact-hub-search__input::placeholder {
    color: rgba(255, 255, 255, 0.48);
  }

  .contact-hub-tags__label {
    color: rgba(255, 255, 255, 0.84);
  }

  .contact-hub-tag {
    background: rgba(19, 24, 31, 0.94);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }

  .contact-hub-grid {
    background: #1a1d1f;
  }

  .hub-card {
    border-color: rgba(255, 255, 255, 0.1);
    background: #1c1f22;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  }

  .hub-card__icon {
    background: #f6f7f8;
    color: #0d1218;
  }

  .hub-card h2 {
    color: #ffffff;
  }

  .hub-card p {
    color: rgba(255, 255, 255, 0.76);
  }

  .contact-split {
    background:
      radial-gradient(760px 220px at 50% 0%, rgba(0, 151, 206, 0.08), transparent 72%),
      linear-gradient(180deg, var(--ct-bg), var(--ct-bg-soft));
  }

  .contact-card {
    border-color: var(--ct-border);
    background: var(--ct-glass);
    box-shadow: var(--ct-shadow);
  }

  .contact-head h2,
  .contact-head h1 {
    color: var(--ct-text);
  }

  .contact-check {
    border-color: var(--ct-border);
    background: rgba(255, 255, 255, 0.03);
  }

  .contact-check label {
    color: var(--ct-text);
  }

  .contact-check p {
    color: var(--ct-muted);
  }

  .contact-btn {
    background: linear-gradient(180deg, var(--ct-primary), var(--ct-accent));
    box-shadow: 0 18px 38px rgba(0, 151, 206, 0.22);
  }

  .contact-btn:hover {
    box-shadow: 0 20px 42px rgba(0, 151, 206, 0.3);
  }
}

/* =====================================================
   CONTACT ROOT TOKENS
===================================================== */
:root {
  --ct-bg: #ffffff;
  --ct-bg-soft: #f2f4f7;

  --ct-text: #111827;
  --ct-muted: rgba(17, 24, 39, 0.72);

  --ct-primary: #0097ce;
  --ct-accent: #36d7ff;

  --ct-border: rgba(17, 24, 39, 0.12);

  --ct-glass: rgba(255, 255, 255, 0.88);

  --ct-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);

  --ct-radius: 20px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ct-bg: #0b0f14;
    --ct-bg-soft: #121821;

    --ct-text: #fff;
    --ct-muted: rgba(255, 255, 255, 0.72);

    --ct-border: rgba(255, 255, 255, 0.12);
    --ct-glass: rgba(255, 255, 255, 0.05);

    --ct-shadow: 0 25px 70px rgba(0, 0, 0, 0.65);
  }
}

/* =====================================================
   HEADER 30%
===================================================== */
.page-header-contact {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);

  height: 34vh;
  min-height: 220px;

  display: grid;
  place-items: center;
  overflow: hidden;
}

.page-header-contact__bg {
  position: absolute;
  inset: 0;
}

.page-header-contact__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-header-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 8, 15, 0.2), rgba(3, 8, 15, 0.28), rgba(3, 8, 15, 0.74)),
    radial-gradient(720px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 72%);
}

.page-header-contact h2 {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 800;
  font-size: clamp(32px, 4.5vw, 58px);
  letter-spacing: -0.02em;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.32);
}

/* =====================================================
   CONTACT 70%
===================================================== */
.contact-split {
  min-height: 520px;
  padding: 56px 0 72px;
  background:
    radial-gradient(760px 220px at 50% 0%, rgba(0, 151, 206, 0.08), transparent 72%),
    linear-gradient(180deg, var(--ct-bg), var(--ct-bg-soft));
}

.contact-split .container {
  width: min(100vw, 980px);
  max-width: 980px;
}

.contact-card {
  border-radius: var(--ct-radius);
  border: 1px solid var(--ct-border);

  background: var(--ct-glass);
  box-shadow: var(--ct-shadow);

  padding: clamp(22px, 2.4vw, 34px);
  backdrop-filter: blur(10px);
}

/* HEAD */
.contact-head {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--ct-border) 92%, transparent);
}

.contact-head h1 {
  margin: 0;
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 800;
  color: var(--ct-text);
  letter-spacing: -0.02em;
}

.contact-head__icon {
  width: 64px;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.18));
}

/* FORM */
.form_contact .row {
  row-gap: 14px;
}

.form-control {
  height: 52px;
  border-radius: 16px;
  padding: 0 16px;

  background: var(--ct-bg);
  border: 1px solid var(--ct-border);
  color: var(--ct-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);

  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}

.form-control::placeholder {
  color: color-mix(in srgb, var(--ct-muted) 88%, transparent);
}

.form-control:focus {
  border-color: var(--ct-primary);
  box-shadow: 0 0 0 3px rgba(0, 151, 206, 0.22);
  transform: translateY(-1px);
}

/* CHECK */
.contact-check {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--ct-border);
  background: color-mix(in srgb, var(--ct-bg) 72%, var(--ct-bg-soft) 28%);
}

@media (prefers-color-scheme: dark) {
  .contact-check {
    background: rgba(255, 255, 255, 0.03);
  }
}

.contact-check label {
  margin: 0 0 0 8px;
  color: var(--ct-text);
}

.contact-check p {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--ct-muted);
}

/* BUTTON */
.contact-btn {
  width: 100%;
  margin-top: 18px;

  border-radius: 16px;
  min-height: 54px;
  padding: 14px 18px;

  background: linear-gradient(180deg, var(--ct-primary), var(--ct-accent));

  color: #fff;
  font-weight: 800;
  letter-spacing: 0.02em;

  border: none;
  box-shadow: 0 18px 38px rgba(0, 151, 206, 0.22);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.contact-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 42px rgba(0, 151, 206, 0.3);
  filter: saturate(1.05);
}

/* =====================================================
   RESPONSIVE (MEJORADO)
===================================================== */

/* Tablet */
@media (max-width: 991.98px) {
  .contact-hub-hero {
    padding: 116px 0 52px;
  }

  .contact-hub-hero h1 {
    font-size: clamp(38px, 7vw, 64px);
  }

  .contact-hub-grid {
    padding: 52px 0 20px;
  }

  .contact-hub-grid .container {
    width: min(100vw, 860px);
    max-width: 860px;
  }

  .contact-hub-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-header-contact {
    height: 28vh;
    min-height: 180px;
  }

  .contact-split {
    padding: 40px 0 56px;
  }

  .contact-split .container {
    width: min(100vw, 760px);
    max-width: 760px;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .contact-hub-hero {
    padding: 108px 0 42px;
  }

  .contact-hub-hero__inner {
    width: 100%;
  }

  .contact-hub-hero h1 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .contact-hub-hero__lead {
    font-size: 1rem;
  }

  .contact-hub-search {
    min-height: 52px;
    padding: 0 14px;
  }

  .contact-hub-grid {
    padding: 40px 0 12px;
  }

  .contact-hub-grid .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .contact-hub-cards {
    grid-template-columns: 1fr;
  }

  .hub-card {
    padding: 20px 18px 22px;
  }

  .page-header-contact {
    height: 24vh;
    min-height: 164px;
  }

  .page-header-contact h2 {
    font-size: clamp(28px, 7vw, 36px);
  }

  .contact-head {
    text-align: center;
    margin-bottom: 18px;
    padding-bottom: 16px;
  }

  .contact-head__icon {
    margin-bottom: 8px;
    width: 54px;
  }

  .contact-card {
    padding: 18px 16px;
    border-radius: 18px;
  }

  .form-control {
    height: 48px;
    border-radius: 14px;
  }

  .contact-check {
    padding: 12px 14px;
  }

  .contact-btn {
    min-height: 50px;
    margin-top: 16px;
  }
}

@media (max-width: 479.98px) {
  .contact-hub-hero {
    padding: 102px 0 34px;
  }

  .contact-hub-tags {
    justify-content: flex-start;
  }

  .contact-hub-grid .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .hub-card h2 {
    font-size: 1.05rem;
  }

  .contact-split {
    padding: 28px 0 42px;
  }

  .contact-split .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .page-header-contact {
    min-height: 152px;
  }

  .page-header-contact h2 {
    font-size: clamp(26px, 8vw, 32px);
  }

  .contact-head h1 {
    font-size: 1.6rem;
  }

  .contact-card {
    padding: 16px 14px;
  }
}

/* =====================================================
   FAQ – TOKENS (Light default + Dark auto)
===================================================== */
:root {
  --faq-bg: #ffffff;
  --faq-bg-soft: #f2f4f7;

  --faq-text: #111827;
  --faq-muted: rgba(17, 24, 39, 0.72);

  --faq-primary: #0097ce;
  --faq-accent: #36d7ff;

  --faq-stroke: rgba(17, 24, 39, 0.12);
  --faq-glass-1: rgba(255, 255, 255, 0.9);
  --faq-glass-2: rgba(255, 255, 255, 0.72);

  --faq-shadow-md: 0 18px 50px rgba(0, 0, 0, 0.1);
  --faq-shadow-lg: 0 26px 70px rgba(0, 0, 0, 0.14);

  --faq-radius: 20px;
  --faq-radius-sm: 16px;

  /* Header overlay */
  --faq-hero-1: rgba(0, 0, 0, 0.45);
  --faq-hero-2: rgba(0, 0, 0, 0.28);
  --faq-hero-3: rgba(0, 0, 0, 0.6);

  /* Pills */
  --faq-pill-bg: rgba(0, 151, 206, 0.08);
  --faq-pill-bd: rgba(0, 151, 206, 0.14);

  /* Accordion */
  --faq-q-bg: rgba(0, 0, 0, 0.02);
}

@media (prefers-color-scheme: dark) {
  :root {
    --faq-bg: #0b0f14;
    --faq-bg-soft: #121821;

    --faq-text: rgba(255, 255, 255, 0.92);
    --faq-muted: rgba(255, 255, 255, 0.7);

    --faq-stroke: rgba(255, 255, 255, 0.12);
    --faq-glass-1: rgba(255, 255, 255, 0.06);
    --faq-glass-2: rgba(255, 255, 255, 0.03);

    --faq-shadow-md: 0 18px 55px rgba(0, 0, 0, 0.55);
    --faq-shadow-lg: 0 30px 85px rgba(0, 0, 0, 0.72);

    --faq-hero-1: rgba(0, 0, 0, 0.58);
    --faq-hero-2: rgba(0, 0, 0, 0.26);
    --faq-hero-3: rgba(0, 0, 0, 0.72);

    --faq-pill-bg: rgba(255, 255, 255, 0.04);
    --faq-pill-bd: rgba(255, 255, 255, 0.1);

    --faq-q-bg: rgba(255, 255, 255, 0.03);
  }
}

/* =====================================================
   PAGE HEADER (30vh, full width) – FAQ
===================================================== */
.page-header {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);

  height: 30vh;
  min-height: 180px;

  overflow: hidden;
  display: grid;
  place-items: center;

  background: #000;
}

@supports (height: 30svh) {
  .page-header {
    height: 30svh;
  }
}

.page-header .container,
.page-header .row,
.page-header .col-12 {
  height: 100%;
}

.page-header .col-12 {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
}

/* Imagen como fondo */
.page-header .col-12 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  filter: saturate(1.05) contrast(1.05);
}

/* Overlay */
.page-header .col-12::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    var(--faq-hero-1),
    var(--faq-hero-2),
    var(--faq-hero-3)
  );
}

/* Título */
.page-header h2 {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #fff;
  font-weight: 950;
  letter-spacing: 0.02em;
  font-size: clamp(28px, 3.2vw, 48px);
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.55);
}

/* =====================================================
   MAIN (70vh) – FAQ
===================================================== */
main {
  min-height: 70vh;
  background: linear-gradient(180deg, var(--faq-bg), var(--faq-bg-soft));
  display: flex;
  align-items: center;
  padding: 0;
}

@supports (min-height: 70svh) {
  main {
    min-height: 70svh;
  }
}

/* Contenedor interno “layout” */
main > .categorias,
main > .preguntas {
  width: 100%;
}

/* Hacemos que categorías + preguntas se acomoden como paneles */
main {
  padding: clamp(18px, 2vw, 28px);
}

.categorias {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

/* Categoria pill */
.categoria {
  border-radius: var(--faq-radius-sm);
  border: 1px solid var(--faq-stroke);

  background:
    radial-gradient(
      500px 220px at 25% 10%,
      rgba(0, 151, 206, 0.1),
      transparent 60%
    ),
    linear-gradient(180deg, var(--faq-glass-1), var(--faq-glass-2));

  box-shadow: var(--faq-shadow-md);
  padding: 12px 12px;

  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;

  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.categoria svg {
  width: 34px;
  height: 34px;
  display: block;
  fill: var(--faq-primary);
  opacity: 0.95;
}

.categoria p {
  margin: 0;
  color: var(--faq-text);
  font-weight: 900;
  letter-spacing: 0.01em;
}

/* Activa */
.categoria.activa {
  border-color: rgba(0, 151, 206, 0.28);
  box-shadow: var(--faq-shadow-lg);
  transform: translateY(-1px);
}

.categoria.activa svg {
  fill: var(--faq-accent);
}

/* =====================================================
   PANEL PREGUNTAS (Accordion)
===================================================== */
.preguntas {
  width: 100%;
  border-radius: var(--faq-radius);
  border: 1px solid var(--faq-stroke);

  background:
    radial-gradient(
      900px 420px at 20% 10%,
      rgba(0, 151, 206, 0.1),
      transparent 55%
    ),
    radial-gradient(
      900px 420px at 80% 30%,
      rgba(79, 209, 197, 0.08),
      transparent 55%
    ),
    linear-gradient(180deg, var(--faq-glass-1), var(--faq-glass-2));

  box-shadow: var(--faq-shadow-md);
  padding: clamp(14px, 2vw, 18px);

  max-height: calc(70vh - 120px);
  overflow: auto;
}

@supports (max-height: calc(70svh - 120px)) {
  .preguntas {
    max-height: calc(70svh - 120px);
  }
}

/* Scrollbar suave */
.preguntas::-webkit-scrollbar {
  width: 10px;
}
.preguntas::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 999px;
}
@media (prefers-color-scheme: dark) {
  .preguntas::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.14);
  }
}

/* Contenedores por categoria */
.contenedor-preguntas {
  display: none;
}
.contenedor-preguntas.activo {
  display: grid;
  gap: 12px;
}

/* Card por pregunta */
.contenedor-pregunta {
  border-radius: 16px;
  border: 1px solid var(--faq-stroke);
  background: var(--faq-q-bg);
  overflow: hidden;
}

/* Pregunta (fila clickable) */
.pregunta {
  margin: 0;
  padding: 14px 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  color: var(--faq-text);
  font-weight: 900;
  letter-spacing: 0.01em;

  cursor: pointer;
  user-select: none;
}

/* Icono suma */
.pregunta img {
  width: 18px;
  height: 18px;
  opacity: 0.85;
  transition:
    transform 0.18s ease,
    opacity 0.18s ease;
}

/* Respuesta */
.respuesta {
  margin: 0;
  padding: 0 14px 14px;
  color: var(--faq-muted);
  line-height: 1.6;
  display: none;
}

/* Estado abierto (tu JS probablemente agrega .activa o similar;
   aquí dejamos preparado un selector genérico si ya lo tienes) */
.contenedor-pregunta.activa .respuesta {
  display: block;
}
.contenedor-pregunta.activa .pregunta img {
  transform: rotate(45deg);
  opacity: 1;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width: 991.98px) {
  .page-header {
    height: 25vh;
    min-height: 160px;
  }

  main {
    min-height: auto;
    display: block;
    padding: 22px 0 40px;
  }

  .categorias {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 15px;
  }

  .preguntas {
    max-height: none;
    overflow: visible;
    margin: 12px 15px 0;
  }
}

@media (max-width: 767.98px) {
  .page-header {
    height: 22vh;
    min-height: 140px;
  }
  .page-header h2 {
    font-size: 30px;
  }

  .categorias {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .categoria {
    grid-template-columns: 30px 1fr;
    padding: 12px;
  }

  .categoria svg {
    width: 30px;
    height: 30px;
  }

  .pregunta {
    padding: 12px 12px;
  }
  .respuesta {
    padding: 0 12px 12px;
  }
}

/*****************************************************/
/*************** Pagina Productos ********************/
/*****************************************************/

.page-header-productos {
  position: relative;
  min-height: 34vh;
  display: flex;
  align-items: end;
  justify-content: center;
  padding: 120px 0 42px;
  background:
    linear-gradient(180deg, rgba(7, 15, 23, 0.28), rgba(7, 15, 23, 0.72)),
    radial-gradient(720px 260px at 50% 0%, rgba(0, 174, 239, 0.2), transparent 72%),
    linear-gradient(135deg, #0d1824, #162638 55%, #0f1821);
  overflow: hidden;
}

.page-header-productos::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(420px 180px at 18% 14%, rgba(54, 215, 255, 0.14), transparent 70%),
    radial-gradient(520px 220px at 82% 22%, rgba(83, 161, 188, 0.12), transparent 72%);
  pointer-events: none;
}

.page-header-productos .container,
.page-header-productos .row,
.page-header-productos .col-12 {
  position: relative;
  z-index: 1;
}

.page-header-productos h2 {
  margin: 0;
  text-align: center;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: clamp(34px, 4.2vw, 58px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

.single {
  position: relative;
  padding: 56px 0 76px;
  background:
    radial-gradient(760px 280px at 50% 0%, rgba(0, 174, 239, 0.06), transparent 72%),
    var(--mv-bg);
}

.container-list-product {
  width: min(94vw, 1280px);
}

.container-list-product .row {
  row-gap: 28px;
}

.single-content {
  position: relative;
  padding: clamp(18px, 2.4vw, 28px);
  border-radius: var(--mv-radius-lg);
  border: 1px solid var(--mv-border);
  background:
    linear-gradient(180deg, var(--mv-surface), color-mix(in srgb, var(--mv-surface) 82%, transparent));
  box-shadow: var(--mv-shadow);
}

.row_list_product {
  margin-bottom: 20px;
}

.row_list_product:last-child {
  margin-bottom: 0;
}

.card-deck {
  width: 100%;
  margin: 0;
  gap: 20px;
}

.card-product {
  min-width: 0;
  border: 1px solid var(--mv-border);
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mv-surface) 96%, transparent), color-mix(in srgb, var(--mv-surface-2) 90%, transparent));
  box-shadow: var(--mv-shadow-soft);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.card-product:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--mv-accent) 34%, var(--mv-border));
  box-shadow: var(--mv-shadow);
}

.card-product .card-img-top {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: color-mix(in srgb, var(--mv-bg) 88%, #000 12%);
}

.card-product .card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px 20px;
}

.card-product .card-title {
  margin: 0;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mv-text);
}

.card-product .card-text {
  margin: 0;
  color: var(--mv-text-2);
  line-height: 1.6;
  font-size: 0.95rem;
}

.card-product .btn.btn-primary {
  margin-top: auto;
  align-self: flex-start;
  min-width: 126px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--mv-accent) 34%, transparent);
  background: linear-gradient(180deg, var(--mv-accent), var(--mv-accent-2));
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: 0 12px 24px rgba(0, 174, 239, 0.2);
}

.card-product .btn.btn-primary:hover {
  filter: brightness(1.04);
  box-shadow: 0 16px 28px rgba(0, 174, 239, 0.26);
}

.sidebar {
  display: grid;
  gap: 18px;
}

.sidebar-widget {
  border-radius: 24px;
  border: 1px solid var(--mv-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mv-surface) 96%, transparent), color-mix(in srgb, var(--mv-surface-2) 88%, transparent));
  box-shadow: var(--mv-shadow-soft);
  padding: 18px;
}

.sidebar-widget:first-child:empty,
.sidebar-widget .search-widget:empty {
  display: none;
}

.widget-title {
  margin: 0 0 16px;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--mv-text);
}

.recent-post {
  display: grid;
  gap: 12px;
}

.post-item {
  display: grid;
  grid-template-columns: 84px 1fr;
  align-items: center;
  gap: 14px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mv-border) 90%, transparent);
  background: color-mix(in srgb, var(--mv-surface-2) 82%, transparent);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease;
}

.post-item:hover {
  transform: translateX(2px);
  border-color: color-mix(in srgb, var(--mv-accent) 28%, var(--mv-border));
  background: color-mix(in srgb, var(--mv-surface-2) 92%, transparent);
}

.post-img {
  width: 84px;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in srgb, var(--mv-bg) 85%, #000 15%);
}

.post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.post-text {
  min-width: 0;
}

.post-text a {
  display: block;
  color: var(--mv-text);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.35;
}

.post-meta p {
  margin: 4px 0 0;
  color: var(--mv-muted);
  font-size: 0.9rem;
  font-weight: 500;
}

@media (prefers-color-scheme: dark) {
  .page-header-productos {
    background:
      linear-gradient(180deg, rgba(2, 6, 11, 0.24), rgba(2, 6, 11, 0.82)),
      radial-gradient(760px 280px at 50% 0%, rgba(54, 215, 255, 0.14), transparent 74%),
      linear-gradient(135deg, #060b11, #0c1420 56%, #070c12);
  }

  .card-product,
  .sidebar-widget,
  .single-content {
    backdrop-filter: blur(10px);
  }

  .card-product .card-img-top,
  .post-img {
    background: rgba(255, 255, 255, 0.04);
  }
}

@media (max-width: 1199.98px) {
  .card-deck {
    gap: 16px;
  }

  .post-item {
    grid-template-columns: 72px 1fr;
  }

  .post-img {
    width: 72px;
  }
}

@media (max-width: 991.98px) {
  .page-header-productos {
    min-height: 28vh;
    padding: 110px 0 30px;
  }

  .single {
    padding: 42px 0 58px;
  }

  .single-content,
  .sidebar-widget {
    border-radius: 22px;
  }
}

@media (max-width: 767.98px) {
  .page-header-productos {
    min-height: 24vh;
    padding: 104px 0 24px;
  }

  .container-list-product {
    width: calc(100% - 28px);
  }

  .single-content {
    padding: 16px;
  }

  .card-deck {
    display: grid;
    grid-template-columns: 1fr;
  }

  .row_list_product {
    margin-bottom: 16px;
  }

  .sidebar-widget {
    padding: 16px;
  }
}

/*****************************************************/
/*************** Ubicanos Starlink ********************/
/*****************************************************/

.page-header--ubicacion {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 34vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(2, 6, 12, 0.42), rgba(2, 6, 12, 0.74)),
    radial-gradient(920px 360px at 50% 0%, rgba(72, 187, 255, 0.14), transparent 72%),
    #05080d;
}

.page-header--ubicacion .container,
.page-header--ubicacion .row,
.page-header--ubicacion .col-12 {
  height: 100%;
}

.page-header--ubicacion .col-12 {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 10px;
}

.page-header--ubicacion .col-12 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.58;
  filter: saturate(0.78) contrast(1.04) brightness(0.82);
}

.page-header--ubicacion .col-12::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 6, 12, 0.12), rgba(2, 6, 12, 0.6)),
    radial-gradient(540px 180px at 50% 10%, rgba(61, 177, 255, 0.14), transparent 70%);
  z-index: 1;
}

.page-header--ubicacion .ub-hero-kicker,
.page-header--ubicacion h2 {
  position: relative;
  z-index: 2;
}

.page-header--ubicacion .ub-hero-kicker {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.72);
}

.page-header--ubicacion h2 {
  margin: 0;
  color: #ffffff;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: clamp(32px, 4vw, 54px);
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.service--ubicacion {
  padding: 64px 0 78px;
  background:
    radial-gradient(760px 260px at 50% 0%, rgba(53, 168, 255, 0.08), transparent 76%),
    var(--mv-bg);
  min-height: auto;
  height: auto;
}

.service--ubicacion > .container {
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
}

.service--ubicacion .section-header {
  margin-bottom: 32px;
}

.service--ubicacion .section-header p {
  margin: 0 0 10px;
  color: var(--mv-muted);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service--ubicacion .section-header h2 {
  margin: 0;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  color: var(--mv-text);
}

.service--ubicacion .row {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(380px, 1.1fr);
  gap: 24px;
  margin: 0;
}

.service--ubicacion .col-lg-4,
.service--ubicacion .col-md-6 {
  max-width: none;
  flex: none;
  padding: 0;
  display: block;
}

.service--ubicacion .service-item {
  height: 100%;
  padding: 28px;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--mv-border) 90%, transparent);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mv-surface) 96%, transparent), color-mix(in srgb, var(--mv-surface-2) 92%, transparent));
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.12);
}

@media (hover: hover) {
  .service--ubicacion .service-item,
  .service--ubicacion .service-map .map {
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  .service--ubicacion .service-item:hover,
  .service--ubicacion .service-map .map:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--mv-accent) 26%, var(--mv-border));
    box-shadow: 0 28px 62px rgba(0, 0, 0, 0.16);
  }
}

.service--ubicacion .service-icon {
  display: block;
  margin-bottom: 20px;
}

.service--ubicacion .service-icon__eyebrow {
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--mv-accent) 20%, var(--mv-border));
  background: color-mix(in srgb, var(--mv-surface-2) 86%, transparent);
  color: var(--mv-muted);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service--ubicacion .service-icon--map {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.service--ubicacion .service-icon--map .service-icon__title {
  margin-left: auto;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--mv-text);
}

.service--ubicacion .service-text {
  display: grid;
  gap: 12px;
}

.service--ubicacion .service-text h3 {
  margin: 0;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--mv-text);
  letter-spacing: 0.01em;
}

.service--ubicacion .service-text h3.mt-4 {
  margin-top: 10px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--mv-border) 88%, transparent);
}

.service--ubicacion .service-text p {
  margin: 0;
  color: var(--mv-text-2);
  line-height: 1.6;
  font-size: 0.96rem;
}

.service--ubicacion .service-text p:has(.service-link) {
  padding: 0;
  background: transparent;
  border: 0;
}

.service--ubicacion .service-link {
  color: var(--mv-text);
  text-decoration: none;
  font-weight: 600;
}

.service--ubicacion .service-link:hover {
  color: var(--mv-accent);
  text-decoration: none;
}

.service--ubicacion .service-map {
  height: 100%;
}

.service--ubicacion .service-map .map {
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--mv-border) 90%, transparent);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.12);
  background: #0a1018;
}

.service--ubicacion .service-map iframe {
  display: block;
  width: 100%;
  min-height: 520px;
  height: 100%;
  border: 0;
  filter: grayscale(0.12) saturate(0.88) contrast(1.02);
}

@media (prefers-color-scheme: dark) {
  .service--ubicacion {
    background:
      radial-gradient(760px 260px at 50% 0%, rgba(53, 168, 255, 0.12), transparent 74%),
      linear-gradient(180deg, #05080d, #0b1118);
  }

  .service--ubicacion .service-item,
  .service--ubicacion .service-map .map {
    box-shadow: 0 28px 68px rgba(0, 0, 0, 0.42);
  }
}

@media (max-width: 991.98px) {
  .page-header--ubicacion {
    min-height: 28vh;
  }

  .service--ubicacion {
    padding: 46px 0 58px;
  }

  .service--ubicacion .row {
    grid-template-columns: 1fr;
  }

  .service--ubicacion .service-map iframe {
    min-height: 380px;
  }
}

@media (max-width: 767.98px) {
  .page-header--ubicacion {
    min-height: 24vh;
  }

  .page-header--ubicacion .ub-hero-kicker {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
  }

  .service--ubicacion {
    padding: 38px 0 48px;
  }

  .service--ubicacion .section-header {
    margin-bottom: 24px;
  }

  .service--ubicacion .service-item {
    padding: 22px 18px;
    border-radius: 18px;
  }

  .service--ubicacion .service-map .map {
    border-radius: 18px;
  }

  .service--ubicacion .service-map iframe {
    min-height: 300px;
  }

  .service--ubicacion .service-icon--map {
    align-items: flex-start;
    flex-direction: column;
  }
}

/*****************************************************/
/**************** Ubicanos ATT Style *****************/
/*****************************************************/

.page-header--ubicacion {
  min-height: 30vh;
  background:
    linear-gradient(180deg, rgba(4, 10, 18, 0.56), rgba(4, 10, 18, 0.78)),
    radial-gradient(840px 320px at 50% 0%, rgba(53, 168, 255, 0.08), transparent 72%),
    #07101b;
}

.page-header--ubicacion .ub-hero-kicker {
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: 0.18em;
}

.page-header--ubicacion h2 {
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: 0;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
}

.service--ubicacion {
  padding: 56px 0 74px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mv-bg) 96%, #f5f8fb 4%), color-mix(in srgb, var(--mv-bg) 98%, #ffffff 2%));
}

.service--ubicacion .section-header {
  margin-bottom: 28px;
}

.service--ubicacion .section-header p {
  margin: 0 0 8px;
  color: color-mix(in srgb, var(--mv-muted) 92%, #4d5c70 8%);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.service--ubicacion .section-header h2 {
  font-size: clamp(30px, 3.3vw, 40px);
  letter-spacing: -0.01em;
}

.service--ubicacion .row {
  gap: 20px;
  grid-template-columns: minmax(320px, 0.88fr) minmax(420px, 1.12fr);
}

.service--ubicacion .service-item {
  padding: 30px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mv-border) 88%, #c7d2de 12%);
  background: color-mix(in srgb, var(--mv-surface) 98%, #ffffff 2%);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

@media (hover: hover) {
  .service--ubicacion .service-item:hover,
  .service--ubicacion .service-map .map:hover {
    transform: none;
    border-color: color-mix(in srgb, var(--mv-accent) 20%, var(--mv-border));
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
  }
}

.service--ubicacion .service-icon {
  margin-bottom: 18px;
}

.service--ubicacion .service-icon__eyebrow {
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(0, 151, 206, 0.14);
  background: rgba(0, 151, 206, 0.06);
  color: #38607d;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
}

.service--ubicacion .service-icon--map .service-icon__title {
  font-size: 1.08rem;
}

.service--ubicacion .service-text {
  gap: 16px;
}

.service--ubicacion .service-text h3 {
  font-size: 1.3rem;
  letter-spacing: -0.01em;
}

.service--ubicacion .service-card__summary {
  max-width: 52ch;
  color: var(--mv-text-2);
}

.service--ubicacion .service-list {
  display: grid;
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--mv-border) 88%, transparent);
}

.service--ubicacion .service-list__row {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--mv-border) 88%, transparent);
}

.service--ubicacion .service-list__label {
  color: var(--mv-muted);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service--ubicacion .service-list__value {
  color: var(--mv-text);
  line-height: 1.6;
}

.service--ubicacion .service-text p:has(.service-link) {
  padding: 0;
  background: transparent;
  border: 0;
}

.service--ubicacion .service-link {
  font-weight: 700;
}

.service--ubicacion .service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.service--ubicacion .service-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: linear-gradient(180deg, #11a5e5, #008fd3);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(0, 151, 206, 0.18);
}

.service--ubicacion .service-cta:hover {
  color: #fff;
  text-decoration: none;
  filter: brightness(1.03);
}

.service--ubicacion .service-cta--ghost {
  background: transparent;
  border-color: color-mix(in srgb, var(--mv-border) 86%, #c7d2de 14%);
  color: var(--mv-text);
  box-shadow: none;
}

.service--ubicacion .service-cta--ghost:hover {
  color: var(--mv-text);
  background: color-mix(in srgb, var(--mv-surface-2) 88%, transparent);
}

.service--ubicacion .service-map__copy {
  margin: 0 0 16px;
  color: var(--mv-text-2);
  line-height: 1.6;
}

.service--ubicacion .service-map .map {
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  background: #dfe8f1;
}

.service--ubicacion .service-map iframe {
  min-height: 460px;
  filter: grayscale(0.18) saturate(0.9) contrast(1);
}

.service--ubicacion .service-actions--map {
  margin-top: 16px;
}

@media (prefers-color-scheme: dark) {
  .service--ubicacion {
    background:
      linear-gradient(180deg, #060b12, #0a111a);
  }

  .service--ubicacion .service-item {
    background: linear-gradient(180deg, rgba(16, 23, 33, 0.98), rgba(12, 18, 26, 0.96));
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  }

  .service--ubicacion .service-icon__eyebrow {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.72);
  }

  .service--ubicacion .service-map .map {
    background: #0a1018;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
  }

  .service--ubicacion .service-cta--ghost {
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--mv-text);
  }
}

@media (max-width: 991.98px) {
  .service--ubicacion .row {
    grid-template-columns: 1fr;
  }

  .service--ubicacion .service-map iframe {
    min-height: 360px;
  }
}

@media (max-width: 767.98px) {
  .service--ubicacion {
    padding: 38px 0 48px;
  }

  .service--ubicacion .service-item {
    padding: 22px 18px;
    border-radius: 16px;
  }

  .service--ubicacion .service-list__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 12px 0;
  }

  .service--ubicacion .service-map .map {
    border-radius: 16px;
  }

  .service--ubicacion .service-map iframe {
    min-height: 300px;
  }
}

/*****************************************************/
/************* Ubicanos Store Layout *****************/
/*****************************************************/

.service--ubicacion {
  padding: 54px 0 72px;
  background: linear-gradient(180deg, #f7f9fc, #ffffff);
}

.service--ubicacion > .container {
  width: min(100vw, 1480px);
  max-width: none;
  padding-left: clamp(18px, 3vw, 44px);
  padding-right: clamp(18px, 3vw, 44px);
}

.service--ubicacion .section-header {
  margin-bottom: 26px;
}

.service--ubicacion .section-header p {
  margin: 0 0 8px;
  color: #5c6f84;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service--ubicacion .section-header h2 {
  margin: 0;
  color: #25364a;
  font-size: clamp(30px, 3.2vw, 40px);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.ub-store {
  display: grid;
  gap: 22px;
  width: 100%;
}

.ub-store__media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.ub-store__photo,
.ub-store__map {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: #e7edf4;
}

.ub-store__photo img,
.ub-store__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.ub-store__photo img {
  min-height: 300px;
  max-height: 420px;
  object-fit: cover;
}

.ub-store__map iframe {
  min-height: 430px;
  border: 0;
  filter: grayscale(0.06) saturate(0.94);
}

.ub-store__details {
  display: grid;
  grid-template-columns: 1fr 1fr 0.95fr;
  gap: 26px;
  align-items: start;
  width: 100%;
}

.ub-store__card {
  background: transparent;
}

.ub-store__headline,
.ub-store__info-block {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.ub-store__headline {
  margin-bottom: 14px;
}

.ub-store__icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #0f1720;
  border-radius: 50%;
  color: #0f1720;
  font-size: 1.15rem;
}

.ub-store__headline h3 {
  margin: 0;
  color: #25364a;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.25;
}

.ub-store__schedule {
  display: grid;
  gap: 8px;
  padding-left: 52px;
}

.ub-store__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  color: #31475f;
  font-size: 0.98rem;
  line-height: 1.45;
}

.ub-store__row span:first-child {
  font-weight: 600;
}

.ub-store__info {
  display: grid;
  gap: 28px;
}

.ub-store__info-block p {
  margin: 0;
  color: #31475f;
  font-size: 0.98rem;
  line-height: 1.45;
}

.service-link {
  color: #2f4f73;
  text-decoration: none;
  font-weight: 500;
}

.service-link:hover {
  color: #008fd3;
  text-decoration: none;
}

.service-actions--stack {
  display: grid;
  gap: 16px;
}

.service-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid #20262d;
  border-radius: 0;
  background: #20262d;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}

.service-cta:hover {
  color: #ffffff;
  text-decoration: none;
  background: #171c22;
  border-color: #171c22;
  filter: none;
}

.service-cta--dark {
  background: #20262d;
  border-color: #20262d;
}

.ub-store__note {
  margin: 18px 0 0;
  color: #4f6277;
  font-size: 0.98rem;
  line-height: 1.6;
  font-style: italic;
}

@media (prefers-color-scheme: dark) {
  .service--ubicacion {
    background: linear-gradient(180deg, #070d14, #0c1219);
  }

  .service--ubicacion .section-header p {
    color: rgba(255, 255, 255, 0.56);
  }

  .service--ubicacion .section-header h2,
  .ub-store__headline h3 {
    color: rgba(255, 255, 255, 0.94);
  }

  .ub-store__row,
  .ub-store__info-block p,
  .ub-store__note,
  .service-link {
    color: rgba(255, 255, 255, 0.78);
  }

  .ub-store__photo,
  .ub-store__map {
    background: #111922;
  }

  .ub-store__icon {
    border-color: rgba(255, 255, 255, 0.82);
    color: rgba(255, 255, 255, 0.9);
  }

  .service-cta {
    background: #f3f6f9;
    border-color: #f3f6f9;
    color: #11161d;
  }

  .service-cta:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #11161d;
  }

  .service-cta--dark {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.92);
  }

  .service-cta--dark:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
  }
}

@media (max-width: 991.98px) {
  .ub-store__details {
    grid-template-columns: 1fr;
  }

  .ub-store__photo img,
  .ub-store__map iframe {
    min-height: 300px;
  }

  .ub-store__details {
    gap: 18px;
  }
}

@media (max-width: 767.98px) {
  .service--ubicacion {
    padding: 38px 0 48px;
  }

  .service--ubicacion > .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ub-store__media,
  .ub-store__details {
    gap: 16px;
  }

  .ub-store__photo img,
  .ub-store__map iframe {
    min-height: 240px;
  }

  .ub-store__headline,
  .ub-store__info-block {
    gap: 12px;
  }

  .ub-store__schedule {
    padding-left: 0;
  }

  .ub-store__row {
    flex-direction: column;
    gap: 2px;
  }
}

/*****************************************************/
/************* Ubicanos Header Fix *******************/
/*****************************************************/

.page-header--ubicacion {
  width: 100%;
  margin-left: 0;
  min-height: 220px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 116px 0 24px;
  background:
    linear-gradient(180deg, rgba(8, 14, 22, 0.96), rgba(8, 14, 22, 0.9)),
    #0b1118;
}

.page-header--ubicacion .container,
.page-header--ubicacion .row,
.page-header--ubicacion .col-12 {
  height: auto;
}

.page-header--ubicacion .col-12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: center;
}

.page-header--ubicacion .col-12::before {
  display: none;
}

.page-header--ubicacion .ub-hero-kicker,
.page-header--ubicacion h2 {
  position: static;
  z-index: auto;
}

.page-header--ubicacion .ub-hero-kicker {
  margin: 0;
}

.page-header--ubicacion h2 {
  margin: 0;
}

@media (max-width: 767.98px) {
  .page-header--ubicacion {
    min-height: 180px;
    padding: 100px 0 18px;
  }
}

/*****************************************************/
/************* Ubicanos Final Layout *****************/
/*****************************************************/

.page-header--ubicacion {
  min-height: 180px;
  padding: 118px 0 26px;
  background:
    linear-gradient(180deg, rgba(7, 13, 21, 0.62), rgba(7, 13, 21, 0.62)),
    url("../assets/img/ubicanos.png") center/cover no-repeat,
    #0b1118;
}

.page-header--ubicacion .ub-hero-kicker {
  display: none;
}

.service--ubicacion {
  padding: 28px 0 72px;
  background: #11161d;
}

.service--ubicacion > .container {
  width: min(100vw, 1080px);
  max-width: none;
  padding-left: 18px;
  padding-right: 18px;
}

.service--ubicacion .section-header {
  margin-bottom: 18px;
}

.service--ubicacion .section-header p {
  display: none;
}

.service--ubicacion .section-header h2 {
  color: #ffffff;
  font-size: clamp(32px, 3.8vw, 56px);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.service--ubicacion .ub-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 0;
}

.service--ubicacion .ub-layout > [class*="col-"] {
  padding: 0;
  max-width: none;
}

.service--ubicacion .service-item {
  height: 100%;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(27, 155, 216, 0.35);
  background:
    radial-gradient(600px 240px at 50% 0%, rgba(41, 181, 255, 0.1), transparent 70%),
    linear-gradient(180deg, rgba(31, 43, 51, 0.96), rgba(28, 36, 45, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.service--ubicacion .service-icon {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.service--ubicacion .service-icon__button {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 1px solid rgba(35, 163, 223, 0.34);
  background: linear-gradient(180deg, rgba(18, 105, 149, 0.36), rgba(15, 64, 94, 0.28));
  color: #18ace8;
  font-size: 1.15rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.service--ubicacion .service-icon__title {
  color: #ffffff;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
}

.service--ubicacion .service-text {
  display: grid;
  gap: 12px;
}

.service--ubicacion .service-text h3 {
  margin: 0;
  color: #ffffff;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.service--ubicacion .service-text h3.mt-4 {
  margin-top: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.service--ubicacion .service-text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.55;
  font-size: 0.96rem;
}

.service--ubicacion .service-pill {
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.045);
}

.service--ubicacion .service-link {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

.service--ubicacion .service-link:hover {
  color: #7edbff;
  text-decoration: none;
}

.service--ubicacion .service-map .map {
  overflow: hidden;
  border-radius: 18px;
  background: #dce6ef;
}

.service--ubicacion .service-map iframe {
  display: block;
  width: 100%;
  min-height: 455px;
  border: 0;
}

@media (max-width: 991.98px) {
  .service--ubicacion .ub-layout {
    grid-template-columns: 1fr;
  }

  .service--ubicacion .service-map iframe {
    min-height: 340px;
  }
}

@media (max-width: 767.98px) {
  .page-header--ubicacion {
    padding: 100px 0 18px;
  }

  .service--ubicacion {
    padding: 22px 0 46px;
  }

  .service--ubicacion .section-header h2 {
    font-size: clamp(28px, 7vw, 42px);
  }

  .service--ubicacion .service-item {
    padding: 18px;
    border-radius: 18px;
  }

  .service--ubicacion .service-icon__button {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .service--ubicacion .service-map iframe {
    min-height: 300px;
  }
}

/*****************************************************/
/************* Ubicanos Layout Lock ******************/
/*****************************************************/

#main-content {
  display: block;
  min-height: auto;
  background: transparent;
  padding: 0;
}

.page-header--ubicacion {
  min-height: 230px;
  padding: 112px 0 34px;
  position: relative;
}

.page-header--ubicacion .ub-hero-kicker {
  display: none;
}

.page-header--ubicacion h2 {
  margin: 0;
  color: #ffffff;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: clamp(38px, 4.5vw, 64px);
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.02em;
  text-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.page-header--ubicacion::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(1220px, calc(100vw - 36px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
}

.service--ubicacion > .container {
  width: min(100vw, 1120px);
  max-width: 1120px;
}

.service--ubicacion .ub-layout {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 18px;
}

.service--ubicacion .ub-layout > .col-lg-6,
.service--ubicacion .ub-layout > .col-md-12,
.service--ubicacion .ub-layout > [class*="col-"] {
  flex: 0 0 calc(50% - 9px) !important;
  width: calc(50% - 9px) !important;
  max-width: calc(50% - 9px) !important;
}

.service--ubicacion .service-item {
  min-height: 100%;
}

.service--ubicacion .service-item--map .service-map,
.service--ubicacion .service-item--map .map {
  height: 100%;
}

.service--ubicacion .service-item--map iframe {
  min-height: 455px;
  height: 455px;
}

@media (max-width: 991.98px) {
  .service--ubicacion .ub-layout {
    display: block !important;
  }

  .service--ubicacion .ub-layout > .col-lg-6,
  .service--ubicacion .ub-layout > .col-md-12,
  .service--ubicacion .ub-layout > [class*="col-"] {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .service--ubicacion .ub-layout > [class*="col-"]:first-child {
    margin-bottom: 18px;
  }
}

/*****************************************************/
/************* Ubicanos Ref Model ********************/
/*****************************************************/

.service--ubicacion {
  padding: 20px 0 72px;
  background: #ffffff;
}

.service--ubicacion > .container {
  width: min(100vw, 1220px);
  max-width: 1220px;
  padding-left: 18px;
  padding-right: 18px;
}

.service--ubicacion .section-header {
  margin-bottom: 28px;
  text-align: left;
}

.service--ubicacion .section-header h2 {
  color: #18314c;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 700;
  letter-spacing: -0.02em;
  position: relative;
}

.service--ubicacion .section-header h2::before {
  content: "";
  width: 44px;
  height: 2px;
  background: linear-gradient(90deg, #0aa7e8, rgba(10, 167, 232, 0.22));
  border-radius: 999px;
}

.ub-store-model {
  display: grid;
  gap: 26px;
  min-width: 0;
}

.ub-store-model__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
  min-width: 0;
}

.ub-store-model__photo,
.ub-store-model__map {
  margin: 0;
  overflow: hidden;
  background: #eef2f6;
  border-radius: 6px;
  box-shadow: 0 14px 40px rgba(7, 13, 21, 0.12);
}

.ub-store-model__photo img,
.ub-store-model__map iframe {
  display: block;
  width: 100%;
}

.ub-store-model__photo img {
  height: 336px;
  object-fit: cover;
}

.ub-store-model__map iframe {
  height: 336px;
  border: 0;
}

.ub-store-model__info {
  display: grid;
  grid-template-columns: 1.05fr 0.9fr 0.95fr;
  gap: 30px;
  align-items: start;
  padding: 2px 0 0;
  min-width: 0;
}

.ub-store-model__block,
.ub-store-model__photo,
.ub-store-model__map {
  min-width: 0;
}

.ub-store-model__titleline,
.ub-store-model__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.ub-store-model__contact-item {
  align-items: center;
}

.ub-store-model__icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #131920;
  border-radius: 50%;
  color: #131920;
  font-size: 1.2rem;
}

.ub-store-model__titleline {
  margin-bottom: 16px;
}

.ub-store-model__titleline h3 {
  margin: 0;
  color: #1d3550;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
}

.ub-store-model__hours {
  display: grid;
  gap: 8px;
  padding-left: 58px;
}

.ub-store-model__hour-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #314861;
  font-size: 0.98rem;
  line-height: 1.45;
}

.ub-store-model__hour-row span:first-child {
  font-weight: 600;
}

.ub-store-model__block--contact {
  display: grid;
  gap: 28px;
}

.ub-store-model__contact-item p {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  color: #314861;
  font-size: 0.98rem;
  line-height: 1.5;
}

.ub-store-model__block--actions {
  display: grid;
  gap: 18px;
  align-content: start;
}

.ub-store-model__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  background: #1a2027;
  border: 1px solid #1a2027;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(13, 27, 42, 0.12);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ub-store-model__cta:hover {
  color: #ffffff;
  text-decoration: none;
  background: #0f5f93;
  border-color: #0f5f93;
  box-shadow: 0 14px 28px rgba(15, 95, 147, 0.18);
  transform: translateY(-1px);
}

.ub-store-model__cta--secondary {
  background: #ffffff;
  border-color: #c7d4e1;
  color: #18314c;
}

.ub-store-model__cta--secondary:hover {
  background: #eef5fb;
  border-color: #9dbad4;
  color: #18314c;
}

.ub-store-model__note {
  margin: 0;
  align-self: start;
  color: #425a73;
  font-size: 0.98rem;
  line-height: 1.55;
  font-style: italic;
  max-width: 28ch;
}

.service--ubicacion .service-link,
.service-link {
  display: inline-block;
  color: #143f69;
  text-decoration: none;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.service--ubicacion .service-link:hover,
.service-link:hover {
  color: #0b6aa5;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .service--ubicacion {
    background: #11161d;
  }

  .service--ubicacion .section-header h2 {
    color: #ffffff;
  }

  .ub-store-model__photo,
  .ub-store-model__map {
    background: #1c232b;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.26);
  }

  .ub-store-model__icon {
    border-color: rgba(255, 255, 255, 0.88);
    color: rgba(255, 255, 255, 0.92);
  }

  .ub-store-model__titleline h3,
  .ub-store-model__hour-row,
  .ub-store-model__contact-item p {
    color: rgba(255, 255, 255, 0.9);
  }

  .ub-store-model__cta {
    background: #1f252c;
    border-color: #1f252c;
    box-shadow: none;
  }

  .ub-store-model__cta:hover {
    background: #151a20;
    border-color: #151a20;
    box-shadow: none;
    transform: none;
  }

  .ub-store-model__cta--secondary {
    background: #1f252c;
    border-color: #1f252c;
    color: #ffffff;
  }

  .ub-store-model__cta--secondary:hover {
    background: #151a20;
    border-color: #151a20;
    color: #ffffff;
  }

  .ub-store-model__note {
    color: rgba(255, 255, 255, 0.72);
  }

  .service--ubicacion .service-link,
  .service-link {
    color: #ffffff;
  }

  .service--ubicacion .service-link:hover,
  .service-link:hover {
    color: #7edbff;
  }
}

@media (max-width: 1199.98px) {
  .service--ubicacion {
    padding: 24px 0 62px;
  }

  .service--ubicacion > .container {
    width: min(100vw, 1120px);
    max-width: 1120px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .ub-store-model {
    gap: 24px;
  }

  .ub-store-model__media {
    gap: 18px;
  }

  .ub-store-model__photo img,
  .ub-store-model__map iframe {
    height: clamp(280px, 30vw, 330px);
  }

  .ub-store-model__info {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px 22px;
  }

  .ub-store-model__block--actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .ub-store-model__note {
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 991.98px) {
  .service--ubicacion {
    padding: 26px 0 56px;
  }

  .service--ubicacion > .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .service--ubicacion .section-header {
    margin-bottom: 22px;
  }

  .ub-store-model__media,
  .ub-store-model__info {
    grid-template-columns: 1fr;
  }

  .ub-store-model__photo img,
  .ub-store-model__map iframe {
    height: clamp(250px, 42vw, 320px);
  }

  .ub-store-model {
    gap: 22px;
  }

  .ub-store-model__media {
    gap: 18px;
  }

  .ub-store-model__info {
    gap: 22px;
  }

  .ub-store-model__block--contact {
    gap: 18px;
  }

  .ub-store-model__hours {
    padding-left: 0;
  }

  .ub-store-model__hour-row {
    gap: 20px;
  }

  .ub-store-model__block--actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .ub-store-model__note {
    grid-column: 1 / -1;
  }

  .ub-store-model__cta {
    min-height: 44px;
  }

  .ub-store-model__note {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .page-header--ubicacion {
    padding-top: 128px;
    padding-bottom: 26px;
  }

  .service--ubicacion {
    padding: 20px 0 42px;
  }

  .service--ubicacion > .container {
    width: 100%;
    max-width: 100%;
    padding-left: 18px;
    padding-right: 18px;
  }

  .service--ubicacion .section-header {
    margin-bottom: 18px;
  }

  .service--ubicacion .section-header h2 {
    gap: 8px;
    font-size: clamp(19px, 5.4vw, 26px);
  }

  .service--ubicacion .section-header h2::before {
    width: 28px;
  }

  .ub-store-model__media,
  .ub-store-model__info {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  .ub-store-model__photo,
  .ub-store-model__map,
  .ub-store-model__block {
    width: 100%;
    max-width: 100%;
  }

  .ub-store-model__photo img,
  .ub-store-model__map iframe {
    height: clamp(200px, 56vw, 240px);
  }

  .ub-store-model__info {
    gap: 18px;
  }

  .ub-store-model__titleline,
  .ub-store-model__contact-item {
    gap: 12px;
  }

  .ub-store-model__titleline,
  .ub-store-model__contact-item,
  .ub-store-model__hour-row {
    min-width: 0;
  }

  .ub-store-model__icon {
    width: 38px;
    height: 38px;
    font-size: 1rem;
  }

  .ub-store-model__titleline {
    margin-bottom: 12px;
  }

  .ub-store-model__titleline h3 {
    font-size: 1rem;
  }

  .ub-store-model__hour-row {
    flex-direction: column;
    gap: 2px;
    font-size: 0.95rem;
  }

  .ub-store-model__contact-item {
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .ub-store-model__contact-item p,
  .ub-store-model__note {
    font-size: 0.95rem;
  }

  .ub-store-model__contact-item p {
    width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .ub-store-model__block,
  .ub-store-model__block--contact,
  .ub-store-model__block--actions {
    width: 100%;
    min-width: 0;
  }

  .ub-store-model__block--contact {
    gap: 14px;
  }

  .ub-store-model__block--actions {
    order: -1;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ub-store-model__note {
    order: 99;
  }

  .ub-store-model__cta {
    width: 100%;
    min-height: 42px;
    padding: 0 14px;
    text-align: center;
  }
}

@media (max-width: 479.98px) {
  .page-header--ubicacion {
    padding-top: 136px;
    padding-bottom: 24px;
  }

  .service--ubicacion {
    padding: 18px 0 36px;
  }

  .service--ubicacion > .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .service--ubicacion .section-header h2 {
    font-size: clamp(18px, 6vw, 22px);
  }

  .ub-store-model {
    gap: 18px;
  }

  .ub-store-model__photo img,
  .ub-store-model__map iframe {
    height: 190px;
  }

  .ub-store-model__icon {
    width: 34px;
    height: 34px;
    font-size: 0.94rem;
  }

  .ub-store-model__titleline,
  .ub-store-model__contact-item {
    gap: 10px;
  }

  .ub-store-model__hours {
    gap: 6px;
  }

  .ub-store-model__hour-row,
  .ub-store-model__contact-item p,
  .ub-store-model__note,
  .service--ubicacion .service-link {
    font-size: 0.92rem;
  }

  .ub-store-model__cta {
    min-height: 40px;
    font-size: 0.92rem;
  }

  .ub-store-model__block--actions {
    order: -1;
  }

  .ub-store-model__note {
    order: 99;
  }
}

/*****************************************************/
/*********** Contactenos Final Responsive ************/
/*****************************************************/

@media (max-width: 1199.98px) {
  .contact-hub-hero {
    padding: 122px 0 56px;
  }

  .contact-hub-hero__inner {
    width: min(100%, 700px);
  }

  .contact-hub-hero h1 {
    font-size: clamp(40px, 6.4vw, 68px);
  }

  .contact-hub-grid .container {
    width: min(100vw, 1140px);
    max-width: 1140px;
    padding-left: 22px;
    padding-right: 22px;
  }

  .contact-hub-cards {
    gap: 20px;
  }

  .hub-card {
    padding: 22px 20px 24px;
  }
}

@media (max-width: 991.98px) {
  .contact-hub-hero {
    padding: 110px 0 46px;
  }

  .contact-hub-hero__inner {
    width: min(100%, 760px);
    padding-left: 18px;
    padding-right: 18px;
  }

  .contact-hub-hero h1 {
    font-size: clamp(36px, 7.6vw, 56px);
  }

  .contact-hub-hero__lead {
    max-width: 640px;
    font-size: 1.04rem;
  }

  .contact-hub-search {
    width: 100%;
    max-width: 100%;
    min-height: 52px;
  }

  .contact-hub-tags {
    justify-content: center;
    gap: 10px;
  }

  .contact-hub-grid {
    padding: 48px 0 20px;
  }

  .contact-hub-grid .container {
    width: min(100vw, 900px);
    max-width: 900px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .contact-hub-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 767.98px) {
  .contact-hub-hero {
    padding-top: calc(136px + env(safe-area-inset-top, 0px));
    padding-bottom: 36px;
  }

  .contact-hub-hero__inner {
    width: min(100%, 540px);
    padding-left: 18px;
    padding-right: 18px;
  }

  .contact-hub-hero h1 {
    max-width: 9.5ch;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(26px, 8.8vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  .contact-hub-hero__lead {
    display: none;
  }

  .contact-hub-search {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    padding: 0 14px;
    gap: 10px;
    border-radius: 10px;
    overflow: hidden;
  }

  .contact-hub-search__input {
    min-width: 0;
    font-size: 0.94rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .contact-hub-grid {
    padding: 36px 0 12px;
  }

  .contact-hub-grid .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .contact-hub-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .hub-card {
    padding: 20px 18px 20px;
  }
}

@media (max-width: 479.98px) {
  .contact-hub-hero {
    padding-top: calc(146px + env(safe-area-inset-top, 0px));
    padding-bottom: 30px;
  }

  .contact-hub-tags {
    justify-content: flex-start;
    gap: 8px;
  }

  .contact-hub-tags__label {
    width: 100%;
  }

  .contact-hub-tag {
    min-height: 40px;
    padding: 0 14px;
    font-size: 0.92rem;
  }

  .contact-hub-search {
    min-height: 46px;
    padding: 0 12px;
  }

  .contact-hub-search__input {
    font-size: 0.88rem;
  }

  .contact-hub-grid .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .contact-hub-hero h1 {
    max-width: 9ch;
    font-size: clamp(24px, 9.2vw, 34px);
  }

  .hub-card h2 {
    font-size: 1.05rem;
  }
}

@media (max-width: 767.98px) {
  .contact-hub-hero {
    min-height: auto;
  }

  .contact-hub-hero__inner {
    display: grid;
    justify-items: center;
    gap: 18px;
  }

  .contact-hub-hero h1 {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }

  .contact-hub-search {
    margin-top: 0;
  }

  .contact-hub-tags {
    margin-top: 0;
    width: 100%;
  }
}

@media (max-width: 479.98px) {
  .contact-hub-hero__inner {
    gap: 16px;
  }

  .contact-hub-hero h1 {
    max-width: 250px;
  }

  .contact-hub-search {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  body .contact-hub-hero {
    padding-top: calc(152px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 28px !important;
  }

  body .contact-hub-hero .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body .contact-hub-hero__inner {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }

  body .contact-hub-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 2.15rem !important;
    line-height: 1.06 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    text-wrap: unset !important;
  }

  body .contact-hub-search {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }

  body .contact-hub-search__icon {
    flex: 0 0 auto !important;
  }

  body .contact-hub-search__input {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body .contact-hub-tags {
    width: 100% !important;
    margin-top: 2px !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body .contact-hub-tags__label {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 2px !important;
  }

  body .contact-hub-tag {
    min-height: 38px !important;
    padding: 0 13px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 479.98px) {
  body .contact-hub-hero {
    padding-top: calc(156px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 24px !important;
  }

  body .contact-hub-hero__inner {
    max-width: 292px !important;
    gap: 14px !important;
  }

  body .contact-hub-hero h1 {
    font-size: 1.95rem !important;
  }

  body .contact-hub-search {
    min-height: 46px !important;
  }

  body .contact-hub-search__input {
    font-size: 0.86rem !important;
  }
}

/* =========================================================
   FAQ Hub Refresh
========================================================= */
body.faq-hub-page {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(0, 151, 206, 0.12), transparent 34%),
    linear-gradient(180deg, #f4f8fc 0%, #eef4fb 100%);
}

body.faq-hub-page::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: min(38vw, 360px);
  background:
    linear-gradient(180deg, rgba(5, 15, 28, 0.78) 0%, rgba(8, 22, 40, 0.5) 42%, rgba(244, 248, 252, 0) 100%),
    url("../assets/img/fa1.png") center top / cover no-repeat;
  z-index: 0;
  pointer-events: none;
}

body.faq-hub-page main,
body.faq-hub-page .site-footer {
  position: relative;
  z-index: 1;
}

body.faq-hub-page .navbar.nav-sticky {
  z-index: 1600;
}

body.faq-hub-page main {
  min-height: auto;
  display: block;
  align-items: initial;
  padding: clamp(68px, 8vw, 120px) clamp(18px, 4vw, 42px) clamp(60px, 7vw, 100px);
  background: transparent;
}

body.faq-hub-page .faq-hub {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 460px) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

body.faq-hub-page .faq-hub__hero-copy {
  grid-column: 1 / -1;
  min-height: clamp(250px, 30vw, 340px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 20px;
  text-align: center;
}

body.faq-hub-page .faq-hub__intro {
  padding-top: 0;
  margin-top: 0;
}

body.faq-hub-page .faq-hub__panel-copy {
  padding-top: 34px;
}

body.faq-hub-page .faq-hub__eyebrow {
  margin: 0 0 18px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0c5da5;
}

body.faq-hub-page .faq-hub__intro h1 {
  margin: 0;
  max-width: none;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3.7vw, 3.6rem);
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 14px 36px rgba(0, 0, 0, 0.48);
  white-space: nowrap;
}

body.faq-hub-page .faq-hub__lead {
  margin: 28px 0 0;
  max-width: 420px;
  font-size: 1.12rem;
  line-height: 1.65;
  color: rgba(14, 34, 64, 0.86);
}

body.faq-hub-page .faq-hub__intro > * {
  text-shadow: 0 8px 28px rgba(255, 255, 255, 0.34);
}

body.faq-hub-page .categorias {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 132px));
  gap: 16px;
  justify-content: start;
  margin: 54px 0 0;
}

body.faq-hub-page .categoria {
  min-height: 112px;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  text-align: left;
  border-radius: 24px;
  border: 1.5px solid rgba(0, 151, 206, 0.42);
  background: rgba(255, 255, 255, 0.78);
  color: #0b57a2;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(12px);
}

body.faq-hub-page .categoria-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 151, 206, 0.1);
  color: #0b84cf;
  font-size: 1.1rem;
}

body.faq-hub-page .categoria p {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 1.02rem;
  line-height: 1.15;
  font-weight: 600;
  color: #0b57a2;
}

body.faq-hub-page .categoria.activa {
  background: linear-gradient(180deg, #1f96ea 0%, #0d86dd 100%);
  border-color: #1f96ea;
  color: #ffffff;
  box-shadow: 0 22px 46px rgba(10, 116, 198, 0.24);
}

body.faq-hub-page .categoria.activa .categoria-icon {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

body.faq-hub-page .categoria.activa p {
  color: #ffffff;
}

body.faq-hub-page .preguntas {
  max-height: none;
  overflow: visible;
  margin: 0;
  padding: clamp(124px, 14vw, 170px) 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.faq-hub-page .contenedor-preguntas {
  gap: 0;
}

body.faq-hub-page .contenedor-pregunta {
  padding: 0 0 22px;
  margin-bottom: 18px;
  background: transparent;
  border: 0;
  border-bottom: 1.5px solid rgba(11, 87, 162, 0.34);
  border-radius: 0;
  box-shadow: none;
}

body.faq-hub-page .contenedor-pregunta:hover,
body.faq-hub-page .contenedor-pregunta.activa {
  box-shadow: none;
  border-color: rgba(11, 87, 162, 0.82);
}

body.faq-hub-page .pregunta {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.22rem, 2vw, 1.62rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0e4f94;
  gap: 20px;
}

body.faq-hub-page .pregunta img {
  width: 20px;
  flex: 0 0 auto;
}

body.faq-hub-page .respuesta {
  color: rgba(14, 34, 64, 0.9);
  font-size: 1.08rem;
  line-height: 1.6;
  margin-right: 34px;
}

html[data-theme="dark"] body.faq-hub-page,
body.faq-hub-page.theme-dark {
  background:
    radial-gradient(circle at top left, rgba(0, 151, 206, 0.12), transparent 30%),
    linear-gradient(180deg, #0a0f15 0%, #10161f 100%);
}

html[data-theme="dark"] body.faq-hub-page::before,
body.faq-hub-page.theme-dark::before {
  background:
    linear-gradient(180deg, rgba(4, 9, 18, 0.82) 0%, rgba(8, 14, 24, 0.56) 42%, rgba(10, 15, 21, 0) 100%),
    url("../assets/img/fa1.png") center top / cover no-repeat;
}

html[data-theme="dark"] body.faq-hub-page .faq-hub__eyebrow,
body.faq-hub-page.theme-dark .faq-hub__eyebrow {
  color: #4bc9f3;
}

html[data-theme="dark"] body.faq-hub-page .faq-hub__intro h1,
html[data-theme="dark"] body.faq-hub-page .pregunta,
body.faq-hub-page.theme-dark .faq-hub__intro h1,
body.faq-hub-page.theme-dark .pregunta {
  color: rgba(255, 255, 255, 0.96);
}

html[data-theme="dark"] body.faq-hub-page .faq-hub__lead,
html[data-theme="dark"] body.faq-hub-page .respuesta,
body.faq-hub-page.theme-dark .faq-hub__lead,
body.faq-hub-page.theme-dark .respuesta {
  color: rgba(255, 255, 255, 0.78);
}

html[data-theme="dark"] body.faq-hub-page .categoria,
body.faq-hub-page.theme-dark .categoria {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(75, 201, 243, 0.28);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body.faq-hub-page .categoria p,
html[data-theme="dark"] body.faq-hub-page .categoria-icon,
body.faq-hub-page.theme-dark .categoria p,
body.faq-hub-page.theme-dark .categoria-icon {
  color: #edf8ff;
}

html[data-theme="dark"] body.faq-hub-page .categoria-icon,
body.faq-hub-page.theme-dark .categoria-icon {
  background: rgba(75, 201, 243, 0.1);
}

html[data-theme="dark"] body.faq-hub-page .categoria.activa,
body.faq-hub-page.theme-dark .categoria.activa {
  background: linear-gradient(180deg, #1f96ea 0%, #0b6fba 100%);
  border-color: transparent;
}

html[data-theme="dark"] body.faq-hub-page .contenedor-pregunta,
body.faq-hub-page.theme-dark .contenedor-pregunta {
  border-color: rgba(75, 201, 243, 0.28);
}

html[data-theme="dark"] body.faq-hub-page .contenedor-pregunta:hover,
html[data-theme="dark"] body.faq-hub-page .contenedor-pregunta.activa,
body.faq-hub-page.theme-dark .contenedor-pregunta:hover,
body.faq-hub-page.theme-dark .contenedor-pregunta.activa {
  border-color: rgba(75, 201, 243, 0.72);
}

@media (max-width: 1199.98px) {
  body.faq-hub-page .faq-hub {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  body.faq-hub-page .faq-hub__intro h1,
  body.faq-hub-page .faq-hub__lead {
    max-width: none;
  }

  body.faq-hub-page .faq-hub__intro {
    padding-top: 0;
    margin-top: 0;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 0;
    padding: 34px 0 10px;
  }

  body.faq-hub-page .faq-hub__panel-copy {
    padding-top: 0;
  }

  body.faq-hub-page .preguntas {
    padding-top: 8px;
  }
}

@media (max-width: 767.98px) {
  body.faq-hub-page main {
    padding: 34px 18px 60px;
  }

  body.faq-hub-page .faq-hub__intro {
    padding-top: 0;
    margin-top: 0;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 0;
    padding: 8px 0 10px;
  }

  body.faq-hub-page .faq-hub__eyebrow {
    margin-bottom: 14px;
    font-size: 0.8rem;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    max-width: 320px;
    font-size: 2.25rem;
    white-space: normal;
  }

  body.faq-hub-page .faq-hub__lead {
    font-size: 1rem;
    line-height: 1.55;
    margin-top: 18px;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
  }

  body.faq-hub-page .categoria {
    min-height: 104px;
    border-radius: 20px;
    padding: 16px 14px;
  }

  body.faq-hub-page .categoria p {
    font-size: 0.95rem;
  }

  body.faq-hub-page .pregunta {
    font-size: 1.05rem;
    gap: 14px;
  }

  body.faq-hub-page .pregunta img {
    width: 17px;
  }

  body.faq-hub-page .respuesta {
    font-size: 0.98rem;
    margin-right: 0;
  }
}

@media (max-width: 479.98px) {
  body.faq-hub-page main {
    padding: 28px 14px 52px;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    max-width: 290px;
    font-size: 1.95rem;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: 1fr 1fr;
  }

  body.faq-hub-page .categoria {
    min-height: 96px;
  }

  body.faq-hub-page .categoria-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
}

@media (max-width: 991.98px) {
  body.faq-hub-page main {
    padding: 38px 22px 68px;
  }

  body.faq-hub-page .faq-hub {
    gap: 32px;
  }

  body.faq-hub-page .faq-hub__intro {
    max-width: 100%;
  }

  body.faq-hub-page .faq-hub__intro h1,
  body.faq-hub-page .faq-hub__lead {
    max-width: 720px;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 760px;
  }

  body.faq-hub-page .categoria {
    min-width: 0;
  }

  body.faq-hub-page .preguntas,
  body.faq-hub-page .contenedor-preguntas,
  body.faq-hub-page .contenedor-pregunta,
  body.faq-hub-page .pregunta,
  body.faq-hub-page .respuesta {
    min-width: 0;
  }

  body.faq-hub-page .pregunta {
    align-items: flex-start;
  }
}

@media (max-width: 767.98px) {
  body.faq-hub-page::before {
    height: 290px;
    background-position: center top;
  }

  body.faq-hub-page main {
    padding: 46px 18px 60px;
  }

  body.faq-hub-page .faq-hub {
    gap: 26px;
  }

  body.faq-hub-page .faq-hub__eyebrow,
  body.faq-hub-page .faq-hub__intro h1,
  body.faq-hub-page .faq-hub__lead {
    max-width: 100%;
  }

  body.faq-hub-page .faq-hub__lead {
    margin-bottom: 0;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
  }

  body.faq-hub-page .categoria {
    min-height: 112px;
    justify-content: flex-start;
    gap: 14px;
  }

  body.faq-hub-page .categoria p {
    word-break: break-word;
  }

  body.faq-hub-page .preguntas {
    padding-top: 0;
  }

  body.faq-hub-page .contenedor-pregunta {
    padding-bottom: 18px;
    margin-bottom: 14px;
  }

  body.faq-hub-page .pregunta {
    font-size: 1rem;
    line-height: 1.25;
    padding-right: 4px;
  }

  body.faq-hub-page .respuesta {
    font-size: 0.96rem;
    line-height: 1.55;
  }
}

@media (max-width: 575.98px) {
  body.faq-hub-page::before {
    height: 264px;
  }

  body.faq-hub-page main {
    padding: 58px 14px 52px;
  }

  body.faq-hub-page .faq-hub {
    gap: 22px;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    max-width: 280px;
    font-size: 1.95rem;
  }

  body.faq-hub-page .faq-hub__lead {
    font-size: 0.96rem;
    line-height: 1.5;
  }

  body.faq-hub-page .faq-hub__intro {
    padding-top: 0;
    margin-top: 0;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    padding: 0 0 8px;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 28px;
  }

  body.faq-hub-page .categoria {
    min-height: auto;
    padding: 14px 14px 15px;
    border-radius: 18px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  body.faq-hub-page .categoria p {
    font-size: 0.94rem;
    line-height: 1.2;
  }

  body.faq-hub-page .pregunta {
    gap: 12px;
    font-size: 0.98rem;
  }

  body.faq-hub-page .pregunta img {
    width: 16px;
    margin-top: 2px;
  }

  body.faq-hub-page .respuesta {
    font-size: 0.94rem;
  }
}

/* FAQ Page Final Layout Fix */
body.faq-hub-page::before {
  height: 380px;
}

body.faq-hub-page main {
  padding-top: 104px;
}

body.faq-hub-page .faq-hub__hero-copy {
  min-height: 228px;
  align-items: flex-start;
  justify-content: center;
  padding: 84px 0 0;
  text-align: center;
}

body.faq-hub-page .faq-hub__intro h1 {
  max-width: none;
  font-size: clamp(2rem, 3.7vw, 3.5rem);
  line-height: 1;
  white-space: nowrap;
}

body.faq-hub-page .faq-hub__panel-copy {
  padding-top: 18px;
}

@media (max-width: 1199.98px) {
  body.faq-hub-page main {
    padding-top: 96px;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 0;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 18px 0 4px;
    text-align: left;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    white-space: normal;
  }
}

@media (max-width: 767.98px) {
  body.faq-hub-page::before {
    height: 300px;
  }

  body.faq-hub-page main {
    padding-top: 110px;
  }
}

@media (max-width: 575.98px) {
  body.faq-hub-page::before {
    height: 272px;
  }

  body.faq-hub-page main {
    padding-top: 106px;
  }
}

/* =========================================================
   Empresas Showcase
========================================================= */
body.empresas-showcase-page {
  --empresas-bg:
    radial-gradient(circle at top left, rgba(64, 170, 255, 0.18), transparent 30%),
    radial-gradient(circle at right 18%, rgba(34, 211, 238, 0.12), transparent 24%),
    linear-gradient(180deg, #09111d 0%, #101927 52%, #0a1320 100%);
  --empresas-surface: rgba(8, 16, 28, 0.76);
  --empresas-surface-strong: rgba(11, 20, 34, 0.92);
  --empresas-border: rgba(255, 255, 255, 0.12);
  --empresas-border-strong: rgba(255, 255, 255, 0.18);
  --empresas-title: #f5f9ff;
  --empresas-text: rgba(233, 240, 250, 0.82);
  --empresas-muted: rgba(182, 198, 216, 0.72);
  --empresas-accent: #75b7ff;
  --empresas-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);
  --empresas-chip-bg: rgba(255, 255, 255, 0.08);
  --empresas-header-overlay: linear-gradient(180deg, rgba(3, 8, 14, 0.62), rgba(4, 10, 16, 0.84));
  background: var(--empresas-bg);
  overflow-x: hidden;
}

@media (prefers-color-scheme: light) {
  body.empresas-showcase-page:not(.theme-dark) {
    --empresas-bg: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  }
}

body.empresas-showcase-page.theme-light {
  --empresas-bg:
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  --empresas-surface: rgba(255, 255, 255, 0.92);
  --empresas-surface-strong: rgba(255, 255, 255, 0.98);
  --empresas-border: rgba(20, 42, 66, 0.12);
  --empresas-border-strong: rgba(20, 42, 66, 0.18);
  --empresas-title: #102033;
  --empresas-text: rgba(16, 32, 51, 0.8);
  --empresas-muted: rgba(42, 66, 93, 0.7);
  --empresas-accent: #007db3;
  --empresas-shadow: 0 20px 46px rgba(18, 49, 79, 0.12);
  --empresas-chip-bg: rgba(0, 125, 179, 0.08);
  --empresas-header-overlay: linear-gradient(180deg, rgba(3, 8, 14, 0.62), rgba(4, 10, 16, 0.84));
}

body.empresas-showcase-page.theme-light .empresas-showcase {
  background:
    radial-gradient(circle at left bottom, rgba(63, 165, 255, 0.14), transparent 24%),
    radial-gradient(circle at right 22%, rgba(57, 214, 190, 0.05), transparent 18%),
    linear-gradient(180deg, #f8fbff 0%, #eef4f8 54%, #edf2f6 100%);
}

body.empresas-showcase-page.theme-light .empresas-showcase__eyebrow {
  color: #3f83ff;
}

body.empresas-showcase-page.theme-light .page-header--empresas {
  background:
    linear-gradient(180deg, rgba(3, 8, 14, 0.62), rgba(4, 10, 16, 0.84)),
    url("../assets/img/empresas.png") center/cover no-repeat,
    #0b1118;
}

body.empresas-showcase-page.theme-light .empresa-card__media::after {
  display: none;
}

body.empresas-showcase-page.theme-light .empresas-showcase__copy h1 {
  color: #102033;
  text-shadow: none;
}

body.empresas-showcase-page.theme-light .empresas-showcase__lead {
  color: rgba(16, 32, 51, 0.76);
}

body.empresas-showcase-page.theme-light .empresas-nav__item {
  background: rgba(255, 255, 255, 0.92);
  color: #102033;
  border-color: rgba(26, 49, 74, 0.12);
  box-shadow: 0 14px 28px rgba(34, 56, 86, 0.08);
}

body.empresas-showcase-page.theme-light .empresas-nav__item:hover {
  border-color: rgba(26, 49, 74, 0.2);
}

body.empresas-showcase-page.theme-light .empresas-nav__arrow {
  color: rgba(66, 88, 116, 0.72);
}

body.empresas-showcase-page.theme-light .empresa-card {
  border-color: rgba(20, 42, 66, 0.1);
  background: #ffffff;
  box-shadow: 0 18px 36px rgba(34, 56, 86, 0.1);
}

body.empresas-showcase-page.theme-light .empresa-card__content {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-top: 1px solid rgba(15, 27, 41, 0.06);
}

body.empresas-showcase-page.theme-light .empresa-card__title {
  color: #102033;
}

body.empresas-showcase-page.theme-light .empresa-card__media {
  background: #ffffff;
}

body.empresas-showcase-page.theme-light .empresa-card__media img {
  filter: none;
}

body.empresas-showcase-page.theme-light .empresas-showcase::after {
  background: radial-gradient(circle, rgba(57, 214, 190, 0.06), transparent 68%);
}

body.empresas-showcase-page.theme-light .empresa-card--satnet::after {
  background: #1d8dff;
}

body.empresas-showcase-page.theme-light .empresa-card--truckmin::after {
  background: #7d4cff;
}

body.empresas-showcase-page.theme-light .empresa-card--terra::after {
  background: #31d8c0;
}

body.empresas-showcase-page.theme-light .empresa-card--tacamin::after {
  background: #ff4b4b;
}

body.empresas-showcase-page.theme-light .empresa-card--satnet::after,
body.empresas-showcase-page.theme-light .empresa-card--truckmin::after,
body.empresas-showcase-page.theme-light .empresa-card--terra::after,
body.empresas-showcase-page.theme-light .empresa-card--tacamin::after {
  inset: auto 18px 0 auto;
  width: 104px;
  height: 6px;
  border-radius: 999px;
  opacity: 1;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45), 0 4px 10px rgba(16, 32, 51, 0.12);
}

body.empresas-showcase-page.theme-dark {
  --empresas-bg:
    radial-gradient(circle at top left, rgba(64, 170, 255, 0.18), transparent 30%),
    radial-gradient(circle at right 18%, rgba(34, 211, 238, 0.12), transparent 24%),
    linear-gradient(180deg, #09111d 0%, #101927 52%, #0a1320 100%);
  --empresas-surface: rgba(8, 16, 28, 0.76);
  --empresas-surface-strong: rgba(11, 20, 34, 0.92);
  --empresas-border: rgba(255, 255, 255, 0.12);
  --empresas-border-strong: rgba(255, 255, 255, 0.18);
  --empresas-title: #f5f9ff;
  --empresas-text: rgba(233, 240, 250, 0.82);
  --empresas-muted: rgba(182, 198, 216, 0.72);
  --empresas-accent: #75b7ff;
  --empresas-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);
  --empresas-chip-bg: rgba(255, 255, 255, 0.08);
  --empresas-header-overlay: linear-gradient(180deg, rgba(3, 8, 14, 0.62), rgba(4, 10, 16, 0.84));
}

body.empresas-showcase-page main {
  display: block;
  min-height: auto;
  padding: 0;
  background: transparent;
}

body.empresas-showcase-page .navbar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  padding: 15px 0;
  background: transparent;
}

body.empresas-showcase-page .navbar.nav-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1600;
  padding: 8px 0;
  background: rgba(0, 151, 206, 0.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

body.empresas-showcase-page .page-header--empresas {
  position: relative;
  width: 100%;
  margin-left: 0;
  min-height: 170px;
  padding: 94px 0 18px;
  background:
    var(--empresas-header-overlay),
    url("../assets/img/empresas.png") center/cover no-repeat,
    #0b1118;
  overflow: hidden;
}

body.empresas-showcase-page .page-header--empresas .container,
body.empresas-showcase-page .page-header--empresas .row,
body.empresas-showcase-page .page-header--empresas .col-12 {
  height: 100%;
}

body.empresas-showcase-page .page-header--empresas .col-12 {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 100%;
}

body.empresas-showcase-page .page-header--empresas .col-12::before {
  display: none;
}

body.empresas-showcase-page .page-header--empresas .col-12 > img {
  display: none;
}

body.empresas-showcase-page .page-header--empresas h2 {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #ffffff;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.02em;
  text-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

body.empresas-showcase-page .page-header--empresas::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(1220px, calc(100vw - 36px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--empresas-border-strong), transparent);
}

body.empresas-showcase-page .empresas-showcase {
  position: relative;
  min-height: calc(100vh - 170px);
  padding: clamp(14px, 1.6vw, 22px) 0 clamp(18px, 2vw, 26px);
  overflow: clip;
}

body.empresas-showcase-page .empresas-showcase::before {
  content: "";
  position: absolute;
  width: 56vw;
  min-width: 520px;
  max-width: 860px;
  height: 56vw;
  min-height: 520px;
  max-height: 860px;
  top: -26vw;
  right: -18vw;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.08) 0 14%, rgba(255, 255, 255, 0.02) 14% 36%, transparent 36%);
  opacity: 0.4;
  pointer-events: none;
}

body.empresas-showcase-page .empresas-showcase::after {
  content: "";
  position: absolute;
  left: -12vw;
  bottom: -9vw;
  width: 34vw;
  min-width: 260px;
  height: 34vw;
  min-height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(48, 215, 195, 0.12), transparent 62%);
  pointer-events: none;
}

body.empresas-showcase-page .empresas-showcase__shell {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: clamp(18px, 2vw, 28px);
  align-items: start;
}

body.empresas-showcase-page .empresas-showcase__copy {
  padding-top: clamp(4px, 1vw, 12px);
  position: relative;
  z-index: 1;
}

body.empresas-showcase-page .empresas-showcase__eyebrow {
  margin: 0 0 14px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--empresas-accent);
}

body.empresas-showcase-page .empresas-showcase__copy h1 {
  margin: 0;
  max-width: 300px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3vw, 3.35rem);
  line-height: 0.94;
  font-weight: 700;
  color: var(--empresas-title);
  text-wrap: balance;
}

body.empresas-showcase-page .empresas-showcase__lead {
  margin: 16px 0 0;
  max-width: 340px;
  font-size: 0.92rem;
  line-height: 1.48;
  color: var(--empresas-text);
}

body.empresas-showcase-page .empresas-showcase__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 14px;
}

body.empresas-showcase-page .empresas-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--empresas-border-strong);
  border-radius: 999px;
  background: var(--empresas-surface);
  color: var(--empresas-title);
  box-shadow: var(--empresas-shadow);
  font-family: "Montserrat", sans-serif;
  font-size: 0.94rem;
  font-weight: 600;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

body.empresas-showcase-page .empresas-theme-toggle:hover {
  transform: translateY(-2px);
}

body.empresas-showcase-page .empresas-theme-toggle__icon {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--empresas-chip-bg);
  color: var(--empresas-accent);
}

body.empresas-showcase-page .empresas-showcase__hint {
  margin: 0;
  font-size: 0.94rem;
  color: var(--empresas-muted);
}

body.empresas-showcase-page .empresas-showcase__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

body.empresas-showcase-page .empresas-showcase__metric {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--empresas-border);
  background: var(--empresas-chip-bg);
  color: var(--empresas-title);
  font-size: 0.82rem;
  font-weight: 600;
}

body.empresas-showcase-page .empresas-nav {
  margin-top: 16px;
  display: grid;
  gap: 8px;
  padding: 0;
  background: transparent;
  position: relative;
}

body.empresas-showcase-page .empresas-nav__item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  text-decoration: none;
  border: 1px solid var(--empresas-border);
  border-radius: 22px;
  background: var(--empresas-surface);
  color: var(--empresas-title);
  box-shadow: var(--empresas-shadow);
  transition: transform 0.22s ease, color 0.22s ease, border-color 0.22s ease;
  position: relative;
  z-index: 1;
}

body.empresas-showcase-page .empresas-nav__item:hover {
  transform: translateX(4px);
  color: var(--empresas-title);
  border-color: var(--empresas-border-strong);
}

body.empresas-showcase-page .empresas-nav__label {
  font-family: "Poppins", sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
}

body.empresas-showcase-page .empresas-nav__arrow {
  font-size: 1.35rem;
  line-height: 1;
  color: var(--empresas-muted);
}

body.empresas-showcase-page .empresas-stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: start;
  position: relative;
  z-index: 1;
}

body.empresas-showcase-page .empresa-card {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--empresas-border);
  background: var(--empresas-surface-strong);
  box-shadow: var(--empresas-shadow);
  text-decoration: none;
  transform: translateY(0);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}

body.empresas-showcase-page .empresa-card:hover {
  transform: translateY(-8px);
  border-color: var(--empresas-border-strong);
}

body.empresas-showcase-page .empresa-card__media {
  position: relative;
  aspect-ratio: 16 / 7.2;
  overflow: hidden;
}

body.empresas-showcase-page .empresa-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transform: scale(1.01);
  transition: transform 0.35s ease;
}

body.empresas-showcase-page.theme-dark .empresa-card--terra .empresa-card__media img {
  object-position: center 28%;
}

body.empresas-showcase-page:not(.theme-light):not(.theme-dark) .empresa-card--terra .empresa-card__media img {
  object-position: center 28%;
}

body.empresas-showcase-page .empresa-card::selection {
  background: rgba(255, 255, 255, 0.2);
}

body.empresas-showcase-page .empresa-card:hover .empresa-card__media img {
  transform: scale(1.04);
}

body.empresas-showcase-page .empresa-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48%;
  background: linear-gradient(180deg, transparent 0%, rgba(6, 14, 25, 0.66) 100%);
}

body.empresas-showcase-page .empresa-card__content {
  position: relative;
  z-index: 1;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px 16px;
}

body.empresas-showcase-page .empresa-card__kicker {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--empresas-chip-bg);
  color: var(--empresas-accent);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.empresas-showcase-page .empresa-card__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.05rem, 1.3vw, 1.3rem);
  font-weight: 700;
  color: var(--empresas-title);
}

body.empresas-showcase-page .empresa-card--satnet::after,
body.empresas-showcase-page .empresa-card--truckmin::after,
body.empresas-showcase-page .empresa-card--terra::after,
body.empresas-showcase-page .empresa-card--tacamin::after {
  content: "";
  position: absolute;
  inset: auto 16px 0 auto;
  width: 76px;
  height: 3px;
  border-radius: 999px;
  opacity: 0.92;
  z-index: 4;
}

body.empresas-showcase-page .empresa-card--satnet::after {
  background: #1d8dff;
}

body.empresas-showcase-page .empresa-card--truckmin::after {
  background: #7d4cff;
}

body.empresas-showcase-page .empresa-card--terra::after {
  background: #31d8c0;
}

body.empresas-showcase-page .empresa-card--tacamin::after {
  background: #ff4b4b;
}

@media (max-width: 1199.98px) {
  body.empresas-showcase-page .empresas-showcase {
    min-height: auto;
    padding: 24px 0 52px;
  }

  body.empresas-showcase-page .empresas-showcase__shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.empresas-showcase-page .empresas-showcase__copy h1,
  body.empresas-showcase-page .empresas-showcase__lead {
    max-width: none;
  }

  body.empresas-showcase-page .empresas-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  body.empresas-showcase-page .page-header--empresas {
    min-height: 190px;
    padding: 108px 0 22px;
    background-position: center;
  }

  body.empresas-showcase-page .empresas-showcase__shell {
    width: min(100%, calc(100% - 32px));
  }

  body.empresas-showcase-page .empresas-showcase__copy {
    padding-top: 0;
  }

  body.empresas-showcase-page .empresas-showcase__copy h1 {
    max-width: 520px;
    font-size: clamp(2.2rem, 5vw, 3rem);
  }

  body.empresas-showcase-page .empresas-showcase__lead {
    max-width: 620px;
    font-size: 0.96rem;
    line-height: 1.58;
  }

  body.empresas-showcase-page .empresas-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.empresas-showcase-page .empresas-stage {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.empresas-showcase-page .empresa-card__media {
    aspect-ratio: 16 / 8.6;
  }

  body.empresas-showcase-page .empresa-card__content {
    min-height: 92px;
    padding: 16px 18px 18px;
  }

  body.empresas-showcase-page .empresa-card__title {
    font-size: 1.18rem;
  }
}

@media (max-width: 767.98px) {
  body.empresas-showcase-page main {
    padding-top: 0;
  }

  body.empresas-showcase-page .page-header--empresas {
    min-height: 176px;
    padding: 112px 0 20px;
    background-position: center;
  }

  body.empresas-showcase-page .empresas-showcase {
    padding: 22px 0 48px;
  }

  body.empresas-showcase-page .empresas-showcase__shell {
    width: min(100%, calc(100% - 28px));
    gap: 20px;
  }

  body.empresas-showcase-page .empresas-showcase__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  body.empresas-showcase-page .empresas-showcase__copy h1 {
    max-width: 280px;
    font-size: 2.1rem;
  }

  body.empresas-showcase-page .empresas-showcase__lead {
    margin-top: 14px;
    font-size: 0.94rem;
    line-height: 1.56;
  }

  body.empresas-showcase-page .empresas-showcase__metrics {
    margin-top: 12px;
  }

  body.empresas-showcase-page .empresas-showcase__metric {
    min-height: 32px;
    font-size: 0.79rem;
  }

  body.empresas-showcase-page .empresas-nav {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  body.empresas-showcase-page .empresas-stage {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.empresas-showcase-page .empresa-card {
    border-radius: 24px;
  }

  body.empresas-showcase-page .empresa-card__media {
    aspect-ratio: 16 / 9.2;
  }

  body.empresas-showcase-page .empresa-card__content {
    min-height: auto;
    padding: 14px 16px 16px;
  }
}

@media (max-width: 479.98px) {
  body.empresas-showcase-page .page-header--empresas {
    min-height: 154px;
    padding: 100px 0 16px;
    background-position: center;
  }

  body.empresas-showcase-page .page-header--empresas h2 {
    font-size: clamp(1.7rem, 8vw, 2.2rem);
  }

  body.empresas-showcase-page .empresas-showcase__copy h1 {
    max-width: 240px;
    font-size: 1.8rem;
  }

  body.empresas-showcase-page .empresas-showcase__lead {
    font-size: 0.9rem;
    line-height: 1.52;
  }

  body.empresas-showcase-page .empresas-nav__item {
    grid-template-columns: 1fr auto;
    gap: 10px;
    min-height: 50px;
    padding: 0 12px;
  }

  body.empresas-showcase-page .empresas-nav__label {
    font-size: 0.96rem;
  }

  body.empresas-showcase-page .empresa-card__media {
    aspect-ratio: 16 / 10.5;
  }

  body.empresas-showcase-page .empresa-card__title {
    font-size: 1.05rem;
  }
}

/* FAQ Page Final Harmony */
body.faq-hub-page::before {
  height: 340px;
}

body.faq-hub-page main {
  padding: 112px clamp(18px, 4vw, 40px) 84px;
}

body.faq-hub-page .faq-hub {
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
}

body.faq-hub-page .faq-hub__hero-copy {
  min-height: 184px;
  align-items: center;
  justify-content: center;
  padding: 34px 0 0;
}

body.faq-hub-page .faq-hub__intro h1 {
  font-size: clamp(2rem, 3.35vw, 3.25rem);
}

body.faq-hub-page .faq-hub__panel-copy {
  padding-top: 10px;
}

body.faq-hub-page .faq-hub__lead {
  margin: 0 0 28px;
  max-width: 360px;
  font-size: 1.02rem;
  line-height: 1.7;
}

body.faq-hub-page .categorias {
  grid-template-columns: repeat(2, minmax(0, 132px));
  gap: 14px;
  margin-top: 0;
}

body.faq-hub-page .categoria {
  min-height: 104px;
  padding: 16px 15px;
}

body.faq-hub-page .categoria p {
  font-size: 0.98rem;
}

body.faq-hub-page .preguntas {
  padding-top: 16px;
}

body.faq-hub-page .contenedor-pregunta {
  padding-bottom: 20px;
  margin-bottom: 16px;
}

body.faq-hub-page .pregunta {
  font-size: clamp(1.14rem, 1.9vw, 1.52rem);
  line-height: 1.18;
}

body.faq-hub-page .respuesta {
  margin-top: 16px;
  margin-right: 12px;
  font-size: 1rem;
  line-height: 1.65;
}

@media (prefers-color-scheme: light) {
  body.faq-hub-page {
    background:
      radial-gradient(circle at top left, rgba(0, 151, 206, 0.12), transparent 34%),
      linear-gradient(180deg, #f4f8fc 0%, #eef4fb 100%);
  }

  body.faq-hub-page::before {
    background:
      linear-gradient(180deg, rgba(6, 16, 29, 0.78) 0%, rgba(8, 22, 40, 0.48) 46%, rgba(244, 248, 252, 0) 100%),
      url("../assets/img/fa1.png") center top / cover no-repeat;
  }

  body.faq-hub-page .faq-hub__lead {
    color: rgba(14, 34, 64, 0.86);
  }

  body.faq-hub-page .categoria {
    background: rgba(255, 255, 255, 0.84);
    border-color: rgba(0, 151, 206, 0.34);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
  }

  body.faq-hub-page .categoria p,
  body.faq-hub-page .categoria-icon,
  body.faq-hub-page .pregunta {
    color: #0e4f94;
  }

  body.faq-hub-page .respuesta {
    color: rgba(14, 34, 64, 0.9);
  }

  body.faq-hub-page .contenedor-pregunta {
    border-bottom-color: rgba(11, 87, 162, 0.3);
  }
}

@media (prefers-color-scheme: dark) {
  body.faq-hub-page {
    background:
      radial-gradient(circle at top left, rgba(0, 151, 206, 0.12), transparent 30%),
      linear-gradient(180deg, #0a0f15 0%, #10161f 100%);
  }

  body.faq-hub-page::before {
    background:
      linear-gradient(180deg, rgba(4, 9, 18, 0.86) 0%, rgba(8, 14, 24, 0.58) 46%, rgba(10, 15, 21, 0) 100%),
      url("../assets/img/fa1.png") center top / cover no-repeat;
  }

  body.faq-hub-page .faq-hub__lead {
    color: rgba(255, 255, 255, 0.8);
  }

  body.faq-hub-page .categoria {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(75, 201, 243, 0.22);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
  }

  body.faq-hub-page .categoria p,
  body.faq-hub-page .categoria-icon,
  body.faq-hub-page .pregunta {
    color: rgba(255, 255, 255, 0.96);
  }

  body.faq-hub-page .respuesta {
    color: rgba(255, 255, 255, 0.8);
  }

  body.faq-hub-page .contenedor-pregunta {
    border-bottom-color: rgba(75, 201, 243, 0.28);
  }
}

@media (max-width: 1199.98px) {
  body.faq-hub-page::before {
    height: 300px;
  }

  body.faq-hub-page main {
    padding-top: 112px;
    padding-bottom: 72px;
  }

  body.faq-hub-page .faq-hub {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 124px;
    padding-top: 12px;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    white-space: normal;
    text-wrap: balance;
  }

  body.faq-hub-page .faq-hub__lead {
    max-width: 720px;
    margin-bottom: 24px;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 760px;
  }

  body.faq-hub-page .preguntas {
    padding-top: 0;
  }
}

@media (max-width: 767.98px) {
  body.faq-hub-page::before {
    height: 318px;
    background-size: cover;
    background-position: center top;
  }

  body.faq-hub-page main {
    padding: 144px 18px 58px;
  }

  body.faq-hub-page .faq-hub {
    gap: 22px;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 132px;
    padding-top: 28px;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    font-size: clamp(1.7rem, 7vw, 2.35rem);
    line-height: 1.06;
  }

  body.faq-hub-page .faq-hub__lead {
    max-width: 100%;
    margin-bottom: 20px;
    font-size: 0.96rem;
    line-height: 1.58;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
    gap: 12px;
  }

  body.faq-hub-page .categoria {
    min-height: 98px;
    border-radius: 18px;
  }

  body.faq-hub-page .pregunta {
    font-size: 1.02rem;
    gap: 12px;
  }

  body.faq-hub-page .respuesta {
    margin-right: 0;
    font-size: 0.95rem;
  }
}

@media (max-width: 575.98px) {
  body.faq-hub-page::before {
    height: 304px;
    background-size: cover;
    background-position: 62% top;
  }

  body.faq-hub-page main {
    padding: 152px 14px 50px;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 138px;
    padding-top: 34px;
    justify-content: flex-start;
    text-align: left;
  }

  body.faq-hub-page .faq-hub__intro h1 {
    max-width: 240px;
    font-size: 1.62rem;
    line-height: 1.06;
    letter-spacing: -0.02em;
    white-space: normal;
    text-wrap: balance;
  }

  body.faq-hub-page .categorias {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.faq-hub-page .categoria {
    min-height: auto;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 14px;
  }

  body.faq-hub-page .categoria p {
    font-size: 0.94rem;
    line-height: 1.2;
  }

  body.faq-hub-page .pregunta {
    font-size: 0.96rem;
  }

  body.faq-hub-page .pregunta img {
    width: 15px;
  }

  body.faq-hub-page .respuesta {
    font-size: 0.92rem;
    line-height: 1.55;
  }
}

/* =========================================================
   FAQ Theme Final Fix
========================================================= */
body.faq-hub-page {
  --faq-hero-title: #ffffff;
  --faq-hero-copy: rgba(16, 38, 70, 0.92);
  --faq-panel-surface: rgba(255, 255, 255, 0.64);
  --faq-panel-border: rgba(11, 87, 162, 0.12);
  --faq-card-bg: rgba(255, 255, 255, 0.9);
  --faq-card-border: rgba(0, 151, 206, 0.28);
  --faq-card-text: #0d57a0;
  --faq-card-icon-bg: rgba(0, 151, 206, 0.1);
  --faq-question: #0d57a0;
  --faq-answer: rgba(14, 34, 64, 0.92);
  --faq-divider: rgba(11, 87, 162, 0.26);
  --faq-divider-active: rgba(11, 87, 162, 0.74);
  --faq-plus-filter: none;
}

body.faq-hub-page .faq-hub__hero-copy h1 {
  color: var(--faq-hero-title);
  text-shadow: 0 16px 34px rgba(0, 0, 0, 0.36);
}

body.faq-hub-page .faq-hub__panel-copy {
  color: var(--faq-hero-copy);
}

body.faq-hub-page .faq-hub__lead {
  color: var(--faq-hero-copy);
}

body.faq-hub-page .categoria {
  background: var(--faq-card-bg);
  border-color: var(--faq-card-border);
  color: var(--faq-card-text);
}

body.faq-hub-page .categoria-icon {
  background: var(--faq-card-icon-bg);
  color: var(--faq-card-text);
}

body.faq-hub-page .categoria p {
  color: var(--faq-card-text);
}

body.faq-hub-page .categoria.activa {
  background: linear-gradient(180deg, #1f96ea 0%, #0d86dd 100%);
  border-color: #1f96ea;
  color: #ffffff;
}

body.faq-hub-page .categoria.activa .categoria-icon,
body.faq-hub-page .categoria.activa p {
  color: #ffffff;
}

body.faq-hub-page .pregunta {
  color: var(--faq-question);
}

body.faq-hub-page .respuesta {
  color: var(--faq-answer);
}

body.faq-hub-page .contenedor-pregunta {
  border-bottom-color: var(--faq-divider);
}

body.faq-hub-page .contenedor-pregunta:hover,
body.faq-hub-page .contenedor-pregunta.activa {
  border-bottom-color: var(--faq-divider-active);
}

body.faq-hub-page .pregunta img {
  filter: var(--faq-plus-filter);
}

html[data-theme="dark"] body.faq-hub-page,
body.faq-hub-page.theme-dark {
  --faq-hero-title: #ffffff;
  --faq-hero-copy: rgba(227, 240, 252, 0.9);
  --faq-panel-surface: rgba(14, 20, 31, 0.6);
  --faq-panel-border: rgba(75, 201, 243, 0.14);
  --faq-card-bg: rgba(255, 255, 255, 0.06);
  --faq-card-border: rgba(75, 201, 243, 0.2);
  --faq-card-text: rgba(242, 248, 255, 0.96);
  --faq-card-icon-bg: rgba(75, 201, 243, 0.1);
  --faq-question: rgba(255, 255, 255, 0.97);
  --faq-answer: rgba(232, 241, 250, 0.84);
  --faq-divider: rgba(75, 201, 243, 0.22);
  --faq-divider-active: rgba(75, 201, 243, 0.68);
  --faq-plus-filter: brightness(0) invert(1);
}

html[data-theme="dark"] body.faq-hub-page .faq-hub__panel-copy,
body.faq-hub-page.theme-dark .faq-hub__panel-copy {
  text-shadow: none;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.faq-hub-page {
    --faq-hero-title: #ffffff;
    --faq-hero-copy: rgba(227, 240, 252, 0.9);
    --faq-panel-surface: rgba(14, 20, 31, 0.6);
    --faq-panel-border: rgba(75, 201, 243, 0.14);
    --faq-card-bg: rgba(255, 255, 255, 0.06);
    --faq-card-border: rgba(75, 201, 243, 0.2);
    --faq-card-text: rgba(242, 248, 255, 0.96);
    --faq-card-icon-bg: rgba(75, 201, 243, 0.1);
    --faq-question: rgba(255, 255, 255, 0.97);
    --faq-answer: rgba(232, 241, 250, 0.84);
    --faq-divider: rgba(75, 201, 243, 0.22);
    --faq-divider-active: rgba(75, 201, 243, 0.68);
    --faq-plus-filter: brightness(0) invert(1);
  }
}

/* =========================================================
   NOSOTROS — Refinamiento visual final
   ========================================================= */
body.nosotros-page .about-tabs,
body.nosotros-page .proyect_container,
body.nosotros-page .homolo-heading,
body.nosotros-page .container-homolo,
body.nosotros-page .clientes-showcase {
  width: min(96vw, 1240px);
  margin-left: auto;
  margin-right: auto;
}

body.nosotros-page .about-tabs {
  margin-top: clamp(34px, 5vw, 64px);
}

body.nosotros-page .proyect_container {
  margin-top: clamp(28px, 4vw, 56px);
  padding-bottom: 8px;
}

body.nosotros-page .proyect_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(18px, 2vw, 30px);
  row-gap: 24px;
  align-items: start;
  margin-left: 0;
  margin-right: 0;
}

body.nosotros-page .proyect_grid > [class*="col-"] {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body.nosotros-page .proyect_title {
  text-align: left;
  font-size: clamp(2rem, 2.7vw, 2.8rem);
  line-height: 1.05;
  margin-bottom: 12px;
  min-height: 0;
}

body.nosotros-page .proyect_intro,
body.nosotros-page .proyect_intro--map {
  max-width: 100%;
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.78;
}

body.nosotros-page .proyect_list {
  gap: 18px;
}

body.nosotros-page .proyect_card {
  width: 100%;
  border: 1px solid rgba(18, 48, 84, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.96));
  box-shadow: 0 20px 48px rgba(17, 52, 94, 0.09);
  transform: none;
}

body.nosotros-page .proyect_card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 151, 206, 0.16);
  box-shadow: 0 26px 58px rgba(17, 52, 94, 0.14);
}

body.nosotros-page .proyect_card .row.g-0 {
  grid-template-columns: clamp(150px, 31%, 210px) 1fr;
}

body.nosotros-page .proyect_media {
  min-height: 178px;
}

body.nosotros-page .proyect_media img {
  filter: saturate(1.04) contrast(1.03);
}

body.nosotros-page .proyect_body {
  padding: 18px 20px 20px;
}

body.nosotros-page .proyect_body .card-title {
  font-size: clamp(1.03rem, 1.1vw, 1.18rem);
  margin-bottom: 10px;
}

body.nosotros-page .proyect_body .card-text,
body.nosotros-page .proyect_ul {
  font-size: 0.97rem;
  line-height: 1.65;
}

body.nosotros-page .proyect_ul {
  margin-top: 10px;
  padding-left: 20px;
  column-gap: 26px;
}

body.nosotros-page .map_wrap {
  width: 100%;
  border-radius: 28px;
  border: 1px solid rgba(18, 48, 84, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 249, 252, 0.98));
  box-shadow: 0 20px 52px rgba(17, 52, 94, 0.1);
  padding: 20px;
}

body.nosotros-page .map_wrap .video_posicion {
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
}

body.nosotros-page .homolo-heading {
  margin-top: clamp(56px, 7vw, 92px);
}

body.nosotros-page .homolo-heading h2 {
  line-height: 1.04;
}

body.nosotros-page .container-homolo {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  margin-left: auto;
  margin-right: auto;
}

body.nosotros-page .container-homolo > .col {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.nosotros-page .homolo-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(18, 48, 84, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.96));
  box-shadow: 0 20px 48px rgba(17, 52, 94, 0.09);
  display: flex;
  flex-direction: column;
}

body.nosotros-page .homolo-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 20px 22px;
}

body.nosotros-page .homolo-card .card-title {
  margin-bottom: 10px;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: 0.02em;
}

body.nosotros-page .homolo-card .card-text,
body.nosotros-page .homolo-card ul {
  font-size: 0.96rem;
  line-height: 1.65;
}

body.nosotros-page .homolo-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

body.nosotros-page .homolo-media {
  aspect-ratio: 4 / 5;
  background:
    radial-gradient(520px 220px at 50% -10%, rgba(0, 174, 239, 0.08), transparent 60%),
    linear-gradient(180deg, #ffffff, #f4f8fc);
  border-bottom: 1px solid rgba(18, 48, 84, 0.08);
  padding: 18px;
}

body.nosotros-page .homolo-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.nosotros-page .clientes-showcase {
  margin-top: clamp(58px, 7vw, 98px);
  margin-bottom: clamp(22px, 4vw, 36px);
}

body.nosotros-page .clientes-showcase__heading {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
}

body.nosotros-page .clientes-showcase__heading h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

body.nosotros-page .carouselClientes {
  padding: 16px 0 18px;
}

body.nosotros-page .carousel__contenedor {
  max-width: 1640px;
  padding: 0 52px;
}

body.nosotros-page .carousel__lista .glider-track {
  gap: 12px;
}

body.nosotros-page .carousel__elemento {
  height: 118px;
  padding: 12px 18px;
}

body.nosotros-page .carousel__lista .carousel__elemento img {
  max-height: 76px;
}

body.nosotros-page .carousel__anterior,
body.nosotros-page .carousel__siguiente {
  top: 44%;
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

html[data-theme="dark"] body.nosotros-page .proyect_card,
body.nosotros-page.theme-dark .proyect_card,
html[data-theme="dark"] body.nosotros-page .map_wrap,
body.nosotros-page.theme-dark .map_wrap,
html[data-theme="dark"] body.nosotros-page .homolo-card,
body.nosotros-page.theme-dark .homolo-card {
  background: linear-gradient(180deg, rgba(13, 21, 33, 0.98), rgba(16, 27, 41, 0.96));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] body.nosotros-page .homolo-media,
body.nosotros-page.theme-dark .homolo-media {
  background:
    radial-gradient(520px 220px at 50% -10%, rgba(54, 215, 255, 0.1), transparent 60%),
    linear-gradient(180deg, rgba(15, 24, 36, 0.96), rgba(18, 31, 47, 0.96));
  border-bottom-color: rgba(75, 201, 243, 0.12);
}

@media (max-width: 991.98px) {
  body.nosotros-page .mv-stats {
    margin-top: 0;
  }

  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: calc(100% - 40px);
  }

  body.nosotros-page .about-tabs {
    margin-top: 6px;
  }

  body.nosotros-page .proyect_grid {
    grid-template-columns: 1fr;
  }

  body.nosotros-page .proyect_card .row.g-0 {
    grid-template-columns: 180px 1fr;
  }

  body.nosotros-page .proyect_media {
    min-height: 168px;
  }

  body.nosotros-page .carousel__contenedor {
    padding: 0 44px;
  }

  body.nosotros-page .container-homolo {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

  body.nosotros-page .about-tabs__shell,
  body.nosotros-page .map_wrap,
  body.nosotros-page .homolo-card,
  body.nosotros-page .carouselClientes {
    border-radius: 22px;
  }

  body.nosotros-page .proyect_title,
  body.nosotros-page .proyect_title.proyect_title--map,
  body.nosotros-page .homolo-heading h2,
  body.nosotros-page .clientes-showcase__heading h2 {
    text-align: left;
    font-size: 2rem;
  }

  body.nosotros-page .proyect_card .row.g-0 {
    grid-template-columns: 1fr;
  }

  body.nosotros-page .proyect_media {
    min-height: 214px;
  }

  body.nosotros-page .map_wrap {
    padding: 14px;
  }

  body.nosotros-page .homolo-media {
    aspect-ratio: 4 / 3;
    padding: 16px;
  }

  body.nosotros-page .carousel__contenedor {
    padding: 0 38px;
  }

  body.nosotros-page .clientes-showcase__heading {
    text-align: left;
  }
}

@media (max-width: 575.98px) {
  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
  }

  body.nosotros-page .about-tabs {
    margin-top: 4px;
  }

  body.nosotros-page .proyect_grid,
  body.nosotros-page .container-homolo {
    row-gap: 20px;
  }

  body.nosotros-page .proyect_media {
    min-height: 190px;
  }

  body.nosotros-page .proyect_body,
  body.nosotros-page .homolo-card .card-body {
    padding: 16px;
  }

  body.nosotros-page .carousel__contenedor {
    padding: 0 34px;
  }

  body.nosotros-page .carousel__lista .glider-track {
    gap: 8px;
  }

  body.nosotros-page .carousel__elemento {
    height: 86px;
    padding: 8px 10px;
  }

  body.nosotros-page .carousel__lista .carousel__elemento img {
    max-height: 46px;
  }
}

body.nosotros-page .mv-stat__label {
  font-weight: 700;
}

html[data-theme="dark"] body.nosotros-page,
body.nosotros-page.theme-dark {
  background:
    radial-gradient(1100px 520px at 20% -10%, rgba(54, 215, 255, 0.08), transparent 60%),
    linear-gradient(180deg, #070d15 0%, #0b121d 42%, #0d1521 100%);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__shell,
body.nosotros-page.theme-dark .about-tabs__shell {
  background:
    linear-gradient(180deg, rgba(10, 16, 26, 0.97), rgba(14, 22, 34, 0.95));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 30px 84px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__nav,
body.nosotros-page.theme-dark .about-tabs__nav {
  border-bottom-color: rgba(75, 201, 243, 0.14);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__tab,
body.nosotros-page.theme-dark .about-tabs__tab {
  color: rgba(235, 244, 252, 0.72);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__tab:hover,
html[data-theme="dark"] body.nosotros-page .about-tabs__tab.is-active,
body.nosotros-page.theme-dark .about-tabs__tab:hover,
body.nosotros-page.theme-dark .about-tabs__tab.is-active {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__tab.is-active::after,
body.nosotros-page.theme-dark .about-tabs__tab.is-active::after {
  background: linear-gradient(90deg, #24b8ff 0%, #63e0ff 100%);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block,
body.nosotros-page.theme-dark .about-tabs__block,
html[data-theme="dark"] body.nosotros-page .proyect_card,
body.nosotros-page.theme-dark .proyect_card,
html[data-theme="dark"] body.nosotros-page .map_wrap,
body.nosotros-page.theme-dark .map_wrap,
html[data-theme="dark"] body.nosotros-page .homolo-card,
body.nosotros-page.theme-dark .homolo-card {
  background:
    linear-gradient(180deg, rgba(11, 18, 28, 0.98), rgba(15, 24, 38, 0.96));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__heading h2,
html[data-theme="dark"] body.nosotros-page .proyect_title,
html[data-theme="dark"] body.nosotros-page .homolo-heading h2,
html[data-theme="dark"] body.nosotros-page .clientes-showcase__heading h2,
html[data-theme="dark"] body.nosotros-page .about-tabs__block h3,
html[data-theme="dark"] body.nosotros-page .proyect_body .card-title,
html[data-theme="dark"] body.nosotros-page .homolo-card .card-title,
body.nosotros-page.theme-dark .about-tabs__heading h2,
body.nosotros-page.theme-dark .proyect_title,
body.nosotros-page.theme-dark .homolo-heading h2,
body.nosotros-page.theme-dark .clientes-showcase__heading h2,
body.nosotros-page.theme-dark .about-tabs__block h3,
body.nosotros-page.theme-dark .proyect_body .card-title,
body.nosotros-page.theme-dark .homolo-card .card-title {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block p,
html[data-theme="dark"] body.nosotros-page .about-tabs__block li,
html[data-theme="dark"] body.nosotros-page .proyect_intro,
html[data-theme="dark"] body.nosotros-page .proyect_intro--map,
html[data-theme="dark"] body.nosotros-page .proyect_body .card-text,
html[data-theme="dark"] body.nosotros-page .proyect_ul,
html[data-theme="dark"] body.nosotros-page .homolo-card .card-text,
html[data-theme="dark"] body.nosotros-page .homolo-card li,
html[data-theme="dark"] body.nosotros-page .homolo-heading p,
html[data-theme="dark"] body.nosotros-page .clientes-showcase__heading p,
body.nosotros-page.theme-dark .about-tabs__block p,
body.nosotros-page.theme-dark .about-tabs__block li,
body.nosotros-page.theme-dark .proyect_intro,
body.nosotros-page.theme-dark .proyect_intro--map,
body.nosotros-page.theme-dark .proyect_body .card-text,
body.nosotros-page.theme-dark .proyect_ul,
body.nosotros-page.theme-dark .homolo-card .card-text,
body.nosotros-page.theme-dark .homolo-card li,
body.nosotros-page.theme-dark .homolo-heading p,
body.nosotros-page.theme-dark .clientes-showcase__heading p {
  color: rgba(205, 220, 236, 0.82);
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block strong,
html[data-theme="dark"] body.nosotros-page .proyect_body strong,
html[data-theme="dark"] body.nosotros-page .homolo-card strong,
body.nosotros-page.theme-dark .about-tabs__block strong,
body.nosotros-page.theme-dark .proyect_body strong,
body.nosotros-page.theme-dark .homolo-card strong {
  color: #ffffff;
}

html[data-theme="dark"] body.nosotros-page .homolo-media,
body.nosotros-page.theme-dark .homolo-media {
  background:
    radial-gradient(520px 220px at 50% -10%, rgba(54, 215, 255, 0.1), transparent 60%),
    linear-gradient(180deg, rgba(12, 20, 31, 0.98), rgba(17, 28, 43, 0.96));
  border-bottom-color: rgba(75, 201, 243, 0.12);
}

html[data-theme="dark"] body.nosotros-page .carouselClientes,
body.nosotros-page.theme-dark .carouselClientes {
  background:
    radial-gradient(760px 240px at 50% 0%, rgba(54, 215, 255, 0.12), transparent 70%),
    linear-gradient(180deg, rgba(8, 13, 20, 0.98), rgba(12, 18, 28, 0.96));
  border-color: rgba(75, 201, 243, 0.14);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] body.nosotros-page .carousel__elemento,
body.nosotros-page.theme-dark .carousel__elemento {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(75, 201, 243, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] body.nosotros-page .carousel__lista .carousel__elemento img,
body.nosotros-page.theme-dark .carousel__lista .carousel__elemento img {
  opacity: 0.94;
}

html[data-theme="dark"] body.nosotros-page .carousel__anterior,
html[data-theme="dark"] body.nosotros-page .carousel__siguiente,
body.nosotros-page.theme-dark .carousel__anterior,
body.nosotros-page.theme-dark .carousel__siguiente {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(75, 201, 243, 0.16);
  color: rgba(255, 255, 255, 0.92);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot {
  background: rgba(255, 255, 255, 0.26);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot.active {
  background: #36d7ff;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page {
    background:
      radial-gradient(1100px 520px at 20% -10%, rgba(54, 215, 255, 0.08), transparent 60%),
      linear-gradient(180deg, #070d15 0%, #0b121d 42%, #0d1521 100%);
  }
}

html[data-theme="dark"] body.nosotros-page .proyect_body .card-text,
html[data-theme="dark"] body.nosotros-page .proyect_intro,
html[data-theme="dark"] body.nosotros-page .proyect_intro--map,
html[data-theme="dark"] body.nosotros-page .proyect_ul,
html[data-theme="dark"] body.nosotros-page .homolo-card .card-text,
html[data-theme="dark"] body.nosotros-page .homolo-card li,
html[data-theme="dark"] body.nosotros-page .homolo-heading p,
body.nosotros-page.theme-dark .proyect_body .card-text,
body.nosotros-page.theme-dark .proyect_intro,
body.nosotros-page.theme-dark .proyect_intro--map,
body.nosotros-page.theme-dark .proyect_ul,
body.nosotros-page.theme-dark .homolo-card .card-text,
body.nosotros-page.theme-dark .homolo-card li,
body.nosotros-page.theme-dark .homolo-heading p {
  color: rgba(198, 214, 229, 0.8);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block,
  html:not([data-theme="light"]) body.nosotros-page .proyect_card,
  html:not([data-theme="light"]) body.nosotros-page .map_wrap,
  html:not([data-theme="light"]) body.nosotros-page .homolo-card {
    background:
      linear-gradient(180deg, rgba(11, 18, 28, 0.98), rgba(15, 24, 38, 0.96));
    background-color: #0e1724;
    border-color: rgba(75, 201, 243, 0.14);
    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
  }

  html:not([data-theme="light"]) body.nosotros-page .homolo-media {
    background:
      radial-gradient(520px 220px at 50% -10%, rgba(54, 215, 255, 0.1), transparent 60%),
      linear-gradient(180deg, rgba(12, 20, 31, 0.98), rgba(17, 28, 43, 0.96));
    background-color: #101b2a;
    border-bottom-color: rgba(75, 201, 243, 0.12);
  }

  html:not([data-theme="light"]) body.nosotros-page .proyect_body .card-title,
  html:not([data-theme="light"]) body.nosotros-page .homolo-card .card-title,
  html:not([data-theme="light"]) body.nosotros-page .proyect_title,
  html:not([data-theme="light"]) body.nosotros-page .homolo-heading h2 {
    color: #ffffff;
  }

  html:not([data-theme="light"]) body.nosotros-page .proyect_body .card-text,
  html:not([data-theme="light"]) body.nosotros-page .proyect_intro,
  html:not([data-theme="light"]) body.nosotros-page .proyect_intro--map,
  html:not([data-theme="light"]) body.nosotros-page .proyect_ul,
  html:not([data-theme="light"]) body.nosotros-page .homolo-card .card-text,
  html:not([data-theme="light"]) body.nosotros-page .homolo-card li,
  html:not([data-theme="light"]) body.nosotros-page .homolo-heading p {
    color: rgba(198, 214, 229, 0.8);
  }
}

/* =========================================================
   NOSOTROS — About Tabs Rediseño final
========================================================= */
body.nosotros-page {
  --about-shell-bg: transparent;
  --about-shell-border: transparent;
  --about-shell-shadow: none;
  --about-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.96));
  --about-card-border: rgba(11, 87, 162, 0.1);
  --about-card-shadow: 0 18px 44px rgba(16, 48, 88, 0.08);
  --about-icon-bg: linear-gradient(135deg, rgba(13, 143, 231, 0.12), rgba(39, 178, 255, 0.16));
  --about-icon-border: rgba(13, 143, 231, 0.12);
  --about-icon-color: #0f98e6;
  --about-eyebrow: rgba(39, 72, 106, 0.82);
  --about-title: #123a61;
  --about-copy: rgba(21, 42, 67, 0.94);
}

html[data-theme="dark"] body.nosotros-page,
body.nosotros-page.theme-dark {
  --about-shell-bg:
    radial-gradient(760px 240px at 0% 0%, rgba(54, 215, 255, 0.08), transparent 52%),
    linear-gradient(180deg, rgba(12, 19, 30, 0.98), rgba(15, 23, 36, 0.98));
  --about-shell-border: rgba(75, 201, 243, 0.1);
  --about-shell-shadow: 0 30px 84px rgba(0, 0, 0, 0.24);
  --about-card-bg: linear-gradient(180deg, rgba(11, 19, 29, 0.98), rgba(15, 24, 38, 0.96));
  --about-card-border: rgba(75, 201, 243, 0.12);
  --about-card-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
  --about-icon-color: #57ddff;
  --about-eyebrow: rgba(215, 230, 245, 0.82);
  --about-title: #ffffff;
  --about-copy: rgba(236, 244, 252, 0.94);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page {
    --about-shell-bg:
      radial-gradient(760px 240px at 0% 0%, rgba(54, 215, 255, 0.08), transparent 52%),
      linear-gradient(180deg, rgba(12, 19, 30, 0.98), rgba(15, 23, 36, 0.98));
    --about-shell-border: rgba(75, 201, 243, 0.1);
    --about-shell-shadow: 0 30px 84px rgba(0, 0, 0, 0.24);
    --about-card-bg: linear-gradient(180deg, rgba(11, 19, 29, 0.98), rgba(15, 24, 38, 0.96));
    --about-card-border: rgba(75, 201, 243, 0.12);
    --about-card-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
    --about-icon-color: #57ddff;
    --about-eyebrow: rgba(215, 230, 245, 0.82);
    --about-title: #ffffff;
    --about-copy: rgba(236, 244, 252, 0.94);
  }
}

body.nosotros-page .about-tabs__shell {
  background: var(--about-shell-bg);
  border: 0;
  box-shadow: none;
  overflow: visible;
  border-radius: 0;
}

body.nosotros-page .about-tabs__heading {
  padding: clamp(38px, 4.4vw, 60px) clamp(28px, 4vw, 48px) 28px;
}

body.nosotros-page .about-tabs__heading h2 {
  margin: 0;
  color: var(--about-title);
  font-size: clamp(2.55rem, 4.8vw, 4.1rem);
  line-height: 1;
  letter-spacing: -0.035em;
}

body.nosotros-page .about-tabs__content {
  display: grid;
  gap: clamp(18px, 2.2vw, 26px);
  padding: 0 clamp(24px, 4vw, 38px) clamp(28px, 4vw, 38px);
}

body.nosotros-page .about-tabs__content--static {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  position: relative;
}

body.nosotros-page .about-tabs__block {
  position: relative;
  padding: clamp(22px, 2.6vw, 30px);
  border-radius: 28px;
  border: 1px solid var(--about-card-border);
  background: var(--about-card-bg);
  box-shadow: var(--about-card-shadow);
  min-height: 100%;
}

body.nosotros-page .about-tabs__block::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(17, 158, 242, 0.98), rgba(79, 222, 255, 0.78));
  opacity: 0.92;
}

body.nosotros-page .about-tabs__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

body.nosotros-page .about-tabs__icon {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: var(--about-icon-bg);
  border: 1px solid var(--about-icon-border);
  color: var(--about-icon-color);
  font-size: 1.45rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

body.nosotros-page .about-tabs__eyebrow {
  display: inline-block;
  color: var(--about-eyebrow);
  font-family: "Montserrat", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.nosotros-page .about-tabs__block h3 {
  margin: 0 0 14px;
  color: var(--about-title);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.48rem, 2vw, 1.9rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

body.nosotros-page .about-tabs__block p,
body.nosotros-page .about-tabs__block li {
  color: var(--about-copy);
  font-size: 1.02rem;
  line-height: 1.82;
}

body.nosotros-page .about-tabs__block li {
  font-weight: 500;
}

html[data-theme="dark"] body.nosotros-page .about-tabs__block p,
html[data-theme="dark"] body.nosotros-page .about-tabs__block li,
body.nosotros-page.theme-dark .about-tabs__block p,
body.nosotros-page.theme-dark .about-tabs__block li {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block p,
  html:not([data-theme="light"]) body.nosotros-page .about-tabs__block li {
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  }
}

body.nosotros-page .about-tabs__block p + p {
  margin-top: 12px;
}

body.nosotros-page .about-tabs__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

body.nosotros-page .about-tabs__list li {
  position: relative;
  padding-left: 22px;
}

body.nosotros-page .about-tabs__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.78em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #149cf2 0%, #5ee0ff 100%);
  box-shadow: 0 0 0 4px rgba(20, 156, 242, 0.12);
}

@media (max-width: 991.98px) {
  body.nosotros-page .about-tabs__content--static {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body.nosotros-page .about-tabs__heading {
    padding: 24px 20px 18px;
  }

  body.nosotros-page .about-tabs__heading h2 {
    font-size: clamp(1.9rem, 8vw, 2.6rem);
  }

  body.nosotros-page .about-tabs__content {
    padding: 0 18px 22px;
  }

  body.nosotros-page .about-tabs__block {
    border-radius: 22px;
    padding: 20px 18px;
  }
}

@media (max-width: 575.98px) {
  body.nosotros-page .about-tabs__card-head {
    align-items: flex-start;
  }

  body.nosotros-page .about-tabs__icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    font-size: 1.25rem;
  }

  body.nosotros-page .about-tabs__block h3 {
    font-size: 1.34rem;
  }

  body.nosotros-page .about-tabs__block p,
  body.nosotros-page .about-tabs__block li {
    font-size: 0.97rem;
    line-height: 1.74;
  }
}

@media (min-width: 992px) {
  body.nosotros-page .mv-stats {
    min-height: 43vh;
  }

  body.nosotros-page .mv-stats__container {
    padding-block: clamp(102px, 13vh, 152px) 18px;
    gap: clamp(14px, 1.5vw, 22px);
  }

  body.nosotros-page .mv-stat {
    min-height: 112px;
    padding: 6px 0;
  }

  body.nosotros-page .mv-stat__icon {
    width: 52px;
    height: 52px;
  }

  body.nosotros-page .mv-stat__prefix {
    font-size: clamp(23px, 2.4vh, 30px);
  }

  body.nosotros-page .mv-stat__number {
    font-size: clamp(50px, 5.4vh, 74px);
  }

  body.nosotros-page .mv-stat__label {
    margin-top: 5px;
    font-size: clamp(17px, 2vh, 24px);
  }

  body.nosotros-page .about-tabs {
    margin-top: -42px;
    position: relative;
    z-index: 2;
  }

  body.nosotros-page .about-tabs__shell {
    width: min(95vw, 1210px);
    margin-inline: auto;
    border-radius: 30px;
  }

  body.nosotros-page .about-tabs__heading {
    padding: 28px 26px 20px;
  }

  body.nosotros-page .about-tabs__heading h2 {
    font-size: clamp(2.2rem, 3vw, 2.9rem);
  }

  body.nosotros-page .about-tabs__content {
    gap: 16px;
    padding: 0 20px 20px;
  }

  body.nosotros-page .about-tabs__block {
    padding: 18px 18px 20px;
    border-radius: 24px;
  }

  body.nosotros-page .about-tabs__card-head {
    margin-bottom: 12px;
  }

  body.nosotros-page .about-tabs__icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    font-size: 1.12rem;
  }

  body.nosotros-page .about-tabs__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.11em;
  }

  body.nosotros-page .about-tabs__block h3 {
    margin-bottom: 9px;
    font-size: clamp(1.08rem, 1.28vw, 1.42rem);
  }

  body.nosotros-page .about-tabs__block p,
  body.nosotros-page .about-tabs__block li {
    font-size: 0.88rem;
    line-height: 1.52;
  }

  body.nosotros-page .about-tabs__list {
    gap: 9px;
  }
}

@media (min-width: 992px) {
  html[data-theme="light"] body.nosotros-page .about-tabs,
  body.nosotros-page:not(.theme-dark) .about-tabs {
    margin-top: 14px;
    z-index: 1;
  }

  html[data-theme="light"] body.nosotros-page .about-tabs__shell,
  body.nosotros-page:not(.theme-dark) .about-tabs__shell {
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  html[data-theme="light"] body.nosotros-page .about-tabs__content--static,
  body.nosotros-page:not(.theme-dark) .about-tabs__content--static {
    align-items: stretch;
  }

  html[data-theme="light"] body.nosotros-page .about-tabs__block,
  body.nosotros-page:not(.theme-dark) .about-tabs__block {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.96));
    border: 1px solid rgba(11, 87, 162, 0.1);
    box-shadow: 0 18px 44px rgba(16, 48, 88, 0.08);
  }
}

html[data-theme="dark"] body.nosotros-page .carouselClientes,
body.nosotros-page.theme-dark .carouselClientes {
  padding: 18px 0 22px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

html[data-theme="dark"] body.nosotros-page .carousel__elemento,
body.nosotros-page.theme-dark .carousel__elemento {
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

html[data-theme="dark"] body.nosotros-page .carousel__anterior,
html[data-theme="dark"] body.nosotros-page .carousel__siguiente,
body.nosotros-page.theme-dark .carousel__anterior,
body.nosotros-page.theme-dark .carousel__siguiente {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: none;
  color: #b7bec9;
}

html[data-theme="dark"] body.nosotros-page .carousel__anterior:hover,
html[data-theme="dark"] body.nosotros-page .carousel__siguiente:hover,
body.nosotros-page.theme-dark .carousel__anterior:hover,
body.nosotros-page.theme-dark .carousel__siguiente:hover {
  background: #ffffff;
  transform: translateY(-50%);
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #d2d7e0;
}

html[data-theme="dark"] body.nosotros-page .carousel__indicadores .glider-dot.active,
body.nosotros-page.theme-dark .carousel__indicadores .glider-dot.active {
  width: 10px;
  background: #b5abd6;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) body.nosotros-page .carouselClientes {
    padding: 18px 0 22px;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__elemento {
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__anterior,
  html:not([data-theme="light"]) body.nosotros-page .carousel__siguiente {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: none;
    color: #b7bec9;
  }

  html:not([data-theme="light"]) body.nosotros-page .carousel__indicadores .glider-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #d2d7e0;
  }

html:not([data-theme="light"]) body.nosotros-page .carousel__indicadores .glider-dot.active {
    width: 10px;
    background: #b5abd6;
  }
}

/* ===================================
   HOME — Carousel Clientes = Nosotros
=================================== */
body.home-page .clientes-showcase {
  width: min(96vw, 1240px);
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(58px, 7vw, 98px);
  margin-bottom: clamp(22px, 4vw, 36px);
}

body.home-page .carouselClientes {
  padding: 16px 0 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.home-page .carousel__contenedor {
  max-width: 1640px;
  padding: 0 52px;
}

body.home-page .carousel__lista .glider-track {
  align-items: center;
  gap: 6px;
}

body.home-page .carousel__elemento {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 118px;
  padding: 12px 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: hidden;
}

body.home-page .carousel__lista .carousel__elemento img {
  display: block;
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 1;
  filter: none;
  transform: none;
}

body.home-page .carousel__anterior,
body.home-page .carousel__siguiente {
  top: 44%;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.12);
  color: #b7bec9;
  box-shadow: none;
}

body.home-page .carousel__anterior {
  left: 14px;
}

body.home-page .carousel__siguiente {
  right: 14px;
}

body.home-page .carousel__anterior:hover,
body.home-page .carousel__siguiente:hover {
  transform: translateY(-50%);
  background: #ffffff;
  border-color: rgba(0, 174, 239, 0.24);
  color: #8d95a2;
  box-shadow: none;
}

body.home-page .carousel__indicadores .glider-dot {
  width: 10px;
  height: 10px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: #d2d7e0;
}

body.home-page .carousel__indicadores .glider-dot:hover {
  background: #bcc3cf;
}

body.home-page .carousel__indicadores .glider-dot.active {
  background: #b5abd6;
  transform: scale(1);
}

html[data-theme="dark"] body.home-page .carouselClientes,
body.home-page.theme-dark .carouselClientes,
html[data-theme="light"] body.home-page .carouselClientes,
body.home-page:not(.theme-dark) .carouselClientes {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-theme="dark"] body.home-page .carousel__elemento,
body.home-page.theme-dark .carousel__elemento,
html[data-theme="light"] body.home-page .carousel__elemento,
body.home-page:not(.theme-dark) .carousel__elemento {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-theme="dark"] body.home-page .carousel__anterior,
html[data-theme="dark"] body.home-page .carousel__siguiente,
body.home-page.theme-dark .carousel__anterior,
body.home-page.theme-dark .carousel__siguiente,
html[data-theme="light"] body.home-page .carousel__anterior,
html[data-theme="light"] body.home-page .carousel__siguiente,
body.home-page:not(.theme-dark) .carousel__anterior,
body.home-page:not(.theme-dark) .carousel__siguiente {
  background: #ffffff;
  border-color: rgba(17, 24, 39, 0.12);
  color: #b7bec9;
}

html[data-theme="dark"] body.home-page .carousel__indicadores .glider-dot,
body.home-page.theme-dark .carousel__indicadores .glider-dot,
html[data-theme="light"] body.home-page .carousel__indicadores .glider-dot,
body.home-page:not(.theme-dark) .carousel__indicadores .glider-dot {
  background: #d2d7e0;
}

html[data-theme="dark"] body.home-page .carousel__indicadores .glider-dot.active,
body.home-page.theme-dark .carousel__indicadores .glider-dot.active,
html[data-theme="light"] body.home-page .carousel__indicadores .glider-dot.active,
body.home-page:not(.theme-dark) .carousel__indicadores .glider-dot.active {
  background: #b5abd6;
}

@media (max-width: 991.98px) {
  body.home-page .clientes-showcase {
    width: calc(100% - 40px);
  }

  body.home-page .carousel__contenedor {
    padding: 0 44px;
  }
}

@media (max-width: 767.98px) {
  body.home-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: 32px;
    padding-right: 32px;
  }

  body.home-page .carousel__contenedor {
    padding: 0 38px;
  }
}

@media (max-width: 575.98px) {
  body.home-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: 30px;
    padding-right: 30px;
  }

  body.home-page .carouselClientes {
    padding: 16px 0 20px;
  }

  body.home-page .carousel__contenedor {
    padding: 0 34px;
  }

  body.home-page .carousel__lista .glider-track {
    gap: 4px;
  }

  body.home-page .carousel__elemento {
    height: 86px;
    padding: 8px 10px;
  }

  body.home-page .carousel__lista .carousel__elemento img {
    max-height: 46px;
  }

  body.home-page .carousel__anterior,
  body.home-page .carousel__siguiente {
    width: 30px;
    height: 30px;
  }
}

/* =========================================================
   CONTACTO FLOTANTE — Override visual final
========================================================= */
.contacto-float {
  position: fixed;
  right: 70px;
  bottom: 70px;
  z-index: 2200;
  display: inline-flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: 12px;
}

.contacto-btn {
  appearance: none;
  border: 1px solid rgba(16, 55, 93, 0.12);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 210px;
  box-sizing: border-box;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  background: linear-gradient(135deg, #0e8fe4 0%, #1fb0f4 55%, #34c7ff 100%);
  box-shadow:
    0 14px 32px rgba(6, 28, 52, 0.24),
    0 0 0 5px rgba(0, 151, 206, 0.1);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contacto-btn:hover {
    transform: translateY(-2px);
    box-shadow:
      0 18px 40px rgba(6, 28, 52, 0.3),
      0 0 0 5px rgba(0, 151, 206, 0.14);
    filter: saturate(1.04);
  }
}

.contacto-btn:focus-visible {
  outline: 3px solid rgba(0, 151, 206, 0.22);
  outline-offset: 3px;
}

.contacto-social {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 210px;
  min-width: 210px;
  max-width: 210px;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
}

.contacto-social.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.contacto-social__item {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 18px;
  text-decoration: none;
  font-family: var(--font-sans, "Poppins", system-ui, sans-serif);
  font-size: 0.94rem;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contacto-social__item:hover {
    transform: translateX(-4px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
  }
}

.contacto-social__item,
.contacto-social__item span,
.contacto-social__item svg {
  transition:
    color 0.18s ease,
    fill 0.18s ease,
    opacity 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contacto-social__item:hover,
  .contacto-social__item:hover span {
    color: #ffffff;
    opacity: 1;
  }

  .contacto-social__item:hover svg {
    opacity: 1;
  }

  .contacto-social__item--call:hover {
    background: rgba(15, 29, 45, 0.98);
    border-color: rgba(78, 201, 243, 0.26);
  }

  .contacto-social__item--wa:hover {
    background: linear-gradient(135deg, #09c761 0%, #00d95a 100%);
  }

  .contacto-social__item--ms:hover {
    background: linear-gradient(135deg, #4a80ff 0%, #8b4cff 55%, #ea4ebf 100%);
  }
}

.contacto-social__item--call {
  background: rgba(15, 29, 45, 0.92);
  border: 1px solid rgba(78, 201, 243, 0.14);
  backdrop-filter: blur(10px);
}

.contacto-social__item--wa {
  background: linear-gradient(135deg, #08b65a 0%, #00c853 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.contacto-social__item--ms {
  background: linear-gradient(135deg, #3973ff 0%, #7f47ff 55%, #d947b5 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.contacto-social__item svg {
  flex: 0 0 auto;
  display: block;
}

.contacto-social__item span {
  line-height: 1.2;
}

@media (max-width: 575.98px) {
  .contacto-float {
    right: 20px;
    bottom: 20px;
    gap: 10px;
  }

  .contacto-btn {
    width: 188px;
    min-height: 50px;
    padding: 0 20px;
    font-size: 0.95rem;
  }

  .contacto-social {
    width: 188px;
    min-width: 188px;
    max-width: 188px;
  }

  .contacto-social__item {
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 16px;
    font-size: 0.9rem;
  }
}

@media (max-height: 820px) {
  .contacto-float {
    right: 24px;
    bottom: 24px;
    gap: 8px;
  }

  .contacto-btn {
    width: 180px;
    min-height: 48px;
    padding: 0 18px;
    font-size: 0.92rem;
  }

  .contacto-social {
    width: 180px;
    min-width: 180px;
    max-width: 180px;
  }

  .contacto-social__item {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 16px;
    font-size: 0.9rem;
  }
}

@media (max-height: 700px) {
  .contacto-float {
    right: 18px;
    bottom: 18px;
  }

  .contacto-btn {
    width: 164px;
    min-height: 44px;
    padding: 0 16px;
    font-size: 0.88rem;
  }

  .contacto-social {
    width: 164px;
    min-width: 164px;
    max-width: 164px;
  }

  .contacto-social__item {
    min-height: 40px;
    padding: 9px 12px;
    font-size: 0.86rem;
  }
}

/* ===================================
   HOME — Distribuidores Editorial
=================================== */
body.home-page .volunteer.volunteer--split {
  position: relative;
  width: 100%;
  margin: 45px 0;
  border-radius: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.4);
}

body.home-page .volunteer.volunteer--split::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("../img/Contador1.jpg");
  background-repeat: no-repeat;
  background-position: center 28%;
  background-size: 116% auto;
  filter: grayscale(1) brightness(0.55) contrast(1.02);
}

body.home-page .volunteer.volunteer--split::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.26);
}

body.home-page .volunteer.volunteer--split .container,
body.home-page .volunteer.volunteer--split .row {
  position: relative;
  z-index: 2;
}

body.home-page .volunteer.volunteer--split .container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.home-page .volunteer.volunteer--split .row {
  min-height: 420px;
  align-items: stretch !important;
  margin-left: 0;
  margin-right: 0;
}

body.home-page .volunteer.volunteer--split .col-lg-5,
body.home-page .volunteer.volunteer--split .col-lg-7 {
  display: flex;
  padding-left: 0;
  padding-right: 0;
}

body.home-page .volunteer.volunteer--split .volunteer-form,
body.home-page .volunteer.volunteer--split .volunteer-content {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.home-page .volunteer.volunteer--split .volunteer-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 440px);
  margin-left: auto;
  padding: 54px 30px 46px;
  background: rgba(166, 9, 9, 0.72);
}

body.home-page .volunteer.volunteer--split .volunteer-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 52px 34px 28px;
  background: transparent;
}

body.home-page .volunteer.volunteer--split .volunteer__headline {
  max-width: 9.8ch;
  margin: 0 0 26px;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 2.25vw, 2.7rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

body.home-page .volunteer.volunteer--split .volunteer__actions {
  margin-top: 0;
}

body.home-page .volunteer.volunteer--split .volunteer__btn.btn.btn-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 298px);
  height: 52px;
  padding: 0 22px;
  border-radius: 4px;
  border: 1px solid #ffffff;
  background: transparent;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.96rem;
  line-height: 1;
  box-shadow: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body.home-page .volunteer.volunteer--split .volunteer__btn:hover {
  transform: none;
  background: #ffffff;
  color: #a60909;
  border-color: #ffffff;
  box-shadow: inset 0 0 0 30px #ffffff;
  filter: none;
}

body.home-page .volunteer.volunteer--split .section-header--volunteer {
  margin-bottom: 18px;
}

body.home-page .volunteer.volunteer--split .volunteer__title {
  margin: 0;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 1.55vw, 1.85rem);
  line-height: 1.08;
  text-transform: uppercase;
}

body.home-page .volunteer.volunteer--split .volunteer-text p {
  max-width: 700px;
  margin: 0;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.6;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

html[data-theme="light"] body.home-page .volunteer.volunteer--split,
html[data-theme="dark"] body.home-page .volunteer.volunteer--split,
body.home-page .volunteer.volunteer--split {
  color-scheme: dark;
}

@media (max-width: 991.98px) {
  body.home-page .volunteer.volunteer--split::after {
    background-position: center center;
    background-size: cover;
  }

  body.home-page .volunteer.volunteer--split {
    margin: 45px 0;
  }

  body.home-page .volunteer.volunteer--split::before {
    background: rgba(0, 0, 0, 0.28);
  }

  body.home-page .volunteer.volunteer--split .row {
    min-height: unset;
    padding: 0;
  }

  body.home-page .volunteer.volunteer--split .volunteer-form {
    width: 100%;
    margin-left: 0;
    padding: 52px 24px 28px;
  }

  body.home-page .volunteer.volunteer--split .volunteer-content {
    padding: 24px 24px 38px;
  }

  body.home-page .volunteer.volunteer--split .volunteer__headline {
    max-width: 11.2ch;
    margin-bottom: 22px;
    font-size: clamp(1.9rem, 6vw, 2.55rem);
  }

  body.home-page .volunteer.volunteer--split .volunteer__title {
    font-size: clamp(1.4rem, 4.6vw, 1.9rem);
  }

  body.home-page .volunteer.volunteer--split .volunteer-text p {
    max-width: none;
    font-size: 0.98rem;
    line-height: 1.62;
  }
}

@media (max-width: 575.98px) {
  body.home-page .volunteer.volunteer--split .volunteer-form {
    padding: 42px 18px 24px;
  }

  body.home-page .volunteer.volunteer--split .volunteer-content {
    padding: 22px 18px 36px;
  }

  body.home-page .volunteer.volunteer--split .volunteer__headline {
    max-width: 11ch;
    margin-bottom: 18px;
    font-size: clamp(1.58rem, 7vw, 1.95rem);
  }

  body.home-page .volunteer.volunteer--split .volunteer__btn.btn.btn-custom {
    width: 100%;
    height: 50px;
  }

  body.home-page .volunteer.volunteer--split .volunteer__title {
    font-size: 1.45rem;
  }

  body.home-page .volunteer.volunteer--split .volunteer-text p {
    font-size: 0.98rem;
    line-height: 1.6;
  }
}

/* ===================================
   HOME - Responsive Hardening
   Ajustes finales para evitar layouts rígidos en index
=================================== */
body.home-page {
  --home-shell-inline: clamp(16px, 3.6vw, 40px);
  --home-shell-inline-sm: clamp(14px, 4vw, 24px);
  --contacto-width: min(210px, calc(100vw - 32px));
}

body.home-page .values-panel {
  background-position: center;
}

body.home-page .values-panel__box {
  width: min(1100px, calc(100% - (var(--home-shell-inline) * 2)));
}

body.home-page .trust-grid {
  gap: clamp(18px, 2.2vw, 28px);
}

body.home-page .trust-card {
  height: auto;
  min-height: 220px;
  aspect-ratio: 16 / 10;
}

body.home-page .trust-form {
  padding: clamp(20px, 2.4vw, 30px);
}

body.home-page .clientes-showcase {
  width: min(100% - (var(--home-shell-inline) * 2), 1180px);
}

body.home-page .clientes-showcase__heading {
  max-width: min(720px, calc(100% - 16px));
}

body.home-page .carousel__contenedor {
  max-width: 1640px;
  padding-left: clamp(34px, 4vw, 52px);
  padding-right: clamp(34px, 4vw, 52px);
}

body.home-page .carousel__elemento {
  height: clamp(88px, 10vw, 118px);
  padding: clamp(8px, 1.2vw, 18px);
}

body.home-page .carousel__lista .carousel__elemento img {
  max-width: min(100%, 148px);
  max-height: clamp(46px, 5vw, 72px);
}

body.home-page .carousel__anterior {
  left: clamp(4px, 1vw, 14px);
}

body.home-page .carousel__siguiente {
  right: clamp(4px, 1vw, 14px);
}

body.home-page .contacto-float {
  right: clamp(16px, 2.4vw, 32px);
  bottom: clamp(16px, 2.8vw, 32px);
  gap: 10px;
}

body.home-page .contacto-btn,
body.home-page .contacto-social {
  width: var(--contacto-width);
  min-width: var(--contacto-width);
  max-width: var(--contacto-width);
}

body.home-page .volunteer.volunteer--split {
  margin: clamp(36px, 5vw, 52px) 0;
}

body.home-page .volunteer.volunteer--split::after {
  background-position: center center;
  background-size: cover;
}

body.home-page .volunteer.volunteer--split .row {
  min-height: clamp(360px, 46vw, 520px);
}

body.home-page .volunteer.volunteer--split .volunteer-form {
  width: min(100%, 460px);
  padding: clamp(42px, 4vw, 54px) clamp(22px, 2.6vw, 32px) clamp(34px, 3.4vw, 46px);
}

body.home-page .volunteer.volunteer--split .volunteer-content {
  padding: clamp(34px, 3.8vw, 52px) clamp(22px, 3.8vw, 52px) clamp(28px, 3vw, 36px)
    clamp(22px, 2.6vw, 28px);
}

body.home-page .volunteer.volunteer--split .volunteer__headline {
  max-width: 11ch;
}

body.home-page .volunteer.volunteer--split .volunteer-text p + p {
  margin-top: 14px;
}

@media (max-width: 991.98px) {
  body.home-page {
    --contacto-width: min(196px, calc(100vw - 28px));
  }

  body.home-page .values-panel {
    margin: 56px 0;
    padding-bottom: 56px;
  }

  body.home-page .values-panel__header {
    padding: 42px 0 20px;
    margin-bottom: 30px;
  }

  body.home-page .values-panel__box {
    width: min(100%, calc(100% - (var(--home-shell-inline-sm) * 2)));
  }

  body.home-page .values-panel__item {
    padding: 28px 22px;
  }

  body.home-page .trust {
    padding: 54px 0;
  }

  body.home-page .trust-grid {
    gap: 18px;
  }

  body.home-page .trust-card {
    min-height: 200px;
    aspect-ratio: 16 / 9.5;
  }

  body.home-page .clientes-showcase {
    width: calc(100% - (var(--home-shell-inline-sm) * 2));
    margin-top: 44px;
  }

  body.home-page .carouselClientes {
    padding: 20px 0 18px;
  }

  body.home-page .carousel__contenedor {
    padding-left: 36px;
    padding-right: 36px;
  }

  body.home-page .carousel__anterior,
  body.home-page .carousel__siguiente {
    width: 34px;
    height: 34px;
  }

  body.home-page .volunteer.volunteer--split .row {
    min-height: 0;
  }
}

@media (max-width: 767.98px) {
  body.home-page {
    --contacto-width: min(188px, calc(100vw - 24px));
  }

  body.home-page .values-panel {
    margin: 48px 0;
    padding-bottom: 44px;
  }

  body.home-page .values-panel::after {
    width: 120px;
    height: 120px;
    right: 4%;
    bottom: 12px;
  }

  body.home-page .values-panel__title {
    font-size: clamp(24px, 7vw, 34px);
  }

  body.home-page .values-panel__box {
    width: calc(100% - (var(--home-shell-inline-sm) * 2));
  }

  body.home-page .trust-card {
    min-height: 188px;
    aspect-ratio: 4 / 3;
  }

  body.home-page .trust-form__header {
    align-items: flex-start;
  }

  body.home-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: var(--home-shell-inline-sm);
    padding-right: var(--home-shell-inline-sm);
  }

  body.home-page .carousel__contenedor {
    padding-left: 34px;
    padding-right: 34px;
  }

  body.home-page .carousel__lista .glider-track {
    gap: 4px;
  }

  body.home-page .volunteer.volunteer--split {
    margin: 40px 0;
  }

  body.home-page .volunteer.volunteer--split .volunteer-form,
  body.home-page .volunteer.volunteer--split .volunteer-content {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  body.home-page {
    --contacto-width: min(184px, calc(100vw - 20px));
  }

  body.home-page .values-panel__header::before {
    left: 10px;
    right: 10px;
    border-radius: 999px;
  }

  body.home-page .values-panel__item {
    padding: 24px 18px;
  }

  body.home-page .values-panel__icon,
  body.home-page .values-panel__icon img {
    width: 72px;
    height: 72px;
  }

  body.home-page .trust-title {
    font-size: clamp(22px, 6vw, 26px);
  }

  body.home-page .trust-card {
    min-height: 176px;
    aspect-ratio: 1.18 / 1;
    border-radius: 20px;
  }

  body.home-page .trust-card__body {
    padding: 12px 12px 10px;
  }

  body.home-page .clientes-showcase {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.home-page .carouselClientes {
    padding: 16px 0 18px;
    border-radius: 18px;
  }

  body.home-page .carousel__contenedor {
    padding-left: 30px;
    padding-right: 30px;
  }

  body.home-page .carousel__elemento {
    height: 82px;
  }

  body.home-page .carousel__lista .carousel__elemento img {
    max-width: min(100%, 112px);
    max-height: 44px;
  }

  body.home-page .carousel__anterior,
  body.home-page .carousel__siguiente {
    width: 28px;
    height: 28px;
  }

  body.home-page .contacto-social__item {
    gap: 10px;
  }

  body.home-page .volunteer.volunteer--split .volunteer-form {
    padding: 38px 18px 22px;
  }

  body.home-page .volunteer.volunteer--split .volunteer-content {
    padding: 22px 18px 30px;
  }
}

@media (max-width: 991.98px) and (max-height: 820px) {
  body.home-page .contacto-float {
    right: 14px;
    bottom: 14px;
  }

  body.home-page {
    --contacto-width: min(172px, calc(100vw - 18px));
  }

  body.home-page .contacto-btn {
    min-height: 46px;
    font-size: 0.9rem;
  }

  body.home-page .contacto-social__item {
    min-height: 40px;
    padding: 9px 12px;
    font-size: 0.84rem;
  }
}

/* ===================================
   NOSOTROS - Responsive Hardening
   Unifica quiebres y evita colapsos entre bloques heredados
=================================== */
body.nosotros-page {
  --nos-shell-inline: clamp(18px, 3vw, 40px);
  --nos-shell-inline-md: clamp(16px, 3.8vw, 28px);
  --nos-shell-inline-sm: 16px;
}

body.nosotros-page .about-tabs,
body.nosotros-page .proyect_container,
body.nosotros-page .homolo-heading,
body.nosotros-page .container-homolo,
body.nosotros-page .clientes-showcase {
  width: min(calc(100% - (var(--nos-shell-inline) * 2)), 1240px);
}

body.nosotros-page .about-tabs {
  margin-top: clamp(22px, 4vw, 44px);
}

body.nosotros-page .about-tabs__shell {
  width: 100%;
}

body.nosotros-page .about-tabs__heading h2,
body.nosotros-page .proyect_title,
body.nosotros-page .homolo-heading h2,
body.nosotros-page .clientes-showcase__heading h2 {
  text-wrap: balance;
  line-height: 1.08;
}

body.nosotros-page .proyect_grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  gap: clamp(20px, 2.2vw, 30px);
}

body.nosotros-page .proyect_card .row.g-0 {
  grid-template-columns: minmax(168px, 32%) minmax(0, 1fr);
}

body.nosotros-page .proyect_body .card-title,
body.nosotros-page .homolo-card .card-title {
  overflow-wrap: anywhere;
}

body.nosotros-page .proyect_body .card-text,
body.nosotros-page .proyect_ul,
body.nosotros-page .homolo-card .card-text,
body.nosotros-page .homolo-card li,
body.nosotros-page .homolo-heading p,
body.nosotros-page .clientes-showcase__heading p {
  overflow-wrap: anywhere;
}

body.nosotros-page .map_wrap {
  min-height: 0;
}

body.nosotros-page .map_wrap .video_posicion {
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

body.nosotros-page .container-homolo {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
}

body.nosotros-page .homolo-card .card-body {
  min-width: 0;
}

body.nosotros-page .clientes-showcase {
  margin-top: clamp(52px, 6vw, 88px);
  margin-bottom: clamp(18px, 3vw, 30px);
}

body.nosotros-page .clientes-showcase__heading {
  max-width: min(820px, calc(100% - 8px));
}

body.nosotros-page .carouselClientes {
  padding: 18px 0 22px;
}

body.nosotros-page .carousel__contenedor {
  max-width: 1480px;
  padding-left: clamp(34px, 3.5vw, 52px);
  padding-right: clamp(34px, 3.5vw, 52px);
}

body.nosotros-page .carousel__elemento {
  height: clamp(92px, 9vw, 110px);
}

body.nosotros-page .carousel__lista .carousel__elemento img {
  max-height: clamp(52px, 5vw, 72px);
}

@media (max-width: 1199.98px) {
  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: min(calc(100% - (var(--nos-shell-inline-md) * 2)), 1120px);
  }

  body.nosotros-page .about-tabs__content--static {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.nosotros-page .about-tabs__content--static > :last-child {
    grid-column: 1 / -1;
  }

  body.nosotros-page .proyect_grid {
    grid-template-columns: 1fr;
  }

  body.nosotros-page .proyect_title.proyect_title--map,
  body.nosotros-page .proyect_intro.proyect_intro--map {
    max-width: 900px;
  }

  body.nosotros-page .container-homolo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.nosotros-page .homolo-card .card-body {
    padding: 18px 18px 20px;
  }
}

@media (max-width: 991.98px) {
  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: calc(100% - (var(--nos-shell-inline-md) * 2));
  }

  body.nosotros-page .mv-stats {
    min-height: max(42vh, 360px);
  }

  body.nosotros-page .mv-stats__container {
    gap: 18px;
    padding-inline: clamp(16px, 3vw, 28px);
    padding-block: clamp(78px, 10vh, 112px) clamp(20px, 3vh, 34px);
  }

  body.nosotros-page .mv-stat {
    min-height: 136px;
  }

  body.nosotros-page .about-tabs {
    margin-top: 10px;
  }

  body.nosotros-page .about-tabs__heading {
    padding: 24px 22px 16px;
  }

  body.nosotros-page .about-tabs__content {
    padding: 0 20px 20px;
  }

  body.nosotros-page .proyect_card .row.g-0 {
    grid-template-columns: minmax(156px, 30%) minmax(0, 1fr);
  }

  body.nosotros-page .proyect_media {
    min-height: 164px;
  }

  body.nosotros-page .map_wrap {
    padding: 16px;
  }

  body.nosotros-page .container-homolo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  body.nosotros-page .carousel__contenedor {
    padding-left: 38px;
    padding-right: 38px;
  }
}

@media (max-width: 767.98px) {
  body.nosotros-page {
    --nos-shell-inline-md: 18px;
  }

  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    width: 100%;
    max-width: none;
    padding-left: var(--nos-shell-inline-md);
    padding-right: var(--nos-shell-inline-md);
    box-sizing: border-box;
  }

  body.nosotros-page .mv-stats {
    min-height: max(40vh, 330px);
  }

  body.nosotros-page .mv-stats__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding-inline: 16px;
    padding-block: clamp(74px, 9vh, 98px) 16px;
  }

  body.nosotros-page .mv-stat {
    min-height: 128px;
    padding: 10px 6px;
    column-gap: 12px;
  }

  body.nosotros-page .mv-stat__icon {
    width: 52px;
    height: 52px;
  }

  body.nosotros-page .mv-stat__number {
    font-size: clamp(40px, 6vw, 58px);
  }

  body.nosotros-page .mv-stat__label {
    font-size: 0.95rem;
    line-height: 1.28;
  }

  body.nosotros-page .about-tabs__content--static,
  body.nosotros-page .container-homolo {
    grid-template-columns: 1fr;
  }

  body.nosotros-page .about-tabs__content--static > :last-child {
    grid-column: auto;
  }

  body.nosotros-page .proyect_title,
  body.nosotros-page .proyect_title.proyect_title--map,
  body.nosotros-page .homolo-heading h2,
  body.nosotros-page .clientes-showcase__heading h2 {
    font-size: clamp(1.72rem, 6.8vw, 2.12rem);
    text-align: left;
  }

  body.nosotros-page .proyect_intro,
  body.nosotros-page .proyect_intro--map,
  body.nosotros-page .homolo-heading p,
  body.nosotros-page .clientes-showcase__heading p {
    font-size: 0.97rem;
    line-height: 1.68;
  }

  body.nosotros-page .proyect_card .row.g-0 {
    grid-template-columns: 1fr;
  }

  body.nosotros-page .proyect_media {
    min-height: 210px;
  }

  body.nosotros-page .proyect_body {
    padding: 16px 16px 18px;
  }

  body.nosotros-page .map_wrap {
    padding: 12px;
  }

  body.nosotros-page .homolo-media {
    aspect-ratio: 4 / 3;
    padding: 14px;
  }

  body.nosotros-page .carouselClientes {
    padding: 14px 0 18px;
  }

  body.nosotros-page .carousel__contenedor {
    padding-left: 32px;
    padding-right: 32px;
  }

  body.nosotros-page .carousel__elemento {
    height: 88px;
    padding: 8px 10px;
  }

  body.nosotros-page .clientes-showcase__heading {
    text-align: left;
    margin-bottom: 20px;
  }
}

@media (max-width: 575.98px) {
  body.nosotros-page {
    --nos-shell-inline-sm: 14px;
  }

  body.nosotros-page .about-tabs,
  body.nosotros-page .proyect_container,
  body.nosotros-page .homolo-heading,
  body.nosotros-page .container-homolo,
  body.nosotros-page .clientes-showcase {
    padding-left: var(--nos-shell-inline-sm);
    padding-right: var(--nos-shell-inline-sm);
  }

  body.nosotros-page .mv-stats__container {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-inline: 14px;
    padding-block: clamp(82px, 11vh, 110px) 16px;
  }

  body.nosotros-page .mv-stat {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    row-gap: 8px;
    padding: 10px 0;
  }

  body.nosotros-page .mv-stat__label {
    max-width: 230px;
    margin: 0;
    text-align: center;
  }

  body.nosotros-page .about-tabs {
    margin-top: 6px;
  }

  body.nosotros-page .about-tabs__heading {
    padding: 22px 16px 14px;
  }

  body.nosotros-page .about-tabs__content {
    padding: 0 14px 16px;
  }

  body.nosotros-page .about-tabs__block {
    padding: 18px 16px;
    border-radius: 20px;
  }

  body.nosotros-page .proyect_media {
    min-height: 188px;
  }

  body.nosotros-page .proyect_body,
  body.nosotros-page .homolo-card .card-body {
    padding: 15px;
  }

  body.nosotros-page .homolo-media {
    aspect-ratio: 1 / 1;
    padding: 12px;
  }

  body.nosotros-page .carousel__contenedor {
    padding-left: 28px;
    padding-right: 28px;
  }

  body.nosotros-page .carousel__elemento {
    height: 80px;
  }

  body.nosotros-page .carousel__lista .carousel__elemento img {
    max-height: 42px;
  }

  body.nosotros-page .carousel__anterior,
  body.nosotros-page .carousel__siguiente {
    width: 28px;
    height: 28px;
  }
}

/* =====================================================
   REMAINING PAGES - Responsive Hardening
===================================================== */
body.contact-page,
body.contact-hub-page,
body.faq-hub-page,
body.ubicanos-page,
body.empresas-showcase-page,
body.industria-page {
  --page-shell: clamp(16px, 3vw, 28px);
  --page-shell-sm: 14px;
}

body.contact-page .contact-hub-hero .container,
body.contact-page .contact-hub-grid .container,
body.contact-hub-page .contact-hub,
body.faq-hub-page main,
body.ubicanos-page .page-header--ubicacion .container,
body.ubicanos-page .service--ubicacion .container,
body.empresas-showcase-page .empresas-showcase__shell,
body.industria-page .causes .container,
body.industria-page .donate .container,
body.industria-page .volunteer .container {
  width: min(1280px, calc(100% - (var(--page-shell) * 2)));
}

body.contact-page .contact-hub-hero {
  padding-top: clamp(116px, 12vw, 142px);
}

body.contact-page .contact-hub-hero__inner {
  width: min(100%, 820px);
}

body.contact-page .contact-hub-grid {
  padding-bottom: 42px;
}

body.contact-page .contact-hub-cards,
body.contact-hub-page .contact-hub__grid {
  gap: clamp(18px, 2vw, 26px);
}

body.contact-page .hub-card,
body.contact-hub-page .hub-card,
body.empresas-showcase-page .empresa-card {
  min-width: 0;
}

body.contact-page .hub-card,
body.contact-hub-page .hub-card {
  min-height: 100%;
}

body.contact-hub-page .contact-hub {
  width: min(1240px, calc(100% - (var(--page-shell) * 2)));
  margin-inline: auto;
  padding-top: clamp(112px, 11vw, 138px);
  padding-bottom: clamp(56px, 8vw, 88px);
}

body.contact-hub-page .contact-hub__hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(22px, 3vw, 40px);
  min-height: clamp(320px, 44vw, 520px);
}

body.contact-hub-page .contact-hub__hero-copy {
  padding: clamp(24px, 3vw, 40px);
}

body.contact-hub-page .contact-hub__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.faq-hub-page main {
  padding-left: var(--page-shell);
  padding-right: var(--page-shell);
}

body.faq-hub-page .faq-hub {
  width: min(1280px, 100%);
  margin-inline: auto;
  gap: clamp(24px, 3.2vw, 52px);
}

body.faq-hub-page .faq-hub__hero-copy,
body.faq-hub-page .faq-hub__panel-copy,
body.faq-hub-page .preguntas,
body.ubicanos-page .ub-store-model__media,
body.ubicanos-page .ub-store-model__info {
  min-width: 0;
}

body.faq-hub-page .categorias {
  width: min(100%, 100%);
}

body.faq-hub-page .categoria {
  min-width: 0;
}

body.policy-page .contact-hub__hero-copy,
body.contact-hub-page .contact-hub__hero-copy,
body.faq-hub-page .pregunta,
body.faq-hub-page .respuesta,
body.contact-page .hub-card p,
body.contact-hub-page .hub-card p,
body.ubicanos-page .ub-store-model__contact-item p,
body.industria-page .donate-text p,
body.industria-page .volunteer-text p {
  overflow-wrap: anywhere;
}

body.ubicanos-page .page-header--ubicacion {
  min-height: clamp(168px, 24vw, 240px);
}

body.ubicanos-page .service--ubicacion .container {
  max-width: 1240px;
}

body.ubicanos-page .ub-store-model {
  gap: clamp(18px, 3vw, 28px);
}

body.ubicanos-page .ub-store-model__block--actions {
  gap: 12px;
}

body.empresas-showcase-page .empresas-showcase::before {
  min-width: 0;
  min-height: 0;
}

body.empresas-showcase-page .empresas-showcase__shell {
  max-width: 1280px;
}

body.industria-page .page-header {
  min-height: clamp(160px, 24vw, 228px);
  margin-bottom: 0;
}

body.industria-page .causes {
  padding: clamp(42px, 6vw, 68px) 0 clamp(18px, 3vw, 28px);
}

body.industria-page .donate,
body.industria-page .volunteer {
  padding: clamp(40px, 7vw, 84px) 0;
  min-height: auto;
}

body.industria-page .donate .row,
body.industria-page .volunteer .row {
  align-items: stretch;
}

body.industria-page .donate-content,
body.industria-page .volunteer-content,
body.industria-page .donate-form,
body.industria-page .volunteer-form {
  height: 100%;
}

body.industria-page .donate-content,
body.industria-page .volunteer-content {
  padding: clamp(18px, 2.5vw, 28px);
  border-radius: 22px;
  background: rgba(10, 20, 33, 0.66);
  backdrop-filter: blur(8px);
}

body.industria-page .donate-form,
body.industria-page .volunteer-form {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: clamp(18px, 2.4vw, 24px);
}

body.industria-page .donate-form form,
body.industria-page .volunteer-form form {
  width: min(100%, 280px);
}

body.industria-page .donate-form .btn.btn-custom,
body.industria-page .volunteer-form .btn.btn-custom {
  width: 100%;
  min-height: 54px;
  padding-inline: 18px;
  white-space: normal;
}

@media (max-width: 1199.98px) {
  body.contact-page .contact-hub-grid .container,
  body.contact-page .contact-hub-hero .container,
  body.contact-hub-page .contact-hub,
  body.ubicanos-page .service--ubicacion .container,
  body.industria-page .causes .container,
  body.industria-page .donate .container,
  body.industria-page .volunteer .container {
    width: min(1100px, calc(100% - (var(--page-shell) * 2)));
  }

  body.contact-page .contact-hub-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.contact-hub-page .contact-hub__hero {
    grid-template-columns: 1fr;
  }

  body.contact-hub-page .contact-hub__hero-media {
    min-height: 280px;
  }

  body.contact-hub-page .contact-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.faq-hub-page .categorias {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ubicanos-page .ub-store-model {
    grid-template-columns: 1fr;
  }

  body.empresas-showcase-page .empresas-showcase::before {
    width: 48vw;
    height: 48vw;
    top: -14vw;
    right: -10vw;
  }

  body.industria-page .donate .row,
  body.industria-page .volunteer .row {
    row-gap: 20px;
  }
}

@media (max-width: 991.98px) {
  body.contact-page .contact-hub-hero__inner {
    width: 100%;
  }

  body.contact-page .contact-hub-grid .container,
  body.contact-page .contact-hub-hero .container,
  body.contact-hub-page .contact-hub,
  body.ubicanos-page .service--ubicacion .container,
  body.industria-page .causes .container,
  body.industria-page .donate .container,
  body.industria-page .volunteer .container {
    width: calc(100% - (var(--page-shell) * 2));
  }

  body.contact-hub-page .contact-hub {
    padding-top: 112px;
  }

  body.contact-hub-page .contact-hub__grid {
    grid-template-columns: 1fr;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 112px;
  }

  body.ubicanos-page .ub-store-model__block--actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.empresas-showcase-page .empresas-showcase::after {
    left: -18vw;
    width: 42vw;
    height: 42vw;
  }

  body.industria-page .donate-content,
  body.industria-page .volunteer-content {
    padding: 20px 18px;
  }
}

@media (max-width: 767.98px) {
  body.contact-page .contact-hub-tags {
    justify-content: flex-start;
  }

  body.contact-page .contact-hub-cards,
  body.faq-hub-page .categorias,
  body.ubicanos-page .ub-store-model__block--actions {
    grid-template-columns: 1fr;
  }

  body.contact-hub-page .contact-hub {
    width: calc(100% - (var(--page-shell) * 2));
    padding-top: 104px;
    padding-bottom: 52px;
  }

  body.contact-hub-page .contact-hub__hero-copy {
    padding: 20px 18px;
  }

  body.contact-hub-page .contact-hub__hero-media {
    min-height: 220px;
  }

  body.faq-hub-page .faq-hub {
    gap: 18px;
  }

  body.faq-hub-page .categoria {
    border-radius: 16px;
  }

  body.ubicanos-page .page-header--ubicacion {
    min-height: 158px;
  }

  body.ubicanos-page .ub-store-model__hour-row,
  body.ubicanos-page .ub-store-model__contact-item {
    align-items: flex-start;
  }

  body.ubicanos-page .ub-store-model__hour-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  body.empresas-showcase-page .empresas-showcase::before,
  body.empresas-showcase-page .empresas-showcase::after {
    opacity: 0.22;
  }

  body.industria-page .page-header {
    min-height: 148px;
  }

  body.industria-page .causes {
    padding-top: 34px;
  }

  body.industria-page .donate,
  body.industria-page .volunteer {
    padding: 28px 0;
    background-position: center center !important;
  }

  body.industria-page .donate .row,
  body.industria-page .volunteer .row {
    row-gap: 16px;
  }

  body.industria-page .donate-form,
  body.industria-page .volunteer-form {
    padding: 0;
    min-height: auto;
  }

  body.industria-page .donate-form form,
  body.industria-page .volunteer-form form {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  body.contact-page,
  body.contact-hub-page,
  body.faq-hub-page,
  body.ubicanos-page,
  body.empresas-showcase-page,
  body.industria-page {
    --page-shell: var(--page-shell-sm);
  }

  body.contact-page .hub-card,
  body.contact-hub-page .hub-card,
  body.ubicanos-page .ub-store-model__block,
  body.industria-page .donate-content,
  body.industria-page .volunteer-content {
    border-radius: 18px;
  }

  body.contact-hub-page .contact-hub__hero-copy h1,
  body.contact-page .contact-hub-hero h1,
  body.industria-page .page-header h2 {
    text-wrap: balance;
  }

  body.faq-hub-page .faq-hub__hero-copy {
    min-height: 128px;
  }

  body.ubicanos-page .ub-store-model__cta {
    width: 100%;
    justify-content: center;
  }

  body.empresas-showcase-page .empresas-showcase__shell {
    width: calc(100% - (var(--page-shell) * 2));
  }

  body.industria-page .donate-content,
  body.industria-page .volunteer-content {
    padding: 16px 14px;
  }

  body.industria-page .donate-form .btn.btn-custom,
  body.industria-page .volunteer-form .btn.btn-custom {
    min-height: 50px;
  }
}
