:root {
      --navy:     #0B1829;
      --navy-mid: #122038;
      --gold:     #C9A84C;
      --gold-lt:  #E2C97E;
      --white:    #F7F6F2;
      --offwhite: #EEECE6;
      --gray:     #6B7280;
      --gray-lt:  #D1D5DB;
      --radius:   16px;
      --font-d:   'Plus Jakarta Sans', sans-serif;
      --font-b:   'Inter', sans-serif;
      --ease:     cubic-bezier(0.4,0,0.2,1);
    }
    * {
        box-sizing: border-box;
    }
    body::before {
      margin: 0;
    padding: 0;
    width: 100%;
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none; 
      z-index: 9999; 
      background-image: url('texture.svg');
      background-repeat: repeat;
      background-size: 10%;
      background-position: center;
      opacity: 0.08;
    }

    .fluid-container{
      padding: 0 5vw;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: var(--font-b); background: var(--white); color: var(--navy); overflow-x: hidden;}
    h1,h2,h3,h4 { font-family: var(--font-d); }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }

    /* ── NAVBAR ── */
    .navbar-lexora {
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 900;
      padding: 1.1rem 2.5rem;
      display: flex; align-items: center; justify-content: space-between;
      transition: background .35s var(--ease), padding .35s var(--ease), box-shadow .35s var(--ease);
    }
    .navbar-lexora.scrolled {
      background: var(--navy);
      padding: .7rem 2.5rem;
      box-shadow: 0 4px 28px rgba(0,0,0,.28);
    }
    .nav-logo { font-family: var(--font-d); font-weight: 800; font-size: 1.25rem; color: var(--white); line-height: 1; }
    .nav-logo span { display: block; font-weight: 300; font-size: .58rem; letter-spacing: .18em; color: var(--gold); margin-top: 3px; }
    .nav-links { display: flex; gap: 1.75rem; list-style: none; }
    .nav-links a { font-family: var(--font-d); font-weight: 600; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: rgba(247,246,242,.8); transition: color .25s; }
    .nav-links a:hover { color: var(--gold); }
    .nav-cta { font-family: var(--font-d); font-weight: 700; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; background: var(--gold); color: var(--navy); padding: .6rem 1.4rem; border-radius: 50px; transition: background .25s; }
    .nav-cta:hover { background: var(--gold-lt); }
    .nav-toggler { display: none; background: none; border: none; color: var(--white); font-size: 1.6rem; cursor: pointer; }

    /* mobile menu */
    #mobileMenu { display: none; position: fixed; inset: 0; background: var(--navy); z-index: 950; flex-direction: column; align-items: center; justify-content: center; gap: 1.75rem; }
    #mobileClose { position: absolute; top: 1.4rem; right: 1.6rem; background: none; border: none; color: var(--white); font-size: 1.8rem; cursor: pointer; }
    .m-link { font-family: var(--font-d); font-size: 1.8rem; font-weight: 800; color: var(--white); transition: color .2s; }
    .m-link:hover { color: var(--gold); }

    /* ── HERO ── */
    .hero-wrap { padding-top: 80px; background: var(--navy); }
    .hero-swiper { width: 100%; height: 65vh; min-height: 400px; max-height: 620px; }
    .swiper-slide { position: relative; overflow: hidden; border-radius: 0 0 var(--radius) var(--radius); }
    .slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.06); transition: transform 8s ease; }
    .swiper-slide-active .slide-bg { transform: scale(1); }
    .sb1 { background: linear-gradient(135deg,#0d2340 0%,#1a3a60 60%,#0a1a30 100%); }
    .sb2 { background: linear-gradient(135deg,#0d2a1a 0%,#154030 60%,#0a1f12 100%); }
    .sb3 { background: linear-gradient(135deg,#2a1a08 0%,#40280a 60%,#1a0f05 100%); }
    .slide-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-d); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.1); pointer-events: none; }
    .slide-overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(11,24,41,.9) 0%, rgba(11,24,41,.9) 55%, rgba(11,24,41,.5) 100%); }
    .slide-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 0 5vw; max-width: 80%; }
    .slide-tag { font-family: var(--font-d); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
    .slide-tag::before { content: ''; display: inline-block; width: 24px; height: 2px; background: var(--gold); }

    /* TITLE: light weight + uppercase = editorial + grande */
    .slide-title { font-family: var(--font-d); font-weight: 300; text-transform: uppercase; font-size: clamp(3rem, 7vw, 6.5rem); line-height: 1.1; letter-spacing: -.01em; color: var(--white); margin-bottom: 1.5rem; }
    .slide-title em { font-style: normal; color: var(--gold); }

    .slide-meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 1.5rem; }
    .sm-item { display: flex; flex-direction: column; gap: .12rem; }
    .sm-label { font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
    .sm-val { font-family: var(--font-d); font-size: .88rem; font-weight: 600; color: var(--white); }
    .slide-actions { display: flex; gap: .75rem; flex-wrap: wrap; }

    .btn-gold { font-family: var(--font-d); font-weight: 700; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; background: var(--gold); color: var(--navy); padding: .72rem 1.7rem; border-radius: 50px; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; transition: background .25s, transform .2s; }
    .btn-gold:hover { background: var(--gold-lt); transform: translateY(-2px); }
    .btn-ghost { font-family: var(--font-d); font-weight: 700; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; background: transparent; color: var(--white); padding: .72rem 1.7rem; border-radius: 50px; border: 1.5px solid rgba(255,255,255,.35); cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; transition: border-color .25s, color .25s; }
    .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

    .hero-swiper .swiper-pagination { bottom: 1.25rem; left: 5vw; text-align: left; width: auto; }
    .hero-swiper .swiper-pagination-bullet { width: 22px; height: 3px; border-radius: 0; background: rgba(255,255,255,.3); opacity: 1; transition: width .3s, background .3s; }
    .hero-swiper .swiper-pagination-bullet-active { background: var(--gold); width: 42px; }
    .hero-nav { position: absolute; bottom: 1rem; right: 3vw; z-index: 10; display: flex; gap: .4rem; }
    .hn-btn { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.25); background: transparent; color: var(--white); font-size: .88rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color .25s, background .25s, color .25s; }
    .hn-btn:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }

    /* ── QUÉ HACEMOS ── */
    .s-que { background: var(--offwhite); padding: 6rem 0 5rem; }

    .eyebrow { font-family: var(--font-d); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
    .eyebrow::before { content: ''; display: inline-block; width: 22px; height: 2px; background: var(--gold); }

    /* Big titles: LIGHT WEIGHT + UPPERCASE */
    .sec-title { font-family: var(--font-d); font-weight: 300; text-transform: uppercase; font-size: clamp(3rem, 6.5vw, 5.5rem); line-height: 1.1; letter-spacing: -.01em; color: var(--navy); }
    .sec-title em { font-style: normal; color: var(--gold); }

    .pais-grid { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.75rem; }
    .pais-chip { display: flex; align-items: center; gap: .45rem; background: var(--navy); color: var(--white); padding: .55rem 1rem; border-radius: 50px; font-family: var(--font-d); font-size: .75rem; font-weight: 600; }
    .pais-chip i { color: var(--gold); font-size: .8rem; }

    /* pillar cards con imagen */
    .pillar { background: var(--white); border-radius: var(--radius); overflow: hidden; height: 100%; box-shadow: 0 2px 14px rgba(11,24,41,.07); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
    .pillar:hover { transform: translateY(-6px); box-shadow: 0 18px 44px rgba(11,24,41,.13); }
    .pillar-img { aspect-ratio: 4/3; background: var(--white); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; color: rgba(255,255,255,.15); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
    .pillar-img i { font-size: 2.2rem; }
    .pillar-body { padding: 1.4rem 1.5rem 1.6rem; }
    .pillar-top { display: flex; align-items: center; gap: .55rem; margin-bottom: .65rem; }
    .pillar-top i { font-size: 1.1rem; color: var(--gold); }
    .pillar-name { font-family: var(--font-d); font-weight: 700; font-size: .95rem; color: var(--navy); }
    .pillar-desc { font-size: .86rem; line-height: 1.7; color: var(--gray); }

    /* ── FIRMA FULLWIDTH ── */
    .s-firma { background: var(--gold); padding: 6rem 2rem; text-align: center; }
    .firma-sub { font-size: 1rem; line-height: 1.78; color: var(--navy); max-width: 660px; margin: 0 auto 3rem; opacity: .82;text-align:left; }
    .firma-big { font-family: var(--font-d); font-weight: 300; text-transform: uppercase; font-size: clamp(2.4rem, 5vw, 6.5rem); line-height: 1.1; letter-spacing: -.02em; color: var(--navy); max-width: 1100px; margin: 0 auto;text-align:left; }

    /* ── PROGRAMAS ── */
    .s-prog { background: var(--navy); padding: 4rem 0; }
    .s-prog .sec-title { color: var(--white); }
    .s-prog .eyebrow { color: var(--gold); }
    .prog-card { background: rgba(255,255,255,.04); border: 1px solid rgba(201,168,76,.14); border-radius: var(--radius); overflow: hidden; height: 100%; transition: border-color .3s, transform .3s;display: flex;
  flex-direction: column; }
    .prog-card:hover { border-color: var(--gold); transform: translateY(-5px); }
    .prog-img { aspect-ratio: 16/9; background: rgba(255,255,255,.06); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; color: rgba(255,255,255,.14); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
    .prog-img i { font-size: 2.2rem; }
    .prog-body { padding: 1.2rem 1.4rem 1.5rem;display: flex;
  flex-direction: column;
  flex: 1;}
  .prog-body .pci-desc {
  flex: 1;
}
    .prog-badge { display: inline-block; font-family: var(--font-d); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--gold); color: var(--navy); padding: .28rem .8rem; border-radius: 50px; margin-bottom: .75rem; }
    .prog-pais { font-family: var(--font-d); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: .3rem; margin-bottom: .45rem; }
    .prog-nombre { font-family: var(--font-d); font-weight: 700; font-size: 1.1rem; color: var(--white); margin-bottom: .9rem; }
    .prog-info { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem .75rem; margin-bottom: 1.1rem; }
    .pi-item { display: flex; flex-direction: column; gap: .1rem; }
    .pi-lbl { font-size: .58rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--gray); }
    .pi-val { font-family: var(--font-d); font-size: .8rem; font-weight: 600; color: var(--gray-lt); }
    .btn-prog { font-family: var(--font-d); font-weight: 700; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; width: 100%; padding: .68rem; border-radius: 50px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: .4rem; background: var(--gold); color: var(--navy); transition: background .25s; }
    .btn-prog:hover { background: var(--gold-lt); }
    .btn-prog.off { background: rgba(255,255,255,.07); color: var(--gray); cursor: default; }

    /* ── FOOTER ── */
    footer { background: var(--navy-mid); border-top: 1px solid rgba(201,168,76,.18); padding: 5rem 0 2.5rem; }
    .ft-logo { font-family: var(--font-d); font-weight: 800; font-size: 1.2rem; color: var(--white); line-height: 1; margin-bottom: 1rem; }
    .ft-logo span { display: block; font-weight: 300; font-size: .56rem; letter-spacing: .18em; color: var(--gold); margin-top: 3px; }
    .ft-tag { font-size: .84rem; line-height: 1.65; color: var(--gray); max-width: 260px; margin-bottom: 1.5rem; }
    .socials { display: flex; gap: .55rem; }
    .sc-link { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid rgba(201,168,76,.3); display: flex; align-items: center; justify-content: center; font-size: .95rem; color: var(--gold); transition: border-color .25s, background .25s, color .25s; }
    .sc-link:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
    .ft-head { font-family: var(--font-d); font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
    .ft-item { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .65rem; font-size: .84rem; color: var(--gray-lt); }
    .ft-item i { color: var(--gold); font-size: .84rem; margin-top: .15rem; flex-shrink: 0; }
    .ft-hr { border-color: rgba(255,255,255,.07); margin: 2.5rem 0 1.5rem; }
    .ft-copy { font-size: .74rem; color: var(--gray); text-align: center; }

    /* ── RESPONSIVE ── */
    @media (max-width:991px) {
      .nav-links, .nav-cta { display: none; }
      .nav-toggler { display: block; }
      .hero-swiper { height: 60vw; min-height: 340px; }
    }
    @media (max-width:767px) {
      .slide-title { font-size: clamp(2.1rem,8vw,3.2rem); }
      .hero-nav { display: none; }
      .firma-big { font-size: clamp(2rem,8vw,3.5rem); }
      .s-firma { padding: 4rem 1.5rem; }
      .navbar-lexora { padding: 1rem 1.25rem; }
      .navbar-lexora.scrolled { padding: .7rem 1.25rem; }
      .hero-swiper { height: 120vw; min-height: 340px; }
    }
    /* Contenedor de la imagen en el slider */
.slide-ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block; /* Cambiamos de flex a block para controlar la imagen */
}

.slide-ph img {
  width: 100%;
  height: 100%;
  /* El truco mágico: cubre el área sin deformar */
  object-fit: cover; 
  /* Centra la parte importante de la foto */
  object-position: center; 
}

/* Ajuste específico para móviles */
@media (max-width: 767px) {
  .slide-ph img {
    /* En móvil, nos aseguramos que priorice llenar la altura del Swiper */
    object-fit: cover;
  }
}

.page-hero {
      background: var(--navy);
      padding-top: 80px;
      padding-bottom: 0;
      position: relative;
      overflow: hidden;
    }
    .page-hero-inner {
      padding: 5rem 5vw 4rem;
      position: relative;
      z-index: 2;
    }
    .page-hero-bg {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 80% at 80% 50%, rgba(201,168,76,.07) 0%, transparent 70%);
      pointer-events: none;
    }
    .page-hero-line {
      width: 40px; height: 2px; background: var(--gold); margin-bottom: 1.2rem;
    }
    .page-hero-eyebrow {
      font-family: var(--font-d); font-size: .68rem; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
      margin-bottom: 1.2rem; display: flex; align-items: center; gap: .6rem;
    }
    .page-hero-title {
      font-family: var(--font-d); font-weight: 300; text-transform: uppercase;
      font-size: clamp(3rem, 7vw, 6.5rem); line-height: 1.08; letter-spacing: -.01em;
      color: var(--white); margin-bottom: 1.5rem;
    }
    .page-hero-title em { font-style: normal; color: var(--gold); }
    .page-hero-sub {
      font-size: 1rem; line-height: 1.8; color: rgba(247,246,242,.6);
      max-width: 60%;
    }

    /* ── TABS DE FILTRO ── */
    .tabs-wrap {
      background: var(--navy);
      border-top: 1px solid rgba(201,168,76,.12);
      position: sticky; top: 70px; z-index: 800;
    }
    .tabs-inner {
      padding: 0 5vw;
      display: flex; gap: 0;
      overflow-x: auto;
      -ms-overflow-style: none; scrollbar-width: none;
    }
    .tabs-inner::-webkit-scrollbar { display: none; }
    .tab-btn {
      font-family: var(--font-d); font-weight: 700; font-size: .72rem;
      letter-spacing: .1em; text-transform: uppercase;
      color: rgba(247,246,242,.45);
      padding: 1.1rem 1.6rem;
      border: none; background: none; cursor: pointer;
      border-bottom: 2.5px solid transparent;
      white-space: nowrap;
      transition: color .25s, border-color .25s;
      display: flex; align-items: center; gap: .5rem;
    }
    .tab-btn:hover { color: rgba(247,246,242,.8); }
    .tab-btn.active { color: var(--gold); border-bottom-color: var(--gold); }
    .tab-btn .tab-flag { font-size: .9rem; }

    /* ── PANEL DE CONTENIDO ── */
    .panel { display: none; }
    .panel.active { display: block; }

    /* ── SECCIÓN DARK (Italia) ── */
    .s-dark {
      background: var(--navy);
      padding: 5rem 0 6rem;
      color: white;
    }

    .eyebrow {
      font-family: var(--font-d); font-size: .68rem; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase; color: var(--gold);
      display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem;
    }
    .eyebrow::before { content: ''; display: inline-block; width: 22px; height: 2px; background: var(--gold); }

    .sec-title {
      font-family: var(--font-d); font-weight: 300; text-transform: uppercase;
      font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: 1.1; letter-spacing: -.01em;
    }
    .sec-title em { font-style: normal; color: var(--gold); }
    .sec-title-white { color: var(--white); }
    .sec-title-navy { color: var(--navy); }

    /* ── INTRO CARD DE VERANO ITALIA ── */
    .italia-intro {
      background: rgba(201,168,76,.07);
      border: 1px solid rgba(201,168,76,.2);
      border-radius: var(--radius);
      padding: 2rem 2.2rem;
      margin-bottom: 3.5rem;
    }
    .italia-intro p {
      font-size: .95rem; line-height: 1.8; margin: 0;
    }
    .italia-intro strong { color: var(--gold-lt); }

    /* ── CARDS ITALIA ── */
    .prog-card-italia {
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(201,168,76,.14);
      border-radius: var(--radius);
      overflow: hidden;
      height: 100%;
      transition: border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
      display: flex; flex-direction: column;
    }
    .prog-card-italia:hover {
      border-color: var(--gold);
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(0,0,0,.35);
    }
    .pci-img {
      aspect-ratio: 16/9;
      background: rgba(255,255,255,.06);
      display: flex; align-items: center; justify-content: center;
      overflow: hidden;
      position: relative;
    }
    .pci-img img { width: 100%; height: 100%; object-fit: cover; }
    .pci-img-ph {
      position: absolute; inset: 0;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: .6rem;
      color: rgba(255,255,255,.15);
      font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    }
    .pci-img-ph i { font-size: 2.5rem; }
    .pci-badge-wrap {
      position: absolute; top: 1rem; left: 1rem;
      display: flex; gap: .4rem; flex-wrap: wrap;
    }
    .pci-badge {
      font-family: var(--font-d); font-size: .58rem; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      background: var(--gold); color: var(--navy);
      padding: .25rem .75rem; border-radius: 50px;
    }
    .pci-badge.ects {
      background: rgba(11,24,41,.8); color: var(--gold-lt);
      border: 1px solid rgba(201,168,76,.4);
      backdrop-filter: blur(4px);
    }
    .pci-body { padding: 1.4rem 1.6rem 1.8rem; flex: 1; display: flex; flex-direction: column; }
    .pci-inst {
      font-family: var(--font-d); font-size: .6rem; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase; color: var(--gold);
      display: flex; align-items: center; gap: .3rem; margin-bottom: .5rem;
    }
    .pci-title {
      font-family: var(--font-d); font-weight: 700; font-size: 1.15rem;
      color: var(--navy); margin-bottom: .9rem; line-height: 1.3;
    }
    .pci-desc {
      font-size: .86rem; line-height: 1.75; color: var(--navy);
      margin-bottom: 1.2rem; flex: 1;
    }
    .pci-meta {
      display: grid; grid-template-columns: 1fr 1fr; gap: .5rem .8rem;
      margin-bottom: 1.3rem;
      padding-top: 1rem;
      border-top: 1px solid rgba(255,255,255,.07);
    }
    .pci-meta-item { display: flex; flex-direction: column; gap: .1rem; }
    .pci-meta-lbl { font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
    .pci-meta-val { font-family: var(--font-d); font-size: .6rem; font-weight: 400; color: var(--gray); }
    .pci-cta {
      font-family: var(--font-d); font-weight: 700; font-size: .7rem;
      letter-spacing: .07em; text-transform: uppercase;
      width: 100%; padding: .72rem;
      border-radius: 50px; border: none; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: .4rem;
      background: var(--gold); color: var(--navy);
      transition: background .25s var(--ease), transform .2s;
    }
    .pci-cta:hover { background: var(--gold-lt); transform: translateY(-1px); }

    /* ── SECCIÓN LIGHT (Intercambios) ── */
    .s-light {
      background: var(--offwhite);
      padding: 5rem 0 6rem;
    }

    /* ── CARDS INTERCAMBIO ── */
    .prog-card-ic {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      height: 100%;
      box-shadow: 0 2px 14px rgba(11,24,41,.07);
      transition: transform .3s var(--ease), box-shadow .3s var(--ease);
      display: flex; flex-direction: column;
    }
    .prog-card-ic:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 44px rgba(11,24,41,.13);
    }
    .pic-img {
      aspect-ratio: 4/3;
      background: var(--offwhite);
      display: flex; align-items: center; justify-content: center;
      overflow: hidden; position: relative;
    }
    .pic-img img { width: 100%; height: 100%; object-fit: cover; }
    .pic-img-ph {
      position: absolute; inset: 0;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: .6rem;
      color: rgba(11,24,41,.15);
      font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    }
    .pic-img-ph i { font-size: 2.5rem; }
    .pic-country-badge {
      position: absolute; top: 1rem; left: 1rem;
      font-family: var(--font-d); font-size: .6rem; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      background: var(--navy); color: var(--gold);
      padding: .3rem .85rem; border-radius: 50px;
      display: flex; align-items: center; gap: .35rem;
    }
    .pic-body { padding: 1.5rem 1.6rem 1.8rem; flex: 1; display: flex; flex-direction: column; }
    .pic-city {
      font-family: var(--font-d); font-size: .6rem; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase; color: var(--gold);
      display: flex; align-items: center; gap: .3rem; margin-bottom: .5rem;
    }
    .pic-title {
      font-family: var(--font-d); font-weight: 700; font-size: 1.15rem;
      color: var(--navy); margin-bottom: .9rem; line-height: 1.3;
    }
    .pic-desc {
      font-size: .86rem; line-height: 1.75; color: var(--gray);
      margin-bottom: 1.2rem; flex: 1;
    }
    .pic-highlights {
      display: flex; flex-direction: column; gap: .5rem;
      margin-bottom: 1.3rem;
      padding: 1rem 1.1rem;
      background: var(--offwhite);
      border-radius: 10px;
    }
    .pic-hl-item {
      display: flex; align-items: flex-start; gap: .55rem;
      font-size: .82rem; color: var(--navy); line-height: 1.45;
    }
    .pic-hl-item i { color: var(--gold); font-size: .8rem; margin-top: .15rem; flex-shrink: 0; }
    .pic-cta-row { display: flex; gap: .6rem; }
    .btn-navy {
      font-family: var(--font-d); font-weight: 700; font-size: .7rem;
      letter-spacing: .07em; text-transform: uppercase;
      flex: 1; padding: .72rem;
      border-radius: 50px; border: none; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: .4rem;
      background: var(--navy); color: var(--white);
      transition: background .25s var(--ease);
    }
    .btn-navy:hover { background: var(--navy-mid); }
    .btn-outline-gold {
      font-family: var(--font-d); font-weight: 700; font-size: .7rem;
      letter-spacing: .07em; text-transform: uppercase;
      padding: .72rem 1rem;
      border-radius: 50px;
      border: 1.5px solid rgba(201,168,76,.45); cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: .4rem;
      background: transparent; color: var(--gold);
      transition: border-color .25s, background .25s;
    }
    .btn-outline-gold:hover { border-color: var(--gold); background: rgba(201,168,76,.06); }

    /* ── BTN-GOLD GLOBAL ── */
    .btn-gold {
      font-family: var(--font-d); font-weight: 700; font-size: .72rem;
      letter-spacing: .07em; text-transform: uppercase;
      background: var(--gold); color: var(--navy);
      padding: .72rem 1.7rem; border-radius: 50px; border: none; cursor: pointer;
      display: inline-flex; align-items: center; gap: .4rem;
      transition: background .25s, transform .2s;
    }
    .btn-gold:hover { background: var(--gold-lt); transform: translateY(-2px); }
    .btn-ghost {
      font-family: var(--font-d); font-weight: 700; font-size: .72rem;
      letter-spacing: .07em; text-transform: uppercase;
      background: transparent; color: var(--white);
      padding: .72rem 1.7rem; border-radius: 50px;
      border: 1.5px solid rgba(255,255,255,.35); cursor: pointer;
      display: inline-flex; align-items: center; gap: .4rem;
      transition: border-color .25s, color .25s;
    }
    .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

    /* ── BANNER CTA ── */
    .s-cta {
      background: var(--gold);
      padding: 5rem 5vw;
    }
    .cta-title {
      font-family: var(--font-d); font-weight: 300; text-transform: uppercase;
      font-size: clamp(2.4rem, 5vw, 5.5rem); line-height: 1.1; letter-spacing: -.01em;
      color: var(--navy); margin-bottom: 1.5rem;
    }
    .cta-sub {
      font-size: 1rem; line-height: 1.8; color: var(--navy); opacity: .75;
      max-width: 60%; margin-bottom: 2rem;
    }

    /* ── FOOTER ── */
    footer { background: var(--navy-mid); border-top: 1px solid rgba(201,168,76,.18); padding: 5rem 0 2.5rem; }
    .ft-tag { font-size: .84rem; line-height: 1.65; color: var(--gray); max-width: 260px; margin-bottom: 1.5rem; }
    .socials { display: flex; gap: .55rem; }
    .sc-link { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid rgba(201,168,76,.3); display: flex; align-items: center; justify-content: center; font-size: .95rem; color: var(--gold); transition: border-color .25s, background .25s, color .25s; }
    .sc-link:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
    .ft-head { font-family: var(--font-d); font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
    .ft-item { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .65rem; font-size: .84rem; color: var(--gray-lt); }
    .ft-item i { color: var(--gold); font-size: .84rem; margin-top: .15rem; flex-shrink: 0; }
    .ft-hr { border-color: rgba(255,255,255,.07); margin: 2.5rem 0 1.5rem; }
    .ft-copy { font-size: .74rem; color: var(--gray); text-align: center; }

    /* ── RESPONSIVE ── */
    @media (max-width:991px) {
      .nav-links, .nav-cta { display: none; }
      .nav-toggler { display: block; }
    }
    @media (max-width:767px) {
      .page-hero-title { font-size: clamp(2.4rem, 9vw, 3.5rem); }
      .navbar-lexora { padding: 1rem 1.25rem; }
      .navbar-lexora.scrolled { padding: .7rem 1.25rem; }
      .tab-btn { padding: 1rem 1.1rem; font-size: .65rem; }
      .tabs-wrap { top: 62px; }
    }



    .lexora-method{
    margin-top:4rem;
    position:relative;
}

.lexora-method::before{
    content:"";
    position:absolute;
    left:70px;
    top:0;
    bottom:0;
    width:1px;
    background:rgba(201,168,76,.25);
}

.lexora-step{
    display:flex;
    gap:2rem;
    align-items:flex-start;
    margin-bottom:3rem;
    position:relative;
}

.lexora-letter{
    flex-shrink:0;
    width:140px;
    font-family:var(--font-d);
    font-size:clamp(4rem,8vw,7rem);
    font-weight:200;
    line-height:1;
    color:var(--gold);
    text-align:center;
    position:relative;
}



.lexora-content{
    flex:1;
    padding-top:.8rem;
}

.lexora-content h3{
    color:white;
    font-size:1.4rem;
    margin-bottom:.8rem;
    font-weight:600;
}

.lexora-content p{
    color:rgba(255,255,255,.65);
    line-height:1.9;
    max-width:700px;
}

.lexora-step:hover .lexora-letter{
    transform:translateX(8px);
    transition:.3s ease;
}

.lexora-step:hover .lexora-content h3{
    color:var(--gold);
    transition:.3s ease;
}

@media(max-width:768px){

    .lexora-method::before{
        left:35px;
    }

    .lexora-letter{
        width:70px;
        font-size:5rem;
    }

    .lexora-letter::after{
        left:29px;
    }

    .lexora-step{
        gap:1rem;
    }
}

.whats-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 9999;
  display: block;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease;
}

.whats-float img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.whats-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 28px rgba(0,0,0,.35);
}

