:root {
    --bg: #fafaf7;
    --bg-elev: #ffffff;
    --layer: #f3f0ea;
    --border: rgba(10, 22, 40, 0.09);
    --border-strong: rgba(10, 22, 40, 0.18);
    --muted: #6b7280;
    --muted-2: #4a5260;
    --fg: #06122b;
    --fg-dim: #172544;
    --red: #c9152b;
    --red-dim: #a51024;
    --red-glow: rgba(201, 21, 43, 0.16);
    --grid: rgba(10, 22, 40, 0.05);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Manrope', sans-serif;
    font-weight: 300;
    background: var(--bg);
    color: var(--fg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    line-height: 1.5;
    letter-spacing: -0.01em;
  }

  ::selection { background: var(--red); color: #fff; }

  .mono { font-family: 'Manrope', sans-serif; font-weight: 400; letter-spacing: 0.01em; }

  /* utility */
  .container { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 720px) { .container { padding: 0 20px; } }

  .eyebrow {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--fg-dim);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-transform: none;
  }
  .eyebrow::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--red);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--red);
  }

  /* fade-up reveal */
  .reveal {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(6px);
    transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out), filter 0.9s var(--ease-out);
  }
  .reveal.in {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
  .reveal[data-d="1"] { transition-delay: 0.08s; }
  .reveal[data-d="2"] { transition-delay: 0.16s; }
  .reveal[data-d="3"] { transition-delay: 0.24s; }
  .reveal[data-d="4"] { transition-delay: 0.32s; }
  .reveal[data-d="5"] { transition-delay: 0.40s; }
  .reveal[data-d="6"] { transition-delay: 0.48s; }

  /* ---------------- HEADER ---------------- */
  .header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 18px 0;
    transition: background 0.4s var(--ease-out), backdrop-filter 0.4s var(--ease-out), border-color 0.4s var(--ease-out);
    border-bottom: 1px solid transparent;
  }
  .header.scrolled {
    background: rgba(250, 250, 247, 0.82);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-bottom-color: var(--border);
  }
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
  }

  .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--fg);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.02em;
  }
  .logo-mark {
    width: 28px;
    height: 28px;
    position: relative;
    display: grid;
    place-items: center;
  }
  .logo-mark svg { width: 100%; height: 100%; }
  .logo small {
    font-family: 'Manrope', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
    margin-left: 6px;
  }

  .nav { display: flex; gap: 4px; align-items: center; }
  .nav-item {
    position: relative;
    padding: 10px 14px;
    color: var(--muted-2);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: -0.005em;
    cursor: pointer;
    transition: color 0.3s var(--ease-out);
    background: none;
    border: none;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .nav-item:hover { color: var(--fg); }
  .nav-item .chev {
    width: 10px; height: 10px;
    transition: transform 0.3s var(--ease-out);
  }
  .nav-item:hover .chev { transform: rotate(180deg); }

  .header-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--fg);
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none;
    border: 1px solid var(--fg);
    transition: transform 0.2s var(--ease-out), background 0.2s var(--ease-out);
  }
  .header-cta:hover { transform: translateY(-1px); background: #1d2a40; }
  .header-cta:active { transform: scale(0.97); }

  /* mega menu */
  .megamenu-wrap { position: relative; }
  .megamenu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    min-width: 720px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
    box-shadow: 0 30px 60px -20px rgba(10,22,40,0.14);
  }
  .megamenu-wrap:hover .megamenu,
  .megamenu-wrap:focus-within .megamenu {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
  .megamenu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .mega-item {
    display: block;
    padding: 14px 16px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--fg);
    transition: background 0.2s var(--ease-out);
    border: 1px solid transparent;
  }
  .mega-item:hover {
    background: rgba(10,22,40,0.025);
    border-color: var(--border);
  }
  .mega-item .mlabel {
    font-size: 11px;
    font-weight: 500;
    color: var(--red);
    letter-spacing: -0.005em;
    display: block;
    margin-bottom: 6px;
  }
  .mega-item .mtitle {
    font-size: 15px;
    font-weight: 500;
    color: var(--fg);
    letter-spacing: -0.015em;
    display: block;
    margin-bottom: 4px;
  }
  .mega-item .mdesc {
    font-size: 12px;
    color: var(--muted-2);
    line-height: 1.5;
    font-weight: 300;
  }

  /* ---------------- HERO ---------------- */
  .hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    padding-top: 100px;
    padding-bottom: 80px;
  }

  #hero-canvas {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }

  .hero-vignette {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      radial-gradient(ellipse 70% 60% at 50% 50%, transparent 30%, rgba(250,250,247,0.4) 100%),
      linear-gradient(180deg, rgba(250,250,247,0.5) 0%, transparent 30%, transparent 70%, var(--bg) 100%);
  }

  .hero-grid-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
      linear-gradient(var(--grid) 1px, transparent 1px),
      linear-gradient(90deg, var(--grid) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 80%);
  }

  .hero-content {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    width: 100%;
  }

  .hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(10px);
    border-radius: 100px;
    width: fit-content;
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--fg-dim);
    letter-spacing: -0.005em;
    box-shadow: 0 2px 6px rgba(10,22,40,0.04);
  }
  .hero-tag .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--red);
    box-shadow: 0 0 0 4px rgba(201,24,47,0.20);
    animation: pulse 2.4s ease-in-out infinite;
  }
  @keyframes pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(201,24,47,0.20); }
    50% { box-shadow: 0 0 0 7px rgba(201,24,47,0.04); }
  }

  .hero h1 {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(44px, 7.2vw, 104px);
    font-weight: 200;
    line-height: 0.96;
    letter-spacing: -0.045em;
    color: var(--fg);
    max-width: 14ch;
  }
  .hero h1 em {
    font-style: normal;
    font-weight: 300;
    color: var(--red);
    position: relative;
  }
  .hero h1 .stroke {
    -webkit-text-stroke: 1px var(--fg);
    color: transparent;
    font-weight: 300;
  }

  .hero-sub {
    font-size: clamp(15px, 1.4vw, 18px);
    color: var(--muted-2);
    max-width: 52ch;
    font-weight: 300;
    line-height: 1.55;
  }

  .hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 8px;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.005em;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform 0.2s var(--ease-out), background 0.2s var(--ease-out), border-color 0.2s var(--ease-out), color 0.2s var(--ease-out);
    cursor: pointer;
    font-family: inherit;
  }
  .btn-primary {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
    box-shadow: 0 0 0 0 var(--red-glow);
  }
  .btn-primary:hover {
    background: #b81229;
    transform: translateY(-1px);
    box-shadow: 0 14px 30px -10px rgba(201,24,47,0.45);
  }
  .btn-primary:active { transform: scale(0.98); }
  .btn-ghost {
    background: transparent;
    color: var(--fg);
    border-color: var(--border-strong);
  }
  .btn-ghost:hover {
    background: rgba(10,22,40,0.04);
    border-color: rgba(10,22,40,0.3);
  }
  .btn .arrow {
    transition: transform 0.3s var(--ease-out);
  }
  .btn:hover .arrow { transform: translateX(3px); }

  .hero-meta {
    margin-top: 56px;
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
    padding-top: 24px;
  }
  .hero-meta-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .hero-meta-item .k {
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }
  .hero-meta-item .v {
    font-size: 14px;
    color: var(--fg-dim);
    font-weight: 400;
  }

  /* ---------------- SECTION COMMON ---------------- */
  section.block {
    padding: 120px 0;
    position: relative;
  }
  @media (max-width: 720px) {
    section.block { padding: 80px 0; }
  }

  .block-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 56px;
    max-width: 720px;
  }
  .block-head h2 {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -0.035em;
    color: var(--fg);
  }
  .block-head h2 em {
    font-style: normal;
    color: var(--muted-2);
    font-weight: 200;
  }
  .block-head p {
    font-size: 16px;
    color: var(--muted-2);
    max-width: 56ch;
    font-weight: 300;
  }

  /* ---------------- VERTICALES ---------------- */
  .verticals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
  }
  @media (max-width: 1024px) { .verticals-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .verticals-grid { grid-template-columns: 1fr; } }

  .vertical-card {
    background: var(--bg);
    padding: 32px 28px 28px;
    position: relative;
    overflow: hidden;
    transition: background 0.4s var(--ease-out);
    cursor: pointer;
    min-height: 380px;
    display: flex;
    flex-direction: column;
  }
  .vertical-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(255,56,56,0.08), transparent 60%);
    opacity: 0;
    transition: opacity 0.5s var(--ease-out);
    pointer-events: none;
  }
  .vertical-card:hover { background: var(--bg-elev); }
  .vertical-card:hover::before { opacity: 1; }

  .vertical-num {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }
  .vertical-title {
    font-size: 22px;
    font-weight: 400;
    color: var(--fg);
    margin-top: 24px;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }
  .vertical-title .accent { color: var(--red); }
  .vertical-desc {
    margin-top: 14px;
    font-size: 13.5px;
    color: var(--muted-2);
    line-height: 1.55;
    font-weight: 300;
    flex: 1;
  }
  .vertical-tags {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .vertical-tag {
    font-family: 'Manrope', sans-serif;
    font-size: 11px;
    font-weight: 400;
    padding: 4px 9px;
    border: 1px solid var(--border-strong);
    border-radius: 100px;
    color: var(--muted-2);
    letter-spacing: -0.005em;
  }
  .vertical-foot {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--border);
  }
  .vertical-foot .partners {
    font-size: 12px;
    color: var(--muted);
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    letter-spacing: -0.005em;
  }
  .vertical-foot .more {
    color: var(--fg-dim);
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s var(--ease-out), gap 0.2s var(--ease-out);
  }
  .vertical-card:hover .vertical-foot .more {
    color: var(--red);
    gap: 10px;
  }

  /* ---------------- TRUST ---------------- */
  .trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
  }
  @media (max-width: 900px) { .trust { grid-template-columns: 1fr; gap: 48px; } }

  .trust-visual {
    position: relative;
    aspect-ratio: 1;
    background: linear-gradient(180deg, #ffffff, #f3f0ea);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 40px 80px -30px rgba(10,22,40,0.18);
    padding: 32px;
  }

  .trust-list {
    list-style: none;
    display: grid;
    gap: 1px;
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    margin-top: 32px;
  }
  .trust-list li {
    background: var(--bg);
    padding: 20px 24px;
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    align-items: start;
    transition: background 0.3s var(--ease-out);
  }
  .trust-list li:hover { background: var(--bg-elev); }
  .trust-list .ti-num {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--red);
    padding-top: 1px;
  }
  .trust-list .ti-t {
    font-size: 15px;
    font-weight: 500;
    color: var(--fg);
    letter-spacing: -0.015em;
    margin-bottom: 4px;
  }
  .trust-list .ti-d {
    font-size: 13px;
    color: var(--muted-2);
    font-weight: 300;
    line-height: 1.55;
  }

  /* ---------------- STATS ---------------- */
  .stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--border);
    border-block: 1px solid var(--border);
  }
  @media (max-width: 900px) { .stats { grid-template-columns: repeat(2, 1fr); } }
  .stat {
    background: var(--bg);
    padding: 48px 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
  }
  .stat .sk {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }
  .stat .sv {
    font-size: clamp(40px, 4vw, 56px);
    font-weight: 200;
    color: var(--fg);
    letter-spacing: -0.04em;
    line-height: 1;
  }
  .stat .sv .unit { color: var(--red); font-weight: 300; }
  .stat .sd {
    font-size: 13px;
    color: var(--muted-2);
    font-weight: 300;
  }

  /* ---------------- SERVICES ---------------- */
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  @media (max-width: 1000px) { .services-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .services-grid { grid-template-columns: 1fr; } }
  .service {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 28px 24px;
    background: var(--bg-elev);
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s var(--ease-out), transform 0.4s var(--ease-out), box-shadow 0.3s var(--ease-out);
  }
  .service:hover {
    border-color: var(--border-strong);
    transform: translateY(-2px);
    box-shadow: 0 16px 40px -16px rgba(10,22,40,0.10);
  }
  .service-glyph {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border: 1px dashed var(--border-strong);
    border-radius: 8px;
    margin-bottom: 20px;
    color: var(--muted);
    background: var(--layer);
    overflow: hidden;
  }
  .service-glyph img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .service-glyph .ph-label {
    font-family: 'Manrope', sans-serif;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: -0.005em;
    text-align: center;
    color: var(--muted);
    padding: 4px;
    line-height: 1.35;
  }
  .service h3 {
    font-size: 17px;
    font-weight: 500;
    color: var(--fg);
    letter-spacing: -0.02em;
    margin-bottom: 10px;
  }
  .service p {
    font-size: 13.5px;
    color: var(--muted-2);
    line-height: 1.55;
    font-weight: 300;
  }

  /* ---------------- CASES ---------------- */
  .cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  @media (max-width: 900px) { .cases-grid { grid-template-columns: 1fr; } }
  .case {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--bg);
    transition: border-color 0.3s var(--ease-out), transform 0.4s var(--ease-out);
    position: relative;
  }
  .case:hover {
    border-color: var(--border-strong);
    transform: translateY(-3px);
  }
  .case-image {
    aspect-ratio: 16 / 10;
    background: var(--layer);
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
  }
  .case-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .case-image .placeholder {
    position: absolute;
    inset: 0;
    background:
      repeating-linear-gradient(45deg, rgba(10,22,40,0.025) 0 1px, transparent 1px 14px),
      linear-gradient(135deg, #f7f4ee, #efeae0);
    display: grid;
    place-items: center;
    text-align: center;
  }
  .case-image .placeholder span {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
    padding: 0 24px;
    line-height: 1.6;
  }
  .case-body { padding: 24px; }
  .case-tag {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--red);
    letter-spacing: -0.005em;
    margin-bottom: 12px;
  }
  .case h3 {
    font-size: 18px;
    font-weight: 500;
    color: var(--fg);
    letter-spacing: -0.02em;
    margin-bottom: 10px;
    line-height: 1.3;
  }
  .case p {
    font-size: 13.5px;
    color: var(--muted-2);
    line-height: 1.55;
    font-weight: 300;
  }
  .case-foot {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }

  /* ---------------- INSIGHTS ---------------- */
  .insights-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 20px;
  }
  @media (max-width: 1000px) { .insights-grid { grid-template-columns: 1fr 1fr; } .insights-grid > :first-child { grid-column: span 2; } }
  @media (max-width: 600px) { .insights-grid { grid-template-columns: 1fr; } .insights-grid > :first-child { grid-column: auto; } }

  .insight {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 28px;
    background: var(--bg-elev);
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s var(--ease-out), background 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
  }
  .insight:hover { border-color: var(--border-strong); box-shadow: 0 16px 40px -16px rgba(10,22,40,0.08); }
  .insight.feature {
    background: linear-gradient(160deg, #fff 0%, #f3f0ea 100%);
    grid-row: span 1;
  }
  .insight-cat {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--red);
    letter-spacing: -0.005em;
  }
  .insight h3 {
    margin-top: 16px;
    font-size: 22px;
    font-weight: 400;
    color: var(--fg);
    letter-spacing: -0.025em;
    line-height: 1.2;
    flex: 1;
  }
  .insight.feature h3 { font-size: 28px; line-height: 1.15; }
  .insight-meta {
    margin-top: 32px;
    display: flex;
    justify-content: space-between;
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
    border-top: 1px solid var(--border);
    padding-top: 14px;
  }

  /* ---------------- PARTNERS ---------------- */
  .partners-strip {
    border-block: 1px solid var(--border);
    padding: 28px 0;
    overflow: hidden;
    position: relative;
    background: var(--bg-elev);
  }
  .partners-strip::before, .partners-strip::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
  }
  .partners-strip::before { left: 0; background: linear-gradient(90deg, var(--bg-elev), transparent); }
  .partners-strip::after { right: 0; background: linear-gradient(-90deg, var(--bg-elev), transparent); }
  .partners-track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: marquee 50s linear infinite;
    align-items: center;
  }
  .partners-strip:hover .partners-track { animation-play-state: paused; }
  @keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  .partner-slot {
    flex: 0 0 auto;
    width: 180px;
    height: 80px;
    border: 1px dashed var(--border-strong);
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: var(--layer);
    overflow: hidden;
    transition: border-color 0.3s var(--ease-out), background 0.3s var(--ease-out);
  }
  .partner-slot:hover { border-color: var(--red); background: #fff; }
  .partner-slot img { max-width: 76%; max-height: 60%; object-fit: contain; display: block; filter: grayscale(1) contrast(0.8); opacity: 0.8; transition: filter 0.3s var(--ease-out), opacity 0.3s var(--ease-out); }
  .partner-slot:hover img { filter: none; opacity: 1; }
  .partner-slot .ph-label {
    font-family: 'Manrope', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: -0.005em;
    color: var(--muted);
    text-align: center;
    padding: 0 12px;
    line-height: 1.4;
  }
  .partner-slot .ph-label b {
    display: block;
    color: var(--fg-dim);
    font-weight: 500;
    font-size: 13px;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
  }

  /* ---------------- CERT ---------------- */
  .cert-banner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 32px;
    align-items: center;
    padding: 32px 36px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background:
      radial-gradient(ellipse 60% 100% at 0% 50%, rgba(201,24,47,0.06), transparent 60%),
      linear-gradient(180deg, #ffffff, #faf7f1);
  }
  @media (max-width: 800px) { .cert-banner { grid-template-columns: 1fr; gap: 16px; } }
  .cert-mark {
    width: 88px;
    height: 88px;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 12px;
    color: var(--fg);
    text-align: center;
    line-height: 1.2;
    position: relative;
    background: var(--bg-elev);
    letter-spacing: -0.01em;
  }
  .cert-mark::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 1px dashed rgba(201,24,47,0.5);
    animation: spin 16s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .cert-text h3 {
    font-size: 22px;
    font-weight: 400;
    color: var(--fg);
    letter-spacing: -0.02em;
  }
  .cert-text p {
    font-size: 13.5px;
    color: var(--muted-2);
    margin-top: 6px;
    font-weight: 300;
  }

  /* ---------------- CONTACT ---------------- */
  .contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
  }
  @media (max-width: 900px) { .contact { grid-template-columns: 1fr; gap: 48px; } }

  .contact-info {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .contact-info h2 {
    font-size: clamp(36px, 4.4vw, 64px);
    font-weight: 200;
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--fg);
  }
  .contact-info h2 em {
    font-style: normal;
    color: var(--red);
    font-weight: 300;
  }
  .contact-info p {
    color: var(--muted-2);
    font-size: 16px;
    max-width: 44ch;
    font-weight: 300;
  }
  .contact-meta {
    display: grid;
    gap: 16px;
    margin-top: 16px;
    border-top: 1px solid var(--border);
    padding-top: 24px;
  }
  .contact-meta-row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 24px;
    font-size: 13.5px;
    color: var(--fg-dim);
    align-items: start;
  }
  .contact-meta-row .lab {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--fg-dim);
    letter-spacing: -0.005em;
    padding-top: 2px;
  }

  .form {
    display: grid;
    gap: 14px;
    background: var(--bg-elev);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 30px 60px -30px rgba(10,22,40,0.10);
  }
  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  @media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }
  .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .field label {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted-2);
    letter-spacing: -0.005em;
  }
  .field input, .field textarea, .field select {
    background: transparent;
    border: 1px solid var(--border-strong);
    color: var(--fg);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    padding: 12px 14px;
    border-radius: 6px;
    transition: border-color 0.2s var(--ease-out), background 0.2s var(--ease-out);
    outline: none;
  }
  .field input:focus, .field textarea:focus, .field select:focus {
    border-color: var(--red);
    background: rgba(201,24,47,0.03);
  }
  .field textarea { resize: vertical; min-height: 100px; font-family: inherit; }

  .form-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 6px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .form-foot .note {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }

  /* ---------------- FOOTER ---------------- */
  footer {
    border-top: 1px solid var(--border);
    padding: 80px 0 32px;
    margin-top: 0;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(4, 1fr);
    gap: 40px;
  }
  @media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 600px) { .footer-grid { grid-template-columns: 1fr; } }

  .footer-brand p {
    margin-top: 16px;
    color: var(--muted-2);
    font-size: 13px;
    max-width: 32ch;
    font-weight: 300;
    line-height: 1.55;
  }

  .footer-col h5 {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    color: var(--fg);
    letter-spacing: -0.01em;
    margin-bottom: 18px;
    font-weight: 500;
  }
  .footer-col ul { list-style: none; display: grid; gap: 10px; }
  .footer-col li {
    color: var(--fg-dim);
    font-size: 13px;
    font-weight: 300;
  }

  .footer-bottom {
    margin-top: 56px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: -0.005em;
  }

  /* ---------------- WHATSAPP FAB ---------------- */
  .wa-fab {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: grid;
    place-items: center;
    z-index: 90;
    box-shadow: 0 12px 30px -8px rgba(37, 211, 102, 0.45);
    transition: transform 0.3s var(--ease-out);
    text-decoration: none;
  }
  .wa-fab::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.3);
    z-index: -1;
    animation: wa-pulse 2.4s ease-in-out infinite;
  }
  @keyframes wa-pulse {
    0% { transform: scale(0.95); opacity: 0.7; }
    70% { transform: scale(1.5); opacity: 0; }
    100% { transform: scale(1.5); opacity: 0; }
  }
  .wa-fab:hover { transform: scale(1.06); }

  /* mobile nav hide */
  @media (max-width: 900px) {
    .nav, .header-cta { display: none !important; }
  }


/* ============ AJUSTES SOLICITADOS NAMIRIAL / LATINUS ============ */
body { font-size: 16px; }
.header, .header.scrolled {
  background: rgba(5, 8, 14, 0.98);
  border-bottom-color: rgba(255,255,255,0.10);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.header .logo, .header .nav-item { color: #fff; }
.header .logo small { color: rgba(255,255,255,0.68); }
.header .logo svg circle, .header .logo svg path { stroke: #fff; }
.header .nav-item:hover { color: #fff; background: rgba(255,255,255,0.06); }
.header-cta { background: var(--red); border-color: var(--red); }
.header-cta:hover { background: #a81325; }
.nav .megamenu-wrap { position: static; height: 100%; }
.nav .megamenu {
  position: fixed;
  top: 74px;
  left: 0;
  right: 0;
  width: 100vw;
  min-width: 0;
  transform: translateY(-10px);
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  padding: 34px max(32px, calc((100vw - 1320px) / 2 + 32px));
  background: rgba(255,255,255,0.98);
}
.nav .megamenu-wrap:hover .megamenu,
.nav .megamenu-wrap:focus-within .megamenu { transform: translateY(0); }
.megamenu-inner { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 34px; align-items: stretch; }
.megamenu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mega-item { min-height: 154px; border-radius: 0; border-bottom: 1px solid var(--border); }
.mega-item .mtitle { font-size: 16px; }
.mega-item .mdesc { font-size: 13px; }
.mega-side { background: #f0f0f2; padding: 26px 28px; display: grid; gap: 24px; }
.mega-side h4 { font-size: 18px; font-weight: 600; color: var(--fg); margin-bottom: 12px; }
.mega-side a { display: block; padding: 8px 0; color: var(--fg-dim); font-size: 14px; }
.section-dark { background: #05080e; color: #fff; }
.section-dark .eyebrow, .section-dark .block-head h2, .section-dark .block-head p, .section-dark .vertical-title, .section-dark .vertical-desc, .section-dark .vertical-foot .partners, .section-dark .vertical-foot .more { color: #fff; }
.section-dark .block-head h2 em { color: rgba(255,255,255,0.58); }
.section-dark .verticals-grid { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.14); }
.section-dark .vertical-card { background: #0b0f17; color: #fff; }
.section-dark .vertical-card:hover { background: #121824; }
.section-dark .vertical-tag { border-color: rgba(255,255,255,0.24); color: rgba(255,255,255,0.78); }
.section-dark .vertical-foot { border-top-color: rgba(255,255,255,0.12); }
.stats-section { background: #05080e; padding: 72px 0; }
.stats-section .stats { border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.10); }
.stats-section .stat { background: #0b0f17; }
.stats-section .stat .sv, .stats-section .stat .sd { color: #fff; }
.stats-section .stat .sk { color: rgba(255,255,255,0.58); }
.partners-vertical-section { background: var(--bg-elev); padding: 80px 0 40px; }
.partners-vertical { height: 460px; overflow: hidden; position: relative; mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%); }
.partners-vertical-cols { display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.partners-vertical-col { display:flex; flex-direction:column; gap:14px; animation: verticalMarquee 28s linear infinite; }
.partners-vertical-col.reverse { animation-direction: reverse; animation-duration: 34s; }
.partners-vertical:hover .partners-vertical-col { animation-play-state: paused; }
@keyframes verticalMarquee { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.partners-vertical .partner-slot { width: 100%; height: 96px; border-style: solid; background: #fff; }
.partners-vertical .partner-slot img { filter: grayscale(1) contrast(.85); opacity:.82; }
.news-events-grid { display:grid; grid-template-columns: 1.3fr .9fr; gap: 38px; }
.news-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.news-card, .event-item-card { border:1px solid var(--border); background: var(--bg-elev); border-radius:12px; overflow:hidden; }
.news-card .news-body, .event-item-card { padding:22px; }
.news-card h3, .event-item-card h3 { font-size: 17px; line-height:1.35; font-weight:500; }
.news-meta, .event-meta { color: var(--muted); font-size:12px; margin-top:14px; }
.black-spacer { background:#05080e; height: 72px; }
.cta-band { background:#05080e; color:#fff; padding:64px 0; }
.cta-band .container { display:flex; justify-content:space-between; gap:24px; align-items:center; flex-wrap:wrap; }
.cta-band h2 { font-size: clamp(28px, 3vw, 44px); font-weight:300; letter-spacing:-.03em; }
.contact-meta.compact { grid-template-columns: repeat(2, minmax(0,1fr)); }
.contact-meta.compact .contact-meta-row span:last-child { font-size: 18px; color: var(--fg); }
.footer-contact { margin-top:22px; display:grid; gap:8px; color:var(--muted-2); font-size:13px; }
@media (max-width: 900px) { .megamenu-inner, .news-events-grid { grid-template-columns: 1fr; } .megamenu-grid, .partners-vertical-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .megamenu-grid, .news-grid, .partners-vertical-cols { grid-template-columns: 1fr; } }

/* Ajustes segunda ronda */
.megamenu { max-height: calc(100vh - 74px); overflow-y: auto; }
.mega-item .msubs { list-style: none; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); display: grid; gap: 7px; }
.mega-item .msubs li { font-size: 12.5px; line-height: 1.35; color: var(--muted-2); }
.mega-item:hover .msubs li { color: var(--fg-dim); }
.news-card, .event-item-card { color: inherit; text-decoration: none; }
.news-card h3, .event-item-card h3 { color: var(--fg); text-decoration: none; }
.news-card:hover h3 { color: var(--fg); text-decoration: none; }
.column-title { font-size: 22px; font-weight: 500; margin-bottom: 24px; letter-spacing: -0.02em; color: var(--fg); }
.partners-vertical-section { padding: 88px 0; }
#insights { padding-top: 96px; }
.cert-banner { background: #fff; }
#contacto .contact-info { padding-top: 22px; }
@media (max-width:900px){ .partners-vertical-section { padding: 72px 0; } }



/* ===== FINAL UX/UI POLISH - NO ESTRUCTURAL CHANGES ===== */
:root { --premium-ease: cubic-bezier(.22, 1, .36, 1); }
body { text-rendering: geometricPrecision; }
.header {
  background: rgba(5, 8, 14, 0.98) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.header.scrolled { background: rgba(5,8,14,.94) !important; }
.logo, .nav-item { color: rgba(255,255,255,.88) !important; }
.logo small { color: rgba(255,255,255,.52) !important; }
.logo-mark svg circle:first-child,
.logo-mark svg path { stroke: rgba(255,255,255,.86) !important; }
.nav-item:hover, .megamenu-wrap:hover .nav-item, .megamenu-wrap:focus-within .nav-item { color: #fff !important; }
.nav-item { transition: color .28s var(--premium-ease), background .28s var(--premium-ease), transform .28s var(--premium-ease); }
.nav-item:hover { background: rgba(255,255,255,.06); }

.megamenu-wrap { position: static !important; height: 100%; display:flex; align-items:center; }
.megamenu-wrap::after {
  content:""; position: fixed; left:0; right:0; top:72px; height:18px; z-index:98; pointer-events:none;
}
.megamenu-wrap:hover::after, .megamenu-wrap:focus-within::after { pointer-events:auto; }
.megamenu {
  position: fixed !important;
  top: 74px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  min-width: 0 !important;
  max-width: none !important;
  transform: translateY(-8px) !important;
  border-radius: 0 0 12px 12px !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  padding: 0 !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 38px 70px -32px rgba(0,0,0,.38) !important;
  transition: opacity .34s var(--premium-ease), transform .34s var(--premium-ease), visibility .34s var(--premium-ease) !important;
  visibility: hidden;
  z-index: 99;
  max-height: calc(100vh - 76px);
  overflow: hidden;
}
.megamenu-wrap:hover .megamenu,
.megamenu-wrap:focus-within .megamenu,
.megamenu-wrap.is-open .megamenu {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible;
  transform: translateY(0) !important;
}
.megamenu-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 30px 32px 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 34px;
  align-items: stretch;
}
.megamenu-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 14px !important;
  min-width: 0;
}
.mega-item {
  min-height: 170px;
  padding: 0 18px 18px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(10,22,40,.12) !important;
  background: transparent !important;
  transition: background .28s var(--premium-ease), transform .28s var(--premium-ease), border-color .28s var(--premium-ease) !important;
}
.mega-item:hover { background: rgba(10,22,40,.025) !important; transform: translateY(-2px); }
.mega-item .mlabel { font-size: 12px !important; color: var(--red) !important; font-weight: 500 !important; margin-bottom: 10px !important; }
.mega-item .mtitle { font-size: 18px !important; line-height: 1.25 !important; font-weight: 500 !important; color: var(--fg) !important; }
.mega-item .mdesc { font-size: 14px !important; line-height: 1.65 !important; color: var(--muted-2) !important; margin-top: 10px !important; }
.mega-item .msubs { margin-top: 16px !important; padding-top: 14px !important; border-top: 1px solid rgba(10,22,40,.08); gap: 7px !important; }
.mega-item .msubs li { font-size: 13.5px !important; color: var(--muted-2) !important; }
.mega-side {
  position: sticky;
  top: 0;
  align-self: stretch;
  background: #f0f0f2 !important;
  padding: 28px 30px !important;
  display: grid !important;
  align-content: start;
  gap: 26px !important;
  overflow: hidden;
}
.mega-side h4 { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 14px !important; }
.mega-side a { display:block; padding: 8px 0 !important; font-size: 14px !important; color: var(--fg-dim) !important; text-decoration: none !important; line-height: 1.4; }
.mega-side a:hover { color: var(--red) !important; }

.reveal {
  transform: translateY(16px) !important;
  filter: blur(3px) !important;
  transition: opacity .95s var(--premium-ease), transform .95s var(--premium-ease), filter .95s var(--premium-ease) !important;
}
.reveal.in { transform: translateY(0) !important; filter: blur(0) !important; }
.vertical-card, .service, .case, .news-card, .event-item-card, .partner-slot, .btn {
  transition-duration: .34s !important;
  transition-timing-function: var(--premium-ease) !important;
}
.vertical-card:hover, .service:hover, .case:hover, .news-card:hover, .blog-card:hover { transform: translateY(-2px) !important; }

.stats { background: #05080e !important; border-block: 1px solid rgba(255,255,255,.08) !important; gap: 1px !important; }
.stat { background: #080c13 !important; color: #fff !important; padding: 54px 32px !important; }
.stat .sk, .stat .sd { color: rgba(255,255,255,.62) !important; }
.stat .sv { color: #fff !important; transition: opacity .35s var(--premium-ease), transform .35s var(--premium-ease); }
.stat .sv .unit { color: var(--red) !important; }

#insights {
  background: #05080e !important;
  color: #fff !important;
  padding: 104px 0 !important;
}
#insights .block-head h2, #insights .column-title { color: #fff !important; }
#insights .block-head h2 em, #insights .block-head p { color: rgba(255,255,255,.62) !important; }
#insights .eyebrow { color: rgba(255,255,255,.82) !important; }
.news-events-grid { align-items: start; }
.news-card, .event-item-card {
  background: #0b1018 !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  color: #fff !important;
  text-decoration: none !important;
}
.news-card *, .event-item-card * { text-decoration: none !important; }
.news-card h3, .event-item-card h3 { color: #fff !important; }
.news-meta, .event-meta { color: rgba(255,255,255,.58) !important; }
.news-card .case-image { border-bottom-color: rgba(255,255,255,.10) !important; }
.news-card .placeholder {
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important;
  color: rgba(255,255,255,.48) !important;
}
#insights .btn-ghost { color: #fff !important; border-color: rgba(255,255,255,.32) !important; }
#insights .btn-ghost:hover { background: rgba(255,255,255,.08) !important; }

.cert-section { background:#fff !important; padding-top: 70px !important; padding-bottom: 86px !important; }
.cert-banner { background:#fff !important; box-shadow: 0 20px 60px -42px rgba(10,22,40,.35) !important; }
.cta-band { background:#05080e !important; }
.contact-meta-row { grid-template-columns: 1fr !important; gap: 4px !important; }
.contact-meta-row .lab { display:none !important; }
.contact-meta-row div:not(.lab) { font-size: 15px; }

@media (max-width: 1100px) {
  .megamenu-inner { grid-template-columns: 1fr 280px; gap: 24px; padding-inline: 24px; }
  .megamenu-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 820px) {
  .header { position: sticky !important; }
  .header-inner { gap: 14px !important; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
  .logo { width: 100%; justify-content: center; }
  .nav { order: 3; width: 100%; justify-content: center; gap: 4px; overflow-x: auto; padding-bottom: 2px; }
  .nav-item { font-size: 12px !important; padding: 9px 10px !important; white-space: nowrap; }
  .header-cta { margin-left: auto; margin-right: auto; padding: 10px 14px !important; }
  .megamenu { top: 128px !important; max-height: calc(100vh - 128px); overflow-y: auto; }
  .megamenu-inner { grid-template-columns: 1fr; padding: 22px 20px 26px; gap: 20px; }
  .megamenu-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .mega-item { min-height: auto; padding: 14px 0 !important; }
  .mega-side { position: relative; padding: 22px !important; }
  .news-events-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .news-grid { grid-template-columns: 1fr !important; }
  .stats { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .container { padding-left: 18px !important; padding-right: 18px !important; }
  .header-inner { padding-left: 18px !important; padding-right: 18px !important; }
  .hero h1 { font-size: clamp(38px, 14vw, 58px) !important; }
  section.block { padding: 72px 0 !important; }
  #insights { padding: 76px 0 !important; }
  .stats { grid-template-columns: 1fr !important; }
  .stat { padding: 38px 24px !important; }
  .cert-banner { grid-template-columns: 1fr !important; padding: 28px 24px !important; }
  .contact-info h2 { font-size: clamp(40px, 13vw, 58px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}


.megamenu-wrap.is-open .megamenu { opacity:1 !important; pointer-events:auto !important; visibility:visible !important; transform:translateY(0) !important; }

/* FIX FINAL: toggle estable del mega menú por click */
.megamenu-wrap.is-suppressed .megamenu {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
}
.megamenu-wrap.is-suppressed .nav-item .chev { transform: rotate(0deg) !important; }


/* ===== AJUSTE PUNTUAL FINAL: HERO SLIDER + MENU MOBILE + CARDS INTERACTIVAS ===== */
.mobile-menu-toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.16); border-radius:8px; background:rgba(255,255,255,.04); align-items:center; justify-content:center; flex-direction:column; gap:5px; color:#fff; }
.mobile-menu-toggle span { width:20px; height:2px; background:currentColor; border-radius:999px; transition:transform .28s var(--premium-ease), opacity .28s var(--premium-ease); }
.header.mobile-open .mobile-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.header.mobile-open .mobile-menu-toggle span:nth-child(2) { opacity:0; }
.header.mobile-open .mobile-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.hero-slider-home { min-height: 92vh !important; padding-top: 118px !important; padding-bottom: 118px !important; background:#05080e !important; }
.hero-slider-home #hero-canvas { opacity:.18; mix-blend-mode:screen; z-index:2; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.05s var(--premium-ease), transform 1.2s var(--premium-ease); transform:scale(1.02); z-index:0; }
.hero-slide.is-active { opacity:1; transform:scale(1); }
.hero-slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.hero-bg-1 { background-image: linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.68) 42%, rgba(5,8,14,.22) 100%), radial-gradient(circle at 74% 34%, rgba(201,24,47,.24), transparent 30%), linear-gradient(135deg, #121827 0%, #05080e 72%); }
.hero-bg-2 { background-image: linear-gradient(115deg, rgba(5,8,14,.90) 0%, rgba(5,8,14,.64) 45%, rgba(5,8,14,.18) 100%), radial-gradient(circle at 70% 40%, rgba(255,255,255,.18), transparent 28%), repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 58px), linear-gradient(135deg, #2b303a 0%, #070b12 70%); }
.hero-bg-3 { background-image: linear-gradient(115deg, rgba(5,8,14,.88) 0%, rgba(5,8,14,.62) 48%, rgba(5,8,14,.20) 100%), radial-gradient(circle at 72% 36%, rgba(201,24,47,.18), transparent 31%), linear-gradient(135deg, #1a2234 0%, #090d15 76%); }
.hero-bg-4 { background-image: linear-gradient(115deg, rgba(5,8,14,.90) 0%, rgba(5,8,14,.66) 46%, rgba(5,8,14,.24) 100%), radial-gradient(circle at 78% 30%, rgba(255,255,255,.14), transparent 28%), linear-gradient(145deg, #191f2c 0%, #05080e 72%); }
.hero-slider-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(5,8,14,.14) 0%, rgba(5,8,14,.05) 42%, rgba(5,8,14,.82) 100%); pointer-events:none; }
.hero-slider-content { z-index:5 !important; color:#fff; }
.hero-slider-content .hero-tag { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:rgba(255,255,255,.88); }
.hero-slider-content h1, .hero-slider-content .hero-sub, .hero-slider-content .hero-meta-item .v { color:#fff !important; }
.hero-slider-content h1 .stroke { -webkit-text-stroke:1px rgba(255,255,255,.78) !important; color:transparent !important; }
.hero-slider-content .hero-sub, .hero-slider-content .hero-meta-item .k { color:rgba(255,255,255,.72) !important; }
.hero-slider-content .btn-ghost { color:#fff !important; border-color:rgba(255,255,255,.34) !important; background:rgba(255,255,255,.04); }
.hero-slider-dots { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); z-index:6; display:flex; gap:10px; }
.hero-slider-dots button { width:42px; height:3px; border-radius:999px; background:rgba(255,255,255,.32); border:0; padding:0; transition:background .35s var(--premium-ease), width .35s var(--premium-ease); }
.hero-slider-dots button.is-active { width:70px; background:var(--red); }

.section-dark .vertical-card { min-height:330px; isolation:isolate; }
.section-dark .vertical-card .vertical-desc, .section-dark .vertical-card .vertical-tags, .section-dark .vertical-card .vertical-foot { opacity:0; max-height:0; overflow:hidden; transform:translateY(10px); transition:opacity .38s var(--premium-ease), transform .38s var(--premium-ease), max-height .48s var(--premium-ease), margin .38s var(--premium-ease); }
.section-dark .vertical-card:hover .vertical-desc, .section-dark .vertical-card:hover .vertical-tags, .section-dark .vertical-card:hover .vertical-foot, .section-dark .vertical-card.is-active .vertical-desc, .section-dark .vertical-card.is-active .vertical-tags, .section-dark .vertical-card.is-active .vertical-foot, .section-dark .vertical-card:focus-within .vertical-desc, .section-dark .vertical-card:focus-within .vertical-tags, .section-dark .vertical-card:focus-within .vertical-foot { opacity:1; max-height:260px; transform:translateY(0); }
.section-dark .vertical-card:hover .vertical-desc, .section-dark .vertical-card.is-active .vertical-desc { margin-top:14px; }
.section-dark .vertical-card:hover .vertical-tags, .section-dark .vertical-card.is-active .vertical-tags { margin-top:20px; }
.section-dark .vertical-card:hover .vertical-foot, .section-dark .vertical-card.is-active .vertical-foot { margin-top:24px; }

@media (max-width: 900px) {
  .mobile-menu-toggle { display:flex; order:2; margin-left:auto; }
  .header-inner { flex-wrap:nowrap !important; height:auto !important; min-height:74px; }
  .logo { width:auto !important; justify-content:flex-start !important; }
  .header-cta { display:none !important; }
  .nav { display:flex !important; position:fixed; top:74px; left:0; right:0; bottom:0; width:100% !important; order:initial !important; flex-direction:column; align-items:stretch !important; justify-content:flex-start !important; gap:0 !important; padding:12px 18px 28px !important; background:rgba(5,8,14,.98); transform:translateX(100%); opacity:0; visibility:hidden; transition:transform .34s var(--premium-ease), opacity .34s var(--premium-ease), visibility .34s var(--premium-ease); overflow-y:auto; z-index:110; }
  .header.mobile-open .nav { transform:translateX(0); opacity:1; visibility:visible; }
  .nav .nav-item { width:100%; min-height:48px; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.10); padding:14px 4px !important; }
  .megamenu-wrap { display:block !important; height:auto !important; width:100%; }
  .megamenu { position:static !important; width:100% !important; max-height:0 !important; overflow:hidden !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:none !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important; border:0 !important; transition:max-height .42s var(--premium-ease) !important; }
  .megamenu-wrap.is-open .megamenu { max-height:1200px !important; }
  .megamenu-inner { padding:12px 0 18px !important; grid-template-columns:1fr !important; gap:14px !important; }
  .megamenu-grid { grid-template-columns:1fr !important; gap:0 !important; }
  .mega-item { color:#fff !important; min-height:auto !important; padding:14px 0 !important; border-bottom:1px solid rgba(255,255,255,.10) !important; }
  .mega-item .mtitle { color:#fff !important; font-size:16px !important; }
  .mega-item .mdesc, .mega-item .msubs li { color:rgba(255,255,255,.68) !important; }
  .mega-side { background:rgba(255,255,255,.06) !important; padding:18px !important; }
  .mega-side h4, .mega-side a { color:#fff !important; }
  .hero-slider-home { min-height:88vh !important; padding-top:106px !important; padding-bottom:96px !important; }
  .hero-slider-content .hero-tag { display:none !important; }
  .hero-slider-content h1 { font-size:clamp(42px, 13vw, 62px) !important; max-width:11ch !important; }
  .hero-slider-content .hero-sub { font-size:15px !important; max-width:34ch !important; }
  .hero-meta { gap:18px !important; margin-top:36px !important; }
  .hero-slider-dots { bottom:24px; }
  .hero-slider-dots button { width:30px; }
  .hero-slider-dots button.is-active { width:54px; }
}

@media (max-width: 560px) {
  .hero-slider-home { min-height:86vh !important; padding-top:96px !important; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .hero-meta { display:none !important; }
  .section-dark .vertical-card { min-height:230px; }
}



/* ===== AJUSTE FINAL REAL: HERO PREMIUM TIPO NAMIRIAL ===== */
.hero-namirial-style {
  min-height: 640px !important;
  height: min(760px, 86vh);
  padding-top: 110px !important;
  padding-bottom: 0 !important;
  align-items: stretch !important;
  background: #05080e !important;
}
.hero-namirial-style .hero-slide-bg {
  background-size: cover, auto, auto, cover;
  background-position: center;
}
.hero-namirial-style .hero-bg-1 {
  /* Imagen real desde servidor: /latinus/bannerprincipal/Identity.jpg */
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.55) 42%, rgba(5,8,14,.16) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Identity.jpg');
  background-size: cover, cover;
  background-position: center, center;
}
.hero-namirial-style .hero-bg-2 {
  /* Imagen real desde servidor: /latinus/bannerprincipal/connect.jpg */
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.78) 0%, rgba(5,8,14,.50) 44%, rgba(5,8,14,.14) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/connect.jpg');
  background-size: cover, cover;
  background-position: center, center;
}
.hero-namirial-style .hero-bg-3 {
  /* Imagen real desde servidor: /latinus/bannerprincipal/Solutions.jpg */
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.80) 0%, rgba(5,8,14,.52) 45%, rgba(5,8,14,.15) 80%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Solutions.jpg');
  background-size: cover, cover;
  background-position: center, center;
}
.hero-namirial-style .hero-bg-4 {
  /* Imagen real desde servidor: /latinus/bannerprincipal/Engineering.jpg */
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.80) 0%, rgba(5,8,14,.54) 43%, rgba(5,8,14,.16) 80%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Engineering.jpg');
  background-size: cover, cover;
  background-position: center, center;
}
.hero-namirial-style .hero-slider-overlay {
  background: linear-gradient(180deg, rgba(5,8,14,.04) 0%, rgba(5,8,14,.08) 48%, rgba(5,8,14,.60) 100%) !important;
}
.hero-namirial-style .hero-slider-content {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 94px;
}
.hero-copy-shell { max-width: 620px; }
.hero-kicker {
  color: var(--red);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.hero-namirial-style .hero-tag { display:none !important; }
.hero-namirial-style h1 {
  max-width: 13.8ch !important;
  font-size: clamp(38px, 4.45vw, 68px) !important;
  line-height: 1.03 !important;
  font-weight: 300 !important;
  letter-spacing: -0.045em !important;
  color: #fff !important;
}
.hero-namirial-style h1 em {
  color: var(--red) !important;
  font-weight: 400 !important;
}
.hero-namirial-style .hero-sub {
  max-width: 48ch !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.55 !important;
  margin-top: 22px;
  color: rgba(255,255,255,.80) !important;
}
.hero-namirial-style .hero-actions { margin-top: 28px !important; }
.hero-tabbar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 8;
  min-height: 76px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: rgba(255,255,255,.78);
  border-top: 1px solid rgba(255,255,255,.52);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 -18px 44px rgba(5,8,14,.18);
}
.hero-tab {
  position: relative;
  border: 0;
  background: transparent;
  padding: 18px 28px;
  text-align: center;
  color: rgba(10,22,40,.62);
  transition: color .35s var(--premium-ease), background .35s var(--premium-ease);
}
.hero-tab + .hero-tab { border-left: 1px solid rgba(10,22,40,.08); }
.hero-tab span { display:block; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; }
.hero-tab small { display:block; margin-top: 4px; font-size: 11px; font-weight: 400; color: rgba(10,22,40,.48); }
.hero-tab::before {
  content: '';
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--red);
  transform: scaleX(0);
  transition: transform .42s var(--premium-ease);
}
.hero-tab.is-active { color: var(--fg); background: rgba(255,255,255,.38); }
.hero-tab.is-active::before { transform: scaleX(1); }
.hero-slider-dots { display:none !important; }
.hero-premium-copy.is-changing .hero-kicker,
.hero-premium-copy.is-changing h1,
.hero-premium-copy.is-changing .hero-sub {
  opacity: 0;
  transform: translateY(10px);
}
.hero-premium-copy .hero-kicker,
.hero-premium-copy h1,
.hero-premium-copy .hero-sub {
  transition: opacity .36s var(--premium-ease), transform .36s var(--premium-ease);
}
@media (max-width: 900px) {
  .hero-namirial-style {
    min-height: 660px !important;
    height: auto;
    padding-top: 92px !important;
  }
  .hero-namirial-style .hero-slider-content {
    min-height: 660px;
    align-items: flex-end;
    padding-bottom: 158px;
  }
  .hero-copy-shell { max-width: 100%; }
  .hero-namirial-style h1 {
    max-width: 12ch !important;
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1.04 !important;
  }
  .hero-namirial-style .hero-sub { font-size: 15px !important; max-width: 34ch !important; }
  .hero-kicker { font-size: 11px; margin-bottom: 10px; }
  .hero-tabbar {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 72%;
    overflow-x: auto;
    min-height: 96px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .hero-tab { scroll-snap-align: start; padding: 18px 20px; text-align: left; }
  .hero-tab::before { left: 20px; right: 20px; }
  .hero-tab span { font-size: 13px; }
  .hero-tab small { font-size: 10.5px; }
}
@media (max-width: 560px) {
  .hero-namirial-style .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-namirial-style .btn { justify-content: center; width: 100%; }
}



/* ===== AJUSTES FINALES PUNTUALES LATINUS ===== */
.hero-namirial-style .hero-tabbar { backdrop-filter: blur(18px) saturate(145%); -webkit-backdrop-filter: blur(18px) saturate(145%); background: rgba(255,255,255,.82) !important; border-top: 1px solid rgba(255,255,255,.45); box-shadow: 0 -14px 42px -28px rgba(10,22,40,.45); }
.hero-namirial-style .hero-tab span { font-size: 14px; }
.hero-namirial-style .hero-tab small { font-size: 11px; }
.hero-namirial-style h1 { text-wrap: balance; }
.hero-namirial-style .hero-sub { max-width: 54ch; }

.subbrand-logo { width: 100%; height: 74px; margin-bottom: 16px; display:flex; align-items:center; justify-content:flex-start; border-bottom: 1px solid rgba(255,255,255,.08); }
.subbrand-logo img { max-width: 170px; max-height: 54px; object-fit: contain; object-position:left center; display:block; }
.subbrand-logo .logo-pending { display:none; color: rgba(255,255,255,.62); border: 1px dashed rgba(255,255,255,.18); border-radius: 8px; padding: 12px 16px; font-size: 11px; letter-spacing:.08em; text-transform:uppercase; }
.section-dark .vertical-card { transition: transform .55s var(--premium-ease), background .55s var(--premium-ease), box-shadow .55s var(--premium-ease); }
.section-dark .vertical-card:hover { box-shadow: 0 28px 80px -42px rgba(201,24,47,.42); }

.industries-section { background: linear-gradient(180deg, #fbfbf9 0%, #fff 100%); }
.industries-layout { display:grid; grid-template-columns: .9fr 1.35fr; gap: 56px; align-items:start; }
.industries-title { font-size: clamp(36px, 5.2vw, 72px); font-weight: 250; line-height:.98; letter-spacing:-.055em; color:var(--fg); margin-top:14px; }
.industries-title em { color:var(--muted-2); font-style:normal; font-weight:200; }
.industries-list { display:grid; gap:12px; margin-top:30px; border:1px solid var(--border); border-radius:14px; overflow:hidden; background:#fff; }
.industry-row { display:grid; grid-template-columns: 52px 1fr; gap:18px; padding:18px 20px; border-bottom:1px solid var(--border); transition: background .35s var(--premium-ease), transform .35s var(--premium-ease); }
.industry-row:last-child { border-bottom:0; }
.industry-row:hover { background:#fff7f8; transform: translateX(3px); }
.industry-row .num { color:var(--red); font-size:13px; font-weight:600; padding-top:2px; }
.industry-row h3 { font-size:17px; font-weight:600; margin-bottom:6px; letter-spacing:-.02em; }
.industry-row p { font-size:13px; color:var(--muted-2); line-height:1.55; max-width:58ch; }
.industries-board { position:relative; min-height:520px; border:1px solid var(--border); border-radius:18px; background: radial-gradient(circle at 50% 50%, rgba(201,24,47,.10), transparent 34%), linear-gradient(180deg,#fff,#faf7f4); box-shadow:0 34px 90px -58px rgba(10,22,40,.45); overflow:hidden; }
.industries-board::before { content:''; position:absolute; inset:0; background-image: linear-gradient(rgba(10,22,40,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(10,22,40,.035) 1px, transparent 1px); background-size:42px 42px; mask-image:radial-gradient(circle at 50% 50%, #000 25%, transparent 72%); opacity:.65; }
.industry-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:114px; height:114px; border-radius:18px; background:#fff; border:1px solid var(--border); display:grid; place-items:center; text-align:center; box-shadow:0 18px 46px -30px rgba(201,24,47,.9); z-index:2; }
.industry-core::before { content:''; width:16px; height:16px; border-radius:50%; background:var(--red); box-shadow:0 0 0 8px rgba(201,24,47,.10); display:block; margin:auto auto 6px; }
.industry-core span { font-size:13px; font-weight:600; color:var(--fg); }
.industry-node { position:absolute; width:210px; min-height:84px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,.94); box-shadow:0 14px 42px -36px rgba(10,22,40,.45); padding:16px; display:flex; gap:12px; align-items:flex-start; z-index:3; transition: transform .38s var(--premium-ease), border-color .38s var(--premium-ease), box-shadow .38s var(--premium-ease); }
.industry-node:hover { transform: translateY(-4px); border-color:rgba(201,24,47,.42); box-shadow:0 24px 56px -42px rgba(201,24,47,.55); }
.industry-node svg { flex:0 0 32px; width:32px; height:32px; color:var(--red); }
.industry-node h4 { font-size:14px; line-height:1.2; letter-spacing:-.02em; margin-bottom:5px; }
.industry-node p { font-size:11.5px; color:var(--muted-2); line-height:1.35; }
.industry-node.n1 { left:32px; top:74px; }
.industry-node.n2 { right:32px; top:74px; }
.industry-node.n3 { left:32px; bottom:74px; }
.industry-node.n4 { right:32px; bottom:74px; }
.industry-line { position:absolute; inset:0; z-index:1; pointer-events:none; }
.industry-line path { stroke: rgba(201,24,47,.52); stroke-width:1.5; stroke-dasharray:4 6; fill:none; animation: lineFlow 4.8s linear infinite; }
@keyframes lineFlow { to { stroke-dashoffset:-60; } }

.stats-section .stats { border-radius: 0; overflow:hidden; }
.stats-section .stat { min-height: 220px; justify-content:center; transition: background .5s var(--premium-ease), transform .5s var(--premium-ease); }
.stats-section .stat:hover { background:#101723 !important; transform: translateY(-2px); }
.stats-section .stat .sv { font-size: clamp(48px, 5.8vw, 78px) !important; letter-spacing:-.06em; }
.stats-section .stat .sd { font-size:15px !important; line-height:1.45; max-width:26ch; }
.stats-section .stat .sk { font-size:13px !important; letter-spacing:.02em; }

.partners-vertical .partner-slot { border: 1px solid rgba(10,22,40,.10) !important; background: #fff !important; min-height: 98px; box-shadow: 0 14px 40px -34px rgba(10,22,40,.36); }
.partners-vertical .partner-slot img { filter:none !important; opacity:1 !important; max-width:82% !important; max-height:58% !important; }
.partners-vertical-section .eyebrow { font-size: 15px !important; font-weight: 600; color: var(--fg) !important; }

#insights.blog-replacement { background:#05080e !important; padding: 110px 0 !important; }
#insights.blog-replacement .block-head h2, #insights.blog-replacement .column-title { color:#fff !important; }
#insights.blog-replacement .block-head h2 em, #insights.blog-replacement .block-head p { color:rgba(255,255,255,.64) !important; }
#insights.blog-replacement .news-card, #insights.blog-replacement .event-item-card { background:#0b0f17 !important; border-color:rgba(255,255,255,.12) !important; }
#insights.blog-replacement .news-body h3, #insights.blog-replacement .event-item-card h3 { color:#fff !important; }
#insights.blog-replacement .news-meta, #insights.blog-replacement .event-meta { color:rgba(255,255,255,.58) !important; }
#insights.blog-replacement .case-image { border-color:rgba(255,255,255,.10) !important; }
#insights.blog-replacement .placeholder { background:linear-gradient(135deg,#111827,#080b11) !important; }

.cert-banner.final-cert { grid-template-columns: auto 1fr; gap:30px; }
.cert-facts { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-top:1px solid var(--border); margin-top:18px; padding-top:28px; }
.cert-fact { padding: 10px 24px 8px 0; }
.cert-fact .label { display:block; color:var(--muted); font-size:16px; margin-bottom:10px; }
.cert-fact .value { display:block; color:var(--fg); font-size:clamp(26px,3vw,42px); font-weight:300; letter-spacing:-.04em; }

@media (max-width: 960px) { .industries-layout { grid-template-columns:1fr; gap:34px; } .industries-board { min-height:620px; } .industry-node { width:calc(50% - 44px); } .industry-node.n1,.industry-node.n3 { left:24px; } .industry-node.n2,.industry-node.n4 { right:24px; } .cert-facts { grid-template-columns:1fr; gap:14px; } }
@media (max-width: 640px) { .industries-title { font-size: clamp(42px, 12vw, 58px); } .industries-board { min-height:auto; padding:24px; display:grid; gap:12px; } .industry-core { position:relative; left:auto; top:auto; transform:none; width:100%; height:auto; min-height:86px; } .industry-node { position:relative; width:100%; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; } .industry-line { display:none; } .stats-section .stat { min-height:180px; } .cert-banner.final-cert { grid-template-columns:1fr; } .subbrand-logo { height:58px; } }


/* ===== AJUSTE PUNTUAL FINAL: INDUSTRIAS SIN LOTTIE + SLIDER 4s ===== */
.industries-section.final-industry-format {
  background: linear-gradient(180deg, #fbfbf9 0%, #ffffff 100%) !important;
}
.industries-section.final-industry-format .industries-layout {
  grid-template-columns: .82fr 1.38fr !important;
  align-items: stretch !important;
}
.industry-solutions-board {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg,#fff,#fbfaf7);
  box-shadow: 0 34px 90px -58px rgba(10,22,40,.45);
  overflow: hidden;
  display: grid;
  align-content: stretch;
}
.industry-board-head {
  display: grid;
  grid-template-columns: 1.05fr .95fr 1.15fr 1fr;
  background: #0b2a6f;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.industry-board-head span {
  padding: 15px 16px;
  border-right: 1px solid rgba(255,255,255,.18);
}
.industry-board-head span:last-child { border-right: 0; }
.industry-matrix { display: grid; gap: 0; }
.industry-matrix-row {
  display: grid;
  grid-template-columns: 1.05fr .95fr 1.15fr 1fr;
  min-height: 118px;
  border-bottom: 1px solid var(--border);
  transition: background .38s var(--premium-ease), transform .38s var(--premium-ease), box-shadow .38s var(--premium-ease);
}
.industry-matrix-row:last-child { border-bottom: 0; }
.industry-matrix-row:hover {
  background: #fff7f8;
  transform: translateY(-2px);
  box-shadow: 0 24px 64px -54px rgba(201,24,47,.55);
}
.industry-matrix-cell {
  padding: 18px 16px;
  border-right: 1px solid var(--border);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.industry-matrix-cell:last-child { border-right: 0; }
.industry-icon {
  width: 38px; height: 38px; flex: 0 0 38px;
  border-radius: 10px;
  display: grid; place-items: center;
  color: var(--red);
  background: rgba(201,24,47,.07);
  border: 1px solid rgba(201,24,47,.14);
}
.industry-icon svg { width: 24px; height: 24px; }
.industry-matrix-cell h4 {
  font-size: 14px;
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--fg);
  margin-bottom: 7px;
}
.industry-matrix-cell p, .industry-matrix-cell li {
  font-size: 12.2px;
  line-height: 1.45;
  color: var(--muted-2);
}
.industry-matrix-cell ul { margin: 0; padding-left: 16px; }
.solution-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.solution-pills span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(10,22,40,.10);
  background: #fff;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11.2px;
  color: var(--fg-dim);
  box-shadow: 0 10px 24px -22px rgba(10,22,40,.35);
}
.partner-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
  width: 100%;
}
.partner-mini span {
  min-height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(10,22,40,.10);
  background: #fff;
  display: grid; place-items: center;
  font-size: 10.8px;
  font-weight: 700;
  color: rgba(10,22,40,.62);
}
@media (max-width: 1100px) {
  .industries-section.final-industry-format .industries-layout { grid-template-columns: 1fr !important; }
  .industry-board-head { display:none; }
  .industry-matrix-row { grid-template-columns: 1fr 1fr; min-height: auto; border: 1px solid var(--border); border-radius: 14px; overflow:hidden; margin-bottom: 14px; }
  .industry-matrix-row:last-child { margin-bottom:0; }
  .industry-matrix-cell:nth-child(2n) { border-right:0; }
  .industry-matrix-cell:nth-child(-n+2) { border-bottom:1px solid var(--border); }
}
@media (max-width: 640px) {
  .industry-matrix-row { grid-template-columns: 1fr; }
  .industry-matrix-cell { border-right:0 !important; border-bottom:1px solid var(--border); }
  .industry-matrix-cell:last-child { border-bottom:0; }
  .partner-mini { grid-template-columns: repeat(2, minmax(0,1fr)); }
}


/* ===== Corrección puntual: industrias más limpia, sin tabla saturada ===== */
.industries-section.final-industry-format .industries-layout{
  grid-template-columns:.9fr 1.1fr !important;
  gap:56px !important;
  align-items:center !important;
}
.industry-focus-board{
  position:relative;
  min-height:520px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfaf7);
  box-shadow:0 34px 90px -58px rgba(10,22,40,.45);
  overflow:hidden;
}
.industry-focus-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(10,22,40,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,22,40,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 76%);opacity:.7;}
.industry-focus-board::after{content:'';position:absolute;inset:18% 22%;background:radial-gradient(circle,rgba(201,24,47,.10),transparent 66%);filter:blur(18px);pointer-events:none;}
.industry-focus-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:18px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;text-align:center;z-index:3;box-shadow:0 24px 52px -34px rgba(201,24,47,.9);padding:18px;}
.industry-focus-core span{width:17px;height:17px;border-radius:50%;background:var(--red);box-shadow:0 0 0 10px rgba(201,24,47,.10);display:block;}
.industry-focus-core strong{font-size:13px;line-height:1;color:var(--fg);}
.industry-focus-core small{font-size:12px;color:var(--fg-dim);}
.industry-focus-lines{position:absolute;inset:0;z-index:1;pointer-events:none;}
.industry-focus-lines path{stroke:rgba(201,24,47,.50);stroke-width:1.45;stroke-dasharray:4 7;fill:none;animation:lineFlow 5.6s linear infinite;}
.industry-focus-card{position:absolute;z-index:2;width:236px;min-height:104px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.94);padding:18px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 20px 50px -42px rgba(10,22,40,.45);transition:transform .45s var(--premium-ease),border-color .45s var(--premium-ease),box-shadow .45s var(--premium-ease);}
.industry-focus-card:hover{transform:translateY(-5px);border-color:rgba(201,24,47,.35);box-shadow:0 30px 70px -50px rgba(201,24,47,.55);}
.industry-focus-icon{width:34px;height:34px;flex:0 0 34px;color:var(--red);display:grid;place-items:center;}
.industry-focus-icon svg{width:32px;height:32px;}
.industry-focus-card h4{font-size:15px;line-height:1.18;font-weight:700;letter-spacing:-.02em;margin:0 0 7px;color:var(--fg);}
.industry-focus-card p{font-size:12.4px;line-height:1.42;color:var(--muted-2);margin:0;}
.industry-focus-card.card-bank{left:40px;top:78px;}
.industry-focus-card.card-gov{right:40px;top:78px;}
.industry-focus-card.card-telco{left:40px;bottom:78px;}
.industry-focus-card.card-health{right:40px;bottom:78px;}
@media (max-width:1100px){.industries-section.final-industry-format .industries-layout{grid-template-columns:1fr !important}.industry-focus-board{min-height:560px}}
@media (max-width:680px){.industry-focus-board{min-height:auto;padding:22px;display:grid;gap:12px}.industry-focus-grid,.industry-focus-lines{display:none}.industry-focus-core,.industry-focus-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none;width:100%;min-height:auto}.industry-focus-core{height:auto;display:flex;justify-content:center;gap:8px}.industry-focus-card:hover{transform:none}}



/* ============ REACOMODO PUNTUAL: INDUSTRIAS / ARQUITECTURA ============ */
.latinus-architecture-grid {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbf9 100%);
  overflow: hidden;
}
.latinus-architecture-grid .arch-head {
  max-width: 900px;
  margin: 0 auto 52px;
  text-align: center;
}
.latinus-architecture-grid .arch-head h2 {
  margin-top: 18px;
  font-size: clamp(40px, 5.2vw, 76px);
  line-height: .94;
  font-weight: 200;
  letter-spacing: -.055em;
  color: var(--fg);
}
.latinus-architecture-grid .arch-head h2 em {
  font-style: normal;
  color: var(--muted-2);
  font-weight: 200;
}
.latinus-architecture-grid .arch-head p {
  max-width: 680px;
  margin: 22px auto 0;
  color: var(--muted-2);
  font-size: 15px;
  line-height: 1.65;
}
.arch-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(10,22,40,.12);
  background: rgba(10,22,40,.12);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  box-shadow: 0 34px 80px -60px rgba(10,22,40,.55);
}
.arch-card {
  position: relative;
  min-height: 340px;
  padding: 34px 30px 28px;
  background: #0b0f17;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  isolation: isolate;
  overflow: hidden;
}
.arch-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(201,24,47,.16), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  opacity: .55;
  z-index: -1;
  transition: opacity .45s var(--premium-ease), transform .45s var(--premium-ease);
}
.arch-card:hover::before { opacity: .9; transform: scale(1.05); }
.arch-logo {
  position: absolute;
  top: 24px;
  left: 28px;
  width: 132px;
  height: 52px;
  border-radius: 8px;
  border: 1px dashed rgba(255,255,255,.30);
  background: rgba(255,255,255,.07);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.arch-logo img { max-width: 86%; max-height: 72%; object-fit: contain; display: block; }
.arch-logo span { display: none; font-size: 10px; color: rgba(255,255,255,.62); text-align: center; padding: 0 8px; line-height: 1.25; }
.arch-card h3 {
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -.035em;
  margin: 0 0 18px;
}
.arch-card h3 strong { color: var(--red); font-weight: 300; }
.arch-card p {
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.58;
  max-width: 28ch;
  margin: 0 0 28px;
}
.arch-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.13);
}
.arch-tags span {
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 7px 11px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  line-height: 1;
}
.arch-industries {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-top: 0;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
  background: #fff;
}
.arch-industries article {
  padding: 28px 26px;
  min-height: 156px;
  border-right: 1px solid var(--border);
  background:
    radial-gradient(circle at 8% 0%, rgba(201,24,47,.055), transparent 45%),
    #fff;
  transition: transform .45s var(--premium-ease), background .45s var(--premium-ease);
}
.arch-industries article:last-child { border-right: 0; }
.arch-industries article:hover { background: #fbfbf9; transform: translateY(-2px); }
.arch-industries span {
  display: inline-flex;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 18px;
}
.arch-industries h4 {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--fg);
  margin: 0 0 10px;
}
.arch-industries p {
  color: var(--muted-2);
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 1100px) {
  .arch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arch-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arch-industries article:nth-child(2) { border-right: 0; }
  .arch-industries article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}
@media (max-width: 640px) {
  .latinus-architecture-grid .arch-head { text-align: left; margin-bottom: 34px; }
  .latinus-architecture-grid .arch-head h2 { font-size: 42px; }
  .arch-grid, .arch-industries { grid-template-columns: 1fr; border-radius: 16px; }
  .arch-card { min-height: 300px; padding: 30px 24px 24px; }
  .arch-industries { margin-top: 14px; border-top: 1px solid var(--border); }
  .arch-industries article { border-right: 0; border-bottom: 1px solid var(--border); }
  .arch-industries article:last-child { border-bottom: 0; }
}



/* ===== AJUSTE FINAL: ARMONÍA TIPOGRÁFICA + RETIRO DE SECCIÓN DUPLICADA ===== */
/* Se reducen únicamente los títulos de secciones para que no compitan con el hero. */
.block-head h2 {
  font-size: clamp(30px, 3.25vw, 50px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
}
.section-title, .blog-head h2 {
  font-size: clamp(28px, 2.7vw, 40px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
}
.contact-info h2 {
  font-size: clamp(34px, 3.7vw, 54px) !important;
  line-height: 1.04 !important;
}
.cta-band h2 {
  font-size: clamp(28px, 2.8vw, 42px) !important;
  line-height: 1.08 !important;
}
.stats-section .stat .sv {
  font-size: clamp(40px, 4.6vw, 62px) !important;
}
@media (max-width: 640px) {
  .block-head h2, .contact-info h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
  .section-title, .blog-head h2 {
    font-size: clamp(26px, 8vw, 34px) !important;
  }
}



/* ===== CORRECCIONES PUNTUALES v3: imágenes stock, mobile menu, industrias, clientes y contador ===== */
/* IMPORTANTE: reemplazar estas URLs de stock por imágenes reales desde el servidor cuando estén listas. */
.hero-namirial-style .hero-bg-1 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.86) 0%, rgba(5,8,14,.58) 42%, rgba(5,8,14,.18) 78%),
    url('https://images.unsplash.com/photo-1551434678-e076c223a692?auto=format&fit=crop&w=1800&q=80') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
}
.hero-namirial-style .hero-bg-2 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.84) 0%, rgba(5,8,14,.54) 44%, rgba(5,8,14,.15) 78%),
    url('https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=1800&q=80') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
}
.hero-namirial-style .hero-bg-3 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.84) 0%, rgba(5,8,14,.54) 45%, rgba(5,8,14,.16) 80%),
    url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=1800&q=80') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
}
.hero-namirial-style .hero-bg-4 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.84) 0%, rgba(5,8,14,.56) 43%, rgba(5,8,14,.18) 80%),
    url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=80') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
}
.case-image img, .news-card .case-image img {
  width:100%; height:100%; object-fit:cover; display:block;
}

/* Menú mobile robusto: se abre/cierra con el botón y no queda pegado. */
@media (max-width: 900px) {
  .header .nav { display:none !important; }
  .header.mobile-open .nav {
    display:flex !important;
    position:absolute !important;
    top:100%; left:20px; right:20px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:#080c12;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    padding:12px;
    box-shadow:0 24px 70px rgba(0,0,0,.34);
    max-height:calc(100vh - 110px);
    overflow:auto;
  }
  .header.mobile-open .nav .nav-item,
  .header.mobile-open .nav > a {
    min-height:46px;
    width:100%;
    justify-content:space-between;
    border-radius:10px;
    color:#fff !important;
    padding:12px 14px;
  }
  .header .megamenu { display:none !important; }
  .header .megamenu-wrap.is-open .megamenu {
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    transform:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    margin:8px 0 4px;
    padding:14px;
    border-radius:12px;
    box-shadow:none;
    background:#fff;
  }
}

/* Industrias: versión limpia, blanca y alineada al sistema visual. */
.industries-focus-section {
  background:#fff;
  padding:96px 0;
  border-top:12px solid #05080e;
  border-bottom:12px solid #05080e;
}
.industries-focus-head {
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.industries-focus-head h2 {
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.02;
  letter-spacing:-.052em;
  font-weight:200;
  color:var(--fg);
  margin:14px 0 16px;
}
.industries-focus-head h2 em { font-style:normal; color:var(--muted-2); }
.industries-focus-head p { color:var(--muted-2); font-size:15.5px; line-height:1.6; }
.industries-focus-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.industry-focus-card {
  display:grid;
  grid-template-columns:170px 1fr;
  min-height:220px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 60px rgba(10,22,40,.06);
  transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .45s var(--ease-out);
}
.industry-focus-card:hover {
  transform:translateY(-4px);
  border-color:rgba(201,24,47,.22);
  box-shadow:0 28px 80px rgba(10,22,40,.10);
}
.industry-focus-media {
  position:relative;
  min-height:100%;
  background:#0a1628;
}
/* Reemplazar estas imágenes stock por imágenes reales desde el servidor. */
.industry-focus-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(.96); opacity:.82; }
.industry-focus-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,8,14,.08), rgba(5,8,14,.42)); }
.industry-focus-body { padding:24px 26px; display:flex; flex-direction:column; gap:14px; }
.industry-focus-top { display:flex; align-items:center; gap:12px; }
.industry-focus-num { color:var(--red); font-size:13px; font-weight:600; }
.industry-focus-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; border:1px solid rgba(201,24,47,.16); color:var(--red); background:rgba(201,24,47,.045); }
.industry-focus-icon svg { width:22px; height:22px; }
.industry-focus-card h3 { font-size:20px; line-height:1.2; font-weight:500; color:var(--fg); letter-spacing:-.02em; }
.industry-focus-card p { color:var(--muted-2); font-size:13.5px; line-height:1.55; }
.industry-focus-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.industry-focus-chips span { border:1px solid var(--border); border-radius:999px; padding:6px 10px; font-size:12px; color:var(--muted-2); background:#fff; }
@media (max-width: 980px) { .industries-focus-list { grid-template-columns:1fr; } }
@media (max-width: 640px) {
  .industries-focus-section { padding:72px 0; border-top-width:8px; border-bottom-width:8px; }
  .industries-focus-head { text-align:left; margin-bottom:30px; }
  .industries-focus-head h2 { font-size:clamp(34px, 10vw, 44px); }
  .industry-focus-card { grid-template-columns:42% 58%; min-height:190px; border-radius:18px; }
  .industry-focus-card:nth-child(even) { grid-template-columns:58% 42%; }
  .industry-focus-card:nth-child(even) .industry-focus-media { order:2; }
  .industry-focus-body { padding:18px 16px; gap:10px; }
  .industry-focus-icon { width:34px; height:34px; border-radius:10px; }
  .industry-focus-card h3 { font-size:17px; }
  .industry-focus-card p { font-size:12.5px; line-height:1.45; }
  .industry-focus-chips { display:none; }
}

/* Contador con título y mejor proporción móvil. */
.stats-section { padding:92px 0 !important; }
.stats-head { max-width:760px; margin:0 0 34px; text-align:left; color:#fff; }
.stats-head .eyebrow { color:rgba(255,255,255,.82); }
.stats-head h2 { margin-top:12px; font-size:clamp(30px, 3vw, 46px); line-height:1.06; letter-spacing:-.04em; font-weight:300; color:#fff; }
.stats-head p { margin:12px 0 0; max-width:58ch; color:rgba(255,255,255,.64); font-size:15px; line-height:1.55; }
@media (max-width: 640px) {
  .stats-section { padding:72px 0 !important; }
  .stats-head { text-align:left; margin-bottom:24px; }
  .stats-head h2 { font-size:32px; }
  .stats-section .stats { grid-template-columns:1fr !important; }
  .stats-section .stat { min-height:148px !important; padding:28px 24px !important; }
  .stats-section .stat .sv { font-size:clamp(48px, 18vw, 68px) !important; }
  .stats-section .stat .sd { font-size:14px !important; max-width:30ch; }
}

/* Clientes: logos tipográficos sobrios, legibles y monocromáticos. */
.partners-vertical-section { background:#fff !important; padding:86px 0 !important; }
.client-logo-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.client-logo-card {
  min-height:104px;
  border:1px solid var(--border);
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, #fff, #fafafa);
  box-shadow:0 14px 44px rgba(10,22,40,.045);
  transition:transform .35s var(--ease-out), border-color .35s var(--ease-out), opacity .35s var(--ease-out);
  opacity:.72;
}
.client-logo-card:hover { opacity:1; transform:translateY(-2px); border-color:rgba(10,22,40,.18); }
.client-logo-text {
  font-size:clamp(18px, 1.45vw, 24px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
  color:#56606f;
  text-transform:uppercase;
}
.client-logo-text.light { font-weight:500; letter-spacing:.02em; }
@media (max-width: 900px) { .client-logo-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .partners-vertical-section { padding:68px 0 !important; }
  .client-logo-grid { grid-template-columns:1fr; gap:12px; }
  .client-logo-card { min-height:88px; }
  .client-logo-text { font-size:22px; }
}



/* =========================================================
   CORRECCIÓN FINAL PUNTUAL: mobile menu, proporciones mobile,
   industrias, clientes y armonía visual. No cambia estructura.
   ========================================================= */
a { color: inherit; }

/* Menú móvil estable: cerrado por defecto, abierto solo con clase mobile-open. */
@media (max-width: 900px) {
  .header { position: sticky !important; top: 0 !important; z-index: 9999 !important; }
  .header-inner { min-height: 78px !important; }
  .mobile-menu-toggle {
    display: flex !important;
    position: relative !important;
    z-index: 10002 !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
  }
  .header:not(.mobile-open) .nav {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .header.mobile-open .nav {
    display: flex !important;
    position: fixed !important;
    top: 86px !important;
    left: 14px !important;
    right: 14px !important;
    bottom: auto !important;
    width: auto !important;
    max-height: calc(100dvh - 104px) !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 10px !important;
    background: rgba(7, 10, 16, .985) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.38) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 10000 !important;
  }
  .header.mobile-open .nav .nav-item,
  .header.mobile-open .nav > a {
    display: flex !important;
    min-height: 52px !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    color: #fff !important;
    border-radius: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: transparent !important;
    font-size: 15px !important;
  }
  .header.mobile-open .nav > a:last-child { border-bottom: 0 !important; }
  .header.mobile-open .megamenu-wrap { width: 100% !important; display: block !important; height: auto !important; }
  .header.mobile-open .megamenu { display: none !important; }
  .header.mobile-open .megamenu-wrap.is-open .megamenu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 8px 0 10px !important;
    padding: 12px !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .header.mobile-open .megamenu-inner,
  .header.mobile-open .megamenu-grid { grid-template-columns: 1fr !important; gap: 8px !important; padding: 0 !important; }
  .header.mobile-open .mega-side { padding: 14px !important; border-radius: 12px !important; }
}

/* Títulos: jerarquía más congruente en móvil sin tocar desktop. */
@media (max-width: 640px) {
  .hero-premium-copy h1,
  .hero h1 { font-size: clamp(34px, 10.5vw, 46px) !important; line-height: 1.04 !important; }
  .block-head h2,
  .industries-focus-head h2,
  .stats-head h2,
  .contact-info h2 { font-size: clamp(32px, 9vw, 42px) !important; line-height: 1.08 !important; letter-spacing: -.042em !important; }
  .section-title { font-size: clamp(30px, 8.5vw, 40px) !important; }
}

/* Industrias: evita desborde, respira mejor y alterna sin sobrecargar. */
.industries-focus-section {
  background: linear-gradient(180deg, #f7f8f8 0%, #ffffff 100%) !important;
  border-top: 10px solid #05080e !important;
  border-bottom: 10px solid #05080e !important;
  overflow: hidden !important;
  position: relative !important;
}
.industries-focus-list { align-items: stretch !important; }
.industry-focus-card { min-width: 0 !important; contain: layout paint !important; }
.industry-focus-media img { display: block !important; }
@media (min-width: 981px) {
  .industries-focus-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px !important; }
  .industry-focus-card { grid-template-columns: 190px minmax(0,1fr) !important; min-height: 236px !important; }
}
@media (max-width: 640px) {
  .industries-focus-section { padding: 66px 0 !important; }
  .industries-focus-list { gap: 16px !important; }
  .industry-focus-card,
  .industry-focus-card:nth-child(even) { grid-template-columns: 38% 62% !important; min-height: 176px !important; }
  .industry-focus-card:nth-child(even) .industry-focus-media { order: 2 !important; }
  .industry-focus-body { padding: 16px 14px !important; gap: 8px !important; }
  .industry-focus-card h3 { font-size: 18px !important; line-height: 1.16 !important; }
  .industry-focus-card p { font-size: 13px !important; line-height: 1.42 !important; }
}

/* Clientes: fondo gris casi blanco, logos/nombres más grandes, sin subrayado y con menos aire. */
.partners-vertical-section {
  background: #f7f8f8 !important;
  padding: 72px 0 !important;
  border-top: 1px solid rgba(10,22,40,.06) !important;
  border-bottom: 1px solid rgba(10,22,40,.06) !important;
}
.client-logo-grid { gap: 12px !important; }
.client-logo-card {
  min-height: 86px !important;
  background: #fff !important;
  border: 1px solid rgba(10,22,40,.12) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 10px 30px rgba(10,22,40,.035) !important;
  opacity: .92 !important;
}
.client-logo-card:hover { opacity: 1 !important; transform: translateY(-2px) !important; }
.client-logo-text {
  text-decoration: none !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  color: #5f6875 !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}
.client-logo-text.light { font-weight: 650 !important; letter-spacing: -.025em !important; }
@media (max-width: 560px) {
  .partners-vertical-section { padding: 58px 0 !important; }
  .client-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .client-logo-card { min-height: 78px !important; }
  .client-logo-text { font-size: 19px !important; }
}

/* Contador móvil: más presencia y menos sensación de bloque suelto. */
@media (max-width: 640px) {
  .stats-section { padding: 66px 0 !important; }
  .stats-head { margin-bottom: 22px !important; }
  .stats-section .stats { border-radius: 16px !important; overflow: hidden !important; }
  .stats-section .stat { min-height: 166px !important; padding: 30px 24px !important; }
  .stats-section .stat .sk { font-size: 13px !important; }
  .stats-section .stat .sv { font-size: clamp(52px, 19vw, 74px) !important; }
  .stats-section .stat .sd { font-size: 14.5px !important; line-height: 1.45 !important; }
}



/* =========================================================
   AJUSTE FINAL REAL: industrias en tarjetas y clientes cascada.
   Solo corrige secciones señaladas.
   ========================================================= */
.industries-focus-section{
  background: linear-gradient(180deg,#f8f8f7 0%,#ffffff 46%,#f8f8f7 100%) !important;
  border-top: 12px solid #05080e !important;
  border-bottom: 12px solid #05080e !important;
  padding: 96px 0 !important;
  overflow: hidden !important;
}
.industries-focus-head{
  max-width: 840px !important;
  margin: 0 auto 44px !important;
  text-align: center !important;
}
.industries-focus-head h2{
  font-size: clamp(38px,4.6vw,64px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}
.industries-focus-head p{
  max-width: 760px !important;
  margin: 0 auto !important;
  font-size: 16px !important;
}
.industries-focus-list{
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.industries-focus-list .industry-focus-card{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 260px !important;
  display: grid !important;
  grid-template-columns: 44% 56% !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid rgba(10,22,40,.10) !important;
  box-shadow: 0 18px 54px -42px rgba(10,22,40,.52) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  padding: 0 !important;
}
.industries-focus-list .industry-focus-card:hover{
  transform: translateY(-4px) !important;
  border-color: rgba(201,24,47,.22) !important;
  box-shadow: 0 30px 74px -50px rgba(10,22,40,.58) !important;
}
.industries-focus-list .industry-focus-card:nth-child(even){
  grid-template-columns: 56% 44% !important;
}
.industries-focus-list .industry-focus-card:nth-child(even) .industry-focus-media{
  order: 2 !important;
}
.industries-focus-list .industry-focus-card:nth-child(even) .industry-focus-body{
  order: 1 !important;
}
.industries-focus-list .industry-focus-media{
  position: relative !important;
  min-height: 260px !important;
  height: 100% !important;
  background: #05080e !important;
  overflow: hidden !important;
}
.industries-focus-list .industry-focus-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:saturate(.82) contrast(.98) brightness(.78) !important;
  opacity:1 !important;
}
.industries-focus-list .industry-focus-media::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(5,8,14,.05),rgba(5,8,14,.52)) !important;
}
.industries-focus-list .industry-focus-body{
  position: relative !important;
  padding: 28px 30px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}
.industries-focus-list .industry-focus-top{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
.industries-focus-list .industry-focus-num{
  color: var(--red) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.industries-focus-list .industry-focus-icon{
  position: static !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 12px !important;
  display:grid !important;
  place-items:center !important;
  color: var(--red) !important;
  background: rgba(201,24,47,.055) !important;
  border:1px solid rgba(201,24,47,.16) !important;
}
.industries-focus-list .industry-focus-icon svg{width:23px !important;height:23px !important;}
.industries-focus-list .industry-focus-card h3{
  font-size: clamp(23px,2vw,30px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
  color: var(--fg) !important;
  margin: 0 !important;
}
.industries-focus-list .industry-focus-card p{
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: var(--muted-2) !important;
  margin: 0 !important;
}
.industries-focus-list .industry-focus-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top: 4px !important;
}
.industries-focus-list .industry-focus-chips span{
  border:1px solid rgba(10,22,40,.11) !important;
  border-radius:999px !important;
  padding:7px 11px !important;
  font-size:12px !important;
  color:var(--fg-dim) !important;
  background:#fff !important;
  white-space: nowrap !important;
}
@media (max-width: 980px){
  .industries-focus-list{ grid-template-columns: 1fr !important; }
}
@media (max-width: 640px){
  .industries-focus-section{ padding: 70px 0 !important; border-top-width: 9px !important; border-bottom-width: 9px !important; }
  .industries-focus-head{ text-align: left !important; margin-bottom: 28px !important; }
  .industries-focus-head h2{ font-size: clamp(34px,10vw,44px) !important; line-height: 1.04 !important; }
  .industries-focus-head p{ font-size: 14.5px !important; }
  .industries-focus-list{ gap: 16px !important; }
  .industries-focus-list .industry-focus-card,
  .industries-focus-list .industry-focus-card:nth-child(even){
    grid-template-columns: 42% 58% !important;
    min-height: 196px !important;
    border-radius: 18px !important;
  }
  .industries-focus-list .industry-focus-card:nth-child(even) .industry-focus-media{ order:2 !important; }
  .industries-focus-list .industry-focus-card:nth-child(even) .industry-focus-body{ order:1 !important; }
  .industries-focus-list .industry-focus-media{ min-height:196px !important; }
  .industries-focus-list .industry-focus-body{ padding: 18px 16px !important; gap: 9px !important; }
  .industries-focus-list .industry-focus-icon{ width: 34px !important; height:34px !important; flex-basis:34px !important; }
  .industries-focus-list .industry-focus-card h3{ font-size: 18px !important; line-height:1.14 !important; }
  .industries-focus-list .industry-focus-card p{ font-size: 12.8px !important; line-height:1.4 !important; }
  .industries-focus-list .industry-focus-chips{ display:none !important; }
}

/* Clientes: recuperar cascada vertical alternada, con nombres grandes y sobrios. */
.partners-vertical-section{
  background:#f7f8f8 !important;
  padding: 78px 0 !important;
  overflow:hidden !important;
}
.clients-cascade{
  height: 390px;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
}
.clients-cascade::before,
.clients-cascade::after{
  content:'';
  position:absolute;
  left:0; right:0;
  height:64px;
  z-index:3;
  pointer-events:none;
}
.clients-cascade::before{ top:0; background:linear-gradient(180deg,#f7f8f8,transparent); }
.clients-cascade::after{ bottom:0; background:linear-gradient(0deg,#f7f8f8,transparent); }
.clients-cascade-cols{
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap:16px;
}
.clients-cascade-col{
  display:flex;
  flex-direction:column;
  gap:14px;
  animation: latinusClientCascade 30s linear infinite;
  will-change: transform;
}
.clients-cascade-col.reverse{ animation-direction: reverse; animation-duration: 36s; }
.clients-cascade-col.slow{ animation-duration: 42s; }
.clients-cascade-col.fast{ animation-duration: 25s; }
.clients-cascade:hover .clients-cascade-col{ animation-play-state: paused; }
@keyframes latinusClientCascade{
  from{ transform: translateY(0); }
  to{ transform: translateY(-50%); }
}
.client-logo-cascade-card{
  min-height: 160px;
  border:1px solid rgba(10,22,40,.08);
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#ffffff;
  box-shadow:0 14px 38px -32px rgba(10,22,40,.25);
  text-decoration:none !important;
  flex:0 0 auto;
  padding:20px;
}

.client-logo-cascade-card img{
  width:auto;
  max-width:78%;
  max-height:92px;
  object-fit:contain;
  display:block;
}
.client-logo-cascade-card span{
  text-decoration:none !important;
  text-transform:uppercase;
  color:#5f6875;
  font-size:clamp(24px,2vw,34px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1;
  opacity:.88;
}
.client-logo-cascade-card:hover span{ opacity:1; }
@media (max-width:900px){
  .clients-cascade{ height: 360px; }
  .clients-cascade-cols{ grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
  .client-logo-cascade-card{ min-height: 130px; }
  .client-logo-cascade-card span{ font-size:24px; }
}
@media (max-width:560px){
  .partners-vertical-section{ padding:58px 0 !important; }
  .clients-cascade{ height: 330px; }
  .clients-cascade-cols{ grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px; }
  .clients-cascade-col{ gap:10px; }
  .client-logo-cascade-card{ min-height: 82px; border-radius:12px; }
  .client-logo-cascade-card span{ font-size:18px; letter-spacing:-.025em; }
}



/* ===== AJUSTE PUNTUAL MARCA LATINUS: logos oficiales + tonos cromáticos ===== */
:root{
  --red:#c8102e;
  --red-dim:#9f0d24;
  --red-glow:rgba(200,16,46,.18);
  --brand-blue:#062b78;
  --fg:#071426;
  --fg-dim:#1a2638;
}
.section-dark .subbrand-logo, .arch-logo{
  border:none !important;
  background:transparent !important;
  width:172px !important;
  height:64px !important;
  justify-content:flex-start !important;
  place-items:center start !important;
  overflow:visible !important;
}
.section-dark .subbrand-logo img, .arch-logo img{
  display:block;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:none !important;
  opacity:1 !important;
}
.section-dark .subbrand-logo .logo-pending, .arch-logo span{
  display:none;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.25;
  text-align:left;
}
.vertical-card .vertical-title{ margin-top:28px; }
.vertical-card .accent, .arch-card h3 strong{ color:var(--red) !important; }
.industry-icon, .industry-focus-icon{ color:var(--brand-blue) !important; }
.industry-icon{ background:rgba(6,43,120,.06) !important; border-color:rgba(6,43,120,.14) !important; }
/* Comentario: estos logos usan rutas del servidor. Si cambian los archivos reales, reemplazar solo el src de cada imagen. */
@media (max-width:640px){
  .section-dark .subbrand-logo, .arch-logo{ width:150px !important; height:56px !important; }
}


/* === Ajuste puntual: logos oficiales de submarcas desde servidor === */
.section-dark .subbrand-logo{
  width:100%;
  min-height:92px;
  height:auto;
  margin-bottom:22px;
  padding-bottom:18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.section-dark .subbrand-logo img{
  display:block;
  width:auto;
  max-width:230px;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
}
.section-dark .vertical-card:nth-child(3) .subbrand-logo img{ max-width:250px; }
.section-dark .subbrand-logo .logo-pending{
  display:none;
}
@media (max-width:900px){
  .section-dark .subbrand-logo{ min-height:78px; margin-bottom:18px; padding-bottom:14px; }
  .section-dark .subbrand-logo img{ max-width:210px; max-height:60px; }
}



/* === CORRECCIÓN FINAL: logos oficiales de verticales desde /public_html/latinus/ELEMENTOS DE MARCA === */
.section-dark .subbrand-logo{
  width:100% !important;
  min-height:92px !important;
  height:auto !important;
  margin-bottom:22px !important;
  padding-bottom:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  background:transparent !important;
  overflow:visible !important;
}
.section-dark .subbrand-logo img.subbrand-logo-img{
  display:block !important;
  width:auto !important;
  max-width:245px !important;
  max-height:76px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  filter:none !important;
}
.section-dark .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{ max-width:270px !important; }
.section-dark .subbrand-logo .logo-pending{ display:none !important; }
@media (max-width:900px){
  .section-dark .subbrand-logo{ min-height:78px !important; margin-bottom:18px !important; padding-bottom:14px !important; }
  .section-dark .subbrand-logo img.subbrand-logo-img{ max-width:220px !important; max-height:64px !important; }
}



/* === CORRECCIÓN PUNTUAL: logo real en header desde servidor ===
   Ruta en cPanel: public_html/latinus/ELEMENTOS DE MARCA/LOGO PRINCIPAL/
   Para actualizar el logo, cambia únicamente el src del <img class="header-logo-img">. */
.logo-image-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  min-width:0 !important;
  text-decoration:none !important;
}
.logo-image-link .logo-mark,
.logo-image-link > span:not(.logo-mark){ display:none !important; }
.header-logo-img{
  display:block !important;
  width:auto !important;
  height:42px !important;
  max-width:245px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media (max-width: 760px){
  .header-logo-img{ height:36px !important; max-width:210px !important; }
  .logo-image-link{ justify-content:flex-start !important; width:auto !important; }
}
@media (max-width: 420px){
  .header-logo-img{ height:32px !important; max-width:178px !important; }
}

/* === Comentario operativo: iconos/logos oficiales de verticales ===
   Cada tarjeta usa <img class="subbrand-logo-img"> con ruta directa al servidor.
   Para reemplazar un icono/logo, cambia solo el atributo src de esa imagen. */

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES FINALES SOLICITADOS HOME LATINUS
   ========================================================= */

/* Header: logo 30% más grande y menú en mayúsculas */
@media (min-width: 901px){
  .header-logo-img{
    height:55px !important;
    max-width:320px !important;
  }
  .header .nav-item,
  .header-cta{
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
    font-size:13px !important;
    font-weight:500 !important;
  }
  .header-inner{
    min-height:78px !important;
  }
}

/* Hero: video, contraste y primera vista a pantalla completa */
.hero-slider-home{
  min-height:100vh !important;
  padding-top:120px !important;
  padding-bottom:122px !important;
}
.hero-bg-video{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  background:
    linear-gradient(115deg, rgba(5,8,14,.94) 0%, rgba(5,8,14,.74) 42%, rgba(5,8,14,.38) 100%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Identity.jpg') center/cover no-repeat !important;
}
.hero-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:brightness(.48) contrast(1.12) saturate(.95) !important;
  opacity:.92 !important;
}
.hero-bg-video::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.62) 38%, rgba(5,8,14,.32) 100%),
    linear-gradient(180deg, rgba(5,8,14,.32) 0%, rgba(5,8,14,.08) 46%, rgba(5,8,14,.86) 100%) !important;
}
.hero-bg-2{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 46%, rgba(5,8,14,.28) 100%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/connect.jpg') !important;
}
.hero-bg-3{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 46%, rgba(5,8,14,.28) 100%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Solutions.jpg') !important;
}
.hero-bg-4{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 46%, rgba(5,8,14,.28) 100%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Engineering.jpg') !important;
}
.hero-slide-bg{
  background-size:cover !important;
  background-position:center !important;
}
.hero-premium-copy h1,
.hero-slider-content h1{
  text-shadow:0 18px 48px rgba(0,0,0,.62) !important;
}
.hero-premium-copy .hero-sub{
  color:rgba(255,255,255,.86) !important;
  text-shadow:0 10px 28px rgba(0,0,0,.50) !important;
}
.hero-kicker{
  text-shadow:0 8px 22px rgba(0,0,0,.45) !important;
}

/* Franja de certificaciones entre hero y verticales */
.cert-marquee-band{
  background:#05080e;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  padding:18px 0;
}
.cert-marquee-track{
  display:flex;
  gap:16px;
  width:max-content;
  animation:latinusCertMarquee 34s linear infinite;
}
.cert-marquee-band:hover .cert-marquee-track{ animation-play-state:paused; }
.cert-pill{
  flex:0 0 auto;
  min-width:210px;
  height:56px;
  padding:0 26px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.82);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@keyframes latinusCertMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* Industrias: 6 tarjetas con proporción consistente */
.industries-focus-list-six{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}
.industries-focus-list-six .industry-focus-card{
  grid-template-columns:1fr !important;
  min-height:0 !important;
}
.industries-focus-list-six .industry-focus-media{
  height:190px !important;
  min-height:190px !important;
}
.industries-focus-list-six .industry-focus-body{
  min-height:252px !important;
}
.industries-focus-list-six .industry-focus-card h3{
  font-size:19px !important;
}
@media (max-width: 980px){
  .industries-focus-list-six{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px){
  .industries-focus-list-six{
    grid-template-columns:1fr !important;
  }
  .industries-focus-list-six .industry-focus-card{
    grid-template-columns:42% 58% !important;
    min-height:190px !important;
  }
  .industries-focus-list-six .industry-focus-card:nth-child(even){
    grid-template-columns:58% 42% !important;
  }
  .industries-focus-list-six .industry-focus-card:nth-child(even) .industry-focus-media{
    order:2 !important;
  }
  .industries-focus-list-six .industry-focus-media{
    height:auto !important;
    min-height:190px !important;
  }
  .industries-focus-list-six .industry-focus-body{
    min-height:0 !important;
  }
  .industry-focus-top{
    align-items:center !important;
    gap:8px !important;
  }
  .industry-focus-num,
  .industry-focus-icon{
    margin-top:0 !important;
    position:relative !important;
    top:auto !important;
    transform:none !important;
  }
}

/* Blog: alineación y jerarquía visual */
#insights .news-events-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr) !important;
  align-items:stretch !important;
}
#insights .news-card,
#insights .event-item-card{
  border-radius:18px !important;
}
#insights .news-card .case-image{
  aspect-ratio:16/9 !important;
}
#insights .events-list{
  display:flex !important;
  flex-direction:column !important;
}
#insights .event-item-card{
  min-height:142px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
@media (max-width:900px){
  #insights .news-events-grid{
    grid-template-columns:1fr !important;
  }
}

/* Trayectoria + países */
.trajectory-country-card{
  min-height:270px;
  display:grid;
  grid-template-columns:260px minmax(0,1fr) 420px;
  gap:38px;
  align-items:center;
  padding:44px;
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 70px -46px rgba(10,22,40,.42);
}
.trajectory-graphic{
  height:160px;
  display:flex;
  gap:22px;
  align-items:end;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#fbfaf7,#f0eee8);
  padding:26px;
}
.trajectory-graphic .bar{
  width:58px;
  border-radius:12px 12px 0 0;
  background:linear-gradient(180deg,var(--red),#07101e);
}
.trajectory-graphic .bar-1{ height:78px; }
.trajectory-graphic .bar-2{ height:112px; }
.trajectory-graphic .bar-3{ height:142px; }
.trajectory-copy h3{
  font-size:clamp(34px,4vw,58px);
  font-weight:200;
  letter-spacing:-.052em;
  line-height:1;
  margin-top:18px;
}
.trajectory-copy p{
  margin-top:16px;
  color:var(--muted-2);
  font-size:16px;
}
.country-list{
  display:grid;
  gap:14px;
}
.country-item{
  min-height:82px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 24px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  font-size:22px;
  font-weight:400;
}
.country-item .flag{
  font-size:28px;
}
@media(max-width:900px){
  .trajectory-country-card{
    grid-template-columns:1fr;
    padding:28px;
  }
  .country-item{
    font-size:18px;
  }
}

/* Responsabilidad social / ESG */
.social-impact-section{
  background:#004f45;
  color:#fff;
  padding:110px 0;
  overflow:hidden;
}
.social-impact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  gap:72px;
  align-items:center;
}
.social-impact-copy .eyebrow{
  color:rgba(255,255,255,.78);
}
.social-impact-copy h2{
  margin-top:18px;
  font-size:clamp(46px,5.2vw,76px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:500;
  color:#fff;
}
.social-impact-copy p{
  margin-top:26px;
  max-width:62ch;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.65;
}
.social-impact-metrics{
  display:flex;
  gap:44px;
  flex-wrap:wrap;
  margin-top:34px;
}
.social-impact-metrics div{
  display:grid;
  gap:4px;
}
.social-impact-metrics strong{
  color:#13c8bd;
  font-size:42px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.04em;
}
.social-impact-metrics span{
  color:rgba(255,255,255,.88);
  font-size:14px;
  font-style:italic;
}
.social-impact-visual{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.esg-image-frame{
  width:100%;
  max-width:520px;
  height:520px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.42);
  font-size:14px;
  letter-spacing:.12em;
  text-align:center;
  backdrop-filter:blur(12px);
}
@media(max-width:900px){
  .social-impact-grid{
    grid-template-columns:1fr;
    gap:44px;
  }
  .social-impact-section{
    padding:78px 0;
  }
  .esg-image-frame{
    height:340px;
  }
}

/* Contacto y footer negro */
.form .btn-primary{
  text-transform:uppercase;
}
footer#nosotros{
  background:#05080e !important;
  color:#fff !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}
footer#nosotros .footer-col h5,
footer#nosotros .logo{
  color:#fff !important;
  text-transform:uppercase;
}
footer#nosotros .footer-brand p,
footer#nosotros .footer-contact,
footer#nosotros .footer-col li,
footer#nosotros .footer-bottom{
  color:rgba(255,255,255,.56) !important;
}
footer#nosotros .footer-bottom{
  border-top-color:rgba(255,255,255,.10) !important;
}
footer#nosotros .logo svg circle,
footer#nosotros .logo svg path{
  stroke:#fff !important;
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES PUNTUALES FINALES SOLICITADOS
   1) Industrias: 6 tarjetas congruentes, foto horizontal arriba.
   2) Logos verticales: nuevos enlaces, centrados y 10% más grandes.
   3) Footer: logo Latinus igual al header.
   ========================================================= */

/* Verticales: centrar y agrandar logos oficiales */
#verticales .vertical-card .subbrand-logo,
.section-dark .subbrand-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:86px !important;
  height:86px !important;
  margin:0 0 20px 0 !important;
  padding:0 0 16px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
#verticales .subbrand-logo-img,
.section-dark .subbrand-logo img.subbrand-logo-img{
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  max-width:242px !important;
  max-height:72px !important;
  width:auto !important;
  height:auto !important;
  margin-inline:auto !important;
}
#verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img,
.section-dark .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
  max-width:296px !important;
  max-height:76px !important;
}

/* Industrias: anular variantes alternadas y dejar todas las tarjetas iguales */
.industries-focus-section{
  overflow:hidden !important;
}
.industries-focus-list.industries-focus-list-six{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-card,
.industries-focus-list.industries-focus-list-six .industry-focus-card:nth-child(even){
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  min-height:520px !important;
  height:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(201,24,47,.18) !important;
  box-shadow:0 24px 64px -54px rgba(10,22,40,.42) !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-card:nth-child(even) .industry-focus-media,
.industries-focus-list.industries-focus-list-six .industry-focus-card:nth-child(even) .industry-focus-body{
  order:initial !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-media{
  order:0 !important;
  width:100% !important;
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-body{
  order:1 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  padding:28px 28px 26px !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-top{
  margin-bottom:18px !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-card h3{
  font-size:22px !important;
  line-height:1.13 !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
  margin-bottom:14px !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-card p{
  font-size:15px !important;
  line-height:1.55 !important;
  color:var(--muted-2) !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-chips{
  margin-top:auto !important;
  padding-top:22px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
}
.industries-focus-list.industries-focus-list-six .industry-focus-chips span{
  white-space:nowrap !important;
}

/* Footer: imagen real del logo como header */
footer#nosotros .footer-logo-image-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-decoration:none !important;
  margin-bottom:18px !important;
}
footer#nosotros .footer-logo-img{
  display:block !important;
  width:auto !important;
  height:42px !important;
  max-width:230px !important;
  object-fit:contain !important;
}

@media (max-width:1100px){
  .industries-focus-list.industries-focus-list-six{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-card,
  .industries-focus-list.industries-focus-list-six .industry-focus-card:nth-child(even){
    min-height:500px !important;
  }
}
@media (max-width:680px){
  .industries-focus-list.industries-focus-list-six{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-card,
  .industries-focus-list.industries-focus-list-six .industry-focus-card:nth-child(even){
    min-height:auto !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-media{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-body{
    padding:24px 22px 24px !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-card h3{
    font-size:20px !important;
  }
  .industries-focus-list.industries-focus-list-six .industry-focus-card p{
    font-size:14px !important;
  }
  #verticales .vertical-card .subbrand-logo,
  .section-dark .subbrand-logo{
    min-height:82px !important;
    height:82px !important;
  }
  #verticales .subbrand-logo-img,
  .section-dark .subbrand-logo img.subbrand-logo-img{
    max-width:220px !important;
    max-height:68px !important;
  }
  footer#nosotros .footer-logo-img{
    height:38px !important;
    max-width:210px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES FINALES HOME LATINUS — 20 MAY
   Cambios puntuales sin alterar estructura funcional
   ========================================================= */

/* Hero: volver a fondos JPG de stock desde servidor */
.hero-bg-1{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://worldmlmarket.com/latinus/bannerprincipal/Identity.jpg") !important;
}
.hero-bg-2{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://worldmlmarket.com/latinus/bannerprincipal/conect.jpg") !important;
}
.hero-bg-3{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://worldmlmarket.com/latinus/bannerprincipal/Solutions.jpg") !important;
}
.hero-bg-4{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://worldmlmarket.com/latinus/bannerprincipal/Engineering.jpg") !important;
}
.hero-slide-bg{
  background-size:cover !important;
  background-position:center !important;
}
.hero-slide-bg video,
.hero-slide-bg .latinus-hero-video,
.hero-slide-bg .hero-video{
  display:none !important;
}

/* Hero: botones internos con proporción del botón del header */
.hero-actions .btn{
  min-height:56px !important;
  padding:0 28px !important;
  border-radius:7px !important;
  font-size:14px !important;
  font-weight:600 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}

/* Hero: grilla estándar de texto para que botones queden a la misma altura */
.hero-copy-shell{
  width:min(620px, 100%) !important;
  min-height:430px !important;
  display:grid !important;
  grid-template-rows:auto minmax(178px, auto) minmax(64px, auto) auto !important;
  align-content:start !important;
}
.hero-kicker{
  min-height:24px !important;
  display:flex !important;
  align-items:center !important;
}
.hero-title{
  min-height:178px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
.hero-sub{
  min-height:64px !important;
  max-width:560px !important;
}
.hero-actions{
  margin-top:16px !important;
}

/* Franja transparente de avales dentro del hero */
.hero-trust-strip{
  position:absolute;
  left:0;
  right:0;
  bottom:82px;
  z-index:6;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:center;
  padding:16px clamp(28px, 8vw, 160px);
  background:linear-gradient(90deg, rgba(5,8,14,.16), rgba(5,8,14,.04));
  border-top:1px solid rgba(255,255,255,.12);
  pointer-events:none;
}
.hero-trust-col{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.hero-trust-right{
  justify-content:flex-end;
}
.hero-trust-label{
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero-trust-logos{
  display:flex;
  align-items:center;
  gap:18px;
}
.hero-trust-logos img{
  max-height:34px;
  width:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.2);
  opacity:.92;
}
.hero-trust-textlogos span{
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.15;
  opacity:.9;
  text-transform:uppercase;
}

/* Quitar por completo la franja/carrusel ISO intermedia si queda en cache */
.cert-marquee-band{
  display:none !important;
}

/* Industrias */
.industry-focus-body h3{
  letter-spacing:-.035em;
}

/* Blog: centrar correctamente el párrafo */
.blog-replacement .block-head p,
#insights .block-head p,
section.blog-replacement .block-head p{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
  max-width:680px !important;
}

/* Form teléfono con código país */
.phone-field{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:12px;
}
.phone-field select,
.phone-field input{
  width:100%;
}

/* Trayectoria: banderas con emoji estable, sin imágenes rotas */
.country-item img,
.country-card img,
.country img,
.country-flag-img{
  display:none !important;
}
.country-emoji{
  font-size:22px;
  line-height:1;
  display:inline-flex;
  width:30px;
  flex:0 0 30px;
}
.country-item,
.country-card,
.country{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}

/* Footer orden y lectura */
.footer-contact{
  display:grid !important;
  gap:10px !important;
}

/* Mobile */
@media (max-width:900px){
  .hero-copy-shell{
    min-height:auto !important;
    grid-template-rows:auto auto auto auto !important;
  }
  .hero-title,
  .hero-sub{
    min-height:auto !important;
  }
  .hero-actions .btn{
    min-height:54px !important;
    width:100% !important;
    padding:0 22px !important;
  }
  .hero-trust-strip{
    position:relative;
    bottom:auto;
    grid-template-columns:1fr;
    gap:12px;
    padding:14px 24px;
    background:rgba(5,8,14,.42);
    margin-top:24px;
  }
  .hero-trust-right{
    justify-content:flex-start;
  }
  .hero-trust-col{
    flex-wrap:wrap;
    gap:10px 14px;
  }
  .hero-trust-label{
    width:100%;
    font-size:11px;
  }
  .hero-trust-logos img{
    max-height:28px;
  }
  .hero-trust-textlogos span{
    font-size:11px;
  }
  .phone-field{
    grid-template-columns:1fr;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX FINAL EXTRA — 20 MAY
   Cambios puntuales:
   - Hero con imágenes stock rápidas.
   - Solo botón rojo del hero igualado al botón header.
   - Barra de avales corregida.
   - Ajuste aire superior del hero.
   - Vertical Business sin sobremontado.
   ========================================================= */

/* Header menu vuelve a su escala original: no tocar textos del menú */
.site-header .nav a,
.site-header .nav button,
header .nav a,
header .nav button {
  font-size: inherit !important;
}

/* Hero con imágenes stock optimizadas y ligeras */
.hero-bg-1{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://images.unsplash.com/photo-1551434678-e076c223a692?auto=format&fit=crop&w=1800&q=65") !important;
}
.hero-bg-2{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.72) 42%, rgba(5,8,14,.32) 100%),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=65") !important;
}
.hero-bg-3{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.93) 0%, rgba(5,8,14,.72) 42%, rgba(5,8,14,.30) 100%),
    url("https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=1800&q=65") !important;
}
.hero-bg-4{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.93) 0%, rgba(5,8,14,.73) 42%, rgba(5,8,14,.34) 100%),
    url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=65") !important;
}
.hero-slide-bg{
  background-size: cover !important;
  background-position: center !important;
}

/* Quitar por completo videos del hero */
.hero-slide-bg video,
.hero-slide-bg .hero-video,
.hero-slide-bg .latinus-hero-video{
  display:none !important;
}

/* Ajuste de aire superior del hero en desktop */
@media (min-width: 901px){
  .hero-slider-home{
    min-height: calc(100vh - 96px) !important;
    padding-top: 72px !important;
    padding-bottom: 98px !important;
  }

  .hero-slider-content{
    display:flex !important;
    align-items:center !important;
  }

  .hero-copy-shell{
    min-height: 390px !important;
    width:min(620px, 100%) !important;
    display:grid !important;
    grid-template-rows:auto minmax(168px, auto) minmax(60px, auto) auto !important;
    align-content:start !important;
  }

  .hero-title{
    min-height:168px !important;
  }

  .hero-sub{
    min-height:60px !important;
  }
}

/* Solo el botón rojo CONTÁCTANOS del hero se iguala al botón del header */
.hero-actions .btn{
  min-height: unset !important;
  padding: 0 22px !important;
  font-size: 14px !important;
}

.hero-actions .btn.btn-primary,
#hero-primary{
  min-height:56px !important;
  padding:0 30px !important;
  border-radius:7px !important;
  font-size:15px !important;
  font-weight:600 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}

/* El botón secundario vuelve a una proporción más sobria */
.hero-actions .btn.btn-ghost,
#hero-secondary{
  min-height:46px !important;
  padding:0 24px !important;
  border-radius:6px !important;
  font-size:14px !important;
  font-weight:500 !important;
}

/* Barra de avales: queda estática abajo del texto, sin redundancias */
.hero-trust-strip{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:82px !important;
  z-index:7 !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:28px !important;
  padding:14px clamp(28px, 8vw, 150px) !important;
  background:linear-gradient(90deg, rgba(5,8,14,.12), rgba(5,8,14,.03)) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  pointer-events:none !important;
}

.hero-trust-left,
.hero-trust-right{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}

.hero-trust-right{
  justify-content:flex-end !important;
}

.hero-trust-label{
  color:rgba(255,255,255,.74) !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

/* Cambiar visualmente el texto: certificaciones -> proveedores */
.hero-trust-left .hero-trust-label{
  font-size:0 !important;
}
.hero-trust-left .hero-trust-label::after{
  content:"PROVEEDORES DE SERVICIOS AUXILIARES";
  font-size:13px !important;
}

/* Quitar texto redundante de la derecha */
.hero-trust-right .hero-trust-label{
  display:none !important;
}

/* Logos de la izquierda se ven blancos sin cápsulas */
.hero-trust-logos{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}
.hero-trust-logos img{
  max-height:38px !important;
  width:auto !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.18) !important;
  opacity:.88 !important;
}

/* Textos Superintendencia / SEPS en blanco, limpios */
.hero-trust-textlogos span{
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  opacity:.94 !important;
}

/* Vertical 03: evita sobremontado al final */
#verticales .vertical-card{
  min-height: 570px !important;
  height:auto !important;
  overflow:hidden !important;
}
#verticales .vertical-card .vertical-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  max-width:100% !important;
}
#verticales .vertical-card .vertical-tag{
  white-space:normal !important;
  line-height:1.25 !important;
}
#verticales .vertical-card .vertical-foot{
  position:relative !important;
  margin-top:26px !important;
  bottom:auto !important;
}

/* En desktop mantener tarjetas ordenadas */
@media (min-width:901px){
  #verticales .vertical-card:nth-child(3){
    padding-bottom:34px !important;
  }
  #verticales .vertical-card:nth-child(3) .vertical-tags{
    margin-bottom:0 !important;
  }
}

/* Mobile: la barra de avales no se monta sobre el texto */
@media (max-width:900px){
  .hero-slider-home{
    min-height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .hero-slider-content{
    padding-top:92px !important;
    padding-bottom:34px !important;
  }

  .hero-copy-shell{
    min-height:auto !important;
    display:block !important;
    width:100% !important;
  }

  .hero-title,
  .hero-sub{
    min-height:auto !important;
  }

  .hero-actions .btn.btn-primary,
  #hero-primary{
    width:100% !important;
    min-height:56px !important;
  }

  .hero-actions .btn.btn-ghost,
  #hero-secondary{
    width:100% !important;
    min-height:54px !important;
  }

  .hero-trust-strip{
    position:relative !important;
    bottom:auto !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px 22px !important;
    background:rgba(5,8,14,.45) !important;
    margin:0 !important;
  }

  .hero-trust-left,
  .hero-trust-right{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:10px 14px !important;
  }

  .hero-trust-left .hero-trust-label::after{
    font-size:11px !important;
  }

  .hero-trust-logos img{
    max-height:28px !important;
  }

  .hero-trust-textlogos span{
    font-size:11px !important;
  }

  #verticales .vertical-card{
    min-height:auto !important;
    overflow:visible !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX FINAL EXTRA 2 — 20 MAY
   Cambios puntuales solicitados:
   - Hero desktop vuelve a ocupar pantalla completa.
   - Ajuste de aire solo en mobile.
   - Menú header +10%.
   - Avales/logos en mobile abajo y no sobrepuestos.
   - Corrección burbujas tarjeta Business.
   - Hero 1 con imagen stock rápida y coherente.
   ========================================================= */

/* 1) Hero desktop: recuperar altura amplia / pantalla completa */
@media (min-width:901px){
  .hero-slider-home,
  #top.hero-slider-home{
    min-height: calc(100vh - 90px) !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-slider-content,
  .hero-content{
    min-height: calc(100vh - 172px) !important;
    display:flex !important;
    align-items:center !important;
  }

  .hero-copy-shell{
    min-height: 430px !important;
    display:grid !important;
    grid-template-rows:auto minmax(180px, auto) minmax(64px, auto) auto !important;
    align-content:center !important;
  }

  .hero-title{
    min-height:180px !important;
  }

  .hero-sub{
    min-height:64px !important;
  }
}

/* 2) Header menu +10%, sin afectar botón */
.site-header .nav a,
.header .nav a,
header .nav a,
.site-header nav a,
.header nav a,
header nav a{
  font-size: 110% !important;
}

.site-header .nav button:not(.btn),
.header .nav button:not(.btn),
header .nav button:not(.btn){
  font-size: 110% !important;
}

/* Mantener botón header como está */
.site-header .btn,
.header .btn,
header .btn{
  font-size: inherit;
}

/* 3) Hero 1: imagen stock rápida y acorde a identidad/seguridad digital */
.hero-bg-1{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.28) 100%),
    url("https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=1800&q=68") !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Asegurar que no aparezcan videos */
.hero-slide-bg video,
.hero-slide-bg .hero-video,
.hero-slide-bg .latinus-hero-video{
  display:none !important;
}

/* 4) Barra de avales en desktop: abajo del texto, estable */
@media (min-width:901px){
  .hero-trust-strip{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:82px !important;
    z-index:7 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:28px !important;
    padding:14px clamp(28px, 8vw, 150px) !important;
    background:linear-gradient(90deg, rgba(5,8,14,.12), rgba(5,8,14,.03)) !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    pointer-events:none !important;
  }

  .hero-trust-left,
  .hero-trust-right{
    display:flex !important;
    align-items:center !important;
    gap:22px !important;
  }

  .hero-trust-right{
    justify-content:flex-end !important;
  }
}

/* Texto correcto: Proveedores a la izquierda; sin redundancia a la derecha */
.hero-trust-left .hero-trust-label{
  font-size:0 !important;
}
.hero-trust-left .hero-trust-label::after{
  content:"PROVEEDORES DE SERVICIOS AUXILIARES";
  color:rgba(255,255,255,.74) !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.hero-trust-right .hero-trust-label{
  display:none !important;
}

/* Logos y textos de avales limpios */
.hero-trust-logos{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}
.hero-trust-logos img{
  max-height:38px !important;
  width:auto !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.18) !important;
  opacity:.88 !important;
}
.hero-trust-textlogos span{
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  opacity:.94 !important;
}

/* 5) Mobile: quitar aire superior y mover avales abajo, no encima del hero */
@media (max-width:900px){
  .hero-slider-home,
  #top.hero-slider-home{
    min-height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .hero-slider-content,
  .hero-content{
    min-height:auto !important;
    display:block !important;
    padding-top:54px !important;
    padding-bottom:28px !important;
  }

  .hero-copy-shell{
    min-height:auto !important;
    display:block !important;
    width:100% !important;
  }

  .hero-title,
  .hero-sub{
    min-height:auto !important;
  }

  .hero-trust-strip{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:6 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
    padding:14px 22px 16px !important;
    margin:0 !important;
    background:rgba(5,8,14,.60) !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    pointer-events:none !important;
  }

  .hero-trust-left,
  .hero-trust-right{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:9px 13px !important;
    width:100% !important;
  }

  .hero-trust-left .hero-trust-label::after{
    font-size:10px !important;
    white-space:normal !important;
    width:100% !important;
    display:block !important;
  }

  .hero-trust-logos img{
    max-height:24px !important;
  }

  .hero-trust-textlogos span{
    font-size:10px !important;
    line-height:1.15 !important;
  }
}

/* 6) Tarjeta Business: corregir burbujas finales y evitar sobremontado */
#verticales .vertical-card{
  height:auto !important;
  overflow:hidden !important;
}

#verticales .vertical-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:flex-start !important;
  max-width:100% !important;
  overflow:visible !important;
}

#verticales .vertical-tag,
#verticales .vertical-tags span,
#verticales .vertical-tags a{
  white-space:nowrap !important;
  line-height:1.2 !important;
  height:auto !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#verticales .vertical-foot{
  position:relative !important;
  bottom:auto !important;
  margin-top:26px !important;
  clear:both !important;
}

/* Business Solutions específicamente: más aire abajo y chips sin choque */
#verticales .vertical-card:nth-child(3){
  padding-bottom:38px !important;
}

#verticales .vertical-card:nth-child(3) .vertical-tags{
  row-gap:9px !important;
  margin-bottom:0 !important;
}

@media (max-width:700px){
  #verticales .vertical-card{
    min-height:auto !important;
    overflow:visible !important;
  }

  #verticales .vertical-card:nth-child(3){
    padding-bottom:34px !important;
  }

  #verticales .vertical-card:nth-child(3) .vertical-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  #verticales .vertical-card:nth-child(3) .vertical-tag,
  #verticales .vertical-card:nth-child(3) .vertical-tags span,
  #verticales .vertical-card:nth-child(3) .vertical-tags a{
    font-size:12px !important;
    white-space:nowrap !important;
    margin:0 !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   CORRECCIONES PUNTUALES — 30 MAY
   Ajusta hero, elimina barra de certificaciones, corrige verticales
   y reordena el footer sin tocar el resto del sitio.
   ========================================================= */

/* 1) HERO: textos alineados en una misma malla visual */
.hero-namirial-style,
.hero-slider-home#top{
  min-height:100vh !important;
  height:100vh !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
}
.hero-namirial-style .hero-slider-content,
.hero-slider-home#top .hero-slider-content{
  min-height:calc(100vh - 86px) !important;
  height:calc(100vh - 86px) !important;
  display:flex !important;
  align-items:center !important;
  padding-top:92px !important;
  padding-bottom:108px !important;
}
.hero-copy-shell{
  width:min(640px,100%) !important;
  min-height:382px !important;
  display:grid !important;
  grid-template-rows:28px 178px 68px 56px !important;
  row-gap:12px !important;
  align-content:center !important;
}
.hero-kicker{
  min-height:28px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
}
#hero-title,
.hero-namirial-style h1{
  min-height:178px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  max-width:13.5ch !important;
}
#hero-subtitle,
.hero-namirial-style .hero-sub{
  min-height:68px !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  max-width:54ch !important;
}
.hero-actions{
  margin:0 !important;
  min-height:56px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
.hero-actions .btn,
.hero-actions .btn.btn-primary,
.hero-actions .btn.btn-ghost,
#hero-primary,
#hero-secondary{
  min-height:56px !important;
  height:56px !important;
  padding:0 30px !important;
  border-radius:7px !important;
  font-size:14px !important;
  font-weight:600 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
#hero-secondary{ border-color:rgba(255,255,255,.38) !important; }

/* Franja del carrusel: pegada al final del hero y siempre visible */
.hero-tabbar{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:20 !important;
  min-height:78px !important;
}

/* 2) Eliminar la barra superior de certificaciones / avales encima del slider */
.hero-trust-strip,
.cert-marquee-band{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}

/* 3) VERTICALES: evitar expansión exagerada y desborde */
#verticales.block{
  padding:92px 0 !important;
}
#verticales .block-head{
  margin-bottom:42px !important;
}
#verticales .verticals-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
#verticales .vertical-card{
  flex:initial !important;
  min-height:500px !important;
  height:auto !important;
  padding:28px 26px 26px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  transform:none !important;
  opacity:1 !important;
}
#verticales .vertical-card:hover{
  flex:initial !important;
  transform:translateY(-3px) !important;
  background:linear-gradient(180deg,#111827 0%, #08111f 100%) !important;
}
#verticales .verticals-grid:hover .vertical-card:not(:hover),
#verticales .verticales-grid:hover .vertical-card:not(:hover),
#verticales .vertical-grid:hover .vertical-card:not(:hover){
  flex:initial !important;
  background:#0b0f17 !important;
  opacity:1 !important;
}
#verticales .subbrand-logo{
  min-height:72px !important;
  height:72px !important;
  margin-bottom:18px !important;
  padding-bottom:14px !important;
}
#verticales .vertical-title{
  margin-top:20px !important;
  min-height:58px !important;
}
#verticales .vertical-desc,
#verticales .vertical-tags,
#verticales .vertical-foot{
  opacity:1 !important;
  max-height:none !important;
  overflow:visible !important;
  transform:none !important;
}
#verticales .vertical-desc{
  margin-top:14px !important;
  flex:0 0 auto !important;
}
#verticales .vertical-tags{
  margin-top:auto !important;
  padding-top:18px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
#verticales .vertical-tag{
  white-space:normal !important;
  line-height:1.25 !important;
}
#verticales .vertical-foot{
  margin-top:20px !important;
  padding-top:16px !important;
  position:relative !important;
  bottom:auto !important;
}

/* 4) FOOTER: quitar párrafo y ordenar por país / dirección / teléfono */
footer#nosotros .footer-brand > p{
  display:none !important;
}
footer#nosotros .footer-contact-countries{
  margin-top:20px !important;
  display:grid !important;
  gap:16px !important;
  max-width:440px !important;
}
footer#nosotros .footer-country-block{
  display:grid !important;
  gap:5px !important;
  padding-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.66) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
footer#nosotros .footer-country-block strong{
  color:#fff !important;
  font-weight:600 !important;
}
footer#nosotros .footer-email-block{
  border-bottom:0 !important;
  padding-bottom:0 !important;
}

@media (max-width:1100px){
  #verticales .verticals-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #verticales .vertical-card{ min-height:460px !important; }
}
@media (max-width:900px){
  .hero-namirial-style,
  .hero-slider-home#top{
    height:auto !important;
    min-height:680px !important;
  }
  .hero-namirial-style .hero-slider-content,
  .hero-slider-home#top .hero-slider-content{
    height:auto !important;
    min-height:580px !important;
    padding-top:96px !important;
    padding-bottom:132px !important;
    display:flex !important;
    align-items:center !important;
  }
  .hero-copy-shell{
    min-height:0 !important;
    display:grid !important;
    grid-template-rows:auto auto auto auto !important;
    row-gap:14px !important;
  }
  #hero-title,
  .hero-namirial-style h1,
  #hero-subtitle,
  .hero-namirial-style .hero-sub{
    min-height:0 !important;
  }
  .hero-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .hero-actions .btn,
  #hero-primary,
  #hero-secondary{
    width:100% !important;
  }
  .hero-tabbar{
    min-height:98px !important;
  }
}
@media (max-width:640px){
  #verticales .verticals-grid{ grid-template-columns:1fr !important; }
  #verticales .vertical-card{ min-height:auto !important; overflow:visible !important; }
  #verticales .vertical-tags{ margin-top:22px !important; }
  footer#nosotros .footer-contact-countries{ max-width:100% !important; }
}

/* ===== BLOQUE ===== */

/* =========================================================
   NUEVA SECCIÓN PUNTUAL: proveedor auxiliar + certificaciones
   Insertada entre países y responsabilidad social.
   No modifica estructura ni funcionamiento existente.
   ========================================================= */
.regulatory-pill-section{
  background:#ffffff;
  padding:0 0 86px;
  position:relative;
  overflow:hidden;
}
.regulatory-pill-section::before{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:58%;
  background:
    radial-gradient(circle at 18% 20%, rgba(200,16,46,.055), transparent 34%),
    radial-gradient(circle at 82% 10%, rgba(6,43,120,.05), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0), #f7f8f8);
  pointer-events:none;
}
.regulatory-pill-wrap{
  position:relative;
  z-index:1;
}
.regulatory-pill-title{
  text-align:center;
  color:var(--fg);
  font-size:clamp(22px,2vw,32px);
  line-height:1.16;
  letter-spacing:-.035em;
  font-weight:400;
  margin:0 0 18px;
}
.regulatory-pill{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr .95fr;
  align-items:center;
  gap:28px;
  padding:28px 38px;
  border-radius:28px;
  background:#05080e;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 28px 80px -52px rgba(5,8,14,.72);
}
.regulatory-pill-block{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:22px;
  min-width:0;
}
.regulatory-pill-block + .regulatory-pill-block{
  border-left:1px solid rgba(255,255,255,.12);
  padding-left:32px;
}
.regulatory-pill-label{
  color:#d4a80c;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.regulatory-logo-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  min-width:0;
}
.regulatory-logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  max-width:220px;
  text-decoration:none;
  color:#fff;
}
.regulatory-logo-link img{
  display:block;
  max-height:54px;
  max-width:100%;
  width:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.1);
  opacity:.94;
}
.regulatory-logo-link.cert-logo img{
  filter:none;
  opacity:1;
}
.regulatory-text-fallback{
  display:none;
  color:#fff;
  font-size:15px;
  line-height:1.15;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
}
.regulatory-cert-stack{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.regulatory-cert-stack .regulatory-logo-link{
  max-width:92px;
  min-height:58px;
}
.regulatory-cert-stack img{
  max-height:58px;
}
@media (max-width:900px){
  .regulatory-pill-section{ padding:0 0 68px; }
  .regulatory-pill-title{ text-align:left; }
  .regulatory-pill{
    grid-template-columns:1fr;
    gap:22px;
    padding:26px 24px;
    border-radius:22px;
  }
  .regulatory-pill-block{
    grid-template-columns:1fr;
    gap:14px;
  }
  .regulatory-pill-block + .regulatory-pill-block{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
    padding-left:0;
    padding-top:22px;
  }
  .regulatory-logo-row{ justify-content:flex-start; flex-wrap:wrap; gap:18px; }
  .regulatory-pill-label{ white-space:normal; }
}
@media (max-width:560px){
  .regulatory-pill-section{ padding:0 0 58px; }
  .regulatory-pill{ padding:24px 20px; border-radius:20px; }
  .regulatory-logo-link{ max-width:150px; min-height:44px; }
  .regulatory-logo-link img{ max-height:44px; }
  .regulatory-text-fallback{ font-size:12px; }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE PUNTUAL: pastilla premium de acreditaciones
   Solo modifica la sección nueva de proveedor/certificaciones.
   ========================================================= */
.regulatory-pill-section{
  background:
    radial-gradient(circle at 16% 20%, rgba(200,16,46,.075), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(6,43,120,.055), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#fbfbf9 58%,#ffffff 100%) !important;
  padding: 8px 0 88px !important;
}
.regulatory-pill-title{
  color:#071426 !important;
  font-size:clamp(26px,2.4vw,38px) !important;
  font-weight:300 !important;
  letter-spacing:-.045em !important;
  margin-bottom:22px !important;
}
.regulatory-pill{
  position:relative !important;
  overflow:hidden !important;
  grid-template-columns: 1.25fr .92fr !important;
  gap:34px !important;
  padding:34px 42px !important;
  border-radius:32px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,0) 34%),
    radial-gradient(circle at 18% 0%, rgba(200,16,46,.24), transparent 30%),
    linear-gradient(180deg,#080c13 0%,#03060b 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 34px 90px -58px rgba(5,8,14,.86), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.regulatory-pill::before{
  content:'';
  position:absolute;
  left:26px;
  right:26px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--red), transparent);
  opacity:.95;
}
.regulatory-pill::after{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg, #000 0%, transparent 72%);
  -webkit-mask-image:linear-gradient(90deg, #000 0%, transparent 72%);
  pointer-events:none;
  opacity:.5;
}
.regulatory-pill-block{
  position:relative !important;
  z-index:1 !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  gap:28px !important;
}
.regulatory-pill-block + .regulatory-pill-block{
  border-left:1px solid rgba(255,255,255,.14) !important;
  padding-left:36px !important;
}
.regulatory-pill-label{
  color:#ffffff !important;
  font-size:15px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
}
.regulatory-logo-row,
.regulatory-cert-stack{
  justify-content:flex-start !important;
  gap:16px !important;
}
.regulatory-logo-link{
  min-width:150px !important;
  min-height:72px !important;
  padding:14px 18px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px -34px rgba(0,0,0,.9) !important;
  transition:transform .34s var(--premium-ease), border-color .34s var(--premium-ease), background .34s var(--premium-ease) !important;
}
.regulatory-logo-link:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(200,16,46,.42) !important;
  background:rgba(255,255,255,.085) !important;
}
.regulatory-logo-link img{
  max-height:44px !important;
  max-width:100% !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.14) !important;
  opacity:.96 !important;
}
.regulatory-text-fallback{
  display:none;
  color:#ffffff !important;
  font-size:13px !important;
  line-height:1.08 !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}
.regulatory-cert-stack .regulatory-logo-link{
  min-width:92px !important;
  max-width:104px !important;
  min-height:72px !important;
  padding:12px !important;
}
.regulatory-cert-stack .regulatory-logo-link img{
  max-height:48px !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.08) !important;
  opacity:.9 !important;
}
@media (max-width:900px){
  .regulatory-pill-section{ padding:0 0 68px !important; }
  .regulatory-pill-title{ text-align:left !important; }
  .regulatory-pill{ grid-template-columns:1fr !important; gap:22px !important; padding:28px 24px !important; border-radius:24px !important; }
  .regulatory-pill-block{ grid-template-columns:1fr !important; gap:16px !important; }
  .regulatory-pill-block + .regulatory-pill-block{ border-left:0 !important; border-top:1px solid rgba(255,255,255,.14) !important; padding-left:0 !important; padding-top:22px !important; }
  .regulatory-logo-row,.regulatory-cert-stack{ flex-wrap:wrap !important; justify-content:flex-start !important; }
  .regulatory-logo-link{ min-width:138px !important; min-height:62px !important; }
}
@media (max-width:560px){
  .regulatory-pill-section{ padding:0 0 58px !important; }
  .regulatory-pill{ padding:24px 20px !important; border-radius:20px !important; }
  .regulatory-logo-link{ min-width:128px !important; max-width:100% !important; min-height:58px !important; }
  .regulatory-logo-link img{ max-height:36px !important; }
  .regulatory-text-fallback{ font-size:11.5px !important; }
}

/* ===== BLOQUE ===== */

/* Ajuste puntual solicitado: textos en blanco y logos reemplazables en proveedor auxiliar. */
.regulatory-pill-label{
  color:#ffffff !important;
}
.regulatory-logo-row .regulatory-logo-link{
  min-width:190px !important;
  min-height:92px !important;
  padding:18px 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.regulatory-logo-row .regulatory-logo-link img{
  max-width:86% !important;
  max-height:62px !important;
  object-fit:contain !important;
  display:block !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.12) !important;
  opacity:.94 !important;
}
.regulatory-logo-row .regulatory-text-fallback{
  color:#ffffff !important;
}
@media (max-width:900px){
  .regulatory-logo-row .regulatory-logo-link{
    min-width:148px !important;
    min-height:70px !important;
    padding:14px 18px !important;
  }
  .regulatory-logo-row .regulatory-logo-link img{
    max-height:44px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   CORRECCIÓN PUNTUAL v8 — Acreditaciones y certificaciones
   - Logos con el mismo tamaño visual.
   - Tarjetas alineadas en PC y móvil.
   - No altera otras secciones ni funcionamiento actual.
   ========================================================= */
.regulatory-pill{
  align-items:center !important;
}
.regulatory-pill-block{
  align-items:center !important;
}
.regulatory-logo-row,
.regulatory-cert-stack{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
}
.regulatory-logo-link,
.regulatory-cert-stack .regulatory-logo-link,
.regulatory-logo-row .regulatory-logo-link{
  width:184px !important;
  min-width:184px !important;
  max-width:184px !important;
  height:82px !important;
  min-height:82px !important;
  max-height:82px !important;
  padding:16px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 184px !important;
  border-radius:18px !important;
}
.regulatory-logo-link img,
.regulatory-logo-row .regulatory-logo-link img,
.regulatory-cert-stack .regulatory-logo-link img{
  width:118px !important;
  height:46px !important;
  max-width:118px !important;
  max-height:46px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:auto !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.12) !important;
  opacity:.96 !important;
}
.regulatory-pill-label{
  color:#ffffff !important;
  min-width:max-content !important;
  display:flex !important;
  align-items:center !important;
  line-height:1.2 !important;
}
@media (min-width:901px){
  .regulatory-pill{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;
    gap:34px !important;
  }
  .regulatory-pill-block{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:24px !important;
  }
  .regulatory-pill-block + .regulatory-pill-block{
    padding-left:34px !important;
  }
}
@media (max-width:900px){
  .regulatory-pill-block{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .regulatory-logo-row,
  .regulatory-cert-stack{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }
  .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    flex:initial !important;
    padding:12px 14px !important;
    border-radius:13px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:92px !important;
    height:34px !important;
    max-width:92px !important;
    max-height:34px !important;
  }
}
@media (max-width:430px){
  .regulatory-logo-row,
  .regulatory-cert-stack{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link{
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
    padding:10px 12px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:82px !important;
    height:30px !important;
    max-width:82px !important;
    max-height:30px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   CORRECCIÓN PUNTUAL v9 — solo sección Acreditaciones
   - Evita que los logos se corten en PC.
   - Mantiene todos los logos con mismo tamaño y alineación.
   - Conserva la versión móvil sin alterar estructura.
   ========================================================= */
@media (min-width:901px){
  .regulatory-pill-section .container{
    max-width:1200px !important;
  }
  .regulatory-pill{
    width:100% !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:28px !important;
    padding:32px 36px !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  .regulatory-pill-block{
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:22px !important;
    align-items:center !important;
  }
  .regulatory-pill-block + .regulatory-pill-block{
    padding-left:28px !important;
    border-left:1px solid rgba(255,255,255,.14) !important;
  }
  .regulatory-pill-label{
    color:#ffffff !important;
    font-size:15px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    min-width:auto !important;
  }
  .regulatory-logo-row,
  .regulatory-cert-stack{
    min-width:0 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:center !important;
  }
  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:76px !important;
    min-height:76px !important;
    max-height:76px !important;
    flex:initial !important;
    padding:14px 18px !important;
    border-radius:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:108px !important;
    height:42px !important;
    max-width:108px !important;
    max-height:42px !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    margin:auto !important;
  }
}
@media (min-width:901px) and (max-width:1180px){
  .regulatory-pill{
    max-width:1040px !important;
    padding:30px 30px !important;
    gap:22px !important;
  }
  .regulatory-pill-block{ gap:18px !important; }
  .regulatory-pill-block + .regulatory-pill-block{ padding-left:22px !important; }
  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    height:70px !important;
    min-height:70px !important;
    max-height:70px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:96px !important;
    height:38px !important;
    max-width:96px !important;
    max-height:38px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE PUNTUAL v16
   - Logos de verticales +10/15%.
   - Logos de proveedor auxiliar y certificaciones +10/15%.
   - Certificaciones usan 3.png y 4.png en el HTML.
   No altera estructura, funcionamiento ni secciones adicionales.
   ========================================================= */

/* Verticales: logos oficiales ligeramente más grandes, manteniendo responsive */
#verticales .vertical-card .subbrand-logo,
.section-dark #verticales .vertical-card .subbrand-logo{
  min-height:96px !important;
  height:96px !important;
  padding-bottom:16px !important;
  margin-bottom:20px !important;
}
#verticales .subbrand-logo-img,
.section-dark #verticales .subbrand-logo img.subbrand-logo-img{
  max-width:278px !important;
  max-height:83px !important;
}
#verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img,
.section-dark #verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
  max-width:340px !important;
  max-height:87px !important;
}

/* Acreditaciones: tarjetas y logos +10/15% sin romper alineación */
.regulatory-logo-link,
.regulatory-logo-row .regulatory-logo-link,
.regulatory-cert-stack .regulatory-logo-link{
  min-height:84px !important;
  height:84px !important;
}
.regulatory-logo-link img,
.regulatory-logo-row .regulatory-logo-link img,
.regulatory-cert-stack .regulatory-logo-link img{
  max-height:49px !important;
}

@media (min-width:901px){
  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }
  .regulatory-cert-stack .regulatory-logo-link{
    height:76px !important;
    min-height:76px !important;
    max-height:76px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:49px !important;
  }
  .regulatory-cert-stack .regulatory-logo-link img{
    max-height:44px !important;
  }
}

@media (max-width:900px){
  #verticales .vertical-card .subbrand-logo,
  .section-dark #verticales .vertical-card .subbrand-logo{
    min-height:90px !important;
    height:90px !important;
  }
  #verticales .subbrand-logo-img,
  .section-dark #verticales .subbrand-logo img.subbrand-logo-img{
    max-width:250px !important;
    max-height:78px !important;
  }
  #verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img,
  .section-dark #verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
    max-width:306px !important;
    max-height:82px !important;
  }
  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    max-height:37px !important;
  }
}

@media (max-width:430px){
  #verticales .vertical-card .subbrand-logo,
  .section-dark #verticales .vertical-card .subbrand-logo{
    min-height:84px !important;
    height:84px !important;
  }
  #verticales .subbrand-logo-img,
  .section-dark #verticales .subbrand-logo img.subbrand-logo-img{
    max-width:232px !important;
    max-height:72px !important;
  }
  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    max-height:35px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE PUNTUAL v17 — SOLO TAMAÑO DE LOGOS
   - Verticales: logos +30% aprox.
   - Hero certificaciones: logo/franja +30% aprox.
   - Acreditaciones: servicios complementarios y certificaciones +30% aprox.
   - Mantiene responsive y no altera otras secciones.
   ========================================================= */

/* 1) Logos de verticales */
#verticales .subbrand-logo{
  min-height:94px !important;
  height:94px !important;
  padding-bottom:16px !important;
  margin-bottom:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
#verticales .subbrand-logo img.subbrand-logo-img,
#verticales .subbrand-logo-img{
  max-width:315px !important;
  max-height:94px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(1.3) !important;
  transform-origin:center center !important;
}
#verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
  max-width:350px !important;
  max-height:98px !important;
}

/* 2) Logos / marca de certificaciones en el hero slider */
#top .hero-cert-watermark{
  width:clamp(244px, 20.8vw, 317px) !important;
  height:68px !important;
  padding:0 22px !important;
}
#top .hero-cert-watermark img{
  max-width:76px !important;
  max-height:39px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* 3) Logos de sección Proveedor auxiliar / Certificaciones */
.regulatory-pill{
  max-width:1200px !important;
  overflow:visible !important;
}
.regulatory-logo-link,
.regulatory-cert-stack .regulatory-logo-link,
.regulatory-logo-row .regulatory-logo-link{
  width:218px !important;
  min-width:218px !important;
  max-width:218px !important;
  height:96px !important;
  min-height:96px !important;
  max-height:96px !important;
  padding:18px 24px !important;
  flex:0 0 218px !important;
}
.regulatory-logo-link img,
.regulatory-logo-row .regulatory-logo-link img,
.regulatory-cert-stack .regulatory-logo-link img{
  width:153px !important;
  height:60px !important;
  max-width:153px !important;
  max-height:60px !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (min-width:901px) and (max-width:1280px){
  #verticales .subbrand-logo{
    min-height:88px !important;
    height:88px !important;
  }
  #verticales .subbrand-logo img.subbrand-logo-img,
  #verticales .subbrand-logo-img{
    max-width:292px !important;
    max-height:88px !important;
    transform:scale(1.24) !important;
  }
  #top .hero-cert-watermark{
    width:244px !important;
    height:62px !important;
  }
  #top .hero-cert-watermark img{
    max-width:65px !important;
    max-height:35px !important;
  }
  .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link{
    width:192px !important;
    min-width:192px !important;
    max-width:192px !important;
    height:88px !important;
    min-height:88px !important;
    max-height:88px !important;
    flex:0 0 192px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:138px !important;
    height:54px !important;
    max-width:138px !important;
    max-height:54px !important;
  }
}

@media (max-width:900px){
  #verticales .subbrand-logo{
    min-height:92px !important;
    height:92px !important;
  }
  #verticales .subbrand-logo img.subbrand-logo-img,
  #verticales .subbrand-logo-img{
    max-width:286px !important;
    max-height:88px !important;
    transform:scale(1.22) !important;
  }
  #top .hero-cert-watermark{
    width:76px !important;
    height:76px !important;
    padding:0 !important;
  }
  #top .hero-cert-watermark img{
    max-width:52px !important;
    max-height:34px !important;
  }
  .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:76px !important;
    min-height:76px !important;
    max-height:76px !important;
    flex:initial !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:120px !important;
    height:44px !important;
    max-width:120px !important;
    max-height:44px !important;
  }
}

@media (max-width:430px){
  #verticales .subbrand-logo{
    min-height:86px !important;
    height:86px !important;
  }
  #verticales .subbrand-logo img.subbrand-logo-img,
  #verticales .subbrand-logo-img{
    max-width:250px !important;
    max-height:78px !important;
    transform:scale(1.18) !important;
  }
  .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link{
    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;
  }
  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    width:106px !important;
    height:39px !important;
    max-width:106px !important;
    max-height:39px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE PUNTUAL SOLICITADO — Certificaciones hero + sección
   - Hero: se elimina el texto de la burbuja y queda solo el logo ISO.
   - Hero: logo ISO 2x más grande sin mover la ubicación general.
   - Sección acreditaciones: se eliminan tarjetas internas de logos.
   - Proveedor auxiliar: logos 1 y 2 más grandes.
   - Certificaciones: se muestra un solo logo ISO, mismo del hero.
   ========================================================= */
#top .hero-cert-watermark{
  width:clamp(188px, 16vw, 244px) !important;
  height:clamp(88px, 7.6vw, 116px) !important;
  padding:0 !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#top .hero-cert-watermark::before{
  content:none !important;
  display:none !important;
}
#top .hero-cert-watermark img{
  max-width:82% !important;
  max-height:82% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

.regulatory-pill .regulatory-logo-link,
.regulatory-pill .regulatory-logo-row .regulatory-logo-link,
.regulatory-pill .regulatory-cert-stack .regulatory-logo-link{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.regulatory-pill .regulatory-logo-link:hover,
.regulatory-pill .regulatory-logo-row .regulatory-logo-link:hover,
.regulatory-pill .regulatory-cert-stack .regulatory-logo-link:hover{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.regulatory-pill .regulatory-logo-row{
  gap:34px !important;
}
.regulatory-pill .regulatory-logo-row .regulatory-logo-link{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  height:112px !important;
  min-height:112px !important;
  max-height:112px !important;
  flex:0 0 210px !important;
}
.regulatory-pill .regulatory-logo-row .regulatory-logo-link img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:96px !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.12) !important;
  opacity:1 !important;
}
.regulatory-pill .regulatory-cert-stack-single{
  justify-content:center !important;
  gap:0 !important;
}
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  height:112px !important;
  min-height:112px !important;
  max-height:112px !important;
  flex:0 0 210px !important;
}
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:104px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

@media (min-width:901px) and (max-width:1280px){
  #top .hero-cert-watermark{
    width:clamp(170px, 15vw, 210px) !important;
    height:92px !important;
  }
  #top .hero-cert-watermark img{
    max-width:84% !important;
    max-height:84% !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    width:178px !important;
    min-width:178px !important;
    max-width:178px !important;
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    flex:0 0 178px !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    max-height:84px !important;
  }
}

@media (max-width:900px){
  #top .hero-cert-watermark{
    right:18px !important;
    top:92px !important;
    width:104px !important;
    height:64px !important;
    opacity:.72 !important;
  }
  #top .hero-cert-watermark img{
    max-width:88% !important;
    max-height:88% !important;
  }
  .regulatory-pill .regulatory-logo-row,
  .regulatory-pill .regulatory-cert-stack-single{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    justify-content:start !important;
    width:100% !important;
  }
  .regulatory-pill .regulatory-cert-stack-single{
    grid-template-columns:1fr !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:90px !important;
    min-height:90px !important;
    max-height:90px !important;
    flex:initial !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    max-width:100% !important;
    max-height:78px !important;
  }
}

@media (max-width:430px){
  #top .hero-cert-watermark{
    width:86px !important;
    height:54px !important;
    right:14px !important;
  }
  .regulatory-pill .regulatory-logo-row{
    grid-template-columns:1fr !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    height:82px !important;
    min-height:82px !important;
    max-height:82px !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    max-height:72px !important;
  }
}

/* ===== BLOQUE ===== */

.hero-cert-watermark{
  pointer-events:auto !important;
}
.hero-cert-detail-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:5px;
  font-size:11px;
  font-family:'Manrope',sans-serif;
  font-weight:400;
  color:rgba(255,255,255,.52);
  text-decoration:none;
  letter-spacing:.01em;
  transition:color .25s ease;
  pointer-events:auto;
  white-space:nowrap;
  line-height:1;
}
.hero-cert-detail-link:hover{
  color:rgba(255,255,255,.90);
}
.hero-cert-detail-link .cert-link-arrow{
  font-size:8px;
  line-height:1;
}
@media (max-width:900px){
  .hero-cert-detail-link{
    font-size:10px;
  }
}

/* ===== BLOQUE ===== */

@media (max-width: 900px) {
  /* 1) HERO MOBILE: slider automático, sin barra inferior deslizable/clickeable */
  .hero.hero-slider-home,
  .hero-namirial-style {
    min-height: 100svh !important;
    height: 100svh !important;
    padding-top: 92px !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: stretch !important;
  }

  .hero-slider-content,
  .hero-premium-copy,
  .hero-content {
    min-height: calc(100svh - 92px) !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-copy-shell {
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 24px !important;
  }

  .hero-kicker {
    font-size: 13px !important;
    letter-spacing: .12em !important;
    margin-bottom: 16px !important;
  }

  .hero h1,
  .hero-premium-copy h1 {
    font-size: clamp(46px, 14vw, 62px) !important;
    line-height: .96 !important;
    letter-spacing: -0.065em !important;
    max-width: 9.8ch !important;
  }

  .hero-sub {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.48 !important;
    max-width: 94% !important;
    margin-top: 24px !important;
  }

  .hero-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 34px !important;
  }

  .hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 56px !important;
    font-size: 16px !important;
  }

  .hero-slide-bg {
    background-position: center center !important;
    transform: none !important;
  }

  .hero-tabbar {
    display: none !important;
    pointer-events: none !important;
  }

  /* 2) VERTICALES MOBILE: contenido visible en scroll, sin depender de tap/hover */
  #verticales .verticals-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  #verticales .vertical-card {
    min-height: auto !important;
    padding: 42px 28px 34px !important;
    cursor: default !important;
  }

  #verticales .vertical-card .subbrand-logo,
  #verticales .vertical-card .vertical-num,
  #verticales .vertical-card .vertical-title,
  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-height: none !important;
    filter: none !important;
  }

  #verticales .vertical-card .vertical-desc {
    display: block !important;
    margin-top: 18px !important;
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  #verticales .vertical-card .vertical-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 24px !important;
  }

  #verticales .vertical-card .vertical-foot {
    display: flex !important;
    margin-top: 28px !important;
    padding-top: 22px !important;
  }

  #verticales .vertical-card .vertical-title {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: .98 !important;
  }

  #verticales .subbrand-logo-img {
    max-width: 150px !important;
    max-height: 86px !important;
    object-fit: contain !important;
  }

  /* 3) MENÚ MOBILE: acordeón compacto, sin aire excesivo y solo opciones necesarias */
  .header.mobile-open {
    overflow-y: auto !important;
    max-height: 100svh !important;
  }

  .header.mobile-open .nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .header.mobile-open .nav > a.nav-item,
  .header.mobile-open .megamenu-wrap > .nav-item {
    min-height: 56px !important;
    padding: 0 24px !important;
    width: 100% !important;
    justify-content: space-between !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    font-size: 18px !important;
    color: #fff !important;
  }

  .header.mobile-open .megamenu-wrap {
    width: 100% !important;
    position: relative !important;
  }

  .header.mobile-open .megamenu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #080b11 !important;
    box-shadow: none !important;
    transition: max-height .28s cubic-bezier(.2,.8,.2,1), opacity .2s ease !important;
  }

  .header.mobile-open .megamenu-wrap.is-open .megamenu {
    max-height: 480px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .header.mobile-open .megamenu-inner {
    display: block !important;
    padding: 8px 20px 18px !important;
  }

  .header.mobile-open .megamenu-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  .header.mobile-open .mega-item {
    display: block !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.035) !important;
  }

  .header.mobile-open .mega-item .mlabel {
    display: block !important;
    font-size: 11px !important;
    color: var(--red) !important;
    margin-bottom: 4px !important;
  }

  .header.mobile-open .mega-item .mtitle {
    display: block !important;
    font-size: 18px !important;
    color: #fff !important;
    margin: 0 !important;
  }

  .header.mobile-open .mega-item .mdesc,
  .header.mobile-open .mega-item .msubs,
  .header.mobile-open .mega-side {
    display: none !important;
  }

  .header.mobile-open .header-cta {
    display: flex !important;
    margin: 18px 24px 26px !important;
    width: calc(100% - 48px) !important;
    min-height: 54px !important;
    justify-content: center !important;
  }
}

/* ===== BLOQUE ===== */

@media (max-width: 900px) {
  html.mobile-nav-lock,
  body.mobile-nav-lock {
    overflow: hidden !important;
    touch-action: none !important;
  }

  /* HEADER / MENÚ MÓVIL: drawer funcional, limpio y estable */
  .header#hdr {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: rgba(5,8,14,.985) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
  }

  .header#hdr .header-inner {
    min-height: 82px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .header#hdr .logo img,
  .header#hdr .logo-main,
  .header#hdr .main-logo {
    max-width: 172px !important;
    height: auto !important;
  }

  .header#hdr .mobile-menu-toggle {
    display: inline-flex !important;
    margin-left: auto !important;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 6px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
    color: #fff !important;
    z-index: 100003 !important;
  }

  .header#hdr .mobile-menu-toggle span {
    width: 22px !important;
    height: 2px !important;
    display: block !important;
    background: currentColor !important;
    border-radius: 999px !important;
    transition: transform .32s cubic-bezier(.16,1,.3,1), opacity .24s ease !important;
  }

  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(2) { opacity: 0 !important; }
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }

  .header#hdr:not(.mobile-open) .nav {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) scale(.985) !important;
  }

  .header#hdr.mobile-open .nav {
    display: flex !important;
    position: fixed !important;
    top: 88px !important;
    left: 14px !important;
    right: 14px !important;
    bottom: auto !important;
    width: auto !important;
    max-height: calc(100dvh - 106px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 12px !important;
    background: linear-gradient(180deg, rgba(8,11,18,.995), rgba(5,8,14,.99)) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.06) !important;
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 100001 !important;
    animation: latinusMobileMenuIn .34s cubic-bezier(.16,1,.3,1) both !important;
  }

  @keyframes latinusMobileMenuIn {
    from { opacity: 0; transform: translateY(-10px) scale(.985); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
  }

  .header#hdr.mobile-open .nav > a.nav-item,
  .header#hdr.mobile-open .megamenu-wrap > .nav-item {
    display: flex !important;
    min-height: 54px !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 16px !important;
    color: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }

  .header#hdr.mobile-open .nav > a.nav-item:active,
  .header#hdr.mobile-open .megamenu-wrap > .nav-item:active {
    transform: scale(.985) !important;
    background: rgba(255,255,255,.075) !important;
  }

  .header#hdr.mobile-open .megamenu-wrap {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
  }

  .header#hdr.mobile-open .megamenu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: visible !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: max-height .36s cubic-bezier(.16,1,.3,1), opacity .24s ease !important;
  }

  .header#hdr.mobile-open .megamenu-wrap.is-open .megamenu {
    max-height: 430px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .header#hdr.mobile-open .megamenu-inner {
    display: block !important;
    padding: 8px 0 4px !important;
  }

  .header#hdr.mobile-open .megamenu-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 0 !important;
  }

  .header#hdr.mobile-open .mega-item {
    display: block !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.028) !important;
    color: #fff !important;
    animation: latinusMobileItemIn .42s cubic-bezier(.16,1,.3,1) both !important;
  }

  .header#hdr.mobile-open .mega-item:nth-child(2) { animation-delay: .035s !important; }
  .header#hdr.mobile-open .mega-item:nth-child(3) { animation-delay: .07s !important; }
  .header#hdr.mobile-open .mega-item:nth-child(4) { animation-delay: .105s !important; }

  @keyframes latinusMobileItemIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .header#hdr.mobile-open .mega-item .mlabel {
    display: block !important;
    margin: 0 0 5px !important;
    color: var(--red) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
  }

  .header#hdr.mobile-open .mega-item .mtitle {
    display: block !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.16 !important;
    font-weight: 500 !important;
  }

  .header#hdr.mobile-open .mega-item .mdesc,
  .header#hdr.mobile-open .mega-item .msubs,
  .header#hdr.mobile-open .mega-side {
    display: none !important;
  }

  .header#hdr.mobile-open .header-cta {
    display: flex !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    min-height: 54px !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  /* Evita que reglas antiguas de hover/focus desktop abran el mega menú en mobile */
  .header#hdr.mobile-open .megamenu-wrap:not(.is-open) .megamenu,
  .header#hdr .megamenu-wrap:hover .megamenu,
  .header#hdr .megamenu-wrap:focus-within .megamenu {
    pointer-events: none;
  }
}

@media (max-width: 900px) {
  /* HERO MOBILE: conserva diseño, mejora sensación sin volver la barra clickeable */
  .hero-tabbar {
    display: none !important;
  }

  .hero-slider-dots {
    pointer-events: none !important;
  }

  .hero-slider-dots button,
  .hero-tab[data-hero-dot] {
    pointer-events: none !important;
  }

  /* SEGUNDA SECCIÓN / VERTICALES MOBILE: lectura progresiva, no depende de hover */
  #verticales {
    position: relative !important;
  }

  #verticales::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 82% 12%, rgba(201,24,47,.13), transparent 28%),
      radial-gradient(circle at 12% 64%, rgba(255,255,255,.055), transparent 30%);
    pointer-events: none;
  }

  #verticales .verticals-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #verticales .vertical-card {
    position: relative !important;
    min-height: auto !important;
    padding: 34px 26px 28px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(18,24,36,.92), rgba(8,12,20,.96)) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.055) !important;
    overflow: hidden !important;
    transform: translateY(18px) scale(.985) !important;
    opacity: .72 !important;
    transition:
      transform .64s cubic-bezier(.16,1,.3,1),
      opacity .64s cubic-bezier(.16,1,.3,1),
      border-color .42s ease,
      box-shadow .42s ease !important;
  }

  #verticales .vertical-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 38%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease !important;
  }

  #verticales .vertical-card.mobile-inview,
  #verticales .vertical-card.in {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: 0 26px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.07) !important;
  }

  #verticales .vertical-card.mobile-inview::after,
  #verticales .vertical-card.in::after {
    opacity: .55 !important;
  }

  #verticales .vertical-card .subbrand-logo,
  #verticales .vertical-card .vertical-num,
  #verticales .vertical-card .vertical-title,
  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-height: none !important;
    filter: none !important;
  }

  #verticales .subbrand-logo-img {
    max-width: 132px !important;
    max-height: 76px !important;
    object-fit: contain !important;
  }

  #verticales .vertical-num {
    margin-top: 22px !important;
    color: rgba(255,255,255,.46) !important;
    font-size: 15px !important;
  }

  #verticales .vertical-title {
    font-size: clamp(40px, 12vw, 54px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    margin-top: 22px !important;
  }

  #verticales .vertical-desc {
    display: block !important;
    margin-top: 18px !important;
    font-size: 17px !important;
    line-height: 1.58 !important;
    color: rgba(255,255,255,.72) !important;
  }

  #verticales .vertical-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 22px !important;
  }

  #verticales .vertical-tag {
    font-size: 13px !important;
    padding: 7px 11px !important;
    background: rgba(255,255,255,.045) !important;
  }

  #verticales .vertical-foot {
    display: flex !important;
    margin-top: 26px !important;
    padding-top: 20px !important;
  }

  /* Animación global mobile suave para secciones, sin cambiar desktop */
  section.block,
  .industries-focus-section,
  .partners-vertical-section,
  .stats-section,
  #insights,
  #contacto {
    scroll-margin-top: 92px !important;
  }

  .mobile-soft-reveal {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(7px);
    transition:
      opacity .72s cubic-bezier(.16,1,.3,1),
      transform .72s cubic-bezier(.16,1,.3,1),
      filter .72s cubic-bezier(.16,1,.3,1) !important;
  }

  .mobile-soft-reveal.mobile-inview {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 560px) {
  .header#hdr .header-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .header#hdr .logo img,
  .header#hdr .logo-main,
  .header#hdr .main-logo {
    max-width: 154px !important;
  }

  .header#hdr.mobile-open .nav {
    top: 84px !important;
    left: 10px !important;
    right: 10px !important;
    max-height: calc(100dvh - 96px) !important;
  }

  #verticales .vertical-card {
    padding: 32px 22px 26px !important;
    border-radius: 22px !important;
  }

  #verticales .vertical-title {
    font-size: clamp(38px, 13vw, 50px) !important;
  }

  #verticales .vertical-desc {
    font-size: 16px !important;
  }
}

/* ===== BLOQUE ===== */

@media (max-width: 900px) {
  html.mobile-nav-lock,
  body.mobile-nav-lock {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* HEADER MOBILE: logo + botón hamburguesa limpio. El CTA no debe aparecer dentro de la barra móvil. */
  .header#hdr {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: rgba(5,8,14,.98) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  .header#hdr .header-inner {
    min-height: 86px !important;
    height: 86px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 0 22px !important;
  }

  .header#hdr .logo {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    position: relative !important;
    z-index: 10002 !important;
  }

  .header#hdr .header-logo-img {
    width: min(190px, 48vw) !important;
    max-width: 190px !important;
    height: auto !important;
    display: block !important;
  }

  .header#hdr .header-cta {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .header#hdr .mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.045) !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 10003 !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .header#hdr .mobile-menu-toggle span {
    width: 26px !important;
    height: 2px !important;
    background: currentColor !important;
    border-radius: 999px !important;
    display: block !important;
    transition: transform .28s cubic-bezier(.16,1,.3,1), opacity .22s ease !important;
  }

  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(1) { transform: translateY(9px) rotate(45deg) !important; }
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(2) { opacity: 0 !important; }
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-9px) rotate(-45deg) !important; }

  /* MENÚ MOBILE: panel funcional debajo del header, sin CTA gigante ni solapes */
  .header#hdr .nav {
    display: flex !important;
    position: fixed !important;
    top: 86px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: calc(100dvh - 86px) !important;
    max-height: calc(100dvh - 86px) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 18px 22px 34px !important;
    background:
      radial-gradient(circle at 90% 10%, rgba(207,14,45,.14), transparent 30%),
      linear-gradient(180deg, rgba(5,8,14,.99), rgba(4,7,12,.995)) !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.45) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translateX(104%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
      transform .36s cubic-bezier(.16,1,.3,1),
      opacity .28s ease,
      visibility .28s ease !important;
    z-index: 9998 !important;
  }

  .header#hdr.mobile-open .nav {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .header#hdr .nav > a.nav-item,
  .header#hdr .megamenu-wrap > .nav-item {
    min-height: 60px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4px !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
  }

  .header#hdr .megamenu-wrap {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
  }

  .header#hdr .megamenu,
  .header#hdr .megamenu-wrap:hover .megamenu,
  .header#hdr .megamenu-wrap:focus-within .megamenu {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: max-height .34s cubic-bezier(.16,1,.3,1), opacity .24s ease, visibility .24s ease !important;
  }

  .header#hdr .megamenu-wrap.is-open .megamenu {
    max-height: 460px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .header#hdr .megamenu-inner {
    display: block !important;
    padding: 10px 0 16px !important;
  }

  .header#hdr .megamenu-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  .header#hdr .mega-item {
    display: block !important;
    min-height: 0 !important;
    padding: 15px 16px !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  }

  .header#hdr .mega-item .mlabel {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--red) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  .header#hdr .mega-item .mtitle {
    display: block !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: -.02em !important;
  }

  .header#hdr .mega-item .mdesc,
  .header#hdr .mega-item .msubs,
  .header#hdr .mega-side {
    display: none !important;
  }

  /* SEGUNDA SECCIÓN MOBILE: lectura progresiva real al hacer scroll */
  #verticales .verticals-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #verticales .vertical-card {
    min-height: auto !important;
    padding: 34px 24px 30px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(17,24,39,.96), rgba(7,10,17,.98)) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.055) !important;
    overflow: hidden !important;
    opacity: .76 !important;
    transform: translateY(22px) scale(.985) !important;
    transition: opacity .68s cubic-bezier(.16,1,.3,1), transform .68s cubic-bezier(.16,1,.3,1), border-color .42s ease !important;
  }

  #verticales .vertical-card.mobile-reading,
  #verticales .vertical-card.mobile-inview,
  #verticales .vertical-card.in {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    border-color: rgba(255,255,255,.22) !important;
  }

  #verticales .vertical-card .subbrand-logo,
  #verticales .vertical-card .vertical-num,
  #verticales .vertical-card .vertical-title,
  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot {
    display: block !important;
    visibility: visible !important;
    max-height: none !important;
    overflow: visible !important;
    filter: none !important;
  }

  #verticales .vertical-card .subbrand-logo,
  #verticales .vertical-card .vertical-num,
  #verticales .vertical-card .vertical-title,
  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot {
    opacity: 0 !important;
    transform: translateY(18px) !important;
    transition: opacity .58s cubic-bezier(.16,1,.3,1), transform .58s cubic-bezier(.16,1,.3,1) !important;
  }

  #verticales .vertical-card.mobile-reading .subbrand-logo,
  #verticales .vertical-card.mobile-inview .subbrand-logo,
  #verticales .vertical-card.in .subbrand-logo { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .02s !important; }

  #verticales .vertical-card.mobile-reading .vertical-num,
  #verticales .vertical-card.mobile-inview .vertical-num,
  #verticales .vertical-card.in .vertical-num { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .10s !important; }

  #verticales .vertical-card.mobile-reading .vertical-title,
  #verticales .vertical-card.mobile-inview .vertical-title,
  #verticales .vertical-card.in .vertical-title { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .18s !important; }

  #verticales .vertical-card.mobile-reading .vertical-desc,
  #verticales .vertical-card.mobile-inview .vertical-desc,
  #verticales .vertical-card.in .vertical-desc { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .30s !important; }

  #verticales .vertical-card.mobile-reading .vertical-tags,
  #verticales .vertical-card.mobile-inview .vertical-tags,
  #verticales .vertical-card.in .vertical-tags { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .40s !important; }

  #verticales .vertical-card.mobile-reading .vertical-foot,
  #verticales .vertical-card.mobile-inview .vertical-foot,
  #verticales .vertical-card.in .vertical-foot { opacity: 1 !important; transform: translateY(0) !important; transition-delay: .50s !important; }

  #verticales .subbrand-logo-img {
    max-width: 136px !important;
    max-height: 78px !important;
    object-fit: contain !important;
  }

  #verticales .vertical-num { margin-top: 24px !important; font-size: 15px !important; color: rgba(255,255,255,.48) !important; }
  #verticales .vertical-title { margin-top: 24px !important; font-size: clamp(40px, 12vw, 54px) !important; line-height: .98 !important; }
  #verticales .vertical-desc { margin-top: 18px !important; font-size: 17px !important; line-height: 1.62 !important; color: rgba(255,255,255,.76) !important; }
  #verticales .vertical-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 22px !important; }
  #verticales .vertical-foot { display: flex !important; margin-top: 26px !important; padding-top: 20px !important; }
}

@media (max-width: 560px) {
  .header#hdr .header-inner { height: 84px !important; min-height: 84px !important; padding-inline: 20px !important; }
  .header#hdr .nav { top: 84px !important; height: calc(100dvh - 84px) !important; max-height: calc(100dvh - 84px) !important; }
  .header#hdr .mobile-menu-toggle { width: 56px !important; height: 56px !important; min-width: 56px !important; min-height: 56px !important; border-radius: 17px !important; }
  #verticales .vertical-card { padding: 32px 22px 28px !important; }
}

/* ===== BLOQUE ===== */

@media (max-width: 900px) {
  html.latinus-mobile-menu-lock,
  body.latinus-mobile-menu-lock {
    overflow: hidden !important;
    height: 100% !important;
    touch-action: none !important;
  }

  /* El menú anterior queda neutralizado en mobile para evitar solapes con el hero. */
  .header#hdr .nav {
    display: none !important;
  }

  .header#hdr {
    overflow: visible !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100000 !important;
  }

  .header#hdr .header-inner {
    height: 86px !important;
    min-height: 86px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 0 20px !important;
  }

  .header#hdr .header-cta {
    display: none !important;
  }

  .header#hdr .header-logo-img {
    width: min(192px, 49vw) !important;
    max-width: 192px !important;
    height: auto !important;
  }

  .header#hdr .mobile-menu-toggle {
    display: inline-flex !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    flex: 0 0 58px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.045) !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 100002 !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .header#hdr .mobile-menu-toggle span {
    width: 26px !important;
    height: 2px !important;
    background: currentColor !important;
    border-radius: 999px !important;
    display: block !important;
    transition: transform .28s cubic-bezier(.16,1,.3,1), opacity .22s ease !important;
  }

  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(1) { transform: translateY(9px) rotate(45deg) !important; }
  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(2) { opacity: 0 !important; }
  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-9px) rotate(-45deg) !important; }

  /* Overlay independiente. Siempre queda arriba del hero y del contenido. */
  .latinus-mobile-overlay-v4 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100001 !important;
    display: flex !important;
    flex-direction: column !important;
    background:
      radial-gradient(circle at 85% 5%, rgba(207,14,45,.18), transparent 32%),
      linear-gradient(180deg, rgba(5,8,14,.995), rgba(3,6,12,.995)) !important;
    color: #fff !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-10px) !important;
    transition: opacity .28s ease, transform .34s cubic-bezier(.16,1,.3,1), visibility .28s ease !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 104px 22px 34px !important;
  }

  .latinus-mobile-overlay-v4.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .latinus-mobile-panel-v4 {
    width: 100% !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.035) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
    overflow: hidden !important;
  }

  .latinus-mobile-menu-row-v4,
  .latinus-mobile-product-btn-v4 {
    width: 100% !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 20px !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
    text-decoration: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
  }

  .latinus-mobile-menu-row-v4:last-child { border-bottom: 0 !important; }

  .latinus-mobile-product-btn-v4 .chevron-v4 {
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    transition: transform .25s ease !important;
    opacity: .78 !important;
  }

  .latinus-mobile-panel-v4.products-open .latinus-mobile-product-btn-v4 .chevron-v4 {
    transform: rotate(-135deg) translate(-2px,-2px) !important;
  }

  .latinus-mobile-products-v4 {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    transition: max-height .34s cubic-bezier(.16,1,.3,1), opacity .24s ease !important;
    background: rgba(255,255,255,.025) !important;
  }

  .latinus-mobile-panel-v4.products-open .latinus-mobile-products-v4 {
    max-height: 330px !important;
    opacity: 1 !important;
  }

  .latinus-mobile-product-link-v4 {
    display: block !important;
    padding: 15px 20px 15px 32px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
  }
  .latinus-mobile-product-link-v4:last-child { border-bottom: 0 !important; }

  .latinus-mobile-cta-v4 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 58px !important;
    margin-top: 18px !important;
    border-radius: 18px !important;
    background: var(--red, #cf0e2d) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    box-shadow: 0 18px 38px rgba(207,14,45,.24) !important;
  }

  .latinus-mobile-note-v4 {
    color: rgba(255,255,255,.42) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin: 18px 4px 0 !important;
  }

}

/* ===== BLOQUE ===== */

@media (max-width: 900px) {
  /* Botón original: cuando el menú está abierto, siempre visible y en estado X */
  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle,
  .header#hdr.mobile-open .mobile-menu-toggle {
    position: fixed !important;
    top: max(22px, env(safe-area-inset-top)) !important;
    right: 18px !important;
    z-index: 100010 !important;
    display: inline-flex !important;
    width: 58px !important;
    height: 58px !important;
    background: rgba(8,11,17,.96) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(1),
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(9px) rotate(45deg) !important;
  }
  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(2),
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }
  .header#hdr.mobile-menu-v4-open .mobile-menu-toggle span:nth-child(3),
  .header#hdr.mobile-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg) !important;
  }

  /* X independiente dentro del overlay por si el header queda fuera del viewport en Safari/iOS */
  .latinus-mobile-close-v5 {
    position: fixed !important;
    top: max(22px, env(safe-area-inset-top)) !important;
    right: 18px !important;
    z-index: 100020 !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    background: rgba(8,11,17,.98) !important;
    color: #fff !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  .latinus-mobile-overlay-v4.is-open .latinus-mobile-close-v5,
  .header#hdr.mobile-menu-v4-open ~ .latinus-mobile-overlay-v4 .latinus-mobile-close-v5 {
    display: inline-flex !important;
  }

  .latinus-mobile-close-v5::before,
  .latinus-mobile-close-v5::after {
    content: '' !important;
    position: absolute !important;
    width: 28px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: currentColor !important;
  }
  .latinus-mobile-close-v5::before { transform: rotate(45deg) !important; }
  .latinus-mobile-close-v5::after { transform: rotate(-45deg) !important; }

  /* Espacio superior del overlay para que el botón cerrar no tape los enlaces */
  .latinus-mobile-overlay-v4 {
    padding-top: calc(max(22px, env(safe-area-inset-top)) + 86px) !important;
  }

  /* Jerarquía tipográfica mobile más consistente, tomando como referencia la sección de industrias */
  body {
    text-rendering: optimizeLegibility !important;
  }

  section .block-head h2,
  .section-title,
  .blog-head h2,
  .clients-section .section-title,
  .contact-info h2,
  .industries-section h2,
  .industry-section h2,
  .latinus-section-title,
  .section-head h2 {
    font-size: clamp(38px, 10.5vw, 50px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.055em !important;
  }

  section .block-head p,
  .section-lead,
  .section-subtitle,
  .blog-head p,
  .contact-info p,
  .industries-section p,
  .industry-section p {
    font-size: clamp(16px, 4.1vw, 18px) !important;
    line-height: 1.58 !important;
  }

  #verticales .vertical-card .vertical-title,
  #verticales .vertical-title,
  .vertical-card h3 {
    font-size: clamp(38px, 10.4vw, 48px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.052em !important;
  }

  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card p,
  .vertical-card p {
    font-size: clamp(16px, 4.2vw, 18px) !important;
    line-height: 1.62 !important;
  }

  .vertical-tag,
  #verticales .vertical-tag {
    font-size: 13px !important;
  }

  .industry-card h3,
  .industry-title,
  .service h3,
  .case h3,
  .news-body h4,
  .event-item h4 {
    font-size: clamp(19px, 5.1vw, 23px) !important;
    line-height: 1.18 !important;
  }

  .industry-card p,
  .service p,
  .case p,
  .news-body p,
  .event-item p {
    font-size: clamp(15px, 3.9vw, 17px) !important;
    line-height: 1.55 !important;
  }
}

/* ===== BLOQUE ===== */

.client-logo-cascade-card{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.client-logo-cascade-card img{
  display:block !important;
  max-width:72% !important;
  max-height:54px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:.92 !important;
  transition:opacity .25s ease, transform .25s ease !important;
}
.client-logo-cascade-card:hover img{
  opacity:1 !important;
  transform:scale(1.03) !important;
}
.industry-focus-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
@media (max-width: 700px){
  .client-logo-cascade-card img{
    max-width:76% !important;
    max-height:46px !important;
  }
}

/* ===== BLOQUE ===== */

@media (min-width: 769px) {
  .header .nav-item,
  .header .nav a,
  .header .header-cta,
  .header .cta,
  .hero-namirial-style .hero-tab span,
  .hero-tabbar .hero-tab span {
    font-size: 110% !important;
  }
  .hero-namirial-style .hero-tab small,
  .hero-tabbar .hero-tab small {
    font-size: 110% !important;
    line-height: 1.25 !important;
  }
}

/* ===== BLOQUE ===== */

/* Evita que el menú móvil generado por JS aparezca como texto al final en desktop. */
@media (min-width: 901px){
  .latinus-mobile-overlay-v4,
  .latinus-mobile-close-v5{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* Solo mobile: uniformar las cuatro tarjetas de industrias sin cambiar su estructura. */
@media (max-width: 640px){
  .industries-focus-list .industry-focus-card,
  .industries-focus-list .industry-focus-card:nth-child(even){
    height: 202px !important;
    min-height: 202px !important;
    grid-template-columns: 42% 58% !important;
    align-items: stretch !important;
  }
  .industries-focus-list .industry-focus-media{
    height: 100% !important;
    min-height: 0 !important;
  }
  .industries-focus-list .industry-focus-media img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .industries-focus-list .industry-focus-body{
    min-height: 0 !important;
    overflow: hidden !important;
  }
}

/* Solo sección clientes: agrandar logos aprox. 20% manteniendo tarjetas, movimiento y fondo. */
.client-logo-cascade-card img{
  max-width: 92% !important;
  max-height: 110px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 700px){
  .client-logo-cascade-card img{
    max-width: 92% !important;
    max-height: 58px !important;
  }
}

/* ===== BLOQUE ===== */

@media (min-width: 901px) {
  header.header#hdr .nav > a.nav-item,
  header.header#hdr .megamenu-wrap > .nav-item,
  header.header#hdr .nav .nav-item {
    font-size: 14.5px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
  }

  header.header#hdr .header-cta {
    font-size: 14.5px !important;
    line-height: 1.15 !important;
  }
}

/* ===== BLOQUE ===== */

.hero-namirial-style .hero-bg-1,
.hero-bg-1 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.55) 42%, rgba(5,8,14,.16) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Identity.jpg?v=20260515') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

.hero-namirial-style .hero-bg-2,
.hero-bg-2 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.55) 42%, rgba(5,8,14,.16) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/conect.jpg?v=20260515') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

.hero-namirial-style .hero-bg-3,
.hero-bg-3 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.55) 42%, rgba(5,8,14,.16) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Solutions.jpg?v=20260515') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

.hero-namirial-style .hero-bg-4,
.hero-bg-4 {
  background-image:
    linear-gradient(90deg, rgba(5,8,14,.82) 0%, rgba(5,8,14,.55) 42%, rgba(5,8,14,.16) 78%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Engineering.jpg?v=20260515') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

@media (min-width: 1024px) {
  .nav .nav-item,
  .nav-item,
  .main-nav a,
  .header .nav a,
  .header .nav button {
    font-size: 14px !important;
  }
}

/* ===== BLOQUE ===== */

@media (max-width: 640px){
  .industries-focus-list .industry-focus-card,
  .industries-focus-list .industry-focus-card:nth-child(even){
    min-height: 224px !important;
    height: auto !important;
  }

  .industries-focus-list .industry-focus-media{
    min-height: 224px !important;
    height: 100% !important;
  }

  .industries-focus-list .industry-focus-body{
    padding: 26px 16px 18px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  .industries-focus-list .industry-focus-top{
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 2px !important;
    padding-top: 0 !important;
  }

  .industries-focus-list .industry-focus-num,
  .industries-focus-list .industry-focus-icon{
    position: relative !important;
    top: auto !important;
    margin-top: 0 !important;
    z-index: 2 !important;
  }

  .industries-focus-list .industry-focus-icon{
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    transform: none !important;
  }

  .industries-focus-list .industry-focus-icon svg{
    width: 19px !important;
    height: 19px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES FINALES PUNTUALES 19 MAY
   - Hero 1 con video visible y fallback.
   - Industrias 6 tarjetas compactas y congruentes.
   - ESG con imagen real, sin gráfica template.
   - Trayectoria sin banderas y barras animadas.
   - Mobile optimizado sin alterar desktop funcional.
   ========================================================= */

/* HERO VIDEO: asegurar que el video quede por encima del fondo y debajo del overlay */
.hero-bg-video{
  background:
    linear-gradient(115deg, rgba(5,8,14,.95) 0%, rgba(5,8,14,.76) 42%, rgba(5,8,14,.38) 100%),
    url('https://worldmlmarket.com/latinus/bannerprincipal/Identity.jpg') center/cover no-repeat !important;
}
.hero-bg-video .hero-video,
.hero-video{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:0 !important;
  opacity:1 !important;
  filter:brightness(.46) contrast(1.16) saturate(.95) !important;
}
.hero-bg-video::after{
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(5,8,14,.90) 0%, rgba(5,8,14,.68) 42%, rgba(5,8,14,.38) 100%),
    linear-gradient(180deg, rgba(5,8,14,.22) 0%, rgba(5,8,14,.05) 48%, rgba(5,8,14,.86) 100%) !important;
}
.hero-slide.is-active .hero-bg-video .hero-video{
  animation: latinusVideoBreath 9s ease-in-out infinite alternate;
}
@keyframes latinusVideoBreath{
  from{ transform:scale(1); }
  to{ transform:scale(1.035); }
}

/* INDUSTRIAS: 6 tarjetas en 2 líneas exactas, compactas y alineadas */
.industries-focus-section{
  overflow:hidden !important;
}
.industries-focus-list.industries-focus-list-six{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.industries-focus-list-six .industry-focus-card{
  display:grid !important;
  grid-template-rows:150px 1fr !important;
  grid-template-columns:1fr !important;
  min-height:410px !important;
  height:100% !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid rgba(10,22,40,.09) !important;
  box-shadow:0 24px 68px -54px rgba(10,22,40,.42) !important;
}
.industries-focus-list-six .industry-focus-media{
  width:100% !important;
  height:150px !important;
  min-height:150px !important;
  overflow:hidden !important;
}
.industries-focus-list-six .industry-focus-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.industries-focus-list-six .industry-focus-body{
  min-height:0 !important;
  height:auto !important;
  padding:24px 26px 26px !important;
  display:flex !important;
  flex-direction:column !important;
}
.industries-focus-list-six .industry-focus-top{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 16px !important;
}
.industries-focus-list-six .industry-focus-num,
.industries-focus-list-six .industry-focus-icon{
  margin-top:0 !important;
  top:auto !important;
  transform:none !important;
  position:relative !important;
}
.industries-focus-list-six .industry-focus-card h3{
  font-size:18px !important;
  line-height:1.12 !important;
  margin-bottom:12px !important;
  letter-spacing:-.025em !important;
}
.industries-focus-list-six .industry-focus-card p{
  font-size:13.2px !important;
  line-height:1.48 !important;
  margin:0 !important;
  color:var(--muted-2) !important;
}
.industries-focus-list-six .industry-focus-chips{
  margin-top:auto !important;
  padding-top:18px !important;
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.industries-focus-list-six .industry-focus-chips span{
  font-size:11.5px !important;
  padding:6px 11px !important;
  border-radius:999px !important;
}
@media(max-width:1020px){
  .industries-focus-list.industries-focus-list-six{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .industries-focus-list.industries-focus-list-six{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .industries-focus-list-six .industry-focus-card{
    grid-template-columns:42% 58% !important;
    grid-template-rows:1fr !important;
    min-height:205px !important;
    border-radius:18px !important;
  }
  .industries-focus-list-six .industry-focus-card:nth-child(even){
    grid-template-columns:58% 42% !important;
  }
  .industries-focus-list-six .industry-focus-card:nth-child(even) .industry-focus-media{
    order:2 !important;
  }
  .industries-focus-list-six .industry-focus-media{
    height:100% !important;
    min-height:205px !important;
  }
  .industries-focus-list-six .industry-focus-body{
    padding:18px 16px !important;
  }
  .industries-focus-list-six .industry-focus-card h3{
    font-size:16px !important;
  }
  .industries-focus-list-six .industry-focus-card p{
    font-size:12px !important;
    line-height:1.42 !important;
  }
  .industries-focus-list-six .industry-focus-chips{
    display:none !important;
  }
}

/* TRAYECTORIA: quitar banderas y animar barras */
.country-item{
  justify-content:flex-start !important;
  padding-left:30px !important;
}
.country-item .flag{ display:none !important; }
.trajectory-graphic .bar{
  height:0 !important;
  transform-origin:bottom !important;
  transition:height 1.45s cubic-bezier(.16,1,.3,1) .18s !important;
}
.trajectory-country-card.in .trajectory-graphic .bar-1,
.trajectory-country-card.reveal.in .trajectory-graphic .bar-1{ height:78px !important; }
.trajectory-country-card.in .trajectory-graphic .bar-2,
.trajectory-country-card.reveal.in .trajectory-graphic .bar-2{ height:112px !important; }
.trajectory-country-card.in .trajectory-graphic .bar-3,
.trajectory-country-card.reveal.in .trajectory-graphic .bar-3{ height:142px !important; }

/* ESG: imagen real, texto blanco y entrada premium */
.social-impact-section .eyebrow,
.social-impact-copy .eyebrow{
  color:rgba(255,255,255,.92) !important;
}
.social-impact-section .eyebrow::before{
  background:#13c8bd !important;
  box-shadow:0 0 16px rgba(19,200,189,.55) !important;
}
.esg-image-frame.esg-image-real{
  padding:0 !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:0 38px 90px -52px rgba(0,0,0,.70) !important;
}
.esg-image-frame.esg-image-real img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  filter:saturate(1.02) contrast(1.04) brightness(.95) !important;
}
.social-impact-visual.reveal.in .esg-image-frame{
  animation: esgFloatIn 1.1s cubic-bezier(.16,1,.3,1) both, esgSoftFloat 6s ease-in-out 1.2s infinite alternate;
}
@keyframes esgFloatIn{
  from{ opacity:0; transform:translateY(24px) scale(.96); filter:blur(8px); }
  to{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes esgSoftFloat{
  from{ transform:translateY(0); }
  to{ transform:translateY(-10px); }
}
@media(max-width:700px){
  .social-impact-copy h2{
    font-size:clamp(42px, 13vw, 58px) !important;
  }
  .social-impact-copy p{
    font-size:15px !important;
  }
  .social-impact-metrics{
    gap:24px !important;
  }
  .social-impact-metrics strong{
    font-size:34px !important;
  }
  .esg-image-frame.esg-image-real{
    height:320px !important;
    border-radius:24px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX FINAL — ESG SIN RECUADRO / SIN BORDE / SIN RECORTE
   Solo afecta la imagen visual de la sección Responsabilidad Social
   ========================================================= */

.social-impact-visual,
.social-impact-visual.reveal,
.social-impact-visual.reveal.in {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.social-impact-visual .esg-image-frame,
.social-impact-visual .esg-image-frame.esg-image-real {
    width: 100% !important;
    max-width: 620px !important;
    height: auto !important;
    min-height: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    backdrop-filter: none !important;

    padding: 0 !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    overflow: visible !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.social-impact-visual .esg-image-frame img,
.social-impact-visual .esg-image-frame.esg-image-real img {
    width: 100% !important;
    max-width: 620px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;

    display: block !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    filter: saturate(1.02) contrast(1.04) brightness(.98) !important;
}

/* Mantiene animación premium sin crear caja visual */
.social-impact-visual.reveal.in .esg-image-frame,
.social-impact-visual.reveal.in .esg-image-frame.esg-image-real {
    animation: esgFloatIn 1.1s cubic-bezier(.16,1,.3,1) both,
               esgSoftFloat 6s ease-in-out 1.2s infinite alternate !important;
}

@media (max-width: 700px) {
    .social-impact-visual .esg-image-frame,
    .social-impact-visual .esg-image-frame.esg-image-real {
        max-width: 360px !important;
        height: auto !important;
        border-radius: 0 !important;
    }

    .social-impact-visual .esg-image-frame img,
    .social-impact-visual .esg-image-frame.esg-image-real img {
        max-width: 360px !important;
        height: auto !important;
    }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX DEFINITIVO HERO — NO TOCA OTRAS SECCIONES
   Corrige: proporción hero desktop, aire mobile, avales mobile debajo del texto,
   menú +10%, imagen 1 stock rápida, chips Business.
   ========================================================= */

/* Imagen 1: stock rápida, coherente con identidad / acceso seguro */
#top .hero-bg-1{
  background-image:
    linear-gradient(115deg, rgba(5,8,14,.92) 0%, rgba(5,8,14,.70) 42%, rgba(5,8,14,.30) 100%),
    url("https://images.unsplash.com/photo-1563986768494-4dee2763ff3f?auto=format&fit=crop&w=1800&q=68") !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Desactivar videos del hero si algún script anterior los vuelve a insertar */
#top .hero-slide-bg video,
#top .hero-slide-bg .latinus-hero-video,
#top .hero-slide-bg .hero-video{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Menú header +10%, solo textos del menú */
header .nav a,
.header .nav a,
.site-header .nav a,
header nav a:not(.btn):not(.header-cta):not(.btn-primary),
.header nav a:not(.btn):not(.header-cta):not(.btn-primary),
.site-header nav a:not(.btn):not(.header-cta):not(.btn-primary){
  font-size:110% !important;
}

/* ================= DESKTOP HERO ================= */
@media (min-width:901px){
  #top.hero-slider-home,
  section#top.hero-slider-home{
    position:relative !important;
    min-height:calc(100vh - 92px) !important;
    height:calc(100vh - 92px) !important;
    max-height:none !important;
    overflow:hidden !important;
    padding:0 !important;
  }

  #top .hero-slide,
  #top .hero-slide-bg,
  #top .hero-slider-overlay{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    position:relative !important;
    z-index:5 !important;
    min-height:calc(100vh - 220px) !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    padding-top:42px !important;
    padding-bottom:125px !important;
  }

  #top .hero-copy-shell{
    width:min(620px, 100%) !important;
    min-height:410px !important;
    display:grid !important;
    grid-template-rows:28px minmax(176px, auto) minmax(62px, auto) auto !important;
    align-content:center !important;
    transform:none !important;
  }

  #top .hero-kicker{
    min-height:28px !important;
    display:flex !important;
    align-items:flex-start !important;
    margin:0 0 10px !important;
  }

  #top .hero-title{
    min-height:176px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    margin:0 !important;
  }

  #top .hero-sub{
    min-height:62px !important;
    margin:0 !important;
  }

  #top .hero-actions{
    margin-top:18px !important;
  }

  /* Botón rojo del hero del tamaño del header, sin tocar el secundario */
  #top #hero-primary,
  #top .hero-actions .btn.btn-primary{
    min-height:56px !important;
    padding:0 30px !important;
    border-radius:7px !important;
    font-size:15px !important;
    font-weight:600 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
  }

  #top #hero-secondary,
  #top .hero-actions .btn.btn-ghost{
    min-height:46px !important;
    padding:0 24px !important;
    border-radius:6px !important;
    font-size:14px !important;
    font-weight:500 !important;
  }

  /* Avales en desktop abajo, antes del menú de pestañas */
  #top .hero-trust-strip{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:82px !important;
    z-index:7 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:28px !important;
    padding:14px clamp(28px, 8vw, 150px) !important;
    margin:0 !important;
    background:linear-gradient(90deg, rgba(5,8,14,.14), rgba(5,8,14,.04)) !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    pointer-events:none !important;
  }

  #top .hero-tabbar{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:8 !important;
  }
}

/* Texto correcto en franja */
#top .hero-trust-left .hero-trust-label{
  font-size:0 !important;
}
#top .hero-trust-left .hero-trust-label::after{
  content:"PROVEEDORES DE SERVICIOS AUXILIARES";
  color:rgba(255,255,255,.74) !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
#top .hero-trust-right .hero-trust-label{
  display:none !important;
}
#top .hero-trust-left,
#top .hero-trust-right{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}
#top .hero-trust-right{
  justify-content:flex-end !important;
}
#top .hero-trust-logos{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}
#top .hero-trust-logos img{
  max-height:38px !important;
  width:auto !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.18) !important;
  opacity:.88 !important;
}
#top .hero-trust-textlogos span{
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  opacity:.94 !important;
}

/* ================= MOBILE HERO ================= */
@media (max-width:900px){
  #top.hero-slider-home,
  section#top.hero-slider-home{
    min-height:auto !important;
    height:auto !important;
    overflow:hidden !important;
    padding:0 !important;
  }

  #top .hero-slide,
  #top .hero-slide-bg,
  #top .hero-slider-overlay{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    position:relative !important;
    z-index:5 !important;
    display:block !important;
    min-height:auto !important;
    height:auto !important;
    padding-top:44px !important;
    padding-bottom:28px !important;
  }

  #top .hero-copy-shell{
    display:block !important;
    min-height:auto !important;
    width:100% !important;
    transform:none !important;
  }

  #top .hero-kicker,
  #top .hero-title,
  #top .hero-sub{
    min-height:auto !important;
  }

  #top .hero-actions{
    margin-top:22px !important;
  }

  #top #hero-primary,
  #top .hero-actions .btn.btn-primary{
    width:100% !important;
    min-height:56px !important;
    padding:0 26px !important;
    font-size:15px !important;
  }

  #top #hero-secondary,
  #top .hero-actions .btn.btn-ghost{
    width:100% !important;
    min-height:54px !important;
  }

  /* En móvil la franja queda debajo del texto/botones, no en lateral ni arriba */
  #top .hero-copy-shell .hero-trust-strip{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:6 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:11px !important;
    margin:18px 0 0 !important;
    padding:14px 14px 15px !important;
    background:rgba(5,8,14,.58) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
  }

  #top .hero-trust-left,
  #top .hero-trust-right{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:9px 13px !important;
  }

  #top .hero-trust-left .hero-trust-label::after{
    font-size:10px !important;
    white-space:normal !important;
    display:block !important;
    width:100% !important;
  }

  #top .hero-trust-logos img{
    max-height:24px !important;
  }

  #top .hero-trust-textlogos span{
    font-size:10px !important;
    line-height:1.15 !important;
  }

  #top .hero-tabbar{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:8 !important;
  }
}

/* Business Solutions chips: evitar que Digital Signer se monte sobre otro chip */
#verticales .vertical-card:nth-child(3) .vertical-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:flex-start !important;
  overflow:visible !important;
}
#verticales .vertical-card:nth-child(3) .vertical-tag,
#verticales .vertical-card:nth-child(3) .vertical-tags span,
#verticales .vertical-card:nth-child(3) .vertical-tags a{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  min-height:28px !important;
  margin:0 !important;
  padding:6px 10px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  word-break:normal !important;
}
#verticales .vertical-card:nth-child(3) .vertical-foot{
  position:relative !important;
  bottom:auto !important;
  margin-top:28px !important;
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX FINAL HERO + VERTICALES — SOLO PC
   - Hero vuelve a ocupar pantalla completa.
   - Más aire superior para textos del hero.
   - Tabbar pegado al borde inferior de la primera pantalla.
   - Botón header rojo igual de grueso que hero.
   - Textos menú header +10%.
   - Verticales vuelven al estado inicial compacto y se abren en hover.
   ========================================================= */

@media (min-width:901px){

  /* Header: textos del menú +10% */
  header nav a:not(.btn):not(.header-cta),
  .header nav a:not(.btn):not(.header-cta),
  .site-header nav a:not(.btn):not(.header-cta),
  header .nav a:not(.btn):not(.header-cta),
  .header .nav a:not(.btn):not(.header-cta),
  .site-header .nav a:not(.btn):not(.header-cta){
    font-size:110% !important;
  }

  /* Botón rojo del header igual de grueso/proporcional al del hero */
  header .btn,
  header .header-cta,
  header a[href*="contact"],
  .header .btn,
  .header .header-cta,
  .site-header .btn,
  .site-header .header-cta{
    min-height:56px !important;
    padding:0 30px !important;
    border-radius:7px !important;
    font-size:15px !important;
    font-weight:600 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
  }

  /* HERO: pantalla completa real */
  section#top.hero-slider-home,
  #top.hero-slider-home{
    height:calc(100vh - 90px) !important;
    min-height:720px !important;
    max-height:none !important;
    overflow:hidden !important;
    padding:0 !important;
    position:relative !important;
  }

  #top .hero-slide,
  #top .hero-slide-bg,
  #top .hero-slider-overlay{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
  }

  /* Más aire superior en títulos/textos; no queda pegado al header */
  #top .hero-slider-content,
  #top .hero-content{
    position:relative !important;
    z-index:5 !important;
    height:calc(100% - 82px) !important;
    min-height:auto !important;
    display:flex !important;
    align-items:flex-start !important;
    padding-top:clamp(105px, 12vh, 150px) !important;
    padding-bottom:150px !important;
    box-sizing:border-box !important;
  }

  #top .hero-copy-shell{
    width:min(640px, 100%) !important;
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-rows:auto auto auto auto !important;
    align-content:start !important;
    transform:none !important;
  }

  #top .hero-kicker{
    min-height:auto !important;
    margin:0 0 16px !important;
  }

  #top .hero-title{
    min-height:auto !important;
    margin:0 0 26px !important;
    overflow:visible !important;
  }

  #top .hero-sub{
    min-height:auto !important;
    max-width:570px !important;
    margin:0 0 30px !important;
  }

  #top .hero-actions{
    margin-top:0 !important;
  }

  /* Solo botón rojo del hero igualado */
  #top #hero-primary,
  #top .hero-actions .btn.btn-primary{
    min-height:56px !important;
    padding:0 30px !important;
    border-radius:7px !important;
    font-size:15px !important;
    font-weight:600 !important;
  }

  #top #hero-secondary,
  #top .hero-actions .btn.btn-ghost{
    min-height:46px !important;
    padding:0 24px !important;
    font-size:14px !important;
    font-weight:500 !important;
  }

  /* Avales ubicados sobre la tabbar, sin invadir texto */
  #top .hero-trust-strip{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:82px !important;
    z-index:7 !important;
    margin:0 !important;
  }

  /* Tabbar al borde inferior de la primera pantalla */
  #top .hero-tabbar{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:8 !important;
  }

  /* ================= VERTICALES: RESTAURAR COMPORTAMIENTO HOVER ================= */
  #verticales .vertical-card,
  section#verticales .vertical-card{
    min-height:440px !important;
    height:440px !important;
    overflow:hidden !important;
    transition:
      height .45s ease,
      min-height .45s ease,
      background .35s ease,
      box-shadow .35s ease !important;
    padding-bottom:32px !important;
  }

  /* Estado inicial: solo logo, número y título; ocultar texto/chips/footer */
  #verticales .vertical-card p,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot,
  #verticales .vertical-card ul,
  #verticales .vertical-card .vertical-partners,
  #verticales .vertical-card .vertical-products{
    opacity:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:translateY(10px) !important;
    transition:opacity .32s ease, max-height .45s ease, transform .35s ease, margin .35s ease !important;
  }

  /* Hover: se abre y muestra contenido */
  #verticales .vertical-card:hover,
  section#verticales .vertical-card:hover{
    min-height:650px !important;
    height:650px !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card:hover p,
  #verticales .vertical-card:hover .vertical-tags,
  #verticales .vertical-card:hover .vertical-foot,
  #verticales .vertical-card:hover ul,
  #verticales .vertical-card:hover .vertical-partners,
  #verticales .vertical-card:hover .vertical-products{
    opacity:1 !important;
    max-height:260px !important;
    overflow:visible !important;
    transform:translateY(0) !important;
    margin-top:18px !important;
  }

  #verticales .vertical-card:hover .vertical-foot{
    margin-top:28px !important;
    max-height:80px !important;
  }

  /* Burbujas/chips de Business sin sobremontarse cuando abre */
  #verticales .vertical-card:nth-child(3) .vertical-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    align-items:flex-start !important;
    max-width:100% !important;
  }

  #verticales .vertical-card:nth-child(3) .vertical-tag,
  #verticales .vertical-card:nth-child(3) .vertical-tags span,
  #verticales .vertical-card:nth-child(3) .vertical-tags a{
    display:inline-flex !important;
    width:auto !important;
    max-width:100% !important;
    min-height:28px !important;
    height:auto !important;
    padding:6px 10px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    margin:0 !important;
  }
}

/* MOBILE: mantener avales debajo del contenido, no lateral */
@media (max-width:900px){
  #top .hero-copy-shell .hero-trust-strip{
    position:relative !important;
    width:100% !important;
    margin:18px 0 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:11px !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    padding-top:44px !important;
  }

  /* En móvil no aplicar hover raro de verticales */
  #verticales .vertical-card{
    height:auto !important;
    min-height:auto !important;
    overflow:visible !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES FINALES PUNTUALES
   1. Hero banner más alto y con más aire superior en PC.
   2. Verticales: las demás tarjetas también se expanden
      visualmente con fondo gris oscuro sin mostrar texto.
   ========================================================= */

@media (min-width:901px){

  /* HERO MÁS ALTO Y TEXTO MÁS ABAJO */
  section#top.hero-slider-home,
  #top.hero-slider-home{
    min-height:860px !important;
    height:calc(100vh - 70px) !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    padding-top:clamp(145px,16vh,190px) !important;
    padding-bottom:160px !important;
  }

  #top .hero-copy-shell{
    margin-top:22px !important;
  }

  /* VERTICALES */
  #verticales .vertical-grid,
  #verticales .verticales-grid{
    display:flex !important;
    align-items:stretch !important;
  }

  #verticales .vertical-card{
    flex:1 1 25% !important;
    transition:
      flex .45s ease,
      background .35s ease,
      opacity .35s ease,
      min-height .45s ease !important;
    background:rgba(7,10,18,.94) !important;
  }

  /* Hover principal */
  #verticales .vertical-card:hover{
    flex:1 1 42% !important;
    background:linear-gradient(180deg,#111827 0%, #08111f 100%) !important;
  }

  /* Las otras tarjetas se oscurecen y acompañan visualmente */
  #verticales .vertical-grid:hover .vertical-card:not(:hover),
  #verticales .verticales-grid:hover .vertical-card:not(:hover){
    flex:1 1 19% !important;
    background:rgba(42,42,46,.88) !important;
    opacity:1 !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE PUNTUAL PC — NO AFECTA MOBILE
   - Hero: textos alineados, más compactos y en la misma altura.
   - Tabbar del slider: sube 5% para cerrar mejor el hero en pantalla.
   - Verticales: expansión 20% más compacta y sin exceso de aire inferior.
   ========================================================= */
@media (min-width:901px){

  /* HERO: mantener pantalla completa, pero sin bajar el tabbar fuera del viewport */
  section#top.hero-slider-home,
  #top.hero-slider-home{
    min-height:100vh !important;
    height:100vh !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:hidden !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    min-height:100vh !important;
    height:100vh !important;
    display:flex !important;
    align-items:center !important;
    padding-top:78px !important;
    padding-bottom:calc(76px + 5vh + 28px) !important;
  }

  /* Malla fija para que los 4 banners conserven el mismo orden visual */
  #top .hero-copy-shell{
    width:min(590px,100%) !important;
    min-height:340px !important;
    margin-top:34px !important;
    display:grid !important;
    grid-template-rows:24px 142px 54px 56px !important;
    row-gap:14px !important;
    align-content:start !important;
  }

  #top .hero-kicker{
    min-height:24px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    min-height:142px !important;
    max-width:13.2ch !important;
    font-size:clamp(38px,3.85vw,58px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.045em !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    margin:0 !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    min-height:54px !important;
    max-width:520px !important;
    font-size:clamp(14px,1.05vw,16px) !important;
    line-height:1.48 !important;
    margin:0 !important;
  }

  #top .hero-actions{
    min-height:56px !important;
    margin-top:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  #top .hero-actions .btn.btn-primary,
  #top #hero-primary{
    min-height:50px !important;
    height:50px !important;
    padding:0 26px !important;
    font-size:14px !important;
  }

  #top .hero-actions .btn.btn-ghost,
  #top #hero-secondary{
    min-height:50px !important;
    height:50px !important;
    padding:0 26px !important;
    font-size:14px !important;
  }

  /* La franja inferior del slider sube 5% sin cambiar mobile */
  #top .hero-tabbar{
    bottom:5vh !important;
    min-height:76px !important;
  }

  #top .hero-trust-strip{
    bottom:calc(5vh + 76px) !important;
  }

  /* VERTICALES: expansión 20% más compacta, evitando aire muerto inferior */
  #verticales .verticals-grid{
    align-items:stretch !important;
  }

  #verticales .vertical-card{
    min-height:456px !important;
    padding:28px 26px 24px !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card:hover{
    flex:1 1 38% !important;
  }

  #verticales .verticals-grid:hover .vertical-card:not(:hover){
    flex:1 1 20.5% !important;
  }

  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot{
    max-height:0 !important;
  }

  #verticales .vertical-card:hover .vertical-desc,
  #verticales .vertical-card.is-active .vertical-desc,
  #verticales .vertical-card:focus-within .vertical-desc{
    max-height:118px !important;
    margin-top:11px !important;
  }

  #verticales .vertical-card:hover .vertical-tags,
  #verticales .vertical-card.is-active .vertical-tags,
  #verticales .vertical-card:focus-within .vertical-tags{
    max-height:58px !important;
    margin-top:14px !important;
    gap:6px !important;
  }

  #verticales .vertical-card:hover .vertical-foot,
  #verticales .vertical-card.is-active .vertical-foot,
  #verticales .vertical-card:focus-within .vertical-foot{
    max-height:42px !important;
    margin-top:16px !important;
    padding-top:12px !important;
  }

  #verticales .vertical-desc{
    font-size:12.8px !important;
    line-height:1.45 !important;
  }

  #verticales .vertical-tag{
    font-size:10.5px !important;
    padding:4px 8px !important;
  }

  #verticales .vertical-foot .partners,
  #verticales .vertical-foot .more{
    font-size:11px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES PUNTUALES v3 — SOLO DESKTOP
   No afecta ni modifica la versión móvil.
   1) Hero: textos alineados sin sobremontarse.
   2) Barra del slider: baja 3% respecto al ajuste anterior.
   3) Verticales: expansión 30% más compacta.
   ========================================================= */
@media (min-width:901px){
  /* HERO: malla fija más limpia para que los 4 slides mantengan el mismo orden */
  #top.hero-slider-home,
  section#top.hero-slider-home{
    min-height:100vh !important;
    height:100vh !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:hidden !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    min-height:100vh !important;
    height:100vh !important;
    display:flex !important;
    align-items:center !important;
    padding-top:78px !important;
    padding-bottom:calc(76px + 2vh + 28px) !important;
  }

  #top .hero-copy-shell{
    width:min(610px,100%) !important;
    min-height:390px !important;
    margin-top:18px !important;
    display:grid !important;
    grid-template-rows:24px 174px 58px 52px !important;
    row-gap:14px !important;
    align-content:start !important;
  }

  #top .hero-kicker{
    min-height:24px !important;
    height:24px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    line-height:1 !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    min-height:174px !important;
    height:174px !important;
    max-width:14.6ch !important;
    font-size:clamp(36px,3.55vw,54px) !important;
    line-height:1.08 !important;
    letter-spacing:-0.043em !important;
    display:block !important;
    margin:0 !important;
    overflow:visible !important;
    text-wrap:balance !important;
  }

  #top #hero-title br{
    display:block !important;
  }

  #top #hero-title em,
  #top .hero-premium-copy h1 em{
    display:inline !important;
    line-height:inherit !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    min-height:58px !important;
    height:58px !important;
    max-width:535px !important;
    font-size:clamp(14px,1vw,15.5px) !important;
    line-height:1.48 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  #top .hero-actions{
    min-height:52px !important;
    height:52px !important;
    margin-top:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  #top .hero-actions .btn.btn-primary,
  #top #hero-primary,
  #top .hero-actions .btn.btn-ghost,
  #top #hero-secondary{
    min-height:50px !important;
    height:50px !important;
    padding:0 26px !important;
    font-size:14px !important;
    line-height:1 !important;
  }

  /* Barra inferior del slider: baja 3% respecto al estado anterior */
  #top .hero-tabbar{
    bottom:2vh !important;
    min-height:76px !important;
  }

  #top .hero-trust-strip{
    bottom:calc(2vh + 76px) !important;
  }

  /* VERTICALES: expansión más sobria y 30% más compacta */
  #verticales .verticals-grid{
    align-items:stretch !important;
  }

  #verticales .vertical-card{
    min-height:392px !important;
    max-height:430px !important;
    padding:24px 24px 22px !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card .subbrand-logo{
    height:70px !important;
    min-height:70px !important;
    margin-bottom:14px !important;
    padding-bottom:12px !important;
  }

  #verticales .subbrand-logo-img,
  #verticales .vertical-card .subbrand-logo img.subbrand-logo-img{
    max-height:54px !important;
    max-width:210px !important;
  }

  #verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
    max-height:56px !important;
    max-width:238px !important;
  }

  #verticales .vertical-title{
    margin-top:18px !important;
    font-size:21px !important;
    line-height:1.12 !important;
  }

  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot{
    max-height:0 !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card:hover .vertical-desc,
  #verticales .vertical-card.is-active .vertical-desc,
  #verticales .vertical-card:focus-within .vertical-desc{
    max-height:82px !important;
    margin-top:9px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card:hover .vertical-tags,
  #verticales .vertical-card.is-active .vertical-tags,
  #verticales .vertical-card:focus-within .vertical-tags{
    max-height:40px !important;
    margin-top:10px !important;
    gap:5px !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card:hover .vertical-foot,
  #verticales .vertical-card.is-active .vertical-foot,
  #verticales .vertical-card:focus-within .vertical-foot{
    max-height:30px !important;
    margin-top:10px !important;
    padding-top:8px !important;
    overflow:hidden !important;
  }

  #verticales .vertical-desc{
    font-size:11.8px !important;
    line-height:1.34 !important;
  }

  #verticales .vertical-tag{
    font-size:9.8px !important;
    padding:3px 7px !important;
    line-height:1.15 !important;
  }

  #verticales .vertical-foot .partners,
  #verticales .vertical-foot .more{
    font-size:10.5px !important;
    line-height:1.1 !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE FINAL v4 — SOLO PC / DESKTOP
   No modifica, no mueve y no altera la versión móvil.
   1) Hero: barra del slider baja al final real del hero.
   2) Verticales: se elimina el desbordamiento grotesco de tarjetas.
   ========================================================= */
