.elementor-46677 .elementor-element.elementor-element-c1a388b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button{background-color:#F1F5FF;font-family:"League Spartan", Sans-serif;font-size:1.4em;font-weight:bold;letter-spacing:1px;text-shadow:0px 0px 10px rgba(0, 0, 0, 0);fill:#124BCC;color:#124BCC;border-style:none;border-radius:5px 5px 5px 5px;padding:015px 20px 10px 20px;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button:hover, .elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button:focus{background-color:#285CD3;color:#FFFFFF;border-color:#DE4242;}.elementor-46677 .elementor-element.elementor-element-7088629 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button-content-wrapper{flex-direction:row;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button:hover svg, .elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-46677 .elementor-element.elementor-element-03c2f77{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-be867f2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-c8d58e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-3fe64bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-e046786{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-7907285{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-a695731{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-da1ee49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-7cd110a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-d644f3f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-d974f96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-e5b4e01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-46677 .elementor-element.elementor-element-cde850d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-46677 .elementor-element.elementor-element-7088629 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-46677 .elementor-element.elementor-element-7088629 .elementor-button{font-size:1.1em;}}/* Start custom CSS for container, class: .elementor-element-03c2f77 *//* ==========================================
   LANG-LAB TEXAS — PORTADA
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-white: #ffffff;

  position: relative;
  width: 100%;
  min-height: 760px;
  height: min(88vh, 900px);
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: var(--ll-dark-blue);
  font-family: "Poppins", Arial, sans-serif;
}

/* ==========================================
   SLIDESHOW
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slideshow,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slide,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-overlay {
  position: absolute;
  inset: 0;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slideshow {
  z-index: -3;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slide {
  opacity: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.04);
  animation: llHeroSlideshow 24s infinite;
  will-change: opacity, transform;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-slide-1 {
  animation-delay: 0s;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-slide-2 {
  animation-delay: 8s;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-slide-3 {
  animation-delay: 16s;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-overlay {
  z-index: -2;

  background:
    linear-gradient(
      90deg,
      rgba(4, 21, 61, 0.97) 0%,
      rgba(4, 28, 82, 0.88) 43%,
      rgba(4, 28, 82, 0.52) 72%,
      rgba(4, 28, 82, 0.28) 100%
    ),
    linear-gradient(
      0deg,
      rgba(4, 20, 58, 0.68) 0%,
      rgba(4, 20, 58, 0.05) 48%
    );
}

@keyframes llHeroSlideshow {
  0% {
    opacity: 0;
    transform: scale(1.04) translate3d(0, 0, 0);
  }

  5% {
    opacity: 1;
  }

  28% {
    opacity: 1;
  }

  34% {
    opacity: 0;
    transform: scale(1.14) translate3d(-1.5%, -1%, 0);
  }

  100% {
    opacity: 0;
    transform: scale(1.14) translate3d(-1.5%, -1%, 0);
  }
}

/* ==========================================
   CONTENIDO
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-content {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 68px));
  margin: 0 auto;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text {
  max-width: 850px;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 24px;
  padding: 9px 16px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;

  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text h1 {
  max-width: 850px;
  margin: 0;

  color: var(--ll-white);
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(43px, 5vw, 68px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;

  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.28);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-subtitle {
  max-width: 790px;
  margin: 28px 0 0;

  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.6;
  font-weight: 400;
}

/* ==========================================
   BENEFICIOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 30px;
  margin-top: 30px;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights span {
  color: var(--ll-white);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  white-space: nowrap;
}

/* ==========================================
   BOTONES
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 38px;
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button {
  min-height: 56px;
  padding: 17px 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 2px solid transparent;
  border-radius: 10px;

  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;

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

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button:hover,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button:focus {
  transform: translateY(-4px);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-primary {
  color: var(--ll-white);
  background: var(--ll-red);
  box-shadow: 0 12px 30px rgba(237, 28, 36, 0.3);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-primary:hover,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-primary:focus {
  color: var(--ll-white);
  background: #d90f18;
  box-shadow: 0 17px 38px rgba(237, 28, 36, 0.4);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-secondary {
  color: var(--ll-white);
  border-color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-secondary:hover,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button-secondary:focus {
  color: var(--ll-dark-blue);
  border-color: var(--ll-white);
  background: var(--ll-white);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
}

/* ==========================================
   INDICADOR INFERIOR
========================================== */

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-scroll-indicator {
  position: absolute;
  left: 50%;
  bottom: 23px;
  z-index: 3;

  width: 30px;
  height: 48px;

  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 20px;

  transform: translateX(-50%);
}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-scroll-indicator span {
  position: absolute;
  top: 9px;
  left: 50%;

  width: 4px;
  height: 8px;

  border-radius: 5px;
  background: var(--ll-white);

  transform: translateX(-50%);
  animation: llScrollMove 1.8s infinite;
}