/* ===== DROPDOWN DESKTOP ===== */

.nav-dropdown{
  position:relative;
}

.dropdown-toggle-custom{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.nav-links > li{
  display:flex;
  align-items:center;
}

.dropdown-toggle-custom i{
  font-size:.75rem;
  transition:.3s;
}

.nav-dropdown:hover .dropdown-toggle-custom i{
  transform:rotate(180deg);
}

.dropdown-menu-custom{
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:var(--navy);
  border:1px solid rgba(201,168,76,.2);
  border-radius:12px;
  padding:.7rem 0;
  list-style:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.25s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}

.nav-dropdown:hover .dropdown-menu-custom{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-menu-custom li{
  list-style:none;
}

.dropdown-menu-custom a{
  display:block;
  padding:.8rem 1.2rem;
  color:white;
  font-size:.8rem;
  text-transform:none;
  letter-spacing:0;
}

.dropdown-menu-custom a:hover{
  background:rgba(201,168,76,.1);
  color:var(--gold);
}

/* ===== MOBILE DROPDOWN ===== */

.mobile-dropdown{
  width:100%;
  text-align:center;
}

.mobile-dropdown-btn{
  background:none;
  border:none;
  color:white;
  font-family:var(--font-d);
  font-size:1.8rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  width:100%;
  cursor:pointer;
}

.mobile-dropdown-content{
  display:none;
  flex-direction:column;
  margin-top:1rem;
  gap:.7rem;
}

.mobile-dropdown.active .mobile-dropdown-content{
  display:flex;
}

.mobile-dropdown.active i{
  transform:rotate(180deg);
}

.mobile-dropdown-btn i{
  transition:.3s;
}

.m-link-sub{
  color:rgba(255,255,255,.75);
  font-size:1rem;
  font-weight:500;
}
.programa-col{
    width:20%;
    padding-left:calc(var(--bs-gutter-x) * .5);
    padding-right:calc(var(--bs-gutter-x) * .5);
}

@media (max-width: 991px){
    .programa-col{
        width:50%;
    }
}

@media (max-width: 767px){
    .programa-col{
        width:100%;
    }
}