@media (min-width:901px){
  /* HERO: la barra de navegación del slider queda pegada al final real del banner */
  #top.hero-slider-home,
  section#top.hero-slider-home{
    height:100vh !important;
    min-height:100vh !important;
    max-height:100vh !important;
    overflow:hidden !important;
  }

  #top .hero-tabbar{
    bottom:0 !important;
    top:auto !important;
    min-height:76px !important;
    height:76px !important;
    transform:none !important;
  }

  #top .hero-trust-strip{
    bottom:76px !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    padding-bottom:168px !important;
  }

  /* VERTICALES: altura fija controlada para que ninguna tarjeta se estire hacia abajo */
  #verticales{
    overflow:hidden !important;
  }

  #verticales .verticals-grid{
    height:430px !important;
    max-height:430px !important;
    min-height:430px !important;
    grid-auto-rows:430px !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  #verticales .vertical-card,
  #verticales .vertical-card:hover,
  #verticales .vertical-card.is-active,
  #verticales .vertical-card:focus-within{
    height:430px !important;
    min-height:430px !important;
    max-height:430px !important;
    padding:22px 24px 20px !important;
    overflow:hidden !important;
    transform:none !important;
  }

  #verticales .vertical-card .subbrand-logo{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    margin-bottom:12px !important;
    padding-bottom:10px !important;
  }

  #verticales .vertical-card .subbrand-logo img.subbrand-logo-img,
  #verticales .subbrand-logo-img{
    max-height:48px !important;
    max-width:200px !important;
  }

  #verticales .vertical-card:nth-child(3) .subbrand-logo img.subbrand-logo-img{
    max-height:50px !important;
    max-width:220px !important;
  }

  #verticales .vertical-num{
    font-size:11px !important;
    line-height:1.1 !important;
  }

  #verticales .vertical-title{
    margin-top:16px !important;
    font-size:20px !important;
    line-height:1.08 !important;
  }

  /* Estado cerrado: solo título y logo, sin crear altura extra */
  #verticales .vertical-card .vertical-desc,
  #verticales .vertical-card .vertical-tags,
  #verticales .vertical-card .vertical-foot{
    opacity:0 !important;
    max-height:0 !important;
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:hidden !important;
    transform:translateY(6px) !important;
  }

  /* Estado abierto/click/hover: máximo +5% visual, sin agrandar la tarjeta */
  #verticales .vertical-card:hover .vertical-desc,
  #verticales .vertical-card.is-active .vertical-desc,
  #verticales .vertical-card:focus-within .vertical-desc{
    opacity:1 !important;
    max-height:62px !important;
    margin-top:8px !important;
    font-size:11.2px !important;
    line-height:1.28 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    transform:translateY(0) !important;
  }

  #verticales .vertical-card:hover .vertical-tags,
  #verticales .vertical-card.is-active .vertical-tags,
  #verticales .vertical-card:focus-within .vertical-tags{
    opacity:1 !important;
    max-height:30px !important;
    margin-top:8px !important;
    gap:4px !important;
    overflow:hidden !important;
    transform:translateY(0) !important;
  }

  #verticales .vertical-card:hover .vertical-foot,
  #verticales .vertical-card.is-active .vertical-foot,
  #verticales .vertical-card:focus-within .vertical-foot{
    opacity:1 !important;
    max-height:28px !important;
    margin-top:8px !important;
    padding-top:7px !important;
    overflow:hidden !important;
    transform:translateY(0) !important;
  }

  #verticales .vertical-tag{
    font-size:9.5px !important;
    padding:3px 6px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }

  #verticales .vertical-foot .partners,
  #verticales .vertical-foot .more{
    font-size:10px !important;
    line-height:1.1 !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX FUNCIONAL FINAL v10
   Objetivo: restaurar carga correcta, menú mobile estable y
   alinear logos de acreditaciones en PC/móvil sin tocar el resto.
   ========================================================= */

/* ---------- Header mobile estable ---------- */
@media (max-width: 900px){
  html, body{ overflow-x:hidden !important; }

  .header#hdr{
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 86px !important;
    min-height: 86px !important;
    max-height: 86px !important;
    padding: 0 !important;
    background: #05080e !important;
    z-index: 9999 !important;
    overflow: visible !important;
  }

  .header#hdr .container.header-inner,
  .header#hdr .header-inner{
    width: 100% !important;
    max-width: none !important;
    height: 86px !important;
    min-height: 86px !important;
    max-height: 86px !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
  }

  .header#hdr .logo.logo-image-link{
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 100px) !important;
    flex: 0 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header#hdr .header-logo-img{
    display: block !important;
    width: auto !important;
    height: 38px !important;
    max-width: min(205px, 52vw) !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .header#hdr .header-cta{
    display: none !important;
  }

  .header#hdr .mobile-menu-toggle{
    display: inline-flex !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    border-radius: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header#hdr .mobile-menu-toggle span{
    width: 24px !important;
    height: 2px !important;
  }

  .header#hdr .nav{
    top: 86px !important;
    height: calc(100dvh - 86px) !important;
    max-height: calc(100dvh - 86px) !important;
  }

  .hero-namirial-style,
  .hero-slider-home{
    margin-top: 0 !important;
  }
}

/* ---------- Acreditaciones: PC sin logos cortados ---------- */
.regulatory-pill-section{
  overflow: hidden !important;
}

.regulatory-pill-wrap{
  overflow: visible !important;
}

@media (min-width: 901px){
  .regulatory-pill-section .container{
    max-width: 1180px !important;
  }

  .regulatory-pill{
    width: 100% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 32px 38px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    align-items: center !important;
    gap: 28px !important;
    overflow: visible !important;
  }

  .regulatory-pill-block{
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 22px !important;
  }

  .regulatory-pill-block + .regulatory-pill-block{
    padding-left: 28px !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
  }

  .regulatory-pill-label{
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }

  .regulatory-logo-row,
  .regulatory-cert-stack{
    min-width: 0 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    flex: 0 0 148px !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  .regulatory-cert-stack .regulatory-logo-link{
    flex-basis: 122px !important;
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 42px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
  }

  .regulatory-cert-stack .regulatory-logo-link img{
    max-height: 38px !important;
  }
}

/* ---------- Acreditaciones: móvil logos iguales y alineados ---------- */
@media (max-width: 900px){
  .regulatory-pill-section{
    padding-block: 52px 34px !important;
  }

  .regulatory-pill-title{
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
    text-align: left !important;
  }

  .regulatory-pill{
    width: 100% !important;
    max-width: none !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  .regulatory-pill-block{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .regulatory-pill-block + .regulatory-pill-block{
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    padding-left: 0 !important;
    padding-top: 16px !important;
  }

  .regulatory-pill-label{
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    white-space: normal !important;
  }

  .regulatory-logo-row,
  .regulatory-cert-stack{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .regulatory-logo-link,
  .regulatory-logo-row .regulatory-logo-link,
  .regulatory-cert-stack .regulatory-logo-link{
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }

  .regulatory-logo-link img,
  .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-cert-stack .regulatory-logo-link img{
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 86% !important;
    max-height: 32px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX PC RESPONSIVE v11 — SOLO DESKTOP / LAPTOP
   Corrige texto sobremontado en pantallas tipo 13" sin tocar móvil.
   ========================================================= */
@media (min-width:901px){
  #top.hero-slider-home,
  section#top.hero-slider-home{
    height:calc(100vh - 0px) !important;
    min-height:640px !important;
    max-height:900px !important;
    overflow:hidden !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    padding-top:96px !important;
    padding-bottom:112px !important;
  }

  #top .hero-copy-shell{
    width:min(540px, 44vw) !important;
    min-height:0 !important;
    height:auto !important;
    margin-top:0 !important;
    display:grid !important;
    grid-template-rows:auto auto auto auto !important;
    row-gap:14px !important;
    align-content:center !important;
  }

  #top .hero-kicker{
    min-height:0 !important;
    margin:0 0 4px 0 !important;
    font-size:clamp(10px,.85vw,12px) !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    min-height:0 !important;
    max-width:12.5ch !important;
    font-size:clamp(42px, 4.05vw, 64px) !important;
    line-height:.98 !important;
    letter-spacing:-.052em !important;
    margin:0 !important;
    display:block !important;
    text-wrap:balance !important;
  }

  #top #hero-title em,
  #top #hero-title span,
  #top #hero-title strong{
    display:inline !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    min-height:0 !important;
    max-width:500px !important;
    font-size:clamp(13px, 1vw, 15px) !important;
    line-height:1.42 !important;
    margin:2px 0 0 0 !important;
  }

  #top .hero-actions{
    min-height:0 !important;
    margin-top:12px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }

  #top .hero-actions .btn.btn-primary,
  #top #hero-primary,
  #top .hero-actions .btn.btn-ghost,
  #top #hero-secondary{
    height:48px !important;
    min-height:48px !important;
    padding:0 24px !important;
    font-size:13px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #top .hero-tabbar{
    bottom:0 !important;
    height:76px !important;
    min-height:76px !important;
    max-height:76px !important;
  }
}

@media (min-width:901px) and (max-width:1500px){
  #top .hero-slider-content,
  #top .hero-content{
    padding-top:88px !important;
    padding-bottom:98px !important;
  }

  #top .hero-copy-shell{
    width:min(500px, 42vw) !important;
    row-gap:12px !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    max-width:12.2ch !important;
    font-size:clamp(36px, 3.55vw, 54px) !important;
    line-height:.99 !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    max-width:460px !important;
    font-size:14px !important;
    line-height:1.38 !important;
  }

  #top .hero-actions .btn.btn-primary,
  #top #hero-primary,
  #top .hero-actions .btn.btn-ghost,
  #top #hero-secondary{
    height:46px !important;
    min-height:46px !important;
    padding:0 22px !important;
    font-size:13px !important;
  }
}

@media (min-width:901px) and (max-height:820px){
  #top.hero-slider-home,
  section#top.hero-slider-home{
    min-height:620px !important;
    height:calc(100vh - 0px) !important;
  }

  #top .hero-slider-content,
  #top .hero-content{
    padding-top:78px !important;
    padding-bottom:92px !important;
  }

  #top .hero-copy-shell{
    row-gap:10px !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    font-size:clamp(34px, 3.35vw, 50px) !important;
    line-height:1 !important;
    max-width:12.8ch !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    font-size:13px !important;
    line-height:1.36 !important;
    max-width:440px !important;
  }

  #top .hero-actions{
    margin-top:8px !important;
  }

  #top .hero-actions .btn.btn-primary,
  #top #hero-primary,
  #top .hero-actions .btn.btn-ghost,
  #top #hero-secondary{
    height:44px !important;
    min-height:44px !important;
    padding:0 20px !important;
    font-size:12.5px !important;
  }

  #top .hero-tabbar{
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
  }

  #top .hero-tab{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

@media (min-width:901px) and (max-width:1280px){
  #top .hero-copy-shell{
    width:min(455px, 40vw) !important;
  }

  #top #hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    font-size:clamp(32px, 3.1vw, 46px) !important;
    max-width:12.5ch !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    max-width:410px !important;
    font-size:12.8px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX v12 — SOLO PC / LAPTOP
   Reubica el bloque de texto del hero con más aire superior
   y aprox. 5% más a la derecha. No afecta mobile.
   ========================================================= */
@media (min-width:901px){
  #top .hero-slider-content,
  #top .hero-content{
    padding-top: clamp(104px, 11vh, 136px) !important;
    padding-bottom: clamp(64px, 7vh, 88px) !important;
    align-items: center !important;
  }

  #top .hero-copy-shell{
    margin-left: clamp(48px, 5vw, 82px) !important;
  }
}

/* Ajuste específico para laptops 13" / pantallas de menor alto */
@media (min-width:901px) and (max-height:820px){
  #top .hero-slider-content,
  #top .hero-content{
    padding-top: clamp(96px, 12vh, 122px) !important;
    padding-bottom: 64px !important;
  }

  #top .hero-copy-shell{
    margin-left: clamp(52px, 5.2vw, 76px) !important;
  }
}

/* Ajuste para anchos de laptop: evita que el texto se pegue al borde izquierdo */
@media (min-width:901px) and (max-width:1280px){
  #top .hero-copy-shell{
    margin-left: clamp(46px, 5vw, 68px) !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTES PUNTUALES 31 MAY
   1) Reubicar textos del hero en PC/laptops sin sobremontar.
   2) Marca de agua de certificaciones ISO reemplazable.
   3) Ocultar sección clientes sin eliminarla.
   ========================================================= */

/* Oculta la sección de clientes, pero conserva todo el HTML para reactivarla luego. */
.partners-vertical-section{
  display:none !important;
}

/* Marca de agua del hero: reemplazar solo el src del img en .hero-cert-watermark. */
#top .hero-cert-watermark{
  position:absolute !important;
  right:clamp(54px, 9vw, 132px) !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:clamp(96px, 9vw, 138px) !important;
  height:clamp(96px, 9vw, 138px) !important;
  z-index:6 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 24px 70px -45px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter:blur(10px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(130%) !important;
  pointer-events:none !important;
  opacity:.82 !important;
}
#top .hero-cert-watermark::before{
  content:'Certificaciones';
  position:absolute;
  top:-24px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.78);
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
#top .hero-cert-watermark img{
  display:block !important;
  width:auto !important;
  max-width:68% !important;
  max-height:58% !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) grayscale(1) contrast(1.12) !important;
  opacity:.96 !important;
}

/* Desktop/laptops: bajar el bloque de texto, mantener una misma malla y evitar sobremontado. */
@media (min-width:901px){
  #top .hero-slider-content,
  #top .hero-content{
    padding-top:96px !important;
    padding-bottom:126px !important;
    align-items:center !important;
  }

  #top .hero-copy-shell{
    transform:translateY(22px) !important;
    width:min(600px, 52vw) !important;
    min-height:354px !important;
    display:grid !important;
    grid-template-rows:24px minmax(142px, auto) minmax(48px, auto) 56px !important;
    row-gap:13px !important;
    align-content:center !important;
    overflow:visible !important;
  }

  #top .hero-kicker{
    min-height:24px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1{
    min-height:142px !important;
    max-height:178px !important;
    margin:0 !important;
    display:block !important;
    overflow:visible !important;
    max-width:12.2ch !important;
    font-size:clamp(36px, 4.05vw, 58px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.052em !important;
    text-wrap:balance !important;
    white-space:normal !important;
  }

  #top #hero-title em,
  #top .hero-title em,
  #top .hero-premium-copy h1 em{
    display:block !important;
    line-height:1.02 !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    min-height:48px !important;
    margin:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    max-width:50ch !important;
    font-size:clamp(13px, 1.05vw, 16px) !important;
    line-height:1.48 !important;
  }

  #top .hero-actions{
    min-height:56px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }
}

/* Laptops / ventanas medianas: ajustar para 13 pulgadas y evitar cortes. */
@media (min-width:901px) and (max-width:1280px){
  #top .hero-slider-content,
  #top .hero-content{
    padding-top:82px !important;
    padding-bottom:118px !important;
  }

  #top .hero-copy-shell{
    transform:translateY(16px) !important;
    width:min(520px, 48vw) !important;
    min-height:320px !important;
    grid-template-rows:22px minmax(126px, auto) minmax(44px, auto) 52px !important;
    row-gap:11px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1{
    min-height:126px !important;
    max-height:158px !important;
    font-size:clamp(32px, 3.65vw, 48px) !important;
    line-height:1.02 !important;
    max-width:12.6ch !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    min-height:44px !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
    max-width:48ch !important;
  }

  #top #hero-primary,
  #top .hero-actions .btn.btn-primary{
    min-height:50px !important;
    height:50px !important;
    padding:0 24px !important;
    font-size:13px !important;
  }

  #top #hero-secondary,
  #top .hero-actions .btn.btn-ghost{
    min-height:44px !important;
    height:44px !important;
    padding:0 20px !important;
    font-size:13px !important;
  }

  #top .hero-cert-watermark{
    right:clamp(42px, 7vw, 86px) !important;
    width:96px !important;
    height:96px !important;
  }
}

/* Mobile: mantener optimizado y sin tocar estructura; solo escalar la marca de agua para que no estorbe. */
@media (max-width:900px){
  #top .hero-cert-watermark{
    right:20px !important;
    top:96px !important;
    transform:none !important;
    width:58px !important;
    height:58px !important;
    opacity:.58 !important;
  }
  #top .hero-cert-watermark::before{
    display:none !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE FINAL v14 — SOLO HERO PC/LAPTOP + MARCA CERTIFICACIONES
   - El título 2 y 3 puede respirar más hacia la derecha sin sobremontarse.
   - La marca de certificaciones deja de ser círculo y pasa a franja glass.
   - No altera la sección mobile ni elimina contenido existente.
   ========================================================= */
@media (min-width:901px){
  #top .hero-copy-shell{
    width:min(680px, 57vw) !important;
    min-height:338px !important;
    grid-template-rows:24px minmax(128px, auto) minmax(44px, auto) 56px !important;
    row-gap:12px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    max-width:17.5ch !important;
    min-height:128px !important;
    max-height:172px !important;
    font-size:clamp(34px, 3.65vw, 56px) !important;
    line-height:1.03 !important;
    letter-spacing:-0.05em !important;
    overflow:visible !important;
    text-wrap:balance !important;
  }

  #top #hero-title em,
  #top .hero-title em,
  #top .hero-premium-copy h1 em{
    display:inline !important;
    line-height:1.03 !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    max-width:54ch !important;
    min-height:44px !important;
    font-size:clamp(13px, .98vw, 15.5px) !important;
    line-height:1.46 !important;
  }

  #top .hero-cert-watermark{
    top:35% !important;
    right:clamp(62px, 8.2vw, 130px) !important;
    transform:translateY(-50%) !important;
    width:clamp(188px, 16vw, 244px) !important;
    height:52px !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, rgba(255,255,255,.105), rgba(255,255,255,.045)) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    box-shadow:0 18px 54px -38px rgba(0,0,0,.75), inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter:blur(14px) saturate(135%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(135%) !important;
    opacity:.78 !important;
  }

  #top .hero-cert-watermark::before{
    content:'Certificaciones ISO' !important;
    position:static !important;
    transform:none !important;
    color:rgba(255,255,255,.78) !important;
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  #top .hero-cert-watermark img{
    max-width:58px !important;
    max-height:30px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    filter:brightness(0) invert(1) grayscale(1) contrast(1.14) !important;
    opacity:.92 !important;
  }
}

@media (min-width:901px) and (max-width:1280px){
  #top .hero-copy-shell{
    width:min(600px, 55vw) !important;
    min-height:312px !important;
    grid-template-rows:22px minmax(116px, auto) minmax(42px, auto) 52px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    max-width:17ch !important;
    min-height:116px !important;
    max-height:154px !important;
    font-size:clamp(31px, 3.28vw, 46px) !important;
    line-height:1.04 !important;
  }

  #top .hero-cert-watermark{
    top:34% !important;
    right:clamp(44px, 6vw, 78px) !important;
    width:188px !important;
    height:48px !important;
  }

  #top .hero-cert-watermark img{
    max-width:50px !important;
    max-height:27px !important;
  }
}

@media (min-width:901px) and (max-height:760px){
  #top .hero-copy-shell{
    transform:translateY(8px) !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    font-size:clamp(30px, 3.05vw, 43px) !important;
    max-width:18ch !important;
    min-height:108px !important;
  }

  #top .hero-cert-watermark{
    top:33% !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   AJUSTE FINAL v15 — SOLO POSICIÓN DEL TEXTO HERO
   - Baja el bloque título/subtítulo/botones para que no quede elevado.
   - Reduce el alto reservado del título para que quede más cerca del subtítulo.
   - Mantiene la misma altura y estructura entre todos los slides.
   ========================================================= */
@media (min-width:901px){
  #top .hero-copy-shell{
    transform:translate(5%, 34px) !important;
    min-height:314px !important;
    grid-template-rows:24px minmax(106px, auto) minmax(42px, auto) 56px !important;
    row-gap:10px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    padding-top:12px !important;
    min-height:106px !important;
    max-height:150px !important;
    margin:0 !important;
    line-height:1.035 !important;
  }

  #top #hero-subtitle,
  #top .hero-sub{
    margin-top:0 !important;
  }
}

@media (min-width:901px) and (max-width:1280px){
  #top .hero-copy-shell{
    transform:translate(5%, 30px) !important;
    min-height:296px !important;
    grid-template-rows:22px minmax(100px, auto) minmax(40px, auto) 52px !important;
    row-gap:9px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    padding-top:10px !important;
    min-height:100px !important;
    max-height:142px !important;
  }
}

@media (min-width:901px) and (max-height:760px){
  #top .hero-copy-shell{
    transform:translate(5%, 26px) !important;
    min-height:282px !important;
    grid-template-rows:20px minmax(94px, auto) minmax(38px, auto) 50px !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    padding-top:8px !important;
    min-height:94px !important;
    max-height:132px !important;
  }
}

@media (max-width:900px){
  #top .hero-copy-shell{
    transform:translateY(26px) !important;
  }

  #top #hero-title,
  #top .hero-title,
  #top .hero-premium-copy h1,
  #top .hero-slider-content h1{
    padding-top:8px !important;
    margin-bottom:4px !important;
  }
}

@media (max-width:560px){
  #top .hero-copy-shell{
    transform:translateY(22px) !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   CORRECCIÓN FINAL — Logo ISO sin burbuja/tarjeta
   - Hero: se elimina totalmente el fondo, borde, sombra y texto.
   - Se usa la ruta correcta del logo ISO.
   - Se mantienen ubicación y responsive sin tocar otras secciones.
   ========================================================= */
#top .hero-cert-watermark{
  position:absolute !important;
  right:clamp(62px, 8.2vw, 130px) !important;
  top:35% !important;
  transform:translateY(-50%) !important;
  width:clamp(150px, 13vw, 220px) !important;
  height:auto !important;
  min-height:90px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
#top .hero-cert-watermark::before,
#top .hero-cert-watermark::after{
  content:none !important;
  display:none !important;
}
#top .hero-cert-watermark img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:120px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

/* Sección de acreditaciones: logos sin tarjetas internas */
.regulatory-pill .regulatory-logo-link,
.regulatory-pill .regulatory-logo-row .regulatory-logo-link,
.regulatory-pill .regulatory-cert-stack .regulatory-logo-link,
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.regulatory-pill .regulatory-logo-link:hover,
.regulatory-pill .regulatory-logo-row .regulatory-logo-link:hover,
.regulatory-pill .regulatory-cert-stack .regulatory-logo-link:hover,
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link:hover{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.regulatory-pill .regulatory-logo-row .regulatory-logo-link{
  width:220px !important;
  min-width:220px !important;
  max-width:220px !important;
  height:118px !important;
  min-height:118px !important;
  max-height:118px !important;
  flex:0 0 220px !important;
}
.regulatory-pill .regulatory-logo-row .regulatory-logo-link img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:104px !important;
  object-fit:contain !important;
}
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
  width:240px !important;
  min-width:240px !important;
  max-width:240px !important;
  height:124px !important;
  min-height:124px !important;
  max-height:124px !important;
  flex:0 0 240px !important;
}
.regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:116px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

@media (min-width:901px) and (max-width:1280px){
  #top .hero-cert-watermark{
    right:clamp(44px, 6vw, 78px) !important;
    top:34% !important;
    width:clamp(140px, 13vw, 190px) !important;
    min-height:78px !important;
  }
  #top .hero-cert-watermark img{ max-height:104px !important; }
}
@media (max-width:900px){
  #top .hero-cert-watermark{
    right:20px !important;
    top:96px !important;
    transform:none !important;
    width:96px !important;
    min-height:48px !important;
    opacity:.88 !important;
  }
  #top .hero-cert-watermark img{ max-height:62px !important; }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
    flex:1 1 auto !important;
  }
  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    max-height:82px !important;
  }
}

/* ===== BLOQUE ===== */

/* =========================================================
   FIX RESPONSIVE — Acreditaciones y certificaciones
   Corrige el sobremontado entre el texto "Certificaciones" y los logos
   sin modificar el resto del sitio.
   ========================================================= */
.regulatory-pill-section .container.regulatory-pill-wrap{
  max-width:1360px !important;
}

@media (min-width:1181px){
  .regulatory-pill{
    width:100% !important;
    max-width:1260px !important;
    margin:0 auto !important;
    padding:34px 42px !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1.5fr) minmax(360px, .72fr) !important;
    align-items:center !important;
    gap:36px !important;
    overflow:visible !important;
  }

  .regulatory-pill-block{
    min-width:0 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:max-content minmax(0, 1fr) !important;
    align-items:center !important;
    gap:26px !important;
  }

  .regulatory-pill-block + .regulatory-pill-block{
    padding-left:34px !important;
    border-left:1px solid rgba(255,255,255,.16) !important;
  }

  .regulatory-pill-label{
    position:relative !important;
    z-index:2 !important;
    color:#fff !important;
    white-space:nowrap !important;
    font-size:15px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    margin:0 !important;
  }

  .regulatory-pill .regulatory-logo-row,
  .regulatory-pill .regulatory-cert-stack-single{
    min-width:0 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:30px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
  }

  .regulatory-pill .regulatory-logo-row .regulatory-logo-link{
    flex:0 1 190px !important;
    width:190px !important;
    min-width:150px !important;
    max-width:190px !important;
    height:106px !important;
    min-height:106px !important;
    max-height:106px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    flex:0 0 172px !important;
    width:172px !important;
    min-width:172px !important;
    max-width:172px !important;
    height:106px !important;
    min-height:106px !important;
    max-height:106px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:92px !important;
    object-fit:contain !important;
  }

  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100px !important;
    object-fit:contain !important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .regulatory-pill{
    width:100% !important;
    max-width:980px !important;
    margin:0 auto !important;
    padding:30px 36px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:center !important;
    gap:26px !important;
    overflow:visible !important;
  }

  .regulatory-pill-block{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:max-content minmax(0, 1fr) !important;
    align-items:center !important;
    gap:28px !important;
  }

  .regulatory-pill-block + .regulatory-pill-block{
    padding-left:0 !important;
    padding-top:24px !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
  }

  .regulatory-pill-label{
    white-space:nowrap !important;
    font-size:15px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    color:#fff !important;
  }

  .regulatory-pill .regulatory-logo-row{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(150px, 210px)) !important;
    justify-content:start !important;
    align-items:center !important;
    gap:26px !important;
  }

  .regulatory-pill .regulatory-cert-stack-single{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
  }

  .regulatory-pill .regulatory-logo-row .regulatory-logo-link,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link{
    width:190px !important;
    min-width:0 !important;
    max-width:210px !important;
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .regulatory-pill .regulatory-logo-row .regulatory-logo-link img,
  .regulatory-pill .regulatory-cert-stack-single .regulatory-logo-link img{
    max-width:100% !important;
    max-height:86px !important;
    object-fit:contain !important;
  }
}

@media (max-width:900px){
  .regulatory-pill{
    overflow:visible !important;
  }
  .regulatory-pill .regulatory-pill-block{
    min-width:0 !important;
  }
  .regulatory-pill .regulatory-logo-row,
  .regulatory-pill .regulatory-cert-stack-single{
    min-width:0 !important;
    width:100% !important;
  }
}

/* ===== LATINUS · enlaces de footer y navegación (glue de integración) ===== */
footer .footer-col a,
footer .footer-col li a { color: inherit; text-decoration: none; transition: color .2s var(--ease-out,ease); }
footer .footer-col a:hover,
footer .footer-col li a:hover { color: var(--red, #c9152b); }
footer .footer-legal-links { display:flex; flex-wrap:wrap; gap:6px 14px; }
footer .footer-legal-links a { color: inherit; opacity:.85; text-decoration:none; transition:opacity .2s ease,color .2s ease; }
footer .footer-legal-links a:hover { opacity:1; color: var(--red, #c9152b); }

/* =========================================================
   FIX GLOBAL — colchón superior en páginas internas
   El header es overlay (body overflow-x:hidden), así que el
   hero debe reservar espacio para no quedar tapado, igual que
   la home (.hero-slider-home padding-top:118px). No afecta a
   la home porque usa clases distintas.
   ========================================================= */
.lt-identity-hero,
.lt-resources-hero,
.lt-blog-hero,
.lt-contact-hero,
.lt-careers-hero,
.lt-industry-hero,
.lt-hero{
  padding-top: 96px !important;
}
@media (max-width: 768px){
  .lt-identity-hero,
  .lt-resources-hero,
  .lt-blog-hero,
  .lt-contact-hero,
  .lt-careers-hero,
  .lt-industry-hero,
  .lt-hero{
    padding-top: 80px !important;
  }
}

/* Footer: sin subrayado en enlaces */
footer#nosotros a{ text-decoration:none; }
footer#nosotros a:hover{ text-decoration:underline; }