@keyframes llScrollMove {
  0% {
    opacity: 0;
    transform: translate(-50%, 0);
  }

  35% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(-50%, 17px);
  }
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-section {
    min-height: 720px;
    height: auto;
    padding: 105px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-content {
    width: min(100% - 48px, 900px);
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(4, 21, 61, 0.96) 0%,
        rgba(4, 28, 82, 0.84) 62%,
        rgba(4, 28, 82, 0.48) 100%
      ),
      linear-gradient(
        0deg,
        rgba(4, 20, 58, 0.65) 0%,
        rgba(4, 20, 58, 0.05) 50%
      );
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text {
    max-width: 760px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text h1 {
    max-width: 760px;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-section {
    min-height: 740px;
    height: auto;
    padding: 86px 0 96px;
    align-items: flex-end;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-content {
    width: calc(100% - 32px);
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-overlay {
    background:
      linear-gradient(
        0deg,
        rgba(4, 18, 53, 0.98) 0%,
        rgba(4, 24, 69, 0.92) 58%,
        rgba(4, 24, 69, 0.55) 100%
      );
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slide {
    background-position: 58% center;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-eyebrow {
    margin-bottom: 19px;
    padding: 8px 13px;
    font-size: 11px;
    letter-spacing: 0.08em;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text h1 {
    font-size: clamp(38px, 10.5vw, 52px);
    line-height: 1.06;
    letter-spacing: -0.035em;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-subtitle {
    margin-top: 21px;
    font-size: 17px;
    line-height: 1.52;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px 13px;
    margin-top: 25px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights span {
    font-size: 13px;
    white-space: normal;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 29px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button {
    width: 100%;
    min-height: 55px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-scroll-indicator {
    bottom: 17px;
  }
}

/* ==========================================
   TELÉFONOS PEQUEÑOS
========================================== */

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-section {
    min-height: 720px;
    padding-top: 72px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-text h1 {
    font-size: 36px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-subtitle {
    font-size: 16px;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-slide {
    animation: none;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-slide-1 {
    opacity: 1;
    transform: none;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-scroll-indicator span {
    animation: none;
  }

  .elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-button {
    transition: none;
  }
}
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights,
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-highlights *{
    color:#ffffff !important;
}
.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social-wrapper{

display:flex;

align-items:center;

gap:22px;

margin-top:32px;

flex-wrap:wrap;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-google-rating{

display:flex;

align-items:center;

gap:10px;

padding:10px 18px;

border:1px solid rgba(255,255,255,.18);

border-radius:999px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(10px);

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-stars{

color:#FFD54A;

font-size:18px;

letter-spacing:2px;

line-height:1;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-rating-text{

color:#fff;

font-size:15px;

font-weight:600;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social{

display:flex;

gap:14px;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social a{

width:46px;

height:46px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.18);

transition:.25s ease;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social svg{

width:20px;

height:20px;

fill:#fff;

stroke:#fff;

stroke-width:1.5;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social a:hover{

background:#1746c7;

transform:translateY(-4px);

border-color:#1746c7;

}

@media (max-width:767px){

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-hero-social-wrapper{

justify-content:center;

}

.elementor-46677 .elementor-element.elementor-element-03c2f77 .ll-google-rating{

width:100%;

justify-content:center;

}

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-be867f2 *//* ==========================================
   LANG-LAB TEXAS — SECCIÓN 2
========================================== */

.elementor-46677 .elementor-element.elementor-element-be867f2 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #e2e7f0;
  --ll-white: #ffffff;

  width: 100%;
  overflow: hidden;
  color: var(--ll-text);
  background: var(--ll-white);
  font-family: "Poppins", Arial, sans-serif;
}

/* ==========================================
   BARRA DE CONFIANZA
========================================== */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-bar {
  position: relative;
  z-index: 3;

  width: min(1180px, calc(100% - 48px));
  margin: -42px auto 0;
  padding: 28px 24px;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;

  border: 1px solid rgba(23, 70, 199, 0.1);
  border-radius: 18px;
  background: var(--ll-white);

  box-shadow:
    0 18px 50px rgba(7, 31, 84, 0.13),
    0 4px 12px rgba(7, 31, 84, 0.05);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item {
  min-height: 78px;
  padding: 5px 24px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  text-align: center;
  border-right: 1px solid var(--ll-border);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item:last-child {
  border-right: 0;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item strong {
  display: block;
  margin-bottom: 5px;

  color: var(--ll-blue);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item span {
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}

/* ==========================================
   CONTENIDO GENERAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0 105px;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-heading {
  max-width: 850px;
  margin: 0 auto 58px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-kicker {
  margin: 0 0 15px;

  color: var(--ll-red);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-heading h2 {
  margin: 0;

  color: var(--ll-dark-blue);
  font-size: clamp(36px, 4vw, 55px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-intro {
  max-width: 780px;
  margin: 22px auto 0;

  color: var(--ll-muted);
  font-size: 18px;
  line-height: 1.75;
  font-weight: 400;
}

/* ==========================================
   TARJETAS
========================================== */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-solution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card {
  position: relative;
  min-height: 100%;
  padding: 45px 42px 42px;

  border: 1px solid var(--ll-border);
  border-radius: 22px;
  overflow: hidden;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card:hover {
  transform: translateY(-6px);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-card {
  background:
    linear-gradient(
      145deg,
      rgba(237, 28, 36, 0.045),
      rgba(255, 255, 255, 1) 50%
    );
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-card:hover {
  border-color: rgba(237, 28, 36, 0.25);
  box-shadow: 0 22px 45px rgba(117, 24, 31, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-card {
  border-color: rgba(23, 70, 199, 0.18);
  background:
    linear-gradient(
      145deg,
      rgba(23, 70, 199, 0.07),
      rgba(255, 255, 255, 1) 52%
    );
  box-shadow: 0 18px 45px rgba(7, 31, 84, 0.08);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-card:hover {
  border-color: rgba(23, 70, 199, 0.32);
  box-shadow: 0 25px 55px rgba(7, 31, 84, 0.14);
}

/* Línea superior decorativa */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 5px;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-card::before {
  background: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-card::before {
  background: var(--ll-blue);
}

/* Iconos */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-card-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-card .ll-card-icon {
  color: var(--ll-red);
  background: rgba(237, 28, 36, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-card .ll-card-icon {
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-card-icon svg {
  width: 29px;
  height: 29px;

  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Texto de tarjetas */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-card-label {
  margin: 0 0 11px;

  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-card .ll-card-label {
  color: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-card .ll-card-label {
  color: var(--ll-blue);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card h3 {
  margin: 0;

  color: var(--ll-dark-blue);
  font-size: clamp(25px, 2.4vw, 34px);
  line-height: 1.25;
  font-weight: 750;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list {
  padding: 0;
  margin: 31px 0 0;
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list li {
  position: relative;
  margin-bottom: 17px;
  padding-left: 34px;

  color: #424c5e;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 450;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list li:last-child {
  margin-bottom: 0;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list li::before {
  position: absolute;
  top: 2px;
  left: 0;

  width: 22px;
  height: 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-list li::before {
  content: "!";
  color: var(--ll-red);
  background: rgba(237, 28, 36, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-solution-list li::before {
  content: "✓";
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);
}

/* ==========================================
   CIERRE Y BOTÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-bottom {
  margin-top: 48px;
  padding: 31px 35px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;

  border-radius: 18px;
  background: var(--ll-dark-blue);
  box-shadow: 0 18px 40px rgba(7, 31, 84, 0.16);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-bottom p {
  max-width: 700px;
  margin: 0;

  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 500;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button {
  flex-shrink: 0;
  min-height: 54px;
  padding: 16px 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border-radius: 9px;
  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 15px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;

  box-shadow: 0 10px 25px rgba(237, 28, 36, 0.25);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button span {
  font-size: 21px;
  transition: transform 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button:hover,
.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button:focus {
  color: var(--ll-white);
  background: #d90f18;
  transform: translateY(-3px);
  box-shadow: 0 15px 32px rgba(237, 28, 36, 0.34);
}

.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button:hover span,
.elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button:focus span {
  transform: translateX(4px);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-bar {
    width: calc(100% - 40px);
    margin-top: -30px;
    grid-template-columns: repeat(2, 1fr);
    padding: 15px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item {
    padding: 18px 15px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item:nth-child(2) {
    border-right: 0;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ll-border);
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-inner {
    width: calc(100% - 48px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card {
    padding: 38px 32px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-bar {
    width: calc(100% - 28px);
    margin-top: -24px;
    grid-template-columns: 1fr 1fr;
    border-radius: 15px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item {
    min-height: 92px;
    padding: 14px 8px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item strong {
    font-size: 20px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item span {
    font-size: 11px;
    line-height: 1.35;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-heading {
    margin-bottom: 38px;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-kicker {
    font-size: 11px;
    letter-spacing: 0.07em;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-heading h2 {
    font-size: 35px;
    line-height: 1.15;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-intro {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-problem-solution-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card {
    padding: 34px 25px 31px;
    border-radius: 18px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-card-icon {
    width: 51px;
    height: 51px;
    margin-bottom: 21px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-card-icon svg {
    width: 25px;
    height: 25px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card h3 {
    font-size: 26px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list {
    margin-top: 25px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-feature-list li {
    margin-bottom: 14px;
    padding-left: 31px;
    font-size: 15px;
    line-height: 1.55;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-bottom {
    margin-top: 26px;
    padding: 27px 23px;
    gap: 23px;
    border-radius: 16px;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-why-bottom p {
    font-size: 15px;
    line-height: 1.6;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button {
    width: 100%;
  }
}

/* ==========================================
   TELÉFONOS PEQUEÑOS
========================================== */

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-bar {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item {
    min-height: auto;
    padding: 15px 10px;
    border-right: 0;
    border-bottom: 1px solid var(--ll-border);
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item:nth-child(2) {
    border-bottom: 1px solid var(--ll-border);
  }

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-trust-item:last-child {
    border-bottom: 0;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-info-card,
  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button,
  .elementor-46677 .elementor-element.elementor-element-be867f2 .ll-section-button span {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c8d58e1 *//* ==========================================
   LANG-LAB TEXAS — CURSOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-section {
  --ll-blue: #1746c7;
  --ll-blue-bright: #245de4;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;

  width: 100%;
  overflow: hidden;
  color: var(--ll-text);
  background:
    radial-gradient(
      circle at 85% 8%,
      rgba(23, 70, 199, 0.08),
      transparent 25%
    ),
    linear-gradient(180deg, #f5f7fb 0%, #ffffff 100%);

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-heading {
  max-width: 890px;
  margin: 0 auto 60px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-section-kicker {
  margin: 0 0 15px;
  color: var(--ll-red);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-heading h2 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(38px, 4.3vw, 58px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-intro {
  max-width: 820px;
  margin: 23px auto 0;
  color: var(--ll-muted);
  font-size: 18px;
  line-height: 1.75;
}

/* ==========================================
   TARJETAS
========================================== */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  align-items: stretch;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-card {
  position: relative;
  min-width: 0;
  padding: 37px 31px 31px;

  display: flex;
  flex-direction: column;

  border: 1px solid var(--ll-border);
  border-radius: 23px;
  background: rgba(255, 255, 255, 0.96);

  box-shadow:
    0 13px 35px rgba(7, 31, 84, 0.06),
    0 3px 8px rgba(7, 31, 84, 0.03);

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-card:hover {
  transform: translateY(-8px);
  border-color: rgba(23, 70, 199, 0.3);
  box-shadow:
    0 28px 60px rgba(7, 31, 84, 0.14),
    0 7px 18px rgba(7, 31, 84, 0.06);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured {
  color: var(--ll-white);
  border-color: transparent;
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(65, 119, 255, 0.8),
      transparent 34%
    ),
    linear-gradient(
      150deg,
      #1746c7 0%,
      #0d358f 52%,
      #071f54 100%
    );

  box-shadow:
    0 24px 55px rgba(7, 31, 84, 0.22),
    0 7px 18px rgba(7, 31, 84, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured:hover {
  border-color: transparent;
  box-shadow:
    0 34px 68px rgba(7, 31, 84, 0.3),
    0 9px 22px rgba(7, 31, 84, 0.16);
}

/* Ribbon */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-ribbon {
  position: absolute;
  top: 18px;
  right: 17px;

  padding: 7px 12px;
  border-radius: 999px;

  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;

  box-shadow: 0 8px 20px rgba(237, 28, 36, 0.28);
}

/* Iconos */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-icon {
  width: 57px;
  height: 57px;
  margin-bottom: 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-icon {
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.15);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Encabezado de tarjetas */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-label {
  margin: 0 0 8px;
  color: var(--ll-blue);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-label {
  color: rgba(255, 255, 255, 0.75);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-card h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 31px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured h3 {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-description {
  min-height: 78px;
  margin: 15px 0 0;
  color: var(--ll-muted);
  font-size: 15px;
  line-height: 1.65;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-description {
  color: rgba(255, 255, 255, 0.82);
}

/* Número grande */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-number {
  margin: 31px 0 28px;
  padding: 22px 0;

  display: flex;
  align-items: flex-end;
  gap: 12px;

  border-top: 1px solid var(--ll-border);
  border-bottom: 1px solid var(--ll-border);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-number {
  border-color: rgba(255, 255, 255, 0.18);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-number strong {
  color: var(--ll-blue);
  font-size: 63px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.06em;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-number strong {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-number span {
  padding-bottom: 4px;
  color: var(--ll-muted);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-number span {
  color: rgba(255, 255, 255, 0.68);
}

/* Datos */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-details {
  display: grid;
  gap: 16px;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-detail {
  min-width: 0;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-detail-label {
  display: block;
  margin-bottom: 3px;
  color: var(--ll-muted);
  font-size: 10px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-detail-label {
  color: rgba(255, 255, 255, 0.58);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-detail strong {
  display: block;
  color: var(--ll-dark-blue);
  font-size: 17px;
  line-height: 1.35;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-detail strong {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-detail small {
  display: block;
  margin-top: 3px;
  color: var(--ll-muted);
  font-size: 12px;
  line-height: 1.4;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-detail small {
  color: rgba(255, 255, 255, 0.66);
}

/* Beneficios */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-benefits {
  padding: 0;
  margin: 28px 0 31px;
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-benefits li {
  position: relative;
  margin-bottom: 13px;
  padding-left: 28px;
  color: #455064;
  font-size: 13px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-benefits li {
  color: rgba(255, 255, 255, 0.87);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-benefits li:last-child {
  margin-bottom: 0;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-benefits li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  width: 19px;
  height: 19px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);

  font-size: 10px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-benefits li::before {
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.15);
}

/* Botones */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button {
  width: 100%;
  min-height: 54px;
  margin-top: auto;
  padding: 15px 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  border: 2px solid var(--ll-blue);
  border-radius: 10px;

  color: var(--ll-blue);
  background: var(--ll-white);

  font-size: 14px;
  line-height: 1;
  font-weight: 750;
  text-align: center;
  text-decoration: none;

  transition:
    transform 0.22s ease,
    color 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button:hover,
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button:focus {
  color: var(--ll-white);
  background: var(--ll-blue);
  transform: translateY(-3px);
  box-shadow: 0 13px 28px rgba(23, 70, 199, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button-primary {
  color: var(--ll-white);
  border-color: var(--ll-red);
  background: var(--ll-red);
  box-shadow: 0 11px 25px rgba(237, 28, 36, 0.28);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button-primary:hover,
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button-primary:focus {
  color: var(--ll-white);
  border-color: #d90f18;
  background: #d90f18;
  box-shadow: 0 16px 32px rgba(237, 28, 36, 0.37);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button span {
  font-size: 19px;
  transition: transform 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button:hover span {
  transform: translateX(4px);
}

/* ==========================================
   TABLA DE COMPARACIÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-section {
  margin-top: 90px;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-heading {
  max-width: 720px;
  margin: 0 auto 34px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-heading p {
  margin: 0 0 9px;
  color: var(--ll-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-heading h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--ll-border);
  border-radius: 20px;
  background: var(--ll-white);

  box-shadow: 0 18px 45px rgba(7, 31, 84, 0.07);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table th,
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table td {
  padding: 18px 22px;
  border-bottom: 1px solid var(--ll-border);
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table thead th {
  color: var(--ll-white);
  background: var(--ll-dark-blue);
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table thead th:first-child {
  text-align: left;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table tbody th {
  color: var(--ll-dark-blue);
  background: #f8f9fc;
  text-align: left;
  font-weight: 700;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table tbody td {
  color: var(--ll-muted);
  font-weight: 500;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table tbody tr:last-child th,
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table tbody tr:last-child td {
  border-bottom: 0;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-table-check {
  width: 27px;
  height: 27px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);

  font-size: 15px;
  font-weight: 900;
}

/* ==========================================
   AYUDA PARA ELEGIR
========================================== */

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help {
  margin-top: 45px;
  padding: 31px 35px;

  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 23px;
  align-items: center;

  border-radius: 20px;
  color: var(--ll-white);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(56, 107, 235, 0.7),
      transparent 35%
    ),
    var(--ll-dark-blue);

  box-shadow: 0 20px 48px rgba(7, 31, 84, 0.18);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-icon {
  width: 59px;
  height: 59px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-text p {
  margin: 0 0 4px;
  color: #8fb0ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-text h3 {
  margin: 0;
  color: var(--ll-white);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-text span {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.73);
  font-size: 13px;
  line-height: 1.55;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button {
  min-height: 52px;
  padding: 15px 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 9px;
  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 10px 25px rgba(237, 28, 36, 0.28);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button:hover,
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button:focus {
  color: var(--ll-white);
  background: #d90f18;
  transform: translateY(-3px);
  box-shadow: 0 15px 32px rgba(237, 28, 36, 0.37);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured {
    grid-column: 1 / -1;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured .ll-course-description {
    min-height: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-heading {
    margin-bottom: 40px;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-section-kicker {
    font-size: 11px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-courses-intro {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-grid {
    grid-template-columns: 1fr;
    gap: 21px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-featured {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-card {
    padding: 32px 24px 25px;
    border-radius: 19px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-description {
    min-height: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-number strong {
    font-size: 57px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-section {
    margin-top: 68px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-heading {
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-heading h3 {
    font-size: 31px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-comparison-table-wrapper {
    border-radius: 15px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help {
    margin-top: 32px;
    padding: 27px 23px;

    grid-template-columns: 1fr;
    gap: 17px;

    border-radius: 17px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-icon {
    width: 52px;
    height: 52px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-help-text h3 {
    font-size: 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-card,
  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button,
  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-button span,
  .elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-help-button {
    transition: none;
  }
}
.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-highlight{

margin:26px 0;

display:grid;

grid-template-columns:1fr 1fr;

gap:14px;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-highlight-item{

padding:18px;

background:#f7f9fd;

border:1px solid #dfe5ef;

border-radius:14px;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-highlight-label{

display:block;

margin-bottom:6px;

font-size:11px;

font-weight:700;

text-transform:uppercase;

letter-spacing:.05em;

color:#ed1c24;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-highlight-item strong{

font-size:18px;

color:#071f54;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-promo{

margin:0 0 25px;

padding:20px;

background:#fff8ec;

border:1px solid #ffe2a8;

border-radius:16px;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-promo strong{

display:block;

margin-bottom:12px;

color:#071f54;

font-size:15px;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-promo ul{

margin:0;

padding-left:18px;

}

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-promo li{

margin-bottom:8px;

color:#555;

line-height:1.6;

}

@media(max-width:767px){

.elementor-46677 .elementor-element.elementor-element-c8d58e1 .ll-course-highlight{

grid-template-columns:1fr;

}

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3fe64bd *//* ==========================================
   LANG-LAB TEXAS — METODOLOGÍA
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-section {
  --ll-blue: #1746c7;
  --ll-blue-light: #edf3ff;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;

  width: 100%;
  overflow: hidden;
  color: var(--ll-text);
  background: var(--ll-white);
  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-heading {
  max-width: 880px;
  margin: 0 auto 63px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-kicker,
.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-small-label {
  margin: 0 0 14px;
  color: var(--ll-red);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-heading h2 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(38px, 4.3vw, 58px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-intro {
  max-width: 780px;
  margin: 23px auto 0;
  color: var(--ll-muted);
  font-size: 18px;
  line-height: 1.75;
}

/* ==========================================
   BALANCE 20 / 80
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance {
  padding: 54px;

  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  gap: 65px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 25px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(23, 70, 199, 0.11),
      transparent 37%
    ),
    linear-gradient(145deg, #ffffff 0%, #f6f8fd 100%);

  box-shadow:
    0 22px 55px rgba(7, 31, 84, 0.08),
    0 5px 15px rgba(7, 31, 84, 0.03);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance-text h3 {
  max-width: 590px;
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(31px, 3.2vw, 44px);
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance-text > p:not(.ll-method-small-label) {
  margin: 20px 0 0;
  color: var(--ll-muted);
  font-size: 16px;
  line-height: 1.72;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-checks {
  padding: 0;
  margin: 27px 0 0;
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-checks li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 32px;
  color: #404b5e;
  font-size: 14px;
  line-height: 1.55;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-checks li:last-child {
  margin-bottom: 0;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-checks li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  width: 21px;
  height: 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.11);

  font-size: 11px;
  font-weight: 900;
}

/* Tarjetas del porcentaje */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-ratio {
  display: grid;
  gap: 16px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-card {
  padding: 25px 27px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 23px;
  align-items: center;

  border-radius: 18px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-explanation {
  border: 1px solid rgba(237, 28, 36, 0.14);
  background: rgba(237, 28, 36, 0.055);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-practice {
  color: var(--ll-white);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(66, 118, 255, 0.65),
      transparent 40%
    ),
    linear-gradient(145deg, #1746c7 0%, #071f54 100%);

  box-shadow: 0 18px 38px rgba(7, 31, 84, 0.18);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-number {
  min-width: 112px;
  color: var(--ll-red);
  font-size: 66px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.065em;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-practice .ll-ratio-number {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-number span {
  margin-left: 2px;
  font-size: 25px;
  letter-spacing: -0.03em;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-description strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ll-dark-blue);
  font-size: 19px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-practice .ll-ratio-description strong {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-description span {
  display: block;
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.55;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-practice .ll-ratio-description span {
  color: rgba(255, 255, 255, 0.76);
}

/* Barra del porcentaje */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-bar {
  height: 13px;
  display: flex;
  overflow: hidden;
  border-radius: 999px;
  background: #e6eaf2;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-bar-small {
  width: 20%;
  background: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-bar-large {
  width: 80%;
  background: var(--ll-blue);
}

/* ==========================================
   PROCESO
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-learning-process {
  margin-top: 105px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-heading {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-heading > p {
  margin: 0 0 10px;
  color: var(--ll-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-heading h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(31px, 3.6vw, 47px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-grid::before {
  content: "";
  position: absolute;
  top: 57px;
  left: 10%;
  right: 10%;
  z-index: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(23, 70, 199, 0.1),
    rgba(23, 70, 199, 0.45),
    rgba(23, 70, 199, 0.1)
  );
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card {
  position: relative;
  z-index: 1;
  padding: 30px 25px 29px;

  border: 1px solid var(--ll-border);
  border-radius: 19px;
  background: var(--ll-white);

  box-shadow: 0 13px 32px rgba(7, 31, 84, 0.055);

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card:hover {
  transform: translateY(-7px);
  border-color: rgba(23, 70, 199, 0.27);
  box-shadow: 0 23px 45px rgba(7, 31, 84, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-number {
  position: absolute;
  top: 18px;
  right: 20px;
  color: rgba(23, 70, 199, 0.12);
  font-size: 35px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-icon {
  width: 55px;
  height: 55px;
  margin-bottom: 23px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;
  color: var(--ll-blue);
  background: var(--ll-blue-light);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card h4 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card p {
  margin: 12px 0 0;
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.65;
}

/* ==========================================
   HABILIDADES
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-section {
  margin-top: 105px;
  padding: 55px;

  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 65px;
  align-items: center;

  border-radius: 25px;
  background: var(--ll-dark-blue);

  box-shadow: 0 24px 55px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-content h3 {
  margin: 0;
  color: var(--ll-white);
  font-size: clamp(31px, 3.4vw, 46px);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-content > p:not(.ll-method-small-label) {
  margin: 19px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-button {
  min-height: 53px;
  margin-top: 27px;
  padding: 15px 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  border-radius: 9px;
  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 14px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;

  box-shadow: 0 11px 25px rgba(237, 28, 36, 0.28);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-button:hover,
.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-button:focus {
  color: var(--ll-white);
  background: #d90f18;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(237, 28, 36, 0.38);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-card {
  min-width: 0;
  padding: 22px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 17px;

  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.075);

  transition:
    transform 0.23s ease,
    background-color 0.23s ease;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-card:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-icon {
  width: 43px;
  height: 43px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 13px;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-card h4 {
  margin: 0;
  color: var(--ll-white);
  font-size: 17px;
  line-height: 1.3;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-card p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 12px;
  line-height: 1.55;
}

/* ==========================================
   CIERRE
========================================== */

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta {
  margin-top: 46px;
  padding: 33px 38px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;

  border: 1px solid rgba(23, 70, 199, 0.15);
  border-radius: 20px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(23, 70, 199, 0.13),
      transparent 40%
    ),
    #f6f8fc;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-text {
  max-width: 750px;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-text > p {
  margin: 0 0 6px;
  color: var(--ll-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-text h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 25px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-text > span {
  display: block;
  margin-top: 7px;
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.6;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-button {
  flex-shrink: 0;
  min-height: 54px;
  padding: 16px 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  border-radius: 9px;
  color: var(--ll-white);
  background: var(--ll-blue);

  font-size: 14px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;

  box-shadow: 0 11px 25px rgba(23, 70, 199, 0.23);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-button:hover,
.elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-button:focus {
  color: var(--ll-white);
  background: #103aa8;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(23, 70, 199, 0.32);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance {
    grid-template-columns: 1fr;
    padding: 45px;
    gap: 42px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-grid {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-grid::before {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-section {
    grid-template-columns: 1fr;
    padding: 45px;
    gap: 38px;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-heading {
    margin-bottom: 39px;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-kicker,
  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-small-label {
    font-size: 11px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-intro {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance {
    padding: 30px 24px;
    gap: 34px;
    border-radius: 19px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-balance-text h3 {
    font-size: 31px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-card {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-ratio-number {
    min-width: 0;
    font-size: 58px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-learning-process,
  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-section {
    margin-top: 72px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-heading {
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-heading h3 {
    font-size: 32px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card {
    padding: 27px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-section {
    padding: 31px 24px;
    border-radius: 19px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-content h3 {
    font-size: 32px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skills-grid {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-button {
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta {
    margin-top: 30px;
    padding: 28px 23px;

    flex-direction: column;
    align-items: flex-start;

    border-radius: 17px;
  }

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-button {
    width: 100%;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-process-card,
  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-skill-card,
  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-button,
  .elementor-46677 .elementor-element.elementor-element-3fe64bd .ll-method-cta-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e046786 *//* ==========================================
   LANG-LAB TEXAS — NIVELES Y MATERIALES
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-section {
  --ll-blue: #1746c7;
  --ll-blue-light: #edf3ff;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;

  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 8% 10%,
      rgba(23, 70, 199, 0.07),
      transparent 24%
    ),
    linear-gradient(180deg, #f5f7fb 0%, #ffffff 45%, #f8faff 100%);

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-heading {
  max-width: 920px;
  margin: 0 auto 58px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-kicker,
.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-label,
.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-label {
  margin: 0 0 14px;
  color: var(--ll-red);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-heading h2 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(38px, 4.25vw, 58px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-intro {
  max-width: 820px;
  margin: 23px auto 0;
  color: var(--ll-muted);
  font-size: 18px;
  line-height: 1.75;
}

/* ==========================================
   RESUMEN 2 + 5
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-level-summary {
  margin-bottom: 42px;
  padding: 30px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(190px, 0.55fr);
  gap: 24px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 22px;
  background: var(--ll-white);

  box-shadow: 0 18px 45px rgba(7, 31, 84, 0.07);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-block {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-number {
  width: 73px;
  height: 73px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 20px;
  color: var(--ll-white);
  background: var(--ll-blue);

  font-size: 38px;
  line-height: 1;
  font-weight: 800;

  box-shadow: 0 12px 28px rgba(23, 70, 199, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-conversation .ll-summary-number {
  background: var(--ll-red);
  box-shadow: 0 12px 28px rgba(237, 28, 36, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-block span {
  display: block;
  color: var(--ll-blue);
  font-size: 10px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-conversation span {
  color: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-block strong {
  display: block;
  margin-top: 3px;
  color: var(--ll-dark-blue);
  font-size: 18px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-block p {
  margin: 5px 0 0;
  color: var(--ll-muted);
  font-size: 11px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-plus,
.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-equals {
  color: rgba(7, 31, 84, 0.28);
  font-size: 28px;
  font-weight: 700;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total {
  padding: 20px;
  text-align: center;
  border-radius: 16px;
  background: var(--ll-dark-blue);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total span,
.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total small {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
  line-height: 1.4;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total strong {
  display: block;
  margin: 3px 0;
  color: var(--ll-white);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
}

/* ==========================================
   BLOQUES PRINCIPALES
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-level-stage {
  padding: 55px;
  border-radius: 26px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-grammar-stage {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(440px, 1.15fr);
  gap: 60px;
  align-items: center;

  border: 1px solid var(--ll-border);
  background: var(--ll-white);

  box-shadow: 0 22px 52px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-content h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(31px, 3.4vw, 47px);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-content > p:not(.ll-stage-label) {
  margin: 20px 0 0;
  color: var(--ll-muted);
  font-size: 16px;
  line-height: 1.72;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-benefits {
  padding: 0;
  margin: 27px 0 0;
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-benefits li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 32px;
  color: #414c5e;
  font-size: 14px;
  line-height: 1.55;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-benefits li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;

  width: 21px;
  height: 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);

  font-size: 11px;
  font-weight: 900;
}

/* ==========================================
   LIBROS DE GRAMÁTICA
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-grammar-books {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-card {
  min-width: 0;
  padding: 24px 20px 22px;

  border: 1px solid var(--ll-border);
  border-radius: 20px;
  background: linear-gradient(145deg, #f7f9fe, #ffffff);

  text-align: center;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-card:hover {
  transform: translateY(-7px);
  border-color: rgba(23, 70, 199, 0.25);
  box-shadow: 0 22px 40px rgba(7, 31, 84, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-image-wrap {
  height: 270px;

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

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-image-wrap img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 250px;
  object-fit: contain;

  filter: drop-shadow(0 18px 15px rgba(7, 31, 84, 0.18));

  transition: transform 0.3s ease;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-card:hover img {
  transform: translateY(-5px) rotate(-1deg);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-info {
  padding-top: 18px;
  border-top: 1px solid var(--ll-border);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-info span {
  color: var(--ll-red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-info h4 {
  margin: 5px 0 0;
  color: var(--ll-dark-blue);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-info p {
  margin: 7px 0 0;
  color: var(--ll-muted);
  font-size: 12px;
  line-height: 1.5;
}

/* ==========================================
   CONVERSACIÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stage {
  margin-top: 34px;
  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(52, 102, 235, 0.75),
      transparent 32%
    ),
    linear-gradient(145deg, #1746c7 0%, #071f54 76%);

  box-shadow: 0 26px 60px rgba(7, 31, 84, 0.22);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 45px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stage .ll-stage-content h3 {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stage .ll-stage-content > p:not(.ll-stage-label) {
  color: rgba(255, 255, 255, 0.76);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stat {
  min-width: 195px;
  padding: 24px;
  text-align: center;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stat strong {
  display: block;
  color: var(--ll-white);
  font-size: 65px;
  line-height: 0.9;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stat span {
  display: block;
  margin-top: 8px;
  color: var(--ll-white);
  font-size: 13px;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stat small {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 10px;
  line-height: 1.45;
}

/* Libros de conversación */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-books {
  margin-top: 45px;

  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book {
  position: relative;
  min-width: 0;
  padding: 20px 15px 18px;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);

  text-align: center;

  transition:
    transform 0.25s ease,
    background-color 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book:hover {
  transform: translateY(-7px);
  background: rgba(255, 255, 255, 0.13);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-level {
  position: absolute;
  top: 12px;
  right: 13px;

  color: rgba(255, 255, 255, 0.22);
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book img {
  width: auto;
  max-width: 100%;
  height: 190px;
  object-fit: contain;

  filter: drop-shadow(0 15px 14px rgba(0, 0, 0, 0.28));

  transition: transform 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book:hover img {
  transform: translateY(-5px);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book > div:last-child {
  margin-top: 13px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book h4 {
  margin: 3px 0 0;
  color: var(--ll-white);
  font-size: 17px;
  line-height: 1.3;
  font-weight: 750;
}

/* Beneficios de conversación */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features {
  margin-top: 35px;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features > div {
  padding: 20px;

  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features span {
  display: block;
  color: #8fb0ff;
  font-size: 10px;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features strong {
  display: block;
  margin-top: 6px;
  color: var(--ll-white);
  font-size: 15px;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.63);
  font-size: 11px;
  line-height: 1.5;
}

/* ==========================================
   PROGRESO
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-panel {
  margin-top: 38px;
  padding: 36px 40px;

  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 30px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 22px;
  background: var(--ll-white);

  box-shadow: 0 18px 45px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-circle {
  width: 105px;
  height: 105px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 9px solid rgba(23, 70, 199, 0.13);
  border-top-color: var(--ll-blue);
  border-right-color: var(--ll-blue);
  border-bottom-color: var(--ll-blue);

  border-radius: 50%;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-circle strong {
  color: var(--ll-blue);
  font-size: 33px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-circle span {
  font-size: 15px;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-copy h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 27px;
  line-height: 1.25;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-copy > p:not(.ll-progress-label) {
  margin: 8px 0 0;
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.6;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button {
  min-height: 53px;
  padding: 16px 23px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 9px;
  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 11px 25px rgba(237, 28, 36, 0.25);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button:hover,
.elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button:focus {
  color: var(--ll-white);
  background: #d90f18;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(237, 28, 36, 0.35);
}

/* ==========================================
   MATERIAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-note {
  margin-top: 25px;
  padding: 29px 34px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;

  border-radius: 19px;
  color: var(--ll-white);
  background: var(--ll-dark-blue);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-icon {
  width: 57px;
  height: 57px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-note p {
  margin: 0 0 4px;
  color: #8fb0ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-note h3 {
  margin: 0;
  color: var(--ll-white);
  font-size: 21px;
  line-height: 1.3;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-note span {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.67);
  font-size: 12px;
  line-height: 1.55;
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-level-summary {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-plus,
  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-equals {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total {
    grid-column: 1 / -1;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-grammar-stage {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-books {
    grid-template-columns: repeat(3, 1fr);
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-panel {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-heading {
    margin-bottom: 39px;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-levels-intro {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-level-summary {
    padding: 20px;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-block {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-summary-total {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-level-stage {
    padding: 30px 23px;
    border-radius: 20px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-stage-content h3 {
    font-size: 32px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-grammar-books {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-image-wrap {
    height: 250px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-image-wrap img {
    height: 230px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-header {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-stat {
    min-width: 0;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-books {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book img {
    height: 165px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-features {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-panel {
    padding: 28px 23px;
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-circle {
    width: 95px;
    height: 95px;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-material-note {
    padding: 26px 22px;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-books {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book img {
    height: 205px;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-card,
  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-book-card img,
  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book,
  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-conversation-book img,
  .elementor-46677 .elementor-element.elementor-element-e046786 .ll-progress-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7907285 */.lltx-legacy,
.lltx-legacy * {
  box-sizing: border-box;
}

.lltx-legacy {
  --lltx-blue: #1746c7;
  --lltx-dark-blue: #071f54;
  --lltx-red: #ed1c24;
  --lltx-white: #ffffff;
  --lltx-text: #24314f;
  --lltx-muted: #66728c;
  --lltx-border: rgba(23, 70, 199, 0.12);

  position: relative;
  overflow: hidden;
  padding: 110px 24px;

  background:
    radial-gradient(
      circle at top left,
      rgba(23, 70, 199, 0.08),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f6f8fd 100%
    );

  font-family: inherit;
}

.lltx-legacy__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
}

.lltx-legacy__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(10px);
  pointer-events: none;
}

.lltx-legacy__glow--one {
  top: 60px;
  right: -170px;
  width: 420px;
  height: 420px;
  background: rgba(23, 70, 199, 0.07);
}

.lltx-legacy__glow--two {
  bottom: -190px;
  left: -190px;
  width: 430px;
  height: 430px;
  background: rgba(237, 28, 36, 0.04);
}

.lltx-legacy__header {
  max-width: 790px;
  margin-bottom: 50px;
}

.lltx-legacy__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;

  color: var(--lltx-blue);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.lltx-legacy__eyebrow::before {
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: var(--lltx-red);
  content: "";
}

.lltx-legacy__title {
  margin: 0;
  color: var(--lltx-dark-blue);
  font-size: clamp(42px, 6vw, 76px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.lltx-legacy__title span {
  display: block;
  color: var(--lltx-blue);
}

.lltx-legacy__intro {
  max-width: 680px;
  margin: 26px 0 0;
  color: var(--lltx-muted);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.65;
}

/* FOTO HISTÓRICA */

.lltx-legacy__family-photo {
  margin: 0 0 36px;
  overflow: hidden;

  border: 1px solid var(--lltx-border);
  border-radius: 34px;

  background: #ffffff;
  box-shadow: 0 30px 80px rgba(7, 31, 84, 0.12);
}

.lltx-legacy__image-wrap {
  position: relative;
  overflow: hidden;
  padding: 35px;
  background: #eef2fb;
}

.lltx-legacy__image-wrap img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;

  border: 10px solid #ffffff;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);

  object-fit: contain;
  filter: saturate(0.9) contrast(1.03);

  transition:
    transform 700ms ease,
    filter 300ms ease;
}

.lltx-legacy__family-photo:hover img {
  transform: scale(1.01);
  filter: saturate(0.96) contrast(1.04);
}

.lltx-legacy__family-photo figcaption {
  padding: 20px 28px 23px;
  color: var(--lltx-muted);
  font-size: 14px;
  line-height: 1.65;
}

.lltx-legacy__family-photo figcaption strong {
  display: block;
  margin-bottom: 4px;
  color: var(--lltx-dark-blue);
  font-size: 15px;
}

/* HISTORIA Y LÍNEA DEL TIEMPO */

.lltx-legacy__layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(330px, 0.85fr);
  gap: 34px;
  align-items: stretch;
}

.lltx-legacy__story {
  position: relative;
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  gap: 35px;
  overflow: hidden;
  padding: 48px;

  border: 1px solid var(--lltx-border);
  border-radius: 34px;

  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 30px 80px rgba(7, 31, 84, 0.1);

  backdrop-filter: blur(14px);
}

.lltx-legacy__year-mark {
  align-self: start;
  padding: 24px 18px;

  border-radius: 26px;
  background: var(--lltx-dark-blue);
  color: var(--lltx-white);

  text-align: center;
  box-shadow: 0 20px 45px rgba(7, 31, 84, 0.22);
}

.lltx-legacy__year-mark span,
.lltx-legacy__year-mark strong {
  display: block;
  line-height: 0.84;
}

.lltx-legacy__year-mark span {
  font-size: 45px;
  font-weight: 300;
  letter-spacing: -0.06em;
}

.lltx-legacy__year-mark strong {
  color: #ffffff;
  font-size: 68px;
  font-weight: 800;
  letter-spacing: -0.08em;
}

.lltx-legacy__story-content h3 {
  margin: 0 0 22px;

  color: var(--lltx-dark-blue);
  font-size: clamp(28px, 3vw, 39px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.lltx-legacy__story-content p {
  margin: 0 0 18px;
  color: var(--lltx-text);
  font-size: 17px;
  line-height: 1.75;
}

.lltx-legacy__story-content strong {
  color: var(--lltx-dark-blue);
  font-weight: 750;
}

.lltx-legacy__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;

  margin-top: 15px;
  padding: 16px 22px;

  border-radius: 999px;
  background: var(--lltx-blue);
  color: var(--lltx-white) !important;

  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none !important;

  box-shadow: 0 14px 30px rgba(23, 70, 199, 0.22);

  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.lltx-legacy__button:hover {
  background: var(--lltx-dark-blue);
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(7, 31, 84, 0.24);
}

.lltx-legacy__button span {
  font-size: 21px;
  transition: transform 180ms ease;
}

.lltx-legacy__button:hover span {
  transform: translateX(4px);
}

/* TIMELINE */

.lltx-legacy__timeline {
  position: relative;
  padding: 42px 38px 42px 52px;

  border-radius: 34px;
  background: var(--lltx-dark-blue);

  box-shadow: 0 30px 80px rgba(7, 31, 84, 0.18);
}

.lltx-legacy__timeline-line {
  position: absolute;
  top: 60px;
  bottom: 60px;
  left: 30px;

  width: 2px;
  background: rgba(255, 255, 255, 0.18);
}

.lltx-legacy__milestone {
  position: relative;
  padding: 0 0 31px 12px;
}

.lltx-legacy__milestone:last-child {
  padding-bottom: 0;
}

.lltx-legacy__dot {
  position: absolute;
  top: 7px;
  left: -30px;

  width: 16px;
  height: 16px;

  border: 4px solid var(--lltx-dark-blue);
  border-radius: 50%;

  background: #ffffff;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.lltx-legacy__milestone--current .lltx-legacy__dot {
  background: var(--lltx-red);
}

.lltx-legacy__milestone-year {
  display: block;
  margin-bottom: 5px;

  color: #9eb7ff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lltx-legacy__milestone h3 {
  margin: 0 0 7px;

  color: #ffffff;
  font-size: 21px;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.lltx-legacy__milestone p {
  margin: 0;

  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.65;
}

/* ESTADÍSTICAS */

.lltx-legacy__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.lltx-legacy__stat {
  padding: 26px 20px;

  border: 1px solid var(--lltx-border);
  border-radius: 24px;

  background: rgba(255, 255, 255, 0.88);
  text-align: center;

  box-shadow: 0 18px 45px rgba(7, 31, 84, 0.06);
}

.lltx-legacy__stat strong {
  display: block;
  margin-bottom: 6px;

  color: var(--lltx-blue);
  font-size: 34px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -0.04em;
}

.lltx-legacy__stat span {
  color: var(--lltx-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
}

/* TABLET */

@media (max-width: 980px) {
  .lltx-legacy {
    padding: 85px 22px;
  }

  .lltx-legacy__layout {
    grid-template-columns: 1fr;
  }

  .lltx-legacy__stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .lltx-legacy__image-wrap {
    padding: 24px;
  }

  .lltx-legacy__image-wrap img {
    border-width: 8px;
  }
}

/* MÓVIL */

@media (max-width: 680px) {
  .lltx-legacy {
    padding: 70px 17px;
  }

  .lltx-legacy__header {
    margin-bottom: 38px;
  }

  .lltx-legacy__title {
    font-size: clamp(40px, 13vw, 57px);
  }

  .lltx-legacy__family-photo {
    border-radius: 25px;
  }

  .lltx-legacy__image-wrap {
    padding: 12px;
  }

  .lltx-legacy__image-wrap img {
    border-width: 5px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.14);
  }

  .lltx-legacy__family-photo figcaption {
    padding: 16px 18px 19px;
    font-size: 13px;
  }

  .lltx-legacy__family-photo figcaption strong {
    font-size: 14px;
  }

  .lltx-legacy__story {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 28px 23px;
    border-radius: 27px;
  }

  .lltx-legacy__year-mark {
    width: 118px;
    padding: 18px 14px;
  }

  .lltx-legacy__year-mark span {
    font-size: 34px;
  }

  .lltx-legacy__year-mark strong {
    font-size: 52px;
  }

  .lltx-legacy__story-content p {
    font-size: 16px;
  }

  .lltx-legacy__button {
    width: 100%;
    padding: 16px 18px;
    text-align: center;
  }

  .lltx-legacy__timeline {
    padding: 34px 24px 34px 44px;
    border-radius: 27px;
  }

  .lltx-legacy__timeline-line {
    left: 25px;
  }

  .lltx-legacy__milestone {
    padding-left: 6px;
  }

  .lltx-legacy__dot {
    left: -27px;
  }

  .lltx-legacy__stats {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .lltx-legacy__stat {
    padding: 22px 12px;
    border-radius: 20px;
  }

  .lltx-legacy__stat strong {
    font-size: 29px;
  }

  .lltx-legacy__stat span {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  .lltx-legacy__stats {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lltx-legacy__button,
  .lltx-legacy__button span,
  .lltx-legacy__image-wrap img {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a695731 *//* ==========================================
   LANG-LAB TEXAS
   CERTIFICADOS Y RECONOCIMIENTOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-section {
  --ll-blue: #1746c7;
  --ll-blue-dark: #071f54;
  --ll-blue-soft: #edf3ff;
  --ll-red: #ed1c24;
  --ll-red-dark: #cb1119;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f6f8fc;
  --ll-border: #dfe5ef;
  --ll-gold: #d5aa45;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 4% 8%,
      rgba(23, 70, 199, 0.08),
      transparent 27%
    ),
    radial-gradient(
      circle at 96% 82%,
      rgba(237, 28, 36, 0.045),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f9fd 48%,
      #ffffff 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-section::before {
  content: "";
  position: absolute;
  top: 150px;
  left: -160px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-section::after {
  content: "";
  position: absolute;
  right: -190px;
  bottom: 90px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(237, 28, 36, 0.07);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-heading {
  max-width: 900px;
  margin: 0 auto 58px;
  text-align: center;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-kicker,
.elementor-46677 .elementor-element.elementor-element-a695731 .ll-card-label {
  margin: 0 0 14px;
  color: var(--ll-red);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-heading h2 {
  margin: 0;
  color: var(--ll-blue-dark);
  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-intro {
  max-width: 790px;
  margin: 23px auto 0;
  color: var(--ll-muted);
  font-size: 18px;
  line-height: 1.75;
}

/* ==========================================
   GRID PRINCIPAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card {
  position: relative;
  min-width: 0;
  padding: 38px;
  overflow: hidden;

  display: flex;
  flex-direction: column;

  border: 1px solid var(--ll-border);
  border-radius: 26px;
  background: var(--ll-white);

  box-shadow:
    0 24px 60px rgba(7, 31, 84, 0.085);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card:hover {
  transform: translateY(-7px);
  border-color: rgba(23, 70, 199, 0.22);

  box-shadow:
    0 34px 75px rgba(7, 31, 84, 0.13);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card::before {
  content: "";
  position: absolute;
  top: -110px;
  right: -100px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(23, 70, 199, 0.055);
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card::before {
  background: rgba(213, 170, 69, 0.09);
}

/* ==========================================
   PARTE SUPERIOR DE LAS TARJETAS
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card-top {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-number {
  color: rgba(7, 31, 84, 0.16);
  font-size: 36px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-icon {
  width: 57px;
  height: 57px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-blue);
  background: var(--ll-blue-soft);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card .ll-recognition-icon {
  color: #9a6b0f;
  background: rgba(213, 170, 69, 0.14);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==========================================
   TEXTO DE LAS TARJETAS
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-copy {
  position: relative;
  z-index: 2;
  margin-top: 30px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-copy h3 {
  margin: 0;
  color: var(--ll-blue-dark);
  font-size: clamp(27px, 2.6vw, 38px);
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-copy > p:not(.ll-card-label) {
  margin: 18px 0 0;
  color: var(--ll-muted);
  font-size: 15px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-list {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-list li {
  position: relative;
  margin-bottom: 13px;
  padding-left: 32px;

  color: #414c5e;
  font-size: 13px;
  line-height: 1.55;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-list li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;

  width: 21px;
  height: 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.1);

  font-size: 11px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card .ll-recognition-list li::before {
  color: #9a6b0f;
  background: rgba(213, 170, 69, 0.14);
}

/* ==========================================
   CERTIFICADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-showcase {
  position: relative;
  z-index: 2;
  margin-top: auto;
  padding-top: 36px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-document-shadow {
  position: absolute;
  right: 9%;
  bottom: 35px;

  width: 82%;
  height: 70%;

  border-radius: 16px;
  background: rgba(7, 31, 84, 0.18);
  filter: blur(25px);
  transform: rotate(3deg);
  opacity: 0.42;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame {
  position: relative;
  min-height: 285px;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 14px;

  border: 1px solid rgba(7, 31, 84, 0.11);
  border-radius: 17px;
  background:
    linear-gradient(145deg, #ffffff, #edf1f8);

  transform: perspective(1000px) rotateX(2deg) rotateY(-3deg);

  box-shadow:
    0 20px 40px rgba(7, 31, 84, 0.14);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-card:hover .ll-certificate-frame {
  transform:
    perspective(1000px)
    rotateX(0deg)
    rotateY(0deg)
    translateY(-5px);

  box-shadow:
    0 28px 50px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame img {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  height: auto;
  max-height: 330px;
  object-fit: contain;
  border-radius: 8px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame img[src="URL-DE-LA-IMAGEN-DEL-CERTIFICADO"] {
  display: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-image-placeholder {
  position: absolute;
  inset: 14px;
  z-index: 2;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 28px;
  text-align: center;

  border: 2px solid rgba(23, 70, 199, 0.14);
  border-radius: 9px;

  background:
    linear-gradient(
      90deg,
      transparent 49.5%,
      rgba(23, 70, 199, 0.035) 50%,
      transparent 50.5%
    ),
    linear-gradient(
      #ffffff,
      #f9fbff
    );
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-placeholder-seal {
  width: 64px;
  height: 64px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 15px;

  border-radius: 50%;
  color: var(--ll-blue);
  background: var(--ll-blue-soft);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-placeholder-seal svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-image-placeholder strong {
  color: var(--ll-blue-dark);
  font-size: 19px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-image-placeholder span {
  margin-top: 7px;
  color: var(--ll-muted);
  font-size: 11px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-caption {
  position: relative;
  z-index: 3;

  margin-top: 17px;

  color: var(--ll-muted);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}

/* Oculta el diseño temporal al existir una imagen real */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame:has(img:not([src="URL-DE-LA-IMAGEN-DEL-CERTIFICADO"])) .ll-image-placeholder {
  display: none;
}

/* ==========================================
   PREMIO A LA EXCELENCIA
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-showcase {
  position: relative;
  z-index: 2;
  min-height: 380px;
  margin-top: auto;
  padding-top: 28px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-glow {
  position: absolute;
  top: 60px;
  left: 50%;

  width: 270px;
  height: 270px;

  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(213, 170, 69, 0.25),
      rgba(213, 170, 69, 0.08) 48%,
      transparent 72%
    );

  transform: translateX(-50%);
  filter: blur(3px);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap {
  position: relative;
  z-index: 3;

  width: 100%;
  min-height: 270px;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: transform 0.35s ease;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card:hover .ll-award-image-wrap {
  transform: translateY(-7px);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap img {
  position: relative;
  z-index: 3;

  display: block;
  width: auto;
  max-width: 100%;
  height: 285px;
  object-fit: contain;

  filter:
    drop-shadow(0 24px 19px rgba(7, 31, 84, 0.22));
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap img[src="URL-DE-LA-IMAGEN-DEL-PREMIO"] {
  display: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-placeholder {
  position: relative;
  z-index: 2;

  width: 215px;
  min-height: 260px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 25px 20px;

  text-align: center;

  border: 1px solid rgba(213, 170, 69, 0.35);
  border-radius: 34px 34px 18px 18px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.94),
      rgba(240, 245, 255, 0.78)
    );

  box-shadow:
    inset 0 0 0 7px rgba(255, 255, 255, 0.48),
    0 25px 45px rgba(7, 31, 84, 0.16);

  backdrop-filter: blur(10px);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-placeholder::before {
  content: "";
  position: absolute;
  inset: 11px;

  border: 1px solid rgba(213, 170, 69, 0.24);
  border-radius: 26px 26px 12px 12px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-placeholder svg {
  position: relative;
  z-index: 2;

  width: 60px;
  height: 60px;
  margin-bottom: 17px;

  fill: none;
  stroke: var(--ll-gold);
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-placeholder strong {
  position: relative;
  z-index: 2;

  color: var(--ll-blue-dark);
  font-size: 18px;
  line-height: 1.3;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-placeholder span {
  position: relative;
  z-index: 2;

  margin-top: 8px;
  color: var(--ll-muted);
  font-size: 10px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap:has(img:not([src="URL-DE-LA-IMAGEN-DEL-PREMIO"])) .ll-award-placeholder {
  display: none;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-platform {
  position: relative;
  z-index: 4;

  width: 75%;
  min-height: 56px;
  margin-top: -7px;
  padding: 12px 20px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 9px 9px 14px 14px;

  background:
    linear-gradient(
      145deg,
      #092762,
      #06183e
    );

  box-shadow:
    0 20px 28px rgba(7, 31, 84, 0.24);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-platform span {
  color: rgba(255, 255, 255, 0.56);
  font-size: 8px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-platform strong {
  margin-top: 2px;
  color: var(--ll-white);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* ==========================================
   FRANJA DE VALOR
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-banner {
  position: relative;
  margin-top: 32px;
  padding: 39px 42px;
  overflow: hidden;

  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 250px;
  gap: 38px;
  align-items: center;

  border-radius: 24px;
  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(59, 107, 236, 0.64),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #1746c7 0%,
      #071f54 75%
    );

  box-shadow:
    0 25px 55px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-banner::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -100px;

  width: 260px;
  height: 260px;

  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-history {
  position: relative;
  z-index: 2;
  padding-right: 30px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-history span {
  display: block;
  color: #a9beff;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-history strong {
  display: block;
  margin-top: 3px;

  color: var(--ll-white);
  font-size: 48px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-history small {
  display: block;
  margin-top: 7px;

  color: rgba(255, 255, 255, 0.6);
  font-size: 9px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-copy {
  position: relative;
  z-index: 2;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-copy p {
  margin: 0 0 7px;

  color: #a9beff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-copy h3 {
  margin: 0;

  color: var(--ll-white);
  font-size: clamp(21px, 2.2vw, 30px);
  line-height: 1.3;
  font-weight: 750;
  letter-spacing: -0.025em;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits {
  position: relative;
  z-index: 2;

  display: grid;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits span {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.13);

  font-size: 11px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 600;
}

/* ==========================================
   CIERRE Y CTA
========================================== */

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-closing {
  margin-top: 25px;
  padding: 29px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 20px;
  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.065);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-closing-icon {
  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-blue);
  background: var(--ll-blue-soft);
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-closing-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-closing-copy p {
  margin: 0 0 4px;

  color: var(--ll-red);
  font-size: 10px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-closing-copy h3 {
  margin: 0;

  color: var(--ll-blue-dark);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button {
  min-height: 54px;
  padding: 17px 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 10px;

  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.25);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button:hover,
.elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);

  box-shadow:
    0 17px 34px rgba(237, 28, 36, 0.34);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card {
    padding: 31px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-banner {
    grid-template-columns: 145px minmax(0, 1fr);
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, 1fr);
    padding-top: 21px;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-heading {
    margin-bottom: 40px;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-intro {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-grid {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card {
    padding: 27px 22px;
    border-radius: 21px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-number {
    font-size: 30px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-icon {
    width: 51px;
    height: 51px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-copy h3 {
    font-size: 29px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame {
    min-height: 235px;
    transform: none;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-card:hover .ll-certificate-frame {
    transform: translateY(-4px);
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-showcase {
    min-height: 350px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap img {
    height: 260px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-banner {
    padding: 31px 24px;
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-history {
    padding: 0 0 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-banner-benefits {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-closing {
    padding: 27px 22px;
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-closing {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-closing-icon {
    width: 52px;
    height: 52px;
  }

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-card,
  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-certificate-frame,
  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-award-image-wrap,
  .elementor-46677 .elementor-element.elementor-element-a695731 .ll-recognition-button {
    transition: none;
  }
}
.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card .ll-award-showcase {
  padding-top: 0;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card .ll-award-image-wrap {
  min-height: 245px;
}

.elementor-46677 .elementor-element.elementor-element-a695731 .ll-excellence-card .ll-award-image-wrap img {
  height: 315px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-da1ee49 *//* ==========================================
   LANG-LAB TEXAS — TESTIMONIOS REALES
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-red-dark: #d4111a;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;
  --ll-yellow: #f6b800;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 94% 8%,
      rgba(23, 70, 199, 0.08),
      transparent 26%
    ),
    radial-gradient(
      circle at 3% 84%,
      rgba(237, 28, 36, 0.045),
      transparent 23%
    ),
    linear-gradient(
      180deg,
      #f5f7fb 0%,
      #ffffff 48%,
      #f7f9fd 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-section::before {
  content: "";
  position: absolute;
  top: 100px;
  right: -180px;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-section::after {
  content: "";
  position: absolute;
  left: -170px;
  bottom: 260px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(237, 28, 36, 0.065);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading {
  margin-bottom: 50px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: end;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading-copy {
  max-width: 820px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-kicker,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-kicker,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading p,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-header p,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-copy p,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta-copy p {
  margin: 0 0 13px;
  color: var(--ll-red);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading h2 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-intro {
  max-width: 770px;
  margin: 22px 0 0;
  color: var(--ll-muted);
  font-size: 17px;
  line-height: 1.75;
}

/* Resumen de Google */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-summary {
  min-width: 270px;
  padding: 21px 23px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 18px;
  background: var(--ll-white);

  box-shadow:
    0 16px 38px rgba(7, 31, 84, 0.08);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-google-mark {
  width: 51px;
  height: 51px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;
  color: var(--ll-blue);
  background: #f1f5fd;

  font-size: 26px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-summary > div:last-child > span {
  display: block;
  color: var(--ll-dark-blue);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-summary-stars {
  margin-top: 4px;
  color: var(--ll-yellow);
  font-size: 15px;
  line-height: 1;
  letter-spacing: 2px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-summary small {
  display: block;
  margin-top: 5px;
  color: var(--ll-muted);
  font-size: 8px;
  line-height: 1.4;
}

/* ==========================================
   VIDEO DESTACADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video {
  min-width: 0;
  overflow: hidden;

  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(0, 0.92fr);

  border-radius: 27px;
  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(55, 105, 236, 0.72),
      transparent 36%
    ),
    linear-gradient(
      140deg,
      #1746c7 0%,
      #071f54 78%
    );

  box-shadow:
    0 28px 65px rgba(7, 31, 84, 0.22);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media {
  position: relative;
  min-width: 0;
  min-height: 500px;
  overflow: hidden;

  display: block;
  color: var(--ll-white);
  text-decoration: none;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;
  object-fit: cover;

  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-media-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(4, 15, 41, 0.05),
      rgba(4, 15, 41, 0.54)
    );
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media:hover img {
  transform: scale(1.045);
  filter: brightness(0.88);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-play {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 82px;
  height: 82px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-white);
  background: var(--ll-red);

  box-shadow:
    0 18px 38px rgba(237, 28, 36, 0.4);

  transform: translate(-50%, -50%);

  transition:
    transform 0.25s ease,
    background-color 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media:hover .ll-featured-play {
  background: var(--ll-red-dark);
  transform: translate(-50%, -50%) scale(1.09);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-play svg {
  width: 34px;
  height: 34px;
  margin-left: 4px;
  fill: currentColor;
  stroke: none;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-tag {
  position: absolute;
  left: 22px;
  bottom: 22px;

  padding: 9px 13px;

  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 8px;

  color: var(--ll-white);
  background: rgba(5, 18, 49, 0.72);

  font-size: 9px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  backdrop-filter: blur(8px);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy {
  position: relative;
  min-width: 0;
  padding: 58px 52px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-quote-mark {
  position: absolute;
  top: 20px;
  right: 35px;

  color: rgba(255, 255, 255, 0.1);
  font-family: Georgia, serif;
  font-size: 130px;
  line-height: 1;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-kicker {
  position: relative;
  z-index: 2;
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy h3 {
  position: relative;
  z-index: 2;

  margin: 0;
  color: var(--ll-white);

  font-size: clamp(31px, 3.3vw, 47px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy > p:not(.ll-video-kicker) {
  position: relative;
  z-index: 2;

  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.73);

  font-size: 14px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-points {
  position: relative;
  z-index: 2;

  margin-top: 27px;
  display: grid;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-points > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-points span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);

  font-size: 10px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-points p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 600;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-button {
  position: relative;
  z-index: 2;

  width: fit-content;
  min-height: 52px;
  margin-top: 30px;
  padding: 16px 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  border-radius: 10px;
  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 12px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;

  box-shadow:
    0 13px 28px rgba(237, 28, 36, 0.28);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-button:hover,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);
}

/* ==========================================
   ENCABEZADOS INTERNOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-header {
  margin: 65px 0 25px;

  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading h3,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-header h3 {
  margin: 0;
  color: var(--ll-dark-blue);

  font-size: clamp(27px, 3vw, 40px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading > span {
  max-width: 300px;
  color: var(--ll-muted);
  font-size: 10px;
  line-height: 1.5;
  text-align: right;
}

/* ==========================================
   CUADRÍCULA DE VIDEOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card {
  min-width: 0;
  overflow: hidden;

  border: 1px solid var(--ll-border);
  border-radius: 20px;

  color: var(--ll-text);
  background: var(--ll-white);
  text-decoration: none;

  box-shadow:
    0 17px 40px rgba(7, 31, 84, 0.07);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card:hover,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card:focus {
  color: var(--ll-text);
  transform: translateY(-7px);
  border-color: rgba(23, 70, 199, 0.25);

  box-shadow:
    0 27px 55px rgba(7, 31, 84, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-thumbnail {
  position: relative;
  height: 180px;
  overflow: hidden;

  background: var(--ll-dark-blue);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card:hover img {
  transform: scale(1.06);
  filter: brightness(0.82);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7, 31, 84, 0),
      rgba(7, 31, 84, 0.4)
    );
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-card-play {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 54px;
  height: 54px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-white);
  background: var(--ll-red);

  box-shadow:
    0 12px 25px rgba(237, 28, 36, 0.36);

  transform: translate(-50%, -50%);

  transition: transform 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card:hover .ll-card-play {
  transform: translate(-50%, -50%) scale(1.08);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-card-play svg {
  width: 24px;
  height: 24px;
  margin-left: 3px;
  fill: currentColor;
  stroke: none;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card-copy {
  padding: 22px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card-copy > span {
  display: block;
  color: var(--ll-red);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card-copy strong {
  display: block;
  margin-top: 6px;

  color: var(--ll-dark-blue);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card-copy p {
  margin: 7px 0 0;
  color: var(--ll-muted);
  font-size: 10px;
  line-height: 1.55;
}

/* ==========================================
   RESEÑAS
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-header-stars {
  color: var(--ll-yellow);
  font-size: 19px;
  line-height: 1;
  letter-spacing: 3px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
  align-items: stretch;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-card {
  position: relative;
  min-width: 0;
  padding: 29px;

  display: flex;
  flex-direction: column;

  border: 1px solid var(--ll-border);
  border-radius: 21px;
  background: var(--ll-white);

  box-shadow:
    0 18px 44px rgba(7, 31, 84, 0.07);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-card:hover {
  transform: translateY(-6px);
  border-color: rgba(23, 70, 199, 0.24);

  box-shadow:
    0 27px 57px rgba(7, 31, 84, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-featured {
  border-top: 4px solid var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-wide {
  grid-column: span 2;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-avatar {
  width: 47px;
  height: 47px;
  flex: 0 0 47px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;
  color: var(--ll-white);
  background: var(--ll-blue);

  font-size: 12px;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-avatar-red {
  background: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-avatar-orange {
  background: #ee6b00;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-avatar-light {
  color: var(--ll-blue);
  background: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-person strong {
  display: block;
  color: var(--ll-dark-blue);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-person span {
  display: block;
  margin-top: 2px;
  color: var(--ll-muted);
  font-size: 8px;
  line-height: 1.4;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-google-small {
  width: 31px;
  height: 31px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 9px;
  color: var(--ll-blue);
  background: #f0f4fc;

  font-size: 14px;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-stars {
  margin-top: 22px;
  color: var(--ll-yellow);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 2px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-card blockquote {
  margin: 19px 0 0;
  color: #354054;

  font-size: 13px;
  line-height: 1.72;
  font-weight: 500;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-category {
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;

  color: var(--ll-blue);
  font-size: 9px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Reseña oscura */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark {
  color: var(--ll-white);
  border-color: transparent;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(57, 106, 235, 0.7),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      #1746c7,
      #071f54
    );

  box-shadow:
    0 24px 55px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark .ll-review-person strong,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark blockquote {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark .ll-review-person span {
  color: rgba(255, 255, 255, 0.58);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark blockquote {
  color: rgba(255, 255, 255, 0.81);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-dark .ll-review-category {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-google-small-light {
  color: var(--ll-blue);
  background: var(--ll-white);
}

/* ==========================================
   BENEFICIOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-benefits {
  margin-top: 31px;
  padding: 40px;

  display: grid;
  grid-template-columns:
    minmax(0, 0.72fr)
    minmax(0, 1.28fr);

  gap: 50px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 23px;
  background: var(--ll-white);

  box-shadow:
    0 18px 45px rgba(7, 31, 84, 0.07);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-copy h3 {
  margin: 0;
  color: var(--ll-dark-blue);

  font-size: clamp(26px, 2.8vw, 38px);
  line-height: 1.23;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list > div {
  min-width: 0;
  padding: 22px;

  border: 1px solid var(--ll-border);
  border-radius: 17px;
  background: #f8faff;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list span {
  display: block;
  color: rgba(23, 70, 199, 0.44);
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list strong {
  display: block;
  margin-top: 11px;

  color: var(--ll-dark-blue);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list p {
  margin: 7px 0 0;
  color: var(--ll-muted);
  font-size: 9px;
  line-height: 1.55;
}

/* ==========================================
   CTA FINAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta {
  margin-top: 25px;
  padding: 29px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 20px;
  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.065);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta-icon {
  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta-copy h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button {
  min-height: 54px;
  padding: 17px 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 10px;

  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.25);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button:hover,
.elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);

  box-shadow:
    0 17px 34px rgba(237, 28, 36, 0.34);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-summary {
    width: fit-content;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media {
    min-height: 460px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-left: 0;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-grid {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-grid {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-wide {
    grid-column: span 1;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-benefits {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading {
    margin-bottom: 39px;
    gap: 27px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-summary {
    min-width: 0;
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media {
    min-height: 310px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-play {
    width: 68px;
    height: 68px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy {
    padding: 38px 25px 34px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-copy h3 {
    font-size: 31px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-button {
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-header {
    margin-top: 52px;
    display: block;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-videos-heading > span {
    display: block;
    margin-top: 12px;
    max-width: none;
    text-align: left;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-grid,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-reviews-grid {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-thumbnail {
    height: 220px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-wide {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-card {
    padding: 25px 22px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-benefits {
    padding: 30px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-benefits-list {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta {
    padding: 27px 22px;
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media {
    min-height: 270px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-thumbnail {
    height: 190px;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-cta {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-media img,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-play,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-featured-video-button,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-video-card img,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-card-play,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-review-card,
  .elementor-46677 .elementor-element.elementor-element-da1ee49 .ll-testimonials-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7cd110a *//* ==========================================
   LANG-LAB TEXAS — PREGUNTAS FRECUENTES
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-red-dark: #d4111a;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 5% 12%,
      rgba(23, 70, 199, 0.075),
      transparent 25%
    ),
    radial-gradient(
      circle at 97% 88%,
      rgba(237, 28, 36, 0.045),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f6f8fc 48%,
      #ffffff 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-section::before {
  content: "";
  position: absolute;
  top: 170px;
  left: -180px;

  width: 380px;
  height: 380px;

  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-section::after {
  content: "";
  position: absolute;
  right: -170px;
  bottom: 80px;

  width: 350px;
  height: 350px;

  border: 1px solid rgba(237, 28, 36, 0.065);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-inner {
  position: relative;
  z-index: 2;

  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading {
  margin-bottom: 53px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) 315px;
  gap: 55px;
  align-items: end;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading-copy {
  max-width: 830px;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-kicker,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-label,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom-copy p {
  margin: 0 0 13px;

  color: var(--ll-red);

  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading h2 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;

  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-intro {
  max-width: 770px;
  margin: 22px 0 0;

  color: var(--ll-muted);

  font-size: 17px;
  line-height: 1.75;
}

/* Tarjeta superior de ayuda */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card {
  padding: 23px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;

  border: 1px solid var(--ll-border);
  border-radius: 19px;

  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-icon {
  width: 51px;
  height: 51px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-icon svg {
  width: 26px;
  height: 26px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card span {
  display: block;

  color: var(--ll-red);

  font-size: 9px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card strong {
  display: block;
  margin-top: 5px;

  color: var(--ll-dark-blue);

  font-size: 13px;
  line-height: 1.5;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card a {
  margin-top: 11px;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: var(--ll-blue);

  font-size: 10px;
  line-height: 1.4;
  font-weight: 800;
  text-decoration: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card a span {
  color: inherit;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;

  transition: transform 0.2s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card a:hover span {
  transform: translateX(4px);
}

/* ==========================================
   DISTRIBUCIÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-layout {
  display: grid;
  grid-template-columns: 355px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

/* ==========================================
   COLUMNA LATERAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar {
  position: sticky;
  top: 105px;

  display: grid;
  gap: 20px;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card {
  padding: 32px;

  border-radius: 23px;

  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(58, 107, 236, 0.7),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      #1746c7,
      #071f54
    );

  box-shadow:
    0 25px 56px rgba(7, 31, 84, 0.21);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card .ll-sidebar-label {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card h3 {
  margin: 0;

  color: var(--ll-white);

  font-size: 25px;
  line-height: 1.26;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card > p:not(.ll-sidebar-label) {
  margin: 17px 0 0;

  color: rgba(255, 255, 255, 0.7);

  font-size: 12px;
  line-height: 1.65;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-steps {
  margin-top: 28px;
  padding-top: 25px;

  display: grid;
  gap: 19px;

  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-steps > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 13px;
  align-items: start;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-steps > div > span {
  width: 33px;
  height: 33px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 10px;

  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.11);

  font-size: 9px;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-steps strong {
  display: block;

  color: var(--ll-white);

  font-size: 11px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-sidebar-steps p {
  margin: 4px 0 0;

  color: rgba(255, 255, 255, 0.57);

  font-size: 9px;
  line-height: 1.5;
}

/* Contacto lateral */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card {
  padding: 23px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 19px;

  background: var(--ll-white);

  box-shadow:
    0 16px 38px rgba(7, 31, 84, 0.065);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-contact-card-icon {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;

  color: var(--ll-red);
  background: rgba(237, 28, 36, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-contact-card-icon svg {
  width: 25px;
  height: 25px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card p {
  margin: 0;

  color: var(--ll-red);

  font-size: 8px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card h3 {
  margin: 4px 0 0;

  color: var(--ll-dark-blue);

  font-size: 13px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card a {
  display: inline-block;
  margin-top: 5px;

  color: var(--ll-blue);

  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  text-decoration: none;
}

/* ==========================================
   ACORDEONES
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-list {
  min-width: 0;

  display: grid;
  gap: 14px;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item {
  min-width: 0;
  overflow: hidden;

  border: 1px solid var(--ll-border);
  border-radius: 18px;

  background: var(--ll-white);

  box-shadow:
    0 12px 31px rgba(7, 31, 84, 0.05);

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item:hover {
  border-color: rgba(23, 70, 199, 0.22);

  box-shadow:
    0 18px 38px rgba(7, 31, 84, 0.08);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item[open] {
  border-color: rgba(23, 70, 199, 0.28);

  box-shadow:
    0 20px 43px rgba(7, 31, 84, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary {
  min-height: 88px;
  padding: 22px 24px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 17px;
  align-items: center;

  cursor: pointer;

  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary::-webkit-details-marker {
  display: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary::marker {
  display: none;
  content: "";
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-number {
  width: 39px;
  height: 39px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  color: rgba(23, 70, 199, 0.57);
  background: rgba(23, 70, 199, 0.075);

  font-size: 10px;
  line-height: 1;
  font-weight: 800;

  transition:
    color 0.25s ease,
    background-color 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item[open] .ll-faq-number {
  color: var(--ll-white);
  background: var(--ll-blue);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-question {
  color: var(--ll-dark-blue);

  font-size: 16px;
  line-height: 1.45;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle {
  position: relative;

  width: 35px;
  height: 35px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 11px;

  background: #f3f6fc;

  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle::before,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle::after {
  content: "";

  position: absolute;
  left: 50%;
  top: 50%;

  width: 12px;
  height: 2px;

  border-radius: 10px;
  background: var(--ll-blue);

  transform: translate(-50%, -50%);

  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle::after {
  transform:
    translate(-50%, -50%)
    rotate(90deg);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item[open] .ll-faq-toggle {
  background: rgba(237, 28, 36, 0.09);
  transform: rotate(180deg);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item[open] .ll-faq-toggle::before {
  background: var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item[open] .ll-faq-toggle::after {
  opacity: 0;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer {
  padding:
    0
    79px
    28px
    80px;

  animation: llFaqReveal 0.3s ease both;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer p {
  margin: 0;

  color: var(--ll-muted);

  font-size: 13px;
  line-height: 1.75;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer p + p {
  margin-top: 13px;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer ul {
  margin: 16px 0 0;
  padding: 0;

  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer li {
  position: relative;

  margin-bottom: 11px;
  padding-left: 26px;

  color: var(--ll-muted);

  font-size: 12px;
  line-height: 1.6;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  width: 18px;
  height: 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);

  font-size: 9px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer li strong {
  color: var(--ll-dark-blue);
  font-weight: 800;
}

@keyframes llFaqReveal {

  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom {
  margin-top: 30px;
  padding: 30px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 21px;

  background: var(--ll-white);

  box-shadow:
    0 18px 43px rgba(7, 31, 84, 0.07);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom-icon {
  width: 59px;
  height: 59px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom-icon svg {
  width: 28px;
  height: 28px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom-copy h3 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button {
  min-height: 54px;
  padding: 17px 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 10px;

  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.25);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button:hover,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);

  transform: translateY(-3px);

  box-shadow:
    0 17px 34px rgba(237, 28, 36, 0.34);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card {
    max-width: 390px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-layout {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 25px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card {
    padding: 26px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card h3 {
    font-size: 22px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer {
    padding:
      0
      65px
      25px
      80px;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading {
    margin-bottom: 39px;
    gap: 27px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card {
    max-width: none;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-layout {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar {
    position: static;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-sidebar-card {
    padding: 29px 24px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary {
    min-height: 82px;
    padding: 19px 17px;

    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-number {
    width: 35px;
    height: 35px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-question {
    font-size: 14px;
    line-height: 1.45;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle {
    width: 32px;
    height: 32px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer {
    padding:
      0
      20px
      23px
      64px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer p {
    font-size: 12px;
    line-height: 1.7;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom {
    padding: 27px 22px;
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer {
    padding:
      0
      18px
      22px
      18px;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-bottom {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item summary:focus-visible,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card a:focus-visible,
.elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-contact-card a:focus-visible {
  outline: 3px solid rgba(23, 70, 199, 0.32);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-item,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-number,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle::before,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-toggle::after,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-button,
  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-help-card a span {
    transition: none;
  }

  .elementor-46677 .elementor-element.elementor-element-7cd110a .ll-faq-answer {
    animation: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d644f3f *//* ==========================================
   LANG-LAB TEXAS — INSTALACIONES
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-red-dark: #d4111a;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-light: #f5f7fb;
  --ll-border: #dfe5ef;

  position: relative;
  width: 100%;
  overflow: hidden;

  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(23, 70, 199, 0.08),
      transparent 27%
    ),
    radial-gradient(
      circle at 5% 82%,
      rgba(237, 28, 36, 0.045),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #f6f8fc 0%,
      #ffffff 45%,
      #f7f9fd 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-section::before {
  content: "";
  position: absolute;
  top: 170px;
  right: -190px;

  width: 390px;
  height: 390px;

  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-section::after {
  content: "";
  position: absolute;
  left: -170px;
  bottom: 160px;

  width: 350px;
  height: 350px;

  border: 1px solid rgba(237, 28, 36, 0.06);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-inner {
  position: relative;
  z-index: 2;

  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) 315px;
  gap: 55px;
  align-items: end;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading-copy {
  max-width: 835px;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-kicker,
.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-label,
.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-copy > p,
.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-copy > p {
  margin: 0 0 13px;

  color: var(--ll-red);

  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading h2 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;

  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-intro {
  max-width: 770px;
  margin: 22px 0 0;

  color: var(--ll-muted);

  font-size: 17px;
  line-height: 1.75;
}

/* Resumen superior */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary {
  padding: 23px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 19px;

  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary-icon {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary span {
  display: block;

  color: var(--ll-red);

  font-size: 9px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary strong {
  display: block;
  margin-top: 5px;

  color: var(--ll-dark-blue);

  font-size: 13px;
  line-height: 1.5;
  font-weight: 750;
}

/* ==========================================
   IMAGEN PRINCIPAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-showcase {
  margin: 0;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap {
  position: relative;
  min-height: 690px;
  overflow: hidden;

  border-radius: 28px;

  background: var(--ll-dark-blue);

  box-shadow:
    0 30px 70px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition:
    transform 0.6s ease,
    filter 0.6s ease;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap:hover img {
  transform: scale(1.018);
  filter: brightness(0.97);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7, 31, 84, 0.02) 50%,
      rgba(7, 31, 84, 0.42) 100%
    );

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-label {
  position: absolute;
  left: 24px;
  bottom: 24px;

  padding: 11px 15px;

  display: inline-flex;
  align-items: center;
  gap: 9px;

  border: 1px solid rgba(255, 255, 255, 0.21);
  border-radius: 10px;

  color: var(--ll-white);
  background: rgba(5, 18, 49, 0.76);

  font-size: 10px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: 0.04em;

  backdrop-filter: blur(10px);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-live-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;
  background: #35d07f;

  box-shadow:
    0 0 0 5px rgba(53, 208, 127, 0.14);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-showcase figcaption {
  margin-top: 14px;

  color: var(--ll-muted);

  font-size: 10px;
  line-height: 1.5;
  text-align: center;
}

/* ==========================================
   TIPOS DE SALÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-types {
  margin-top: 35px;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card {
  position: relative;
  min-width: 0;
  padding: 31px;

  overflow: hidden;

  border: 1px solid var(--ll-border);
  border-radius: 22px;

  background: var(--ll-white);

  box-shadow:
    0 18px 44px rgba(7, 31, 84, 0.07);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card:hover {
  transform: translateY(-7px);
  border-color: rgba(23, 70, 199, 0.24);

  box-shadow:
    0 28px 58px rgba(7, 31, 84, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-featured {
  border-top: 4px solid var(--ll-red);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-number {
  position: absolute;
  top: 20px;
  right: 23px;

  color: rgba(23, 70, 199, 0.11);

  font-size: 54px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-icon {
  width: 53px;
  height: 53px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.085);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-label {
  margin-top: 24px;
  margin-bottom: 8px;

  font-size: 9px;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card h3 {
  max-width: 300px;
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: 22px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card > p:not(.ll-facility-label) {
  margin: 15px 0 0;

  color: var(--ll-muted);

  font-size: 12px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card ul {
  margin: 21px 0 0;
  padding: 20px 0 0;

  display: grid;
  gap: 10px;

  border-top: 1px solid var(--ll-border);
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card li {
  position: relative;
  padding-left: 24px;

  color: #38445a;

  font-size: 10px;
  line-height: 1.5;
  font-weight: 650;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  width: 17px;
  height: 17px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);

  font-size: 8px;
  font-weight: 900;
}

/* ==========================================
   BENEFICIOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits {
  margin-top: 31px;
  padding: 40px;

  display: grid;
  grid-template-columns:
    minmax(0, 0.8fr)
    minmax(0, 1.2fr);

  gap: 45px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 23px;

  background: var(--ll-white);

  box-shadow:
    0 18px 45px rgba(7, 31, 84, 0.07);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-copy h3 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: clamp(26px, 2.8vw, 38px);
  line-height: 1.24;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-copy > span {
  display: block;
  margin-top: 15px;

  color: var(--ll-muted);

  font-size: 12px;
  line-height: 1.65;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-grid > div {
  min-width: 0;
  padding: 19px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;

  border: 1px solid var(--ll-border);
  border-radius: 16px;

  background: #f8faff;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-benefit-check {
  width: 29px;
  height: 29px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 9px;

  color: var(--ll-white);
  background: var(--ll-blue);

  font-size: 11px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-grid strong {
  display: block;

  color: var(--ll-dark-blue);

  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-grid p {
  margin: 5px 0 0;

  color: var(--ll-muted);

  font-size: 9px;
  line-height: 1.5;
}

/* ==========================================
   CTA
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta {
  margin-top: 25px;
  padding: 30px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border-radius: 21px;

  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(55, 105, 236, 0.72),
      transparent 36%
    ),
    linear-gradient(
      140deg,
      #1746c7 0%,
      #071f54 78%
    );

  box-shadow:
    0 25px 58px rgba(7, 31, 84, 0.21);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-icon {
  width: 60px;
  height: 60px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;

  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-icon svg {
  width: 28px;
  height: 28px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-copy > p {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-copy h3 {
  margin: 0;

  color: var(--ll-white);

  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta-copy > span {
  display: block;
  margin-top: 5px;

  color: rgba(255, 255, 255, 0.65);

  font-size: 10px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button {
  min-height: 54px;
  padding: 17px 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 10px;

  color: var(--ll-white);
  background: var(--ll-red);

  font-size: 13px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.28);

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button:hover,
.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);

  transform: translateY(-3px);

  box-shadow:
    0 17px 34px rgba(237, 28, 36, 0.36);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary {
    max-width: 390px;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap {
    min-height: 570px;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-types {
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card:last-child {
    grid-column: 1 / -1;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading {
    margin-bottom: 38px;
    gap: 27px;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-summary {
    max-width: none;
  }

  /* IMAGEN VERTICAL EN CELULAR */

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap {
    position: relative;
    min-height: 0;
    overflow: hidden;

    border-radius: 21px;
    background: transparent;

    box-shadow:
      0 20px 45px rgba(7, 31, 84, 0.14);
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-picture {
    display: block;
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap img {
    position: relative;
    inset: auto;

    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
    object-position: center;

    transform: none;
    filter: none;

    border-radius: 21px;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap:hover img {
    transform: none;
    filter: none;
  }

  /* La imagen vertical ya incluye el bloque azul,
     así que ocultamos estos elementos en móvil */

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-overlay {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-label {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-showcase figcaption {
    margin-top: 16px;
    padding: 0 8px;

    font-size: 11px;
    line-height: 1.6;
    text-align: center;
  }

  /* TIPOS DE SALÓN */

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-types {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card:last-child {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card {
    padding: 28px 23px;
  }

  /* BENEFICIOS */

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits {
    padding: 30px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-benefits-grid {
    grid-template-columns: 1fr;
  }

  /* CTA */

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta {
    padding: 28px 23px;

    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}


/* ==========================================
   MÓVIL PEQUEÑO
========================================== */

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-cta {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button {
    grid-column: auto;
  }

}

/* ==========================================
   ACCESIBILIDAD
========================================== */

.elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.5);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-image-wrap img,
  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facility-type-card,
  .elementor-46677 .elementor-element.elementor-element-d644f3f .ll-facilities-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d974f96 *//* ==========================================
   LANG-LAB TEXAS — PROCESO DE INSCRIPCIÓN
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-red-dark: #d4111a;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-border: #dfe5ef;
  --ll-light: #f5f7fb;
  --ll-green: #21a765;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 93% 11%,
      rgba(23, 70, 199, 0.08),
      transparent 27%
    ),
    radial-gradient(
      circle at 4% 87%,
      rgba(237, 28, 36, 0.045),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #f6f8fc 0%,
      #ffffff 48%,
      #f7f9fd 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-section::before {
  content: "";
  position: absolute;
  top: 175px;
  right: -185px;

  width: 390px;
  height: 390px;

  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-section::after {
  content: "";
  position: absolute;
  left: -170px;
  bottom: 150px;

  width: 350px;
  height: 350px;

  border: 1px solid rgba(237, 28, 36, 0.06);
  border-radius: 50%;

  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-inner {
  position: relative;
  z-index: 2;

  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 55px;
  align-items: end;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading-copy {
  max-width: 830px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-kicker,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-copy > p,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy > p,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-copy > p {
  margin: 0 0 13px;

  color: var(--ll-red);

  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading h2 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;

  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-intro {
  max-width: 770px;
  margin: 22px 0 0;

  color: var(--ll-muted);

  font-size: 17px;
  line-height: 1.75;
}

/* Resumen */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary {
  padding: 23px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 19px;

  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary-icon {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 15px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary span {
  display: block;

  color: var(--ll-red);

  font-size: 8px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary strong {
  display: block;
  margin-top: 5px;

  color: var(--ll-dark-blue);

  font-size: 13px;
  line-height: 1.5;
  font-weight: 750;
}

/* ==========================================
   TARJETA INICIAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-card {
  padding: 37px 39px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 35px;
  align-items: center;

  border-radius: 24px;

  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(58, 107, 236, 0.7),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      #1746c7,
      #071f54
    );

  box-shadow:
    0 26px 59px rgba(7, 31, 84, 0.22);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-copy > p {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-copy h3 {
  margin: 0;

  color: var(--ll-white);

  font-size: clamp(27px, 3vw, 41px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-copy > span {
  display: block;
  max-width: 690px;
  margin-top: 14px;

  color: rgba(255, 255, 255, 0.7);

  font-size: 12px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-actions {
  min-width: 230px;

  display: grid;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button {
  min-height: 53px;
  padding: 16px 20px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;

  border-radius: 10px;

  font-size: 11px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  text-align: center;

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button {
  color: var(--ll-white);
  background: var(--ll-red);

  box-shadow:
    0 13px 28px rgba(237, 28, 36, 0.3);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button:hover,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button:hover,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button:focus {
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-3px);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-button-icon {
  width: 24px;
  height: 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-button-icon svg {
  width: 21px;
  height: 21px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ==========================================
   PASOS
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-steps {
  position: relative;

  margin-top: 32px;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 21px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step {
  position: relative;
  min-width: 0;
  padding: 32px;

  overflow: hidden;

  border: 1px solid var(--ll-border);
  border-radius: 22px;

  background: var(--ll-white);

  box-shadow:
    0 18px 44px rgba(7, 31, 84, 0.07);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step:hover {
  transform: translateY(-6px);
  border-color: rgba(23, 70, 199, 0.24);

  box-shadow:
    0 27px 57px rgba(7, 31, 84, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final {
  grid-column: 1 / -1;

  color: var(--ll-white);
  border-color: transparent;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(58, 107, 236, 0.68),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      #1746c7,
      #071f54
    );

  box-shadow:
    0 25px 57px rgba(7, 31, 84, 0.2);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-number {
  position: absolute;
  top: 20px;
  right: 23px;

  color: rgba(23, 70, 199, 0.1);

  font-size: 56px;
  line-height: 1;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final .ll-enrollment-step-number {
  color: rgba(255, 255, 255, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-icon {
  width: 53px;
  height: 53px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.085);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final .ll-enrollment-step-icon {
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy {
  margin-top: 23px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy > p {
  margin-bottom: 7px;
  font-size: 9px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final .ll-enrollment-step-copy > p {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy h3 {
  max-width: 450px;
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: 23px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final .ll-enrollment-step-copy h3 {
  color: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy > span {
  display: block;
  margin-top: 14px;

  color: var(--ll-muted);

  font-size: 12px;
  line-height: 1.7;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy > span strong {
  color: var(--ll-dark-blue);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final .ll-enrollment-step-copy > span {
  color: rgba(255, 255, 255, 0.7);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions {
  margin-top: 20px;

  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions a {
  min-height: 43px;
  padding: 13px 16px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  border: 1px solid rgba(23, 70, 199, 0.14);
  border-radius: 9px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.06);

  font-size: 10px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;

  transition:
    transform 0.2s ease,
    background-color 0.2s ease;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions a:hover {
  background: rgba(23, 70, 199, 0.11);
  transform: translateY(-2px);
}

/* Lista de datos */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy ul {
  margin: 19px 0 0;
  padding: 18px 0 0;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;

  border-top: 1px solid var(--ll-border);
  list-style: none;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy li {
  position: relative;
  padding-left: 23px;

  color: #38445a;

  font-size: 10px;
  line-height: 1.5;
  font-weight: 650;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy li::before {
  content: "✓";

  position: absolute;
  left: 0;
  top: 0;

  width: 17px;
  height: 17px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);

  font-size: 8px;
  font-weight: 900;
}

/* Nota */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-note {
  margin-top: 20px;
  padding: 16px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 11px;
  align-items: start;

  border-radius: 14px;
  background: #f7f9fd;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-note > span {
  width: 24px;
  height: 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--ll-white);
  background: var(--ll-blue);

  font-size: 9px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-note p {
  margin: 2px 0 0;

  color: var(--ll-muted);

  font-size: 10px;
  line-height: 1.55;
}

/* Métodos de pago */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-payment-methods {
  margin-top: 20px;

  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-payment-methods span {
  padding: 9px 13px;

  border: 1px solid var(--ll-border);
  border-radius: 9px;

  color: var(--ll-dark-blue);
  background: #f8faff;

  font-size: 9px;
  line-height: 1;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy small {
  display: block;
  margin-top: 12px;

  color: var(--ll-muted);

  font-size: 9px;
  line-height: 1.5;
}

/* Detalles finales */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-final-details {
  margin-top: 23px;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-final-details > div {
  padding: 14px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;

  border-radius: 13px;
  background: rgba(255, 255, 255, 0.08);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-final-details span {
  width: 24px;
  height: 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);

  font-size: 9px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-final-details p {
  margin: 0;

  color: rgba(255, 255, 255, 0.8);

  font-size: 10px;
  line-height: 1.45;
  font-weight: 650;
}

/* ==========================================
   CTA FINAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta {
  margin-top: 26px;
  padding: 30px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 21px;

  background: var(--ll-white);

  box-shadow:
    0 18px 44px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-icon {
  width: 59px;
  height: 59px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;

  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-copy h3 {
  margin: 0;

  color: var(--ll-dark-blue);

  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-copy > span {
  display: block;
  margin-top: 5px;

  color: var(--ll-muted);

  font-size: 10px;
  line-height: 1.5;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-buttons {
  display: flex;
  gap: 10px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button {
  min-height: 52px;
  padding: 16px 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;

  border-radius: 10px;

  font-size: 11px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button {
  color: var(--ll-white);
  background: var(--ll-red);

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.25);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button:hover,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button {
  border: 1px solid var(--ll-border);

  color: var(--ll-dark-blue);
  background: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button:hover,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button:focus {
  color: var(--ll-blue);
  border-color: rgba(23, 70, 199, 0.3);
  transform: translateY(-3px);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary {
    max-width: 390px;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-card {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-actions {
    min-width: 0;
    grid-template-columns: 1fr 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-buttons {
    grid-column: 1 / -1;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading {
    margin-bottom: 38px;
    gap: 27px;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary {
    max-width: none;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-card {
    padding: 30px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-copy h3 {
    font-size: 29px;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-start-actions {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button {
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-steps {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-final {
    grid-column: auto;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step {
    padding: 28px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-copy ul,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-final-details {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions a {
    width: 100%;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta {
    padding: 28px 22px;
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-buttons {
    width: 100%;
    flex-direction: column;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button {
    width: 100%;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-summary {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-cta-buttons {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions a:focus-visible,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button:focus-visible {
  outline: 3px solid rgba(23, 70, 199, 0.32);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-test-button,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-message-button,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-step-actions a,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-primary-button,
  .elementor-46677 .elementor-element.elementor-element-d974f96 .ll-enrollment-secondary-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b4e01 *//* ==========================================
   LANG-LAB TEXAS — CONTACTO Y VISITA
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-section {
  --ll-blue: #1746c7;
  --ll-dark-blue: #071f54;
  --ll-red: #ed1c24;
  --ll-red-dark: #d4111a;
  --ll-white: #ffffff;
  --ll-text: #172033;
  --ll-muted: #5f6878;
  --ll-border: #dfe5ef;
  --ll-whatsapp: #1cae62;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ll-text);

  background:
    radial-gradient(
      circle at 5% 15%,
      rgba(23, 70, 199, 0.08),
      transparent 27%
    ),
    radial-gradient(
      circle at 95% 86%,
      rgba(237, 28, 36, 0.045),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f5f7fb 47%,
      #ffffff 100%
    );

  font-family: "Poppins", Arial, sans-serif;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-section::before {
  content: "";
  position: absolute;
  top: 170px;
  left: -190px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(23, 70, 199, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-section::after {
  content: "";
  position: absolute;
  right: -175px;
  bottom: 170px;
  width: 350px;
  height: 350px;
  border: 1px solid rgba(237, 28, 36, 0.06);
  border-radius: 50%;
  pointer-events: none;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}

/* ==========================================
   ENCABEZADO
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading {
  margin-bottom: 50px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 55px;
  align-items: end;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading-copy {
  max-width: 830px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-kicker,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-panel-heading > p,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top > p,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading p,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-copy > p {
  margin: 0 0 13px;
  color: var(--ll-red);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading h2 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(38px, 4.3vw, 59px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-intro {
  max-width: 770px;
  margin: 22px 0 0;
  color: var(--ll-muted);
  font-size: 17px;
  line-height: 1.75;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status {
  padding: 22px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 18px;
  background: var(--ll-white);

  box-shadow:
    0 17px 42px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #35c878;

  box-shadow:
    0 0 0 7px rgba(53, 200, 120, 0.13);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status span {
  display: block;
  color: var(--ll-red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status strong {
  display: block;
  margin-top: 4px;
  color: var(--ll-dark-blue);
  font-size: 13px;
  line-height: 1.45;
}

/* ==========================================
   PANEL PRINCIPAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-main {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 24px;
  align-items: stretch;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-actions-panel {
  padding: 42px;

  border: 1px solid var(--ll-border);
  border-radius: 25px;
  background: var(--ll-white);

  box-shadow:
    0 22px 55px rgba(7, 31, 84, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-panel-heading {
  max-width: 650px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-panel-heading h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(28px, 3vw, 41px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-panel-heading > span {
  display: block;
  margin-top: 15px;
  color: var(--ll-muted);
  font-size: 13px;
  line-height: 1.7;
}

/* Acciones */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-actions {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action {
  min-width: 0;
  padding: 21px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 17px;

  color: var(--ll-text);
  background: #f8faff;
  text-decoration: none;

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

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action:hover,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action:focus {
  color: var(--ll-text);
  background: var(--ll-white);
  border-color: rgba(23, 70, 199, 0.27);
  transform: translateY(-5px);

  box-shadow:
    0 18px 38px rgba(7, 31, 84, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-icon {
  width: 47px;
  height: 47px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 14px;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-icon svg {
  width: 24px;
  height: 24px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-whatsapp .ll-contact-action-icon {
  color: var(--ll-whatsapp);
  background: rgba(28, 174, 98, 0.1);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-copy small {
  display: block;
  color: var(--ll-red);
  font-size: 8px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-copy strong {
  display: block;
  margin-top: 3px;
  color: var(--ll-dark-blue);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action-copy > span {
  display: block;
  margin-top: 4px;
  color: var(--ll-muted);
  font-size: 9px;
  line-height: 1.45;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-arrow {
  color: var(--ll-blue);
  font-size: 18px;
  transition: transform 0.2s ease;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action:hover .ll-contact-arrow {
  transform: translateX(4px);
}

/* ==========================================
   INFORMACIÓN LATERAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-panel {
  padding: 34px;

  display: flex;
  flex-direction: column;

  border-radius: 25px;
  color: var(--ll-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(60, 109, 237, 0.72),
      transparent 37%
    ),
    linear-gradient(
      145deg,
      #1746c7,
      #071f54
    );

  box-shadow:
    0 26px 58px rgba(7, 31, 84, 0.22);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top > p {
  color: #a9beff;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top h3 {
  margin: 0;
  color: var(--ll-white);
  font-size: 29px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top address {
  margin-top: 17px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
  line-height: 1.7;
  font-style: normal;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top > a {
  margin-top: 17px;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: var(--ll-white);
  font-size: 11px;
  font-weight: 750;
  text-decoration: none;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours {
  margin-top: 30px;
  padding-top: 27px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-icon {
  width: 43px;
  height: 43px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 13px;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.11);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-icon svg {
  width: 22px;
  height: 22px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-heading small {
  display: block;
  color: #a9beff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-heading strong {
  display: block;
  margin-top: 3px;
  color: var(--ll-white);
  font-size: 13px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-list {
  margin-top: 21px;
  display: grid;
  gap: 15px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-list > div {
  padding: 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-list span {
  display: block;
  margin-bottom: 7px;
  color: #a9beff;
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-hours-list strong {
  display: block;
  color: var(--ll-white);
  font-size: 11px;
  line-height: 1.6;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-visit-note {
  margin-top: auto;
  padding-top: 25px;

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 11px;
  align-items: start;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-visit-note > span {
  width: 25px;
  height: 25px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  color: var(--ll-white);
  background: rgba(255, 255, 255, 0.12);

  font-size: 10px;
  font-weight: 900;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-visit-note p {
  margin: 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 10px;
  line-height: 1.55;
}

/* ==========================================
   MAPA
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-section {
  margin-top: 28px;
  padding: 35px;

  border: 1px solid var(--ll-border);
  border-radius: 23px;
  background: var(--ll-white);

  box-shadow:
    0 19px 47px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading {
  margin-bottom: 24px;

  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: clamp(25px, 2.8vw, 37px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading > a {
  flex: 0 0 auto;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: var(--ll-blue);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
  text-decoration: none;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-wrap {
  height: 430px;
  overflow: hidden;
  border-radius: 18px;
  background: #edf1f8;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==========================================
   CTA FINAL
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-cta {
  margin-top: 25px;
  padding: 31px 34px;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 23px;
  align-items: center;

  border: 1px solid var(--ll-border);
  border-radius: 21px;
  background: var(--ll-white);

  box-shadow:
    0 18px 44px rgba(7, 31, 84, 0.075);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-icon {
  width: 59px;
  height: 59px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 17px;
  color: var(--ll-blue);
  background: rgba(23, 70, 199, 0.09);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-icon svg {
  width: 27px;
  height: 27px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-copy h3 {
  margin: 0;
  color: var(--ll-dark-blue);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 750;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-buttons {
  display: flex;
  gap: 10px;
  align-items: center;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button {
  min-height: 52px;
  padding: 16px 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;

  border-radius: 10px;
  font-size: 11px;
  line-height: 1;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button {
  color: var(--ll-white);
  background: var(--ll-red);

  box-shadow:
    0 12px 27px rgba(237, 28, 36, 0.25);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button:hover,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button:focus {
  color: var(--ll-white);
  background: var(--ll-red-dark);
  transform: translateY(-3px);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button {
  border: 1px solid var(--ll-border);
  color: var(--ll-dark-blue);
  background: var(--ll-white);
}

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button:hover,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button:focus {
  color: var(--ll-blue);
  border-color: rgba(23, 70, 199, 0.3);
  transform: translateY(-3px);
}

/* ==========================================
   TABLETA
========================================== */

@media (max-width: 1024px) {

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-inner {
    width: calc(100% - 40px);
    padding: 90px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status {
    max-width: 370px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-main {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-panel {
    min-height: 520px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-cta {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-buttons {
    grid-column: 1 / -1;
  }
}

/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 767px) {

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-inner {
    width: calc(100% - 30px);
    padding: 75px 0;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading {
    margin-bottom: 39px;
    gap: 27px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-heading h2 {
    font-size: 36px;
    line-height: 1.13;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-intro {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-status {
    max-width: none;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-actions-panel {
    padding: 30px 22px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-panel-heading h3 {
    font-size: 29px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-actions {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-panel {
    min-height: 0;
    padding: 30px 23px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-section {
    padding: 28px 21px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading {
    display: block;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading > a {
    margin-top: 13px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-wrap {
    height: 350px;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-cta {
    padding: 28px 22px;
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-buttons {
    width: 100%;
    flex-direction: column;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button,
  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button {
    width: 100%;
  }
}

@media (max-width: 420px) {

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action {
    grid-template-columns: auto 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-arrow {
    display: none;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-cta {
    grid-template-columns: 1fr;
  }

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-final-buttons {
    grid-column: auto;
  }
}

/* ==========================================
   ACCESIBILIDAD
========================================== */

.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action:focus-visible,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button:focus-visible,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-map-heading a:focus-visible,
.elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-info-top a:focus-visible {
  outline: 3px solid rgba(23, 70, 199, 0.32);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-action,
  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-arrow,
  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-primary-button,
  .elementor-46677 .elementor-element.elementor-element-e5b4e01 .ll-contact-secondary-button {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cde850d */.elementor-46677 .elementor-element.elementor-element-cde850d{

width:100%;
max-width:none;
margin:0;
padding:0;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer{

background:#071f54;

color:white;

position:relative;

overflow:hidden;

font-family:Poppins,sans-serif;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer:before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:4px;

background:linear-gradient(
90deg,
#1746c7,
#ed1c24);

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-inner{

width:min(1180px,calc(100% - 48px));

margin:auto;

padding:90px 0 35px;

position:relative;

z-index:2;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-top{

display:grid;

grid-template-columns:
2fr
1fr
1fr
1fr;

gap:55px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-brand img{

width:230px;

height:auto;

margin-bottom:25px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-brand p{

color:rgba(255,255,255,.75);

font-size:17px;

line-height:1.8;

max-width:330px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-rating{

margin-top:30px;

font-size:22px;

font-weight:700;

color:#FFD54A;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-rating span{

display:block;

margin-top:10px;

font-size:15px;

color:white;

font-weight:600;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-column h3{

margin:0 0 22px;

font-size:19px;

font-weight:700;

color:white;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-column a{

display:block;

margin-bottom:14px;

text-decoration:none;

color:rgba(255,255,255,.75);

font-size:15px;

transition:.25s;

line-height:1.6;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-column a:hover{

color:white;

padding-left:5px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-bottom{

margin-top:70px;

padding-top:30px;

border-top:1px solid rgba(255,255,255,.12);

display:flex;

justify-content:space-between;

align-items:center;

gap:25px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-bottom p{

margin:0;

font-size:14px;

color:rgba(255,255,255,.65);

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-links{

display:flex;

gap:28px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-links a{

color:rgba(255,255,255,.65);

text-decoration:none;

font-size:14px;

transition:.25s;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-links a:hover{

color:white;

}

@media(max-width:900px){

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-top{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:650px){

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-inner{

width:calc(100% - 30px);

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-top{

grid-template-columns:1fr;

gap:40px;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-bottom{

flex-direction:column;

align-items:flex-start;

}

.elementor-46677 .elementor-element.elementor-element-cde850d .ll-footer-links{

flex-wrap:wrap;

}

}/* End custom CSS